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 45 46 47
|
threads = [] for i in range(16): thread = [] base = 0 for _ in range(3): now = i + 1 for _ in range(16): thread.append(now + base) now = (7 * now) % 0x11 base += 16 threads.append(thread) print(threads)
enc = "75ac713a945e9f78f657b735b7e1913cdece53b8853f3a7daade83b319c49139f8f655b0b77b" enc = [int(enc[2 * i:2 * i + 2], 16) for i in range(len(enc) // 2)] while(len(enc) % 0x10): enc.append(0) enc.append(0) indexs = [[1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37], [2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42], [3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47], [4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35], [5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40], [6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45], [7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33], [8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38], [9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43], [10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48], [11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36], [12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41], [13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46], [14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 16, 10, 2, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 32, 26, 18, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44, 48, 42, 34], [15, 3, 4, 11, 9, 12, 16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 31, 19, 20, 27, 25, 28, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 47, 35, 36, 43, 41, 44, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39], [16, 10, 2, 14, 13, 6, 8, 5, 1, 7, 15, 3, 4, 11, 9, 12, 32, 26, 18, 30, 29, 22, 24, 21, 17, 23, 31, 19, 20, 27, 25, 28, 48, 42, 34, 46, 45, 38, 40, 37, 33, 39, 47, 35, 36, 43, 41, 44]] key = [ 0x02, 0x08, 0x06, 0x01, 0x03, 0x05, 0x04, 0x07, 0x06, 0x01, 0x04, 0x08, 0x05, 0x02, 0x03, 0x07, 0x07, 0x08, 0x03, 0x05, 0x01, 0x02, 0x04, 0x06, 0x04, 0x01, 0x03, 0x06, 0x02, 0x08, 0x05, 0x07, 0x07, 0x05, 0x08, 0x06, 0x01, 0x04, 0x03, 0x02, 0x07, 0x04, 0x08, 0x05, 0x06, 0x02, 0x03, 0x01, 0x07, 0x06, 0x04, 0x08, 0x01, 0x03, 0x02, 0x05, 0x03, 0x01, 0x08, 0x04, 0x07, 0x02, 0x06, 0x05, 0x03, 0x04, 0x08, 0x06, 0x02, 0x05, 0x01, 0x07, 0x08, 0x01, 0x06, 0x02, 0x07, 0x05, 0x04, 0x03, 0x02, 0x07, 0x05, 0x08, 0x01, 0x04, 0x03, 0x06, 0x03, 0x04, 0x02, 0x06, 0x05, 0x08, 0x07, 0x01, 0x01, 0x04, 0x03, 0x05, 0x07, 0x06, 0x02, 0x08, 0x04, 0x07, 0x03, 0x06, 0x05, 0x01, 0x08, 0x02, 0x06, 0x07, 0x04, 0x01, 0x05, 0x03, 0x02, 0x08, 0x03, 0x08, 0x04, 0x06, 0x07, 0x02, 0x05, 0x01 ] key = [key[i] - 1 for i in range(len(key))] for i in range(0x2F, -1, -1): for id in range(15, -1, -1): now = 0 for j in range(8): if enc[indexs[id][i]] & (1 << key[8 * id + j]): now |= 1 << j enc[indexs[id][i]] = now for s in enc: print(chr(s), end="")
|