|
|
|
|
@ -159,96 +159,96 @@ def RMD160Transform(state, block): #uint32 state[5], uchar block[64]
|
|
|
|
|
e = state[4] |
|
|
|
|
|
|
|
|
|
#/* Round 1 */ |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 11, 0, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 14, 1, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 15, 2, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 12, 3, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 5, 4, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 8, 5, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 7, 6, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 9, 7, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 11, 8, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 13, 9, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 14, 10, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 15, 11, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 6, 12, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 7, 13, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 9, 14, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 8, 15, x); #/* #15 */ |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 11, 0, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 14, 1, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 15, 2, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 12, 3, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 5, 4, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 8, 5, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 7, 6, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 9, 7, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 11, 8, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 13, 9, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 14, 10, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F0, K0, 15, 11, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F0, K0, 6, 12, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F0, K0, 7, 13, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F0, K0, 9, 14, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F0, K0, 8, 15, x) #/* #15 */ |
|
|
|
|
#/* Round 2 */ |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 7, 7, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 6, 4, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 8, 13, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 13, 1, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 11, 10, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 9, 6, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 7, 15, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 15, 3, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 7, 12, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 12, 0, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 15, 9, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 9, 5, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 11, 2, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 7, 14, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 13, 11, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 12, 8, x); #/* #31 */ |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 7, 7, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 6, 4, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 8, 13, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 13, 1, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 11, 10, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 9, 6, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 7, 15, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 15, 3, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 7, 12, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 12, 0, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 15, 9, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F1, K1, 9, 5, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F1, K1, 11, 2, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F1, K1, 7, 14, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F1, K1, 13, 11, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F1, K1, 12, 8, x) #/* #31 */ |
|
|
|
|
#/* Round 3 */ |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 11, 3, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 13, 10, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 6, 14, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 7, 4, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 14, 9, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 9, 15, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 13, 8, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 15, 1, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 14, 2, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 8, 7, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 13, 0, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 6, 6, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 5, 13, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 12, 11, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 7, 5, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 5, 12, x); #/* #47 */ |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 11, 3, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 13, 10, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 6, 14, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 7, 4, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 14, 9, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 9, 15, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 13, 8, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 15, 1, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 14, 2, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 8, 7, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 13, 0, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F2, K2, 6, 6, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F2, K2, 5, 13, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F2, K2, 12, 11, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F2, K2, 7, 5, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F2, K2, 5, 12, x) #/* #47 */ |
|
|
|
|
#/* Round 4 */ |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 11, 1, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 12, 9, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 14, 11, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 15, 10, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 14, 0, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 15, 8, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 9, 12, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 8, 4, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 9, 13, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 14, 3, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 5, 7, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 6, 15, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 8, 14, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 6, 5, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 5, 6, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 12, 2, x); #/* #63 */ |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 11, 1, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 12, 9, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 14, 11, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 15, 10, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 14, 0, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 15, 8, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 9, 12, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 8, 4, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 9, 13, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 14, 3, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 5, 7, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F3, K3, 6, 15, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F3, K3, 8, 14, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F3, K3, 6, 5, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F3, K3, 5, 6, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F3, K3, 12, 2, x) #/* #63 */ |
|
|
|
|
#/* Round 5 */ |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 9, 4, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 15, 0, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 5, 5, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 11, 9, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 6, 7, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 8, 12, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 13, 2, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 12, 10, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 5, 14, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 12, 1, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 13, 3, x); |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 14, 8, x); |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 11, 11, x); |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 8, 6, x); |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 5, 15, x); |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 6, 13, x); #/* #79 */ |
|
|
|
|
|
|
|
|
|
aa = a; |
|
|
|
|
bb = b; |
|
|
|
|
cc = c; |
|
|
|
|
dd = d; |
|
|
|
|
ee = e; |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 9, 4, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 15, 0, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 5, 5, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 11, 9, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 6, 7, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 8, 12, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 13, 2, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 12, 10, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 5, 14, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 12, 1, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 13, 3, x) |
|
|
|
|
a, c = R(a, b, c, d, e, F4, K4, 14, 8, x) |
|
|
|
|
e, b = R(e, a, b, c, d, F4, K4, 11, 11, x) |
|
|
|
|
d, a = R(d, e, a, b, c, F4, K4, 8, 6, x) |
|
|
|
|
c, e = R(c, d, e, a, b, F4, K4, 5, 15, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F4, K4, 6, 13, x) #/* #79 */ |
|
|
|
|
|
|
|
|
|
aa = a |
|
|
|
|
bb = b |
|
|
|
|
cc = c |
|
|
|
|
dd = d |
|
|
|
|
ee = e |
|
|
|
|
|
|
|
|
|
a = state[0] |
|
|
|
|
b = state[1] |
|
|
|
|
@ -342,12 +342,12 @@ def RMD160Transform(state, block): #uint32 state[5], uchar block[64]
|
|
|
|
|
c, e = R(c, d, e, a, b, F0, KK4, 11, 9, x) |
|
|
|
|
b, d = R(b, c, d, e, a, F0, KK4, 11, 11, x) #/* #79 */ |
|
|
|
|
|
|
|
|
|
t = (state[1] + cc + d) % 0x100000000; |
|
|
|
|
state[1] = (state[2] + dd + e) % 0x100000000; |
|
|
|
|
state[2] = (state[3] + ee + a) % 0x100000000; |
|
|
|
|
state[3] = (state[4] + aa + b) % 0x100000000; |
|
|
|
|
state[4] = (state[0] + bb + c) % 0x100000000; |
|
|
|
|
state[0] = t % 0x100000000; |
|
|
|
|
t = (state[1] + cc + d) % 0x100000000 |
|
|
|
|
state[1] = (state[2] + dd + e) % 0x100000000 |
|
|
|
|
state[2] = (state[3] + ee + a) % 0x100000000 |
|
|
|
|
state[3] = (state[4] + aa + b) % 0x100000000 |
|
|
|
|
state[4] = (state[0] + bb + c) % 0x100000000 |
|
|
|
|
state[0] = t % 0x100000000 |
|
|
|
|
|
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|