19 return (x & y) | (
~x & z);
25 return (x & z) | (y &
~z);
32 inline void Initialize(
uint32_t *s) {
41 return (x << i) | (x >> (32 - i));
52 Round(
a,
b,
c, d,
e,
f1(
b,
c, d), x, 0, r);
56 Round(
a,
b,
c, d,
e,
f2(
b,
c, d), x, 0x5A827999ul, r);
60 Round(
a,
b,
c, d,
e,
f3(
b,
c, d), x, 0x6ED9EBA1ul, r);
64 Round(
a,
b,
c, d,
e,
f4(
b,
c, d), x, 0x8F1BBCDCul, r);
68 Round(
a,
b,
c, d,
e,
f5(
b,
c, d), x, 0xA953FD4Eul, r);
73 Round(
a,
b,
c, d,
e,
f5(
b,
c, d), x, 0x50A28BE6ul, r);
77 Round(
a,
b,
c, d,
e,
f4(
b,
c, d), x, 0x5C4DD124ul, r);
81 Round(
a,
b,
c, d,
e,
f3(
b,
c, d), x, 0x6D703EF3ul, r);
85 Round(
a,
b,
c, d,
e,
f2(
b,
c, d), x, 0x7A6D76E9ul, r);
89 Round(
a,
b,
c, d,
e,
f1(
b,
c, d), x, 0, r);
271 s[0] = s[1] +
c1 +
d2;
272 s[1] = s[2] +
d1 +
e2;
273 s[2] = s[3] +
e1 +
a2;
274 s[3] = s[4] +
a1 +
b2;
#define Round(a, b, c, d, e, f, g, h, k, w)