block/include/nil/crypto3/block/md5.hpp
Go to the documentation of this file.
113 aa + policy_type::fun(bb, cc, dd) + key[policy_type::key_indexes[k]] + policy_type::constants[i - 1]; \
152 aa = T - policy_type::fun(bb, cc, dd) - key[policy_type::key_indexes[k]] - policy_type::constants[i - 1]; \
#define CRYPTO3_BLOCK_MD5_ENCRYPT_STEP(aa, bb, cc, dd, fun, k, s, i)
#define CRYPTO3_BLOCK_MD5_DECRYPT_STEP(aa, bb, cc, dd, fun, k, s, i)
MD5 block cipher. Stands as a foundation for MD5 hashes.
Definition: block/include/nil/crypto3/block/md5.hpp:57
constexpr static const std::size_t block_bits
Definition: block/include/nil/crypto3/block/md5.hpp:70
stream_endian::little_octet_big_bit endian_type
Definition: block/include/nil/crypto3/block/md5.hpp:85
static block_type decrypt_block(key_type const &key, const block_type &ciphertext)
Definition: block/include/nil/crypto3/block/md5.hpp:144
policy_type::word_type word_type
Definition: block/include/nil/crypto3/block/md5.hpp:64
block_type decrypt(const block_type &ciphertext) const
Definition: block/include/nil/crypto3/block/md5.hpp:98
constexpr static const std::size_t block_words
Definition: block/include/nil/crypto3/block/md5.hpp:71
md5(const key_type &k)
Definition: block/include/nil/crypto3/block/md5.hpp:87
block_type encrypt(const block_type &plaintext) const
Definition: block/include/nil/crypto3/block/md5.hpp:94
constexpr static const std::size_t rounds
Definition: block/include/nil/crypto3/block/md5.hpp:61
constexpr static const std::size_t key_bits
Definition: block/include/nil/crypto3/block/md5.hpp:66
constexpr static const std::size_t word_bits
Definition: block/include/nil/crypto3/block/md5.hpp:63
policy_type::key_type key_type
Definition: block/include/nil/crypto3/block/md5.hpp:68
static block_type encrypt_block(key_type const &key, block_type const &plaintext)
Definition: block/include/nil/crypto3/block/md5.hpp:105
constexpr static const std::size_t key_words
Definition: block/include/nil/crypto3/block/md5.hpp:67
policy_type::block_type block_type
Definition: block/include/nil/crypto3/block/md5.hpp:72
boost::mpl::apply< AccumulatorSet, tag::block< Mode > >::type::result_type block(const AccumulatorSet &acc)
Definition: accumulators/block.hpp:259
Definition: pair.hpp:31
Definition: block/include/nil/crypto3/block/detail/block_stream_processor.hpp:50
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:37
constexpr static const std::size_t block_words
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:40
std::array< word_type, block_words > block_type
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:41
constexpr static const std::size_t block_bits
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:39
std::array< word_type, key_words > key_type
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:45
constexpr static const std::size_t key_words
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:43
constexpr static const std::size_t rounds
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:47
constexpr static const std::size_t key_bits
Definition: block/include/nil/crypto3/block/detail/md5/md5_policy.hpp:44
Definition: block/include/nil/crypto3/block/md5.hpp:76
constexpr static const std::size_t value_bits
Definition: block/include/nil/crypto3/block/md5.hpp:78
constexpr static const std::size_t length_bits
Definition: block/include/nil/crypto3/block/md5.hpp:79
Definition: block/include/nil/crypto3/block/md5.hpp:75
block_stream_processor< Mode, StateAccumulator, params_type > type
Definition: block/include/nil/crypto3/block/md5.hpp:82
constexpr static const std::size_t word_bits
Definition: block/include/nil/crypto3/detail/basic_functions.hpp:88
boost::uint_t< word_bits >::exact word_type
Definition: block/include/nil/crypto3/detail/basic_functions.hpp:89
Definition: algebra/include/nil/crypto3/detail/stream_endian.hpp:45