round 21
theta rho pi chi iota




round 21: before theta
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



round 21: theta
C[0] = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]
= 0x0fc3e39241f616e5 ^ 0xa9d0aec5de7fea60 ^ 0x6d94dca305e6923a ^ 0x3fa81f81a04f2268 ^ 0xfdd9dfdcfb530840
= 0x09f651a9c1734497
C[1] = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]
= 0x62f0fb06ea323067 ^ 0x731113d4e24374b8 ^ 0xb4fae6fbf8c45879 ^ 0x57df9cccac232d51 ^ 0x9bac4d48d7b82d5f
= 0x6968dfad8b2e1ca8
C[2] = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]
= 0x74bfc022b466c20a ^ 0x19fc352de20cc0f6 ^ 0xdf8b612232a91564 ^ 0x76af1fd5d5ac04f4 ^ 0x069ba17f260df6a1
= 0xc2fc2a879762e5cd
C[3] = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]
= 0xd922af996d8494e6 ^ 0x0879425e075c2f6b ^ 0x73750d526db46edf ^ 0xa9f528b27256dbda ^ 0x76952b893ee9ef11
= 0x7d4ee3ae4bd3e199
C[4] = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]
= 0xf90789d4debbb5d6 ^ 0x4482fd6b5c29c73e ^ 0xe8e5f9ae106e3d17 ^ 0x7cd421ea00571627 ^ 0xfaa2804bcaaae06b
= 0xd3162cb05801b9b3
D[0] = LeftRotation(C[1], 1) ^ C[4]
= LeftRotation(0x6968dfad8b2e1ca8, 1) ^ 0xd3162cb05801b9b3
= 0xd2d1bf5b165c3950 ^ 0xd3162cb05801b9b3
= 0x01c793eb4e5d80e3
D[1] = LeftRotation(C[2], 1) ^ C[0]
= LeftRotation(0xc2fc2a879762e5cd, 1) ^ 0x09f651a9c1734497
= 0x85f8550f2ec5cb9b ^ 0x09f651a9c1734497
= 0x8c0e04a6efb68f0c
D[2] = LeftRotation(C[3], 1) ^ C[1]
= LeftRotation(0x7d4ee3ae4bd3e199, 1) ^ 0x6968dfad8b2e1ca8
= 0xfa9dc75c97a7c332 ^ 0x6968dfad8b2e1ca8
= 0x93f518f11c89df9a
D[3] = LeftRotation(C[4], 1) ^ C[2]
= LeftRotation(0xd3162cb05801b9b3, 1) ^ 0xc2fc2a879762e5cd
= 0xa62c5960b0037367 ^ 0xc2fc2a879762e5cd
= 0x64d073e7276196aa
D[4] = LeftRotation(C[0], 1) ^ C[3]
= LeftRotation(0x09f651a9c1734497, 1) ^ 0x7d4ee3ae4bd3e199
= 0x13eca35382e6892e ^ 0x7d4ee3ae4bd3e199
= 0x6ea240fdc93568b7
A[0] = A[0] ^ D[0]
= 0x0fc3e39241f616e5 ^ 0x01c793eb4e5d80e3
= 0x0e0470790fab9606
A[5] = A[5] ^ D[0]
= 0xa9d0aec5de7fea60 ^ 0x01c793eb4e5d80e3
= 0xa8173d2e90226a83
A[10] = A[10] ^ D[0]
= 0x6d94dca305e6923a ^ 0x01c793eb4e5d80e3
= 0x6c534f484bbb12d9
A[15] = A[15] ^ D[0]
= 0x3fa81f81a04f2268 ^ 0x01c793eb4e5d80e3
= 0x3e6f8c6aee12a28b
A[20] = A[20] ^ D[0]
= 0xfdd9dfdcfb530840 ^ 0x01c793eb4e5d80e3
= 0xfc1e4c37b50e88a3
A[1] = A[1] ^ D[1]
= 0x62f0fb06ea323067 ^ 0x8c0e04a6efb68f0c
= 0xeefeffa00584bf6b
A[6] = A[6] ^ D[1]
= 0x731113d4e24374b8 ^ 0x8c0e04a6efb68f0c
= 0xff1f17720df5fbb4
A[11] = A[11] ^ D[1]
= 0xb4fae6fbf8c45879 ^ 0x8c0e04a6efb68f0c
= 0x38f4e25d1772d775
A[16] = A[16] ^ D[1]
= 0x57df9cccac232d51 ^ 0x8c0e04a6efb68f0c
= 0xdbd1986a4395a25d
A[21] = A[21] ^ D[1]
= 0x9bac4d48d7b82d5f ^ 0x8c0e04a6efb68f0c
= 0x17a249ee380ea253
A[2] = A[2] ^ D[2]
= 0x74bfc022b466c20a ^ 0x93f518f11c89df9a
= 0xe74ad8d3a8ef1d90
A[7] = A[7] ^ D[2]
= 0x19fc352de20cc0f6 ^ 0x93f518f11c89df9a
= 0x8a092ddcfe851f6c
A[12] = A[12] ^ D[2]
= 0xdf8b612232a91564 ^ 0x93f518f11c89df9a
= 0x4c7e79d32e20cafe
A[17] = A[17] ^ D[2]
= 0x76af1fd5d5ac04f4 ^ 0x93f518f11c89df9a
= 0xe55a0724c925db6e
A[22] = A[22] ^ D[2]
= 0x069ba17f260df6a1 ^ 0x93f518f11c89df9a
= 0x956eb98e3a84293b
A[3] = A[3] ^ D[3]
= 0xd922af996d8494e6 ^ 0x64d073e7276196aa
= 0xbdf2dc7e4ae5024c
A[8] = A[8] ^ D[3]
= 0x0879425e075c2f6b ^ 0x64d073e7276196aa
= 0x6ca931b9203db9c1
A[13] = A[13] ^ D[3]
= 0x73750d526db46edf ^ 0x64d073e7276196aa
= 0x17a57eb54ad5f875
A[18] = A[18] ^ D[3]
= 0xa9f528b27256dbda ^ 0x64d073e7276196aa
= 0xcd255b5555374d70
A[23] = A[23] ^ D[3]
= 0x76952b893ee9ef11 ^ 0x64d073e7276196aa
= 0x1245586e198879bb
A[4] = A[4] ^ D[4]
= 0xf90789d4debbb5d6 ^ 0x6ea240fdc93568b7
= 0x97a5c929178edd61
A[9] = A[9] ^ D[4]
= 0x4482fd6b5c29c73e ^ 0x6ea240fdc93568b7
= 0x2a20bd96951caf89
A[14] = A[14] ^ D[4]
= 0xe8e5f9ae106e3d17 ^ 0x6ea240fdc93568b7
= 0x8647b953d95b55a0
A[19] = A[19] ^ D[4]
= 0x7cd421ea00571627 ^ 0x6ea240fdc93568b7
= 0x12766117c9627e90
A[24] = A[24] ^ D[4]
= 0xfaa2804bcaaae06b ^ 0x6ea240fdc93568b7
= 0x9400c0b6039f88dc



round 21: after theta
A[0] = 0x0e0470790fab9606
A[1] = 0xeefeffa00584bf6b
A[2] = 0xe74ad8d3a8ef1d90
A[3] = 0xbdf2dc7e4ae5024c
A[4] = 0x97a5c929178edd61
A[5] = 0xa8173d2e90226a83
A[6] = 0xff1f17720df5fbb4
A[7] = 0x8a092ddcfe851f6c
A[8] = 0x6ca931b9203db9c1
A[9] = 0x2a20bd96951caf89
A[10] = 0x6c534f484bbb12d9
A[11] = 0x38f4e25d1772d775
A[12] = 0x4c7e79d32e20cafe
A[13] = 0x17a57eb54ad5f875
A[14] = 0x8647b953d95b55a0
A[15] = 0x3e6f8c6aee12a28b
A[16] = 0xdbd1986a4395a25d
A[17] = 0xe55a0724c925db6e
A[18] = 0xcd255b5555374d70
A[19] = 0x12766117c9627e90
A[20] = 0xfc1e4c37b50e88a3
A[21] = 0x17a249ee380ea253
A[22] = 0x956eb98e3a84293b
A[23] = 0x1245586e198879bb
A[24] = 0x9400c0b6039f88dc



round 21: rho
A[0] = LeftRotation(A[0] , 0)
= LeftRotation(0x0e0470790fab9606, 0)
= 0x0e0470790fab9606
A[1] = LeftRotation(A[1] , 1)
= LeftRotation(0xeefeffa00584bf6b, 1)
= 0xddfdff400b097ed7
A[2] = LeftRotation(A[2] , 62)
= LeftRotation(0xe74ad8d3a8ef1d90, 62)
= 0x39d2b634ea3bc764
A[3] = LeftRotation(A[3] , 28)
= LeftRotation(0xbdf2dc7e4ae5024c, 28)
= 0xe4ae5024cbdf2dc7
A[4] = LeftRotation(A[4] , 27)
= LeftRotation(0x97a5c929178edd61, 27)
= 0x48bc76eb0cbd2e49
A[5] = LeftRotation(A[5] , 36)
= LeftRotation(0xa8173d2e90226a83, 36)
= 0x0226a83a8173d2e9
A[6] = LeftRotation(A[6] , 44)
= LeftRotation(0xff1f17720df5fbb4, 44)
= 0x5fbb4ff1f17720df
A[7] = LeftRotation(A[7] , 6)
= LeftRotation(0x8a092ddcfe851f6c, 6)
= 0x824b773fa147db22
A[8] = LeftRotation(A[8] , 55)
= LeftRotation(0x6ca931b9203db9c1, 55)
= 0xe0b65498dc901edc
A[9] = LeftRotation(A[9] , 20)
= LeftRotation(0x2a20bd96951caf89, 20)
= 0xd96951caf892a20b
A[10] = LeftRotation(A[10] , 3)
= LeftRotation(0x6c534f484bbb12d9, 3)
= 0x629a7a425dd896cb
A[11] = LeftRotation(A[11] , 10)
= LeftRotation(0x38f4e25d1772d775, 10)
= 0xd389745dcb5dd4e3
A[12] = LeftRotation(A[12] , 43)
= LeftRotation(0x4c7e79d32e20cafe, 43)
= 0x0657f263f3ce9971
A[13] = LeftRotation(A[13] , 25)
= LeftRotation(0x17a57eb54ad5f875, 25)
= 0x6a95abf0ea2f4afd
A[14] = LeftRotation(A[14] , 39)
= LeftRotation(0x8647b953d95b55a0, 39)
= 0xadaad04323dca9ec
A[15] = LeftRotation(A[15] , 41)
= LeftRotation(0x3e6f8c6aee12a28b, 41)
= 0x2545167cdf18d5dc
A[16] = LeftRotation(A[16] , 45)
= LeftRotation(0xdbd1986a4395a25d, 45)
= 0xb44bbb7a330d4872
A[17] = LeftRotation(A[17] , 15)
= LeftRotation(0xe55a0724c925db6e, 15)
= 0x03926492edb772ad
A[18] = LeftRotation(A[18] , 21)
= LeftRotation(0xcd255b5555374d70, 21)
= 0x6aaaa6e9ae19a4ab
A[19] = LeftRotation(A[19] , 8)
= LeftRotation(0x12766117c9627e90, 8)
= 0x766117c9627e9012
A[20] = LeftRotation(A[20] , 18)
= LeftRotation(0xfc1e4c37b50e88a3, 18)
= 0x30ded43a228ff079
A[21] = LeftRotation(A[21] , 2)
= LeftRotation(0x17a249ee380ea253, 2)
= 0x5e8927b8e03a894c
A[22] = LeftRotation(A[22] , 61)
= LeftRotation(0x956eb98e3a84293b, 61)
= 0x72add731c7508527
A[23] = LeftRotation(A[23] , 56)
= LeftRotation(0x1245586e198879bb, 56)
= 0xbb1245586e198879



round 21: after rho
A[0] = 0x0e0470790fab9606
A[1] = 0xddfdff400b097ed7
A[2] = 0x39d2b634ea3bc764
A[3] = 0xe4ae5024cbdf2dc7
A[4] = 0x48bc76eb0cbd2e49
A[5] = 0x0226a83a8173d2e9
A[6] = 0x5fbb4ff1f17720df
A[7] = 0x824b773fa147db22
A[8] = 0xe0b65498dc901edc
A[9] = 0xd96951caf892a20b
A[10] = 0x629a7a425dd896cb
A[11] = 0xd389745dcb5dd4e3
A[12] = 0x0657f263f3ce9971
A[13] = 0x6a95abf0ea2f4afd
A[14] = 0xadaad04323dca9ec
A[15] = 0x2545167cdf18d5dc
A[16] = 0xb44bbb7a330d4872
A[17] = 0x03926492edb772ad
A[18] = 0x6aaaa6e9ae19a4ab
A[19] = 0x766117c9627e9012
A[20] = 0x30ded43a228ff079
A[21] = 0x5e8927b8e03a894c
A[22] = 0x72add731c7508527
A[23] = 0xbb1245586e198879
A[24] = 0x302d80e7e2372500



round 21: pi
A1temp = A[1]
= 0xddfdff400b097ed7
A[1] = A[6]
= 0x5fbb4ff1f17720df
A[6] = A[9]
= 0xd96951caf892a20b
A[9] = A[22]
= 0x72add731c7508527
A[22] = A[14]
= 0xadaad04323dca9ec
A[14] = A[20]
= 0x30ded43a228ff079
A[20] = A[2]
= 0x39d2b634ea3bc764
A[2] = A[12]
= 0x0657f263f3ce9971
A[12] = A[13]
= 0x6a95abf0ea2f4afd
A[13] = A[19]
= 0x766117c9627e9012
A[19] = A[23]
= 0xbb1245586e198879
A[23] = A[15]
= 0x2545167cdf18d5dc
A[15] = A[4]
= 0x48bc76eb0cbd2e49
A[4] = A[24]
= 0x302d80e7e2372500
A[24] = A[21]
= 0x5e8927b8e03a894c
A[21] = A[8]
= 0xe0b65498dc901edc
A[8] = A[16]
= 0xb44bbb7a330d4872
A[16] = A[5]
= 0x0226a83a8173d2e9
A[5] = A[3]
= 0xe4ae5024cbdf2dc7
A[3] = A[18]
= 0x6aaaa6e9ae19a4ab
A[18] = A[17]
= 0x03926492edb772ad
A[17] = A[11]
= 0xd389745dcb5dd4e3
A[11] = A[7]
= 0x824b773fa147db22
A[7] = A[10]
= 0x629a7a425dd896cb
A[10] = A1temp
= 0xddfdff400b097ed7



round 21: after pi
A[0] = 0x0e0470790fab9606
A[1] = 0x5fbb4ff1f17720df
A[2] = 0x0657f263f3ce9971
A[3] = 0x6aaaa6e9ae19a4ab
A[4] = 0x302d80e7e2372500
A[5] = 0xe4ae5024cbdf2dc7
A[6] = 0xd96951caf892a20b
A[7] = 0x629a7a425dd896cb
A[8] = 0xb44bbb7a330d4872
A[9] = 0x72add731c7508527
A[10] = 0xddfdff400b097ed7
A[11] = 0x824b773fa147db22
A[12] = 0x6a95abf0ea2f4afd
A[13] = 0x766117c9627e9012
A[14] = 0x30ded43a228ff079
A[15] = 0x48bc76eb0cbd2e49
A[16] = 0x0226a83a8173d2e9
A[17] = 0xd389745dcb5dd4e3
A[18] = 0x03926492edb772ad
A[19] = 0xbb1245586e198879
A[20] = 0x39d2b634ea3bc764
A[21] = 0xe0b65498dc901edc
A[22] = 0xadaad04323dca9ec
A[23] = 0x2545167cdf18d5dc
A[24] = 0x5e8927b8e03a894c



round 21: chi
A0temp = A[0]
= 0x0e0470790fab9606
A1temp = A[1]
= 0x5fbb4ff1f17720df
A[0] = A[0] ^ (~A1temp & A[2])
= 0x0e0470790fab9606 ^ (~0x5fbb4ff1f17720df & 0x0657f263f3ce9971)
= 0x0e0470790fab9606 ^ (0xa044b00e0e88df20 & 0x0657f263f3ce9971)
= 0x0e0470790fab9606 ^ 0x0044b00202889920
= 0x0e40c07b0d230f26
A[1] = A[1] ^ (~A[2] & A[3])
= 0x5fbb4ff1f17720df ^ (~0x0657f263f3ce9971 & 0x6aaaa6e9ae19a4ab)
= 0x5fbb4ff1f17720df ^ (0xf9a80d9c0c31668e & 0x6aaaa6e9ae19a4ab)
= 0x5fbb4ff1f17720df ^ 0x68a804880c11248a
= 0x5fbb4ff1f17720df
A[2] = A[2] ^ (~A[3] & A[4])
= 0x0657f263f3ce9971 ^ (~0x6aaaa6e9ae19a4ab & 0x302d80e7e2372500)
= 0x0657f263f3ce9971 ^ (0x9555591651e65b54 & 0x302d80e7e2372500)
= 0x0657f263f3ce9971 ^ 0x1005000640260100
= 0x0202a261a2088021
A[3] = A[3] ^ (~A[4] & A0temp)
= 0x6aaaa6e9ae19a4ab ^ (~0x302d80e7e2372500 & 0x0e0470790fab9606)
= 0x6aaaa6e9ae19a4ab ^ (0xcfd27f181dc8daff & 0x0e0470790fab9606)
= 0x6aaaa6e9ae19a4ab ^ 0x0e0070180d889206
= 0x6cf8d4e9bfd13cda
A[4] = A[4] ^ (~A0temp & A1temp)
= 0x302d80e7e2372500 ^ (~0x0e0470790fab9606 & 0x5fbb4ff1f17720df)
= 0x302d80e7e2372500 ^ (0xf1fb8f86f05469f9 & 0x5fbb4ff1f17720df)
= 0x302d80e7e2372500 ^ 0x51bb0f80f05420d9
= 0x307e02e512732c71
A5temp = A[5]
= 0xe4ae5024cbdf2dc7
A6temp = A[6]
= 0xd96951caf892a20b
A[5] = A[5] ^ (~A6temp & A[7])
= 0xe4ae5024cbdf2dc7 ^ (~0xd96951caf892a20b & 0x629a7a425dd896cb)
= 0xe4ae5024cbdf2dc7 ^ (0x2696ae35076d5df4 & 0x629a7a425dd896cb)
= 0xe4ae5024cbdf2dc7 ^ 0x22922a00054814c0
= 0xc63c7a24ce973907
A[6] = A[6] ^ (~A[7] & A[8])
= 0xd96951caf892a20b ^ (~0x629a7a425dd896cb & 0xb44bbb7a330d4872)
= 0xd96951caf892a20b ^ (0x9d6585bda2276934 & 0xb44bbb7a330d4872)
= 0xd96951caf892a20b ^ 0x9441813822054830
= 0xd96951caf892a20b
A[7] = A[7] ^ (~A[8] & A[9])
= 0x629a7a425dd896cb ^ (~0xb44bbb7a330d4872 & 0x72add731c7508527)
= 0x629a7a425dd896cb ^ (0x4bb44485ccf2b78d & 0x72add731c7508527)
= 0x629a7a425dd896cb ^ 0x42a44401c4508505
= 0x200a3a4211080042
A[8] = A[8] ^ (~A[9] & A5temp)
= 0xb44bbb7a330d4872 ^ (~0x72add731c7508527 & 0xe4ae5024cbdf2dc7)
= 0xb44bbb7a330d4872 ^ (0x8d5228ce38af7ad8 & 0xe4ae5024cbdf2dc7)
= 0xb44bbb7a330d4872 ^ 0x84020004088f28c0
= 0xb45993382b855aba
A[9] = A[9] ^ (~A5temp & A6temp)
= 0x72add731c7508527 ^ (~0xe4ae5024cbdf2dc7 & 0xd96951caf892a20b)
= 0x72add731c7508527 ^ (0x1b51afdb3420d238 & 0xd96951caf892a20b)
= 0x72add731c7508527 ^ 0x194101ca30008208
= 0x70bdfd73d350172f
A10temp = A[10]
= 0xddfdff400b097ed7
A11temp = A[11]
= 0x824b773fa147db22
A[10] = A[10] ^ (~A11temp & A[12])
= 0xddfdff400b097ed7 ^ (~0x824b773fa147db22 & 0x6a95abf0ea2f4afd)
= 0xddfdff400b097ed7 ^ (0x7db488c05eb824dd & 0x6a95abf0ea2f4afd)
= 0xddfdff400b097ed7 ^ 0x689488c04a2800dd
= 0xb569778041217e0a
A[11] = A[11] ^ (~A[12] & A[13])
= 0x824b773fa147db22 ^ (~0x6a95abf0ea2f4afd & 0x766117c9627e9012)
= 0x824b773fa147db22 ^ (0x956a540f15d0b502 & 0x766117c9627e9012)
= 0x824b773fa147db22 ^ 0x1460140900509002
= 0x824b773fa147db22
A[12] = A[12] ^ (~A[13] & A[14])
= 0x6a95abf0ea2f4afd ^ (~0x766117c9627e9012 & 0x30ded43a228ff079)
= 0x6a95abf0ea2f4afd ^ (0x899ee8369d816fed & 0x30ded43a228ff079)
= 0x6a95abf0ea2f4afd ^ 0x009ec03200816069
= 0x620103c0622e0010
A[13] = A[13] ^ (~A[14] & A10temp)
= 0x766117c9627e9012 ^ (~0x30ded43a228ff079 & 0xddfdff400b097ed7)
= 0x766117c9627e9012 ^ (0xcf212bc5dd700f86 & 0xddfdff400b097ed7)
= 0x766117c9627e9012 ^ 0xcd212b4009000e86
= 0x3c603c09aa5e9a96
A[14] = A[14] ^ (~A10temp & A11temp)
= 0x30ded43a228ff079 ^ (~0xddfdff400b097ed7 & 0x824b773fa147db22)
= 0x30ded43a228ff079 ^ (0x220200bff4f68128 & 0x824b773fa147db22)
= 0x30ded43a228ff079 ^ 0x0202003fa0468120
= 0x12ded48ac2a9f051
A15temp = A[15]
= 0x48bc76eb0cbd2e49
A16temp = A[16]
= 0x0226a83a8173d2e9
A[15] = A[15] ^ (~A16temp & A[17])
= 0x48bc76eb0cbd2e49 ^ (~0x0226a83a8173d2e9 & 0xd389745dcb5dd4e3)
= 0x48bc76eb0cbd2e49 ^ (0xfdd957c57e8c2d16 & 0xd389745dcb5dd4e3)
= 0x48bc76eb0cbd2e49 ^ 0xd18954454a0c0402
= 0x993522ae46b12a4b
A[16] = A[16] ^ (~A[17] & A[18])
= 0x0226a83a8173d2e9 ^ (~0xd389745dcb5dd4e3 & 0x03926492edb772ad)
= 0x0226a83a8173d2e9 ^ (0x2c768ba234a22b1c & 0x03926492edb772ad)
= 0x0226a83a8173d2e9 ^ 0x0012008224a2220c
= 0x0226a83a8173d2e9
A[17] = A[17] ^ (~A[18] & A[19])
= 0xd389745dcb5dd4e3 ^ (~0x03926492edb772ad & 0xbb1245586e198879)
= 0xd389745dcb5dd4e3 ^ (0xfc6d9b6d12488d52 & 0xbb1245586e198879)
= 0xd389745dcb5dd4e3 ^ 0xb800014802088850
= 0x03806410c91550a1
A[18] = A[18] ^ (~A[19] & A15temp)
= 0x03926492edb772ad ^ (~0xbb1245586e198879 & 0x48bc76eb0cbd2e49)
= 0x03926492edb772ad ^ (0x44edbaa791e67786 & 0x48bc76eb0cbd2e49)
= 0x03926492edb772ad ^ 0x40ac32a300a42600
= 0x431b54976cf3262f
A[19] = A[19] ^ (~A15temp & A16temp)
= 0xbb1245586e198879 ^ (~0x48bc76eb0cbd2e49 & 0x0226a83a8173d2e9)
= 0xbb1245586e198879 ^ (0xb7438914f342d1b6 & 0x0226a83a8173d2e9)
= 0xbb1245586e198879 ^ 0x020288108142d0a0
= 0x2813454cad5958db
A20temp = A[20]
= 0x39d2b634ea3bc764
A21temp = A[21]
= 0xe0b65498dc901edc
A[20] = A[20] ^ (~A21temp & A[22])
= 0x39d2b634ea3bc764 ^ (~0xe0b65498dc901edc & 0xadaad04323dca9ec)
= 0x39d2b634ea3bc764 ^ (0x1f49ab67236fe123 & 0xadaad04323dca9ec)
= 0x39d2b634ea3bc764 ^ 0x0d088043234ca120
= 0x34da3677c9776644
A[21] = A[21] ^ (~A[22] & A[23])
= 0xe0b65498dc901edc ^ (~0xadaad04323dca9ec & 0x2545167cdf18d5dc)
= 0xe0b65498dc901edc ^ (0x52552fbcdc235613 & 0x2545167cdf18d5dc)
= 0xe0b65498dc901edc ^ 0x0045063cdc005410
= 0xe0b65498dc901edc
A[22] = A[22] ^ (~A[23] & A[24])
= 0xadaad04323dca9ec ^ (~0x2545167cdf18d5dc & 0x5e8927b8e03a894c)
= 0xadaad04323dca9ec ^ (0xdabae98320e72a23 & 0x5e8927b8e03a894c)
= 0xadaad04323dca9ec ^ 0x5a88218020220800
= 0x25001040031881cc
A[23] = A[23] ^ (~A[24] & A20temp)
= 0x2545167cdf18d5dc ^ (~0x5e8927b8e03a894c & 0x39d2b634ea3bc764)
= 0x2545167cdf18d5dc ^ (0xa176d8471fc576b3 & 0x39d2b634ea3bc764)
= 0x2545167cdf18d5dc ^ 0x215290040a014620
= 0x8467c63fdcdcf57c
A[24] = A[24] ^ (~A20temp & A21temp)
= 0x5e8927b8e03a894c ^ (~0x39d2b634ea3bc764 & 0xe0b65498dc901edc)
= 0x5e8927b8e03a894c ^ (0xc62d49cb15c4389b & 0xe0b65498dc901edc)
= 0x5e8927b8e03a894c ^ 0xc024408814801898
= 0xdaa167fbe1fea1c4



round 21: after chi
A[0] = 0x0e40c07b0d230f26
A[1] = 0x37134b79fd660455
A[2] = 0x1652f265b3e89871
A[3] = 0x64aad6f1a39136ad
A[4] = 0x61968f67126305d9
A[5] = 0xc63c7a24ce973907
A[6] = 0x4d28d0f2da97ea3b
A[7] = 0x203e3e43998813ce
A[8] = 0x3049bb7e3b8260b2
A[9] = 0x6becd6fbf750072f
A[10] = 0xb569778041217e0a
A[11] = 0x962b6336a1174b20
A[12] = 0x6a0b6bc2eaae2a94
A[13] = 0xbb403c896b7e9e94
A[14] = 0x32dcd40582c97159
A[15] = 0x993522ae46b12a4b
A[16] = 0x0234a8b8a5d1f0e5
A[17] = 0x6b897515c9555cb3
A[18] = 0x433e5631ed1354ad
A[19] = 0xb910cd48ef5b58d9
A[20] = 0x34da3677c9776644
A[21] = 0xe0f352a400904acc
A[22] = 0xf722f1c303fea1ec
A[23] = 0x04178678d51993fc
A[24] = 0x9ead6730f4ba91d4



round 21: iota
A[0] = A[0] ^ rc[21]
= 0x0e40c07b0d230f26 ^ 0x8000000000008080
= 0x8e40c07b0d238fa6



round 21: after iota
A[0] = 0x8e40c07b0d238fa6
A[1] = 0x37134b79fd660455
A[2] = 0x1652f265b3e89871
A[3] = 0x64aad6f1a39136ad
A[4] = 0x61968f67126305d9
A[5] = 0xc63c7a24ce973907
A[6] = 0x4d28d0f2da97ea3b
A[7] = 0x203e3e43998813ce
A[8] = 0x3049bb7e3b8260b2
A[9] = 0x6becd6fbf750072f
A[10] = 0xb569778041217e0a
A[11] = 0x962b6336a1174b20
A[12] = 0x6a0b6bc2eaae2a94
A[13] = 0xbb403c896b7e9e94
A[14] = 0x32dcd40582c97159
A[15] = 0x993522ae46b12a4b
A[16] = 0x0234a8b8a5d1f0e5
A[17] = 0x6b897515c9555cb3
A[18] = 0x433e5631ed1354ad
A[19] = 0xb910cd48ef5b58d9
A[20] = 0x34da3677c9776644
A[21] = 0xe0f352a400904acc
A[22] = 0xf722f1c303fea1ec
A[23] = 0x04178678d51993fc
A[24] = 0x9ead6730f4ba91d4