round 20
theta rho pi chi iota




round 20: before theta
A[0] = 0x34f81f1e48c7b6b7
A[1] = 0xff08e754ecf397d7
A[2] = 0x960eaebd123a9fc9
A[3] = 0x210e8e3273bd0364
A[4] = 0x55d8210093c151aa
A[5] = 0x45d6e189b0841805
A[6] = 0x81b82aa5252fc7c7
A[7] = 0xdb7f2aa0d5aab609
A[8] = 0x9402bda43807f06d
A[9] = 0x7a87613267f28dc0
A[10] = 0xeede2fcd1e3941c5
A[11] = 0xdc5aaae0db673f89
A[12] = 0x7d69daa21c076190
A[13] = 0x35b21e73a886ace1
A[14] = 0x167063eee9dfd1f6
A[15] = 0xbba6221645c70d61
A[16] = 0xee9629f7544c16e2
A[17] = 0x870804e0162cf367
A[18] = 0x62965ac77e32b4dc
A[19] = 0x9ac9190a31a8d658
A[20] = 0x284422d77b954bd4
A[21] = 0xd662a1959cb9edd1
A[22] = 0xc5383251962741b2
A[23] = 0x97b1a8164f9d5b04
A[24] = 0x38ea18dd15a5115a



round 20: theta
C[0] = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]
= 0x34f81f1e48c7b6b7 ^ 0x45d6e189b0841805 ^ 0xeede2fcd1e3941c5 ^ 0xbba6221645c70d61 ^ 0x284422d77b954bd4
= 0x0c12d19bd828a9c2
C[1] = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]
= 0xff08e754ecf397d7 ^ 0x81b82aa5252fc7c7 ^ 0xdc5aaae0db673f89 ^ 0xee9629f7544c16e2 ^ 0xd662a1959cb9edd1
= 0x9a1eef73da4e94aa
C[2] = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]
= 0x960eaebd123a9fc9 ^ 0xdb7f2aa0d5aab609 ^ 0x7d69daa21c076190 ^ 0x870804e0162cf367 ^ 0xc5383251962741b2
= 0x7228680e5b9cfa85
C[3] = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]
= 0x210e8e3273bd0364 ^ 0x9402bda43807f06d ^ 0x35b21e73a886ace1 ^ 0x62965ac77e32b4dc ^ 0x97b1a8164f9d5b04
= 0x7599df34d293b030
C[4] = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]
= 0x55d8210093c151aa ^ 0x7a87613267f28dc0 ^ 0x167063eee9dfd1f6 ^ 0x9ac9190a31a8d658 ^ 0x38ea18dd15a5115a
= 0x9b0c220b39e1ca9e
D[0] = LeftRotation(C[1], 1) ^ C[4]
= LeftRotation(0x9a1eef73da4e94aa, 1) ^ 0x9b0c220b39e1ca9e
= 0x343ddee7b49d2955 ^ 0x9b0c220b39e1ca9e
= 0xaf31fcec8d7ce3cb
D[1] = LeftRotation(C[2], 1) ^ C[0]
= LeftRotation(0x7228680e5b9cfa85, 1) ^ 0x0c12d19bd828a9c2
= 0xe450d01cb739f50a ^ 0x0c12d19bd828a9c2
= 0xe84201876f115cc8
D[2] = LeftRotation(C[3], 1) ^ C[1]
= LeftRotation(0x7599df34d293b030, 1) ^ 0x9a1eef73da4e94aa
= 0xeb33be69a5276060 ^ 0x9a1eef73da4e94aa
= 0x712d511a7f69f4ca
D[3] = LeftRotation(C[4], 1) ^ C[2]
= LeftRotation(0x9b0c220b39e1ca9e, 1) ^ 0x7228680e5b9cfa85
= 0x3618441673c3953d ^ 0x7228680e5b9cfa85
= 0x44302c18285f6fb8
D[4] = LeftRotation(C[0], 1) ^ C[3]
= LeftRotation(0x0c12d19bd828a9c2, 1) ^ 0x7599df34d293b030
= 0x1825a337b0515384 ^ 0x7599df34d293b030
= 0x6dbc7c0362c2e3b4
A[0] = A[0] ^ D[0]
= 0x34f81f1e48c7b6b7 ^ 0xaf31fcec8d7ce3cb
= 0x9bc9e3f2c5bb557c
A[5] = A[5] ^ D[0]
= 0x45d6e189b0841805 ^ 0xaf31fcec8d7ce3cb
= 0xeae71d653df8fbce
A[10] = A[10] ^ D[0]
= 0xeede2fcd1e3941c5 ^ 0xaf31fcec8d7ce3cb
= 0x41efd3219345a20e
A[15] = A[15] ^ D[0]
= 0xbba6221645c70d61 ^ 0xaf31fcec8d7ce3cb
= 0x1497defac8bbeeaa
A[20] = A[20] ^ D[0]
= 0x284422d77b954bd4 ^ 0xaf31fcec8d7ce3cb
= 0x8775de3bf6e9a81f
A[1] = A[1] ^ D[1]
= 0xff08e754ecf397d7 ^ 0xe84201876f115cc8
= 0x174ae6d383e2cb1f
A[6] = A[6] ^ D[1]
= 0x81b82aa5252fc7c7 ^ 0xe84201876f115cc8
= 0x69fa2b224a3e9b0f
A[11] = A[11] ^ D[1]
= 0xdc5aaae0db673f89 ^ 0xe84201876f115cc8
= 0x3418ab67b4766341
A[16] = A[16] ^ D[1]
= 0xee9629f7544c16e2 ^ 0xe84201876f115cc8
= 0x06d428703b5d4a2a
A[21] = A[21] ^ D[1]
= 0xd662a1959cb9edd1 ^ 0xe84201876f115cc8
= 0x3e20a012f3a8b119
A[2] = A[2] ^ D[2]
= 0x960eaebd123a9fc9 ^ 0x712d511a7f69f4ca
= 0xe723ffa76d536b03
A[7] = A[7] ^ D[2]
= 0xdb7f2aa0d5aab609 ^ 0x712d511a7f69f4ca
= 0xaa527bbaaac342c3
A[12] = A[12] ^ D[2]
= 0x7d69daa21c076190 ^ 0x712d511a7f69f4ca
= 0x0c448bb8636e955a
A[17] = A[17] ^ D[2]
= 0x870804e0162cf367 ^ 0x712d511a7f69f4ca
= 0xf62555fa694507ad
A[22] = A[22] ^ D[2]
= 0xc5383251962741b2 ^ 0x712d511a7f69f4ca
= 0xb415634be94eb578
A[3] = A[3] ^ D[3]
= 0x210e8e3273bd0364 ^ 0x44302c18285f6fb8
= 0x653ea22a5be26cdc
A[8] = A[8] ^ D[3]
= 0x9402bda43807f06d ^ 0x44302c18285f6fb8
= 0xd03291bc10589fd5
A[13] = A[13] ^ D[3]
= 0x35b21e73a886ace1 ^ 0x44302c18285f6fb8
= 0x7182326b80d9c359
A[18] = A[18] ^ D[3]
= 0x62965ac77e32b4dc ^ 0x44302c18285f6fb8
= 0x26a676df566ddb64
A[23] = A[23] ^ D[3]
= 0x97b1a8164f9d5b04 ^ 0x44302c18285f6fb8
= 0xd381840e67c234bc
A[4] = A[4] ^ D[4]
= 0x55d8210093c151aa ^ 0x6dbc7c0362c2e3b4
= 0x38645d03f103b21e
A[9] = A[9] ^ D[4]
= 0x7a87613267f28dc0 ^ 0x6dbc7c0362c2e3b4
= 0x173b1d3105306e74
A[14] = A[14] ^ D[4]
= 0x167063eee9dfd1f6 ^ 0x6dbc7c0362c2e3b4
= 0x7bcc1fed8b1d3242
A[19] = A[19] ^ D[4]
= 0x9ac9190a31a8d658 ^ 0x6dbc7c0362c2e3b4
= 0xf7756509536a35ec
A[24] = A[24] ^ D[4]
= 0x38ea18dd15a5115a ^ 0x6dbc7c0362c2e3b4
= 0x555664de7767f2ee



round 20: after theta
A[0] = 0x9bc9e3f2c5bb557c
A[1] = 0x174ae6d383e2cb1f
A[2] = 0xe723ffa76d536b03
A[3] = 0x653ea22a5be26cdc
A[4] = 0x38645d03f103b21e
A[5] = 0xeae71d653df8fbce
A[6] = 0x69fa2b224a3e9b0f
A[7] = 0xaa527bbaaac342c3
A[8] = 0xd03291bc10589fd5
A[9] = 0x173b1d3105306e74
A[10] = 0x41efd3219345a20e
A[11] = 0x3418ab67b4766341
A[12] = 0x0c448bb8636e955a
A[13] = 0x7182326b80d9c359
A[14] = 0x7bcc1fed8b1d3242
A[15] = 0x1497defac8bbeeaa
A[16] = 0x06d428703b5d4a2a
A[17] = 0xf62555fa694507ad
A[18] = 0x26a676df566ddb64
A[19] = 0xf7756509536a35ec
A[20] = 0x8775de3bf6e9a81f
A[21] = 0x3e20a012f3a8b119
A[22] = 0xb415634be94eb578
A[23] = 0xd381840e67c234bc
A[24] = 0x555664de7767f2ee



round 20: rho
A[0] = LeftRotation(A[0] , 0)
= LeftRotation(0x9bc9e3f2c5bb557c, 0)
= 0x9bc9e3f2c5bb557c
A[1] = LeftRotation(A[1] , 1)
= LeftRotation(0x174ae6d383e2cb1f, 1)
= 0x2e95cda707c5963e
A[2] = LeftRotation(A[2] , 62)
= LeftRotation(0xe723ffa76d536b03, 62)
= 0xf9c8ffe9db54dac0
A[3] = LeftRotation(A[3] , 28)
= LeftRotation(0x653ea22a5be26cdc, 28)
= 0xa5be26cdc653ea22
A[4] = LeftRotation(A[4] , 27)
= LeftRotation(0x38645d03f103b21e, 27)
= 0x1f881d90f1c322e8
A[5] = LeftRotation(A[5] , 36)
= LeftRotation(0xeae71d653df8fbce, 36)
= 0xdf8fbceeae71d653
A[6] = LeftRotation(A[6] , 44)
= LeftRotation(0x69fa2b224a3e9b0f, 44)
= 0xe9b0f69fa2b224a3
A[7] = LeftRotation(A[7] , 6)
= LeftRotation(0xaa527bbaaac342c3, 6)
= 0x949eeeaab0d0b0ea
A[8] = LeftRotation(A[8] , 55)
= LeftRotation(0xd03291bc10589fd5, 55)
= 0xeae81948de082c4f
A[9] = LeftRotation(A[9] , 20)
= LeftRotation(0x173b1d3105306e74, 20)
= 0xd3105306e74173b1
A[10] = LeftRotation(A[10] , 3)
= LeftRotation(0x41efd3219345a20e, 3)
= 0x0f7e990c9a2d1072
A[11] = LeftRotation(A[11] , 10)
= LeftRotation(0x3418ab67b4766341, 10)
= 0x62ad9ed1d98d04d0
A[12] = LeftRotation(A[12] , 43)
= LeftRotation(0x0c448bb8636e955a, 43)
= 0x74aad062245dc31b
A[13] = LeftRotation(A[13] , 25)
= LeftRotation(0x7182326b80d9c359, 25)
= 0xd701b386b2e30464
A[14] = LeftRotation(A[14] , 39)
= LeftRotation(0x7bcc1fed8b1d3242, 39)
= 0x8e99213de60ff6c5
A[15] = LeftRotation(A[15] , 41)
= LeftRotation(0x1497defac8bbeeaa, 41)
= 0x77dd54292fbdf591
A[16] = LeftRotation(A[16] , 45)
= LeftRotation(0x06d428703b5d4a2a, 45)
= 0xa94540da850e076b
A[17] = LeftRotation(A[17] , 15)
= LeftRotation(0xf62555fa694507ad, 15)
= 0xaafd34a283d6fb12
A[18] = LeftRotation(A[18] , 21)
= LeftRotation(0x26a676df566ddb64, 21)
= 0xdbeacdbb6c84d4ce
A[19] = LeftRotation(A[19] , 8)
= LeftRotation(0xf7756509536a35ec, 8)
= 0x756509536a35ecf7
A[20] = LeftRotation(A[20] , 18)
= LeftRotation(0x8775de3bf6e9a81f, 18)
= 0x78efdba6a07e1dd7
A[21] = LeftRotation(A[21] , 2)
= LeftRotation(0x3e20a012f3a8b119, 2)
= 0xf882804bcea2c464
A[22] = LeftRotation(A[22] , 61)
= LeftRotation(0xb415634be94eb578, 61)
= 0x1682ac697d29d6af
A[23] = LeftRotation(A[23] , 56)
= LeftRotation(0xd381840e67c234bc, 56)
= 0xbcd381840e67c234



round 20: after rho
A[0] = 0x9bc9e3f2c5bb557c
A[1] = 0x2e95cda707c5963e
A[2] = 0xf9c8ffe9db54dac0
A[3] = 0xa5be26cdc653ea22
A[4] = 0x1f881d90f1c322e8
A[5] = 0xdf8fbceeae71d653
A[6] = 0xe9b0f69fa2b224a3
A[7] = 0x949eeeaab0d0b0ea
A[8] = 0xeae81948de082c4f
A[9] = 0xd3105306e74173b1
A[10] = 0x0f7e990c9a2d1072
A[11] = 0x62ad9ed1d98d04d0
A[12] = 0x74aad062245dc31b
A[13] = 0xd701b386b2e30464
A[14] = 0x8e99213de60ff6c5
A[15] = 0x77dd54292fbdf591
A[16] = 0xa94540da850e076b
A[17] = 0xaafd34a283d6fb12
A[18] = 0xdbeacdbb6c84d4ce
A[19] = 0x756509536a35ecf7
A[20] = 0x78efdba6a07e1dd7
A[21] = 0xf882804bcea2c464
A[22] = 0x1682ac697d29d6af
A[23] = 0xbcd381840e67c234
A[24] = 0x99379dd9fcbb9555



round 20: pi
A1temp = A[1]
= 0x2e95cda707c5963e
A[1] = A[6]
= 0xe9b0f69fa2b224a3
A[6] = A[9]
= 0xd3105306e74173b1
A[9] = A[22]
= 0x1682ac697d29d6af
A[22] = A[14]
= 0x8e99213de60ff6c5
A[14] = A[20]
= 0x78efdba6a07e1dd7
A[20] = A[2]
= 0xf9c8ffe9db54dac0
A[2] = A[12]
= 0x74aad062245dc31b
A[12] = A[13]
= 0xd701b386b2e30464
A[13] = A[19]
= 0x756509536a35ecf7
A[19] = A[23]
= 0xbcd381840e67c234
A[23] = A[15]
= 0x77dd54292fbdf591
A[15] = A[4]
= 0x1f881d90f1c322e8
A[4] = A[24]
= 0x99379dd9fcbb9555
A[24] = A[21]
= 0xf882804bcea2c464
A[21] = A[8]
= 0xeae81948de082c4f
A[8] = A[16]
= 0xa94540da850e076b
A[16] = A[5]
= 0xdf8fbceeae71d653
A[5] = A[3]
= 0xa5be26cdc653ea22
A[3] = A[18]
= 0xdbeacdbb6c84d4ce
A[18] = A[17]
= 0xaafd34a283d6fb12
A[17] = A[11]
= 0x62ad9ed1d98d04d0
A[11] = A[7]
= 0x949eeeaab0d0b0ea
A[7] = A[10]
= 0x0f7e990c9a2d1072
A[10] = A1temp
= 0x2e95cda707c5963e



round 20: after pi
A[0] = 0x9bc9e3f2c5bb557c
A[1] = 0xe9b0f69fa2b224a3
A[2] = 0x74aad062245dc31b
A[3] = 0xdbeacdbb6c84d4ce
A[4] = 0x99379dd9fcbb9555
A[5] = 0xa5be26cdc653ea22
A[6] = 0xd3105306e74173b1
A[7] = 0x0f7e990c9a2d1072
A[8] = 0xa94540da850e076b
A[9] = 0x1682ac697d29d6af
A[10] = 0x2e95cda707c5963e
A[11] = 0x949eeeaab0d0b0ea
A[12] = 0xd701b386b2e30464
A[13] = 0x756509536a35ecf7
A[14] = 0x78efdba6a07e1dd7
A[15] = 0x1f881d90f1c322e8
A[16] = 0xdf8fbceeae71d653
A[17] = 0x62ad9ed1d98d04d0
A[18] = 0xaafd34a283d6fb12
A[19] = 0xbcd381840e67c234
A[20] = 0xf9c8ffe9db54dac0
A[21] = 0xeae81948de082c4f
A[22] = 0x8e99213de60ff6c5
A[23] = 0x77dd54292fbdf591
A[24] = 0xf882804bcea2c464



round 20: chi
A0temp = A[0]
= 0x9bc9e3f2c5bb557c
A1temp = A[1]
= 0xe9b0f69fa2b224a3
A[0] = A[0] ^ (~A1temp & A[2])
= 0x9bc9e3f2c5bb557c ^ (~0xe9b0f69fa2b224a3 & 0x74aad062245dc31b)
= 0x9bc9e3f2c5bb557c ^ (0x164f09605d4ddb5c & 0x74aad062245dc31b)
= 0x9bc9e3f2c5bb557c ^ 0x140a0060044dc318
= 0x8fc3e392c1f69664
A[1] = A[1] ^ (~A[2] & A[3])
= 0xe9b0f69fa2b224a3 ^ (~0x74aad062245dc31b & 0xdbeacdbb6c84d4ce)
= 0xe9b0f69fa2b224a3 ^ (0x8b552f9ddba23ce4 & 0xdbeacdbb6c84d4ce)
= 0xe9b0f69fa2b224a3 ^ 0x8b400d99488014c4
= 0xe9b0f69fa2b224a3
A[2] = A[2] ^ (~A[3] & A[4])
= 0x74aad062245dc31b ^ (~0xdbeacdbb6c84d4ce & 0x99379dd9fcbb9555)
= 0x74aad062245dc31b ^ (0x24153244937b2b31 & 0x99379dd9fcbb9555)
= 0x74aad062245dc31b ^ 0x00151040903b0111
= 0x50aac0222404c00a
A[3] = A[3] ^ (~A[4] & A0temp)
= 0xdbeacdbb6c84d4ce ^ (~0x99379dd9fcbb9555 & 0x9bc9e3f2c5bb557c)
= 0xdbeacdbb6c84d4ce ^ (0x66c8622603446aaa & 0x9bc9e3f2c5bb557c)
= 0xdbeacdbb6c84d4ce ^ 0x02c8622201004028
= 0xbf628d996cc096c4
A[4] = A[4] ^ (~A0temp & A1temp)
= 0x99379dd9fcbb9555 ^ (~0x9bc9e3f2c5bb557c & 0xe9b0f69fa2b224a3)
= 0x99379dd9fcbb9555 ^ (0x64361c0d3a44aa83 & 0xe9b0f69fa2b224a3)
= 0x99379dd9fcbb9555 ^ 0x6030140d22002083
= 0xfd158dd9dcff1756
A5temp = A[5]
= 0xa5be26cdc653ea22
A6temp = A[6]
= 0xd3105306e74173b1
A[5] = A[5] ^ (~A6temp & A[7])
= 0xa5be26cdc653ea22 ^ (~0xd3105306e74173b1 & 0x0f7e990c9a2d1072)
= 0xa5be26cdc653ea22 ^ (0x2cefacf918be8c4e & 0x0f7e990c9a2d1072)
= 0xa5be26cdc653ea22 ^ 0x0c6e8808182c0042
= 0xa9d0aec5de7fea60
A[6] = A[6] ^ (~A[7] & A[8])
= 0xd3105306e74173b1 ^ (~0x0f7e990c9a2d1072 & 0xa94540da850e076b)
= 0xd3105306e74173b1 ^ (0xf08166f365d2ef8d & 0xa94540da850e076b)
= 0xd3105306e74173b1 ^ 0xa00140d205020709
= 0xd3105306e74173b1
A[7] = A[7] ^ (~A[8] & A[9])
= 0x0f7e990c9a2d1072 ^ (~0xa94540da850e076b & 0x1682ac697d29d6af)
= 0x0f7e990c9a2d1072 ^ (0x56babf257af1f894 & 0x1682ac697d29d6af)
= 0x0f7e990c9a2d1072 ^ 0x1682ac217821d084
= 0x09440008800c0062
A[8] = A[8] ^ (~A[9] & A5temp)
= 0xa94540da850e076b ^ (~0x1682ac697d29d6af & 0xa5be26cdc653ea22)
= 0xa94540da850e076b ^ (0xe97d539682d62950 & 0xa5be26cdc653ea22)
= 0xa94540da850e076b ^ 0xa13c028482522800
= 0xa03951de070a073b
A[9] = A[9] ^ (~A5temp & A6temp)
= 0x1682ac697d29d6af ^ (~0xa5be26cdc653ea22 & 0xd3105306e74173b1)
= 0x1682ac697d29d6af ^ (0x5a41d93239ac15dd & 0xd3105306e74173b1)
= 0x1682ac697d29d6af ^ 0x5200510221001191
= 0x1cc235696505c6ff
A10temp = A[10]
= 0x2e95cda707c5963e
A11temp = A[11]
= 0x949eeeaab0d0b0ea
A[10] = A[10] ^ (~A11temp & A[12])
= 0x2e95cda707c5963e ^ (~0x949eeeaab0d0b0ea & 0xd701b386b2e30464)
= 0x2e95cda707c5963e ^ (0x6b6111554f2f4f15 & 0xd701b386b2e30464)
= 0x2e95cda707c5963e ^ 0x4301110402230404
= 0x6d94dca305e6923a
A[11] = A[11] ^ (~A[12] & A[13])
= 0x949eeeaab0d0b0ea ^ (~0xd701b386b2e30464 & 0x756509536a35ecf7)
= 0x949eeeaab0d0b0ea ^ (0x28fe4c794d1cfb9b & 0x756509536a35ecf7)
= 0x949eeeaab0d0b0ea ^ 0x206408514814e893
= 0x949eeeaab0d0b0ea
A[12] = A[12] ^ (~A[13] & A[14])
= 0xd701b386b2e30464 ^ (~0x756509536a35ecf7 & 0x78efdba6a07e1dd7)
= 0xd701b386b2e30464 ^ (0x8a9af6ac95ca1308 & 0x78efdba6a07e1dd7)
= 0xd701b386b2e30464 ^ 0x088ad2a4804a1100
= 0x5501010222210464
A[13] = A[13] ^ (~A[14] & A10temp)
= 0x756509536a35ecf7 ^ (~0x78efdba6a07e1dd7 & 0x2e95cda707c5963e)
= 0x756509536a35ecf7 ^ (0x871024595f81e228 & 0x2e95cda707c5963e)
= 0x756509536a35ecf7 ^ 0x0610040107818228
= 0xf265295378b4ecd7
A[14] = A[14] ^ (~A10temp & A11temp)
= 0x78efdba6a07e1dd7 ^ (~0x2e95cda707c5963e & 0x949eeeaab0d0b0ea)
= 0x78efdba6a07e1dd7 ^ (0xd16a3258f83a69c1 & 0x949eeeaab0d0b0ea)
= 0x78efdba6a07e1dd7 ^ 0x900a2208b01020c0
= 0xa9efe9a6105c1d97
A15temp = A[15]
= 0x1f881d90f1c322e8
A16temp = A[16]
= 0xdf8fbceeae71d653
A[15] = A[15] ^ (~A16temp & A[17])
= 0x1f881d90f1c322e8 ^ (~0xdf8fbceeae71d653 & 0x62ad9ed1d98d04d0)
= 0x1f881d90f1c322e8 ^ (0x20704311518e29ac & 0x62ad9ed1d98d04d0)
= 0x1f881d90f1c322e8 ^ 0x20200211518c0080
= 0x3fa81f81a04f2268
A[16] = A[16] ^ (~A[17] & A[18])
= 0xdf8fbceeae71d653 ^ (~0x62ad9ed1d98d04d0 & 0xaafd34a283d6fb12)
= 0xdf8fbceeae71d653 ^ (0x9d52612e2672fb2f & 0xaafd34a283d6fb12)
= 0xdf8fbceeae71d653 ^ 0x885020220252fb02
= 0xdf8fbceeae71d653
A[17] = A[17] ^ (~A[18] & A[19])
= 0x62ad9ed1d98d04d0 ^ (~0xaafd34a283d6fb12 & 0xbcd381840e67c234)
= 0x62ad9ed1d98d04d0 ^ (0x5502cb5d7c2904ed & 0xbcd381840e67c234)
= 0x62ad9ed1d98d04d0 ^ 0x140281040c210024
= 0x22ad148081840010
A[18] = A[18] ^ (~A[19] & A15temp)
= 0xaafd34a283d6fb12 ^ (~0xbcd381840e67c234 & 0x1f881d90f1c322e8)
= 0xaafd34a283d6fb12 ^ (0x432c7e7bf1983dcb & 0x1f881d90f1c322e8)
= 0xaafd34a283d6fb12 ^ 0x03081c10f18020c8
= 0xe8d12af3525effd2
A[19] = A[19] ^ (~A15temp & A16temp)
= 0xbcd381840e67c234 ^ (~0x1f881d90f1c322e8 & 0xdf8fbceeae71d653)
= 0xbcd381840e67c234 ^ (0xe077e26f0e3cdd17 & 0xdf8fbceeae71d653)
= 0xbcd381840e67c234 ^ 0xc007a06e0e30d413
= 0xdcf603c5066bc624
A20temp = A[20]
= 0xf9c8ffe9db54dac0
A21temp = A[21]
= 0xeae81948de082c4f
A[20] = A[20] ^ (~A21temp & A[22])
= 0xf9c8ffe9db54dac0 ^ (~0xeae81948de082c4f & 0x8e99213de60ff6c5)
= 0xf9c8ffe9db54dac0 ^ (0x1517e6b721f7d3b0 & 0x8e99213de60ff6c5)
= 0xf9c8ffe9db54dac0 ^ 0x041120352007d280
= 0xfdd9dfdcfb530840
A[21] = A[21] ^ (~A[22] & A[23])
= 0xeae81948de082c4f ^ (~0x8e99213de60ff6c5 & 0x77dd54292fbdf591)
= 0xeae81948de082c4f ^ (0x7166dec219f0093a & 0x77dd54292fbdf591)
= 0xeae81948de082c4f ^ 0x7144540009b00110
= 0xeae81948de082c4f
A[22] = A[22] ^ (~A[23] & A[24])
= 0x8e99213de60ff6c5 ^ (~0x77dd54292fbdf591 & 0xf882804bcea2c464)
= 0x8e99213de60ff6c5 ^ (0x8822abd6d0420a6e & 0xf882804bcea2c464)
= 0x8e99213de60ff6c5 ^ 0x88028042c0020064
= 0x06990029260df481
A[23] = A[23] ^ (~A[24] & A20temp)
= 0x77dd54292fbdf591 ^ (~0xf882804bcea2c464 & 0xf9c8ffe9db54dac0)
= 0x77dd54292fbdf591 ^ (0x077d7fb4315d3b9b & 0xf9c8ffe9db54dac0)
= 0x77dd54292fbdf591 ^ 0x01487fa011541a80
= 0x71c4751d0fb0c710
A[24] = A[24] ^ (~A20temp & A21temp)
= 0xf882804bcea2c464 ^ (~0xf9c8ffe9db54dac0 & 0xeae81948de082c4f)
= 0xf882804bcea2c464 ^ (0x0637001624ab253f & 0xeae81948de082c4f)
= 0xf882804bcea2c464 ^ 0x022000000408240f
= 0xfe93805feaa9e061



round 20: after chi
A[0] = 0x8fc3e392c1f69664
A[1] = 0x62f0fb06ea323067
A[2] = 0x74bfc022b466c20a
A[3] = 0xd922af996d8494e6
A[4] = 0xf90789d4debbb5d6
A[5] = 0xa9d0aec5de7fea60
A[6] = 0x731113d4e24374b8
A[7] = 0x19fc352de20cc0f6
A[8] = 0x0879425e075c2f6b
A[9] = 0x4482fd6b5c29c73e
A[10] = 0x6d94dca305e6923a
A[11] = 0xb4fae6fbf8c45879
A[12] = 0xdf8b612232a91564
A[13] = 0x73750d526db46edf
A[14] = 0xe8e5f9ae106e3d17
A[15] = 0x3fa81f81a04f2268
A[16] = 0x57df9cccac232d51
A[17] = 0x76af1fd5d5ac04f4
A[18] = 0xa9f528b27256dbda
A[19] = 0x7cd421ea00571627
A[20] = 0xfdd9dfdcfb530840
A[21] = 0x9bac4d48d7b82d5f
A[22] = 0x069ba17f260df6a1
A[23] = 0x76952b893ee9ef11
A[24] = 0xfaa2804bcaaae06b



round 20: iota
A[0] = A[0] ^ rc[20]
= 0x8fc3e392c1f69664 ^ 0x8000000080008081
= 0x0fc3e39241f616e5



round 20: after iota
A[0] = 0x0fc3e39241f616e5
A[1] = 0x62f0fb06ea323067
A[2] = 0x74bfc022b466c20a
A[3] = 0xd922af996d8494e6
A[4] = 0xf90789d4debbb5d6
A[5] = 0xa9d0aec5de7fea60
A[6] = 0x731113d4e24374b8
A[7] = 0x19fc352de20cc0f6
A[8] = 0x0879425e075c2f6b
A[9] = 0x4482fd6b5c29c73e
A[10] = 0x6d94dca305e6923a
A[11] = 0xb4fae6fbf8c45879
A[12] = 0xdf8b612232a91564
A[13] = 0x73750d526db46edf
A[14] = 0xe8e5f9ae106e3d17
A[15] = 0x3fa81f81a04f2268
A[16] = 0x57df9cccac232d51
A[17] = 0x76af1fd5d5ac04f4
A[18] = 0xa9f528b27256dbda
A[19] = 0x7cd421ea00571627
A[20] = 0xfdd9dfdcfb530840
A[21] = 0x9bac4d48d7b82d5f
A[22] = 0x069ba17f260df6a1
A[23] = 0x76952b893ee9ef11
A[24] = 0xfaa2804bcaaae06b