nil::crypto3::block::md4 Class Reference
MD4 block cipher. Stands as a foundation for MD4 hashes. More...
#include <md4.hpp>

Classes | |
struct | stream_processor |
Public Types | |
typedef policy_type::block_type | block_type |
typedef stream_endian::little_octet_big_bit | endian_type |
typedef policy_type::key_type | key_type |
typedef policy_type::word_type | word_type |
Public Member Functions | |
block_type | decrypt (const block_type &ciphertext) const |
block_type | encrypt (const block_type &plaintext) const |
md4 (const key_type &k) | |
virtual | ~md4 () |
Static Public Attributes | |
constexpr static const std::size_t | block_bits = policy_type::block_bits |
constexpr static const std::size_t | block_words = policy_type::block_words |
constexpr static const std::size_t | key_bits = policy_type::key_bits |
constexpr static const std::size_t | key_words = policy_type::key_words |
constexpr static const std::size_t | rounds = policy_type::rounds |
constexpr static const std::size_t | word_bits = policy_type::word_bits |
Detailed Description
MD4 block cipher. Stands as a foundation for MD4 hashes.
Encrypt implemented directly from the RFC as found at http://www.faqs.org/rfcs/rfc1320.html
Decrypt is a straight-forward inverse
In MD4 terminology:
- plaintext = AA, BB, CC, and DD
- ciphertext = A, B, C, and D
- key = M^(i) and X
Member Typedef Documentation
◆ block_type
◆ endian_type
◆ key_type
◆ word_type
Constructor & Destructor Documentation
◆ md4()
|
inline |
◆ ~md4()
|
inlinevirtual |
Member Function Documentation
◆ decrypt()
|
inline |
◆ encrypt()
|
inline |
Member Data Documentation
◆ block_bits
|
staticconstexpr |
◆ block_words
|
staticconstexpr |
◆ key_bits
|
staticconstexpr |
◆ key_words
|
staticconstexpr |
◆ rounds
|
staticconstexpr |
◆ word_bits
|
staticconstexpr |
The documentation for this class was generated from the following file: