1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
BLOCK_BYTES = 16
def rounds(key_bits):
r = {
128: 32,
192: 36,
256: 42
}
return r[key_bits]
Sbox = [32, 0, 178, 133, 59, 53, 166, 164,
48, 228, 106, 44, 255, 89, 226, 14,
248, 30, 122, 128, 21, 189, 62, 177,
232, 243, 162, 194, 218, 81, 42, 16,
33, 1, 35, 120, 92, 36, 39, 181,
55, 199, 43, 31, 174, 10, 119, 95,
111, 9, 157, 129, 4, 90, 41, 220,
57, 156, 5, 87, 151, 116, 121, 23,
68, 198, 230, 233, 221, 65, 242, 138,
84, 202, 110, 74, 225, 173, 182, 136,
28, 152, 126, 206, 99, 73, 58, 93,
12, 239, 246, 52, 86, 37, 46, 214,
103, 117, 85, 118, 184, 210, 97, 217,
113, 139, 205, 11, 114, 108, 49, 75,
105, 253, 123, 109, 96, 60, 47, 98,
63, 34, 115, 19, 201, 130, 127, 83,
50, 18, 160, 124, 2, 135, 132, 134,
147, 78, 104, 70, 141, 195, 219, 236,
155, 183, 137, 146, 167, 190, 61, 216,
234, 80, 145, 241, 51, 56, 224, 169,
163, 131, 161, 27, 207, 6, 149, 7,
158, 237, 185, 245, 76, 192, 244, 45,
22, 250, 180, 3, 38, 179, 144, 79,
171, 101, 252, 254, 20, 247, 227, 148,
238, 172, 140, 26, 222, 203, 40, 64,
125, 200, 196, 72, 107, 223, 165, 82,
229, 251, 215, 100, 249, 240, 211, 94,
102, 150, 143, 29, 69, 54, 204, 197,
77, 159, 191, 15, 209, 8, 235, 67,
66, 25, 231, 153, 168, 142, 88, 193,
154, 212, 24, 71, 170, 175, 188, 91,
213, 17, 208, 176, 112, 187, 13, 186]
|