#include <md5.hh>
Collaboration diagram for oln::utils::MD5:
Public Types | |
typedef ntg::int_u32 | value_type |
Value to work on. | |
typedef ntg::type_traits< value_type >::storage_type | storage_type |
Representation type of value type. | |
Public Member Functions | |
MD5 (buffer b) | |
Constructor. | |
key | execute () |
Compute the digest. | |
key | gen_key () |
Generate the key. | |
Protected Member Functions | |
void | sav () |
initialization of a MD5 algorithm step. | |
void | round1 () |
Round 1 of the algorithm. | |
void | round2 () |
Round 2 of the algorithm. | |
void | round3 () |
Round 3 of the algorithm. | |
void | round4 () |
Round 4 of the algorithm. | |
void | step () |
A step of the algorithm. | |
template<class Fun> void | sub_step (const Fun &fun, storage_type &a, const storage_type &b, const storage_type &c, const storage_type &d, unsigned k, unsigned s, unsigned i) |
Sub step to update a register value. | |
void | gen_sub_key (std::vector< key::value_type > &v, storage_type x, unsigned base) |
Generate a sub part of the key. | |
Protected Attributes | |
buffer | buffer_ |
The buffer to process. | |
std::vector< storage_type > | X |
Vector of 16 words. | |
std::vector< storage_type > | T |
Vector of 64 words. | |
unsigned | current_ |
Current position in the buffer. | |
storage_type | aa |
Save of a. | |
storage_type | bb |
Save of b. | |
storage_type | cc |
Save of c. | |
storage_type | dd |
Save of d. | |
storage_type | a |
A register. | |
storage_type | b |
B register. | |
storage_type | c |
C register. | |
storage_type | d |
D register. | |
struct { | |
storage_type | operator() (const storage_type &x, const storage_type &y, const storage_type &z) const |
} | F |
Functor for bit operations. | |
struct { | |
storage_type | operator() (const storage_type &x, const storage_type &y, const storage_type &z) const |
} | G |
Functor for bit operations. | |
struct { | |
storage_type | operator() (const storage_type &x, const storage_type &y, const storage_type &z) const |
} | H |
Functor for bit operations. | |
struct { | |
storage_type | operator() (const storage_type &x, const storage_type &y, const storage_type &z) const |
} | I |
Functor for bit operations. |
Definition at line 44 of file md5.hh.
|
Constructor. Initialization from a buffer.
|
|
Generate the key.
|
|
Generate a sub part of the key.
|
|
Functor for bit operations. F(X,Y,Z) = XY v not(X) Z |
|
Functor for bit operations. G(X,Y,Z) = XZ v Y not(Z) |
|
Functor for bit operations. H(X,Y,Z) = X xor Y xor Z |
|
Functor for bit operations. I(X,Y,Z) = Y xor (X v not(Z)) |