-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathASD-Coin-layer-2.py
executable file
·68 lines (54 loc) · 2.46 KB
/
ASD-Coin-layer-2.py
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python3
"""
Script that decodes the inner ring of characters on side A of the coin.
"""
ciphertext = """
BGOAMVOEIATSIRLNGTTNEOGRERGXNTEAIFCECAIEOALEKFNR5LWEFCHDEEAEEE7NMDRXX5
""".strip()
hint = 'FIND CLARITY IN 7 WIDTH X 5 DEPTH'
WIDTH = 7
DEPTH = 5
X = WIDTH * DEPTH
"""
Analyzing the ciphertext visually:
B E L O N E L L E N
G I N G T C E W E M
O A G R E A K E A D
A T T E A I F F E R
M S T R I E N C E X
V I N G F O R H E X
O R E X C A 5 D 7 5
B E L O N E L L E N
G I N G T C E W E M
O A G R E A K E A D
A T T E A I F F E R
M S T R I E N C E X
V I N G F O R H E X
O R E X C A 5 D 7 5
BELON ELLEN
GING T CE WE M
O A GRE AKE A D
AT TEA IFFER
M STRI ENCE X
VING F OR HEX
OR EXC A5D75
"""
def decode(letters):
result = []
N = len(letters)
for i in range(WIDTH):
for n in range(0, N, WIDTH):
result.append(letters[i + n])
return result
plaintext = ''.join(decode(ciphertext[:X]) +
decode(ciphertext[X:]))
print('Ciphertext: {}'.format(ciphertext))
print(' Hint: {}'.format(hint))
print(' Plaintext: {}'.format(plaintext))
"""
Ciphertext: BGOAMVOEIATSIRLNGTTNEOGRERGXNTEAIFCECAIEOALEKFNR5LWEFCHDEEAEEE7NMDRXX5
Hint: FIND CLARITY IN 7 WIDTH X 5 DEPTH
Plaintext: BELONGINGTOAGREATTEAMSTRIVINGFOREXCELLENCEWEMAKEADIFFERENCEXORHEXA5D75
BELONGING TO A GREAT TEAM STRIVING FOR EXCELLENCE WE MAKE A DIFFERENCE
XOR HEX A5D75
"""