18#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
25void MD4::InitState(HashWordType *state)
27 state[0] = 0x67452301L;
28 state[1] = 0xefcdab89L;
29 state[2] = 0x98badcfeL;
30 state[3] = 0x10325476L;
36#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z))))
37#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z)))
38#define H(x, y, z) ((x) ^ (y) ^ (z))
47#define function(a,b,c,d,k,s) a=rotlVariable(a+F(b,c,d)+in[k],s);
48 function(A,B,C,D, 0, 3);
49 function(D,A,B,C, 1, 7);
50 function(C,D,A,B, 2,11);
51 function(B,C,D,A, 3,19);
52 function(A,B,C,D, 4, 3);
53 function(D,A,B,C, 5, 7);
54 function(C,D,A,B, 6,11);
55 function(B,C,D,A, 7,19);
56 function(A,B,C,D, 8, 3);
57 function(D,A,B,C, 9, 7);
58 function(C,D,A,B,10,11);
59 function(B,C,D,A,11,19);
60 function(A,B,C,D,12, 3);
61 function(D,A,B,C,13, 7);
62 function(C,D,A,B,14,11);
63 function(B,C,D,A,15,19);
66#define function(a,b,c,d,k,s) a=rotlVariable(a+G(b,c,d)+in[k]+0x5a827999,s);
67 function(A,B,C,D, 0, 3);
68 function(D,A,B,C, 4, 5);
69 function(C,D,A,B, 8, 9);
70 function(B,C,D,A,12,13);
71 function(A,B,C,D, 1, 3);
72 function(D,A,B,C, 5, 5);
73 function(C,D,A,B, 9, 9);
74 function(B,C,D,A,13,13);
75 function(A,B,C,D, 2, 3);
76 function(D,A,B,C, 6, 5);
77 function(C,D,A,B,10, 9);
78 function(B,C,D,A,14,13);
79 function(A,B,C,D, 3, 3);
80 function(D,A,B,C, 7, 5);
81 function(C,D,A,B,11, 9);
82 function(B,C,D,A,15,13);
85#define function(a,b,c,d,k,s) a=rotlVariable(a+H(b,c,d)+in[k]+0x6ed9eba1,s);
86 function(A,B,C,D, 0, 3);
87 function(D,A,B,C, 8, 9);
88 function(C,D,A,B, 4,11);
89 function(B,C,D,A,12,15);
90 function(A,B,C,D, 2, 3);
91 function(D,A,B,C,10, 9);
92 function(C,D,A,B, 6,11);
93 function(B,C,D,A,14,15);
94 function(A,B,C,D, 1, 3);
95 function(D,A,B,C, 9, 9);
96 function(C,D,A,B, 5,11);
97 function(B,C,D,A,13,15);
98 function(A,B,C,D, 3, 3);
99 function(D,A,B,C,11, 9);
100 function(C,D,A,B, 7,11);
101 function(B,C,D,A,15,15);
unsigned int word32
32-bit unsigned datatype
Utility functions for the Crypto++ library.
Crypto++ library namespace.