12 #define F(x, y, z) (x ^ y ^ z) 13 #define G(x, y, z) (z ^ (x & (y^z))) 14 #define H(x, y, z) (z ^ (x | ~y)) 15 #define I(x, y, z) (y ^ (z & (x^y))) 16 #define J(x, y, z) (x ^ (y | ~z)) 19 #define k1 0x5a827999UL 20 #define k2 0x6ed9eba1UL 21 #define k3 0x8f1bbcdcUL 22 #define k4 0xa953fd4eUL 23 #define k5 0x50a28be6UL 24 #define k6 0x5c4dd124UL 25 #define k7 0x6d703ef3UL 26 #define k8 0x7a6d76e9UL 32 #define Subround(f, a, b, c, d, e, x, s, k) \ 33 a += f(b, c, d) + x + k;\ 34 a = rotlFixed((word32)a, s) + e;\ 35 c = rotlFixed((word32)c, 10U) 39 state[0] = 0x67452301L;
40 state[1] = 0xefcdab89L;
41 state[2] = 0x98badcfeL;
42 state[3] = 0x10325476L;
43 state[4] = 0xc3d2e1f0L;
48 unsigned long a1, b1, c1, d1, e1,
a2, b2, c2, d2, e2;
225 c1 = digest[1] + c1 + d2;
226 digest[1] = digest[2] + d1 + e2;
227 digest[2] = digest[3] + e1 +
a2;
228 digest[3] = digest[4] + a1 + b2;
229 digest[4] = digest[0] + b1 + c2;
237 state[0] = 0x67452301L;
238 state[1] = 0xefcdab89L;
239 state[2] = 0x98badcfeL;
240 state[3] = 0x10325476L;
241 state[4] = 0xc3d2e1f0L;
242 state[5] = 0x76543210L;
243 state[6] = 0xfedcba98L;
244 state[7] = 0x89abcdefL;
245 state[8] = 0x01234567L;
246 state[9] = 0x3c2d1e0fL;
251 unsigned long a1, b1, c1, d1, e1,
a2, b2, c2, d2, e2, t;
297 t =
a1; a1 =
a2; a2 = t;
333 t = b1; b1 = b2; b2 = t;
369 t = c1; c1 = c2; c2 = t;
405 t = d1; d1 = d2; d2 = t;
441 t = e1; e1 = e2; e2 = t;
460 #define Subround(f, a, b, c, d, x, s, k) \ 461 a += f(b, c, d) + x + k;\ 462 a = rotlFixed((word32)a, s); 466 state[0] = 0x67452301L;
467 state[1] = 0xefcdab89L;
468 state[2] = 0x98badcfeL;
469 state[3] = 0x10325476L;
474 unsigned long a1, b1, c1, d1,
a2, b2, c2, d2;
616 c1 = digest[1] + c1 + d2;
617 digest[1] = digest[2] + d1 +
a2;
618 digest[2] = digest[3] + a1 + b2;
619 digest[3] = digest[0] + b1 + c2;
627 state[0] = 0x67452301L;
628 state[1] = 0xefcdab89L;
629 state[2] = 0x98badcfeL;
630 state[3] = 0x10325476L;
631 state[4] = 0x76543210L;
632 state[5] = 0xfedcba98L;
633 state[6] = 0x89abcdefL;
634 state[7] = 0x01234567L;
639 unsigned long a1, b1, c1, d1,
a2, b2, c2, d2, t;
683 t =
a1; a1 =
a2; a2 = t;
719 t = b1; b1 = b2; b2 = t;
755 t = c1; c1 = c2; c2 = t;
791 t = d1; d1 = d2; d2 = t;
Utility functions for the Crypto++ library.
Classes for RIPEMD message digest.
static void InitState(HashWordType *state)
#define NAMESPACE_BEGIN(x)
#define Subround(f, a, b, c, d, e, x, s, k)
static void Transform(word32 *digest, const word32 *data)
static void Transform(word32 *digest, const word32 *data)
static void InitState(HashWordType *state)
static void Transform(word32 *digest, const word32 *data)
static void InitState(HashWordType *state)
static void InitState(HashWordType *state)
static void Transform(word32 *digest, const word32 *data)