Created
December 13, 2019 01:23
-
-
Save svict4/06995d001eca2e52b6f2b9c622fb3e0e to your computer and use it in GitHub Desktop.
ASIO 70th Anniversary 2019 50c Uncirculated Coin: Coincryption Competition
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# this code is shit 💩 | |
# and probably more unreadable than ths cipher 😅 | |
import string | |
COIN = ['UWGJM', 'MNLQH', 'DFREA', 'JZLHI', 'GGHHQ', 'UTUJN', 'GNKYF', 'VNVLQ', | |
'MZZRQ', 'TLBTA', 'OSZHU', 'PKWKV', 'FZDTX', 'VTYGV', 'UIOKQ', 'IYQNU', | |
'TWUWB', 'DYOLF', 'AXMPD', 'GMRTY', 'NZGIS', 'GUQXN', 'AEOMI', 'HWBKE'] | |
OTP = ['MWPZJ', 'FUBVM', 'FQICV', 'ZTAFD', | |
'ZCZLJ', 'SNYMT', 'CSXIG', 'ZTXKJ', | |
'TIHRJ', 'VGYTK', 'HTLHB', 'WYHLW', | |
'OTDYY', 'NFHCB', 'BESIJ', 'EMSYM', | |
'CBMVL', 'QIEKC', 'VATTO', 'APUBB', | |
'SIAAH', 'IXJCZ', 'WNSVC', 'OPJER', | |
'LRXPZ', 'GNWSD', 'UUVUK', 'ECAUL', | |
'ZBMHI', 'OCJGO', 'JNXSZ', 'PKGQE', | |
'GTSFM', 'UPATX', 'WAOID', 'XXFML', | |
'AUHRV', 'ETGMS', 'ZTMVQ', 'XJFPM', | |
'GIMZQ', 'WDCUC', 'LLZGO', 'BPPPB', | |
'LDMOE', 'AKJWW', 'BMYMO', 'PFFSD', | |
'TYMZU', 'DDWIE', 'WFZAM', 'QVMPS', | |
'AXIVS', 'OBAUW', 'RXHUD', 'QWKZZ', | |
'WLJYB', 'NGHGI', 'HKWCT', 'FDEPT', | |
'GCWFN', 'TIHOD', 'FSKEB', 'IKDSU', | |
'PFEFX', 'KPTLM', 'RTLTQ', 'LKYLJ', | |
'DQCZK', 'WLYNS', 'PHHJW', 'WMHSR', | |
'VWPJD', 'VFUKI', 'UQTAB', 'XVKOH', | |
'FLDNN', 'RSRLK', 'ETDAX', 'RZWMT'] | |
def one_time_pad_conversion_table(n): | |
return lambda s: s.translate(str.maketrans( | |
string.ascii_uppercase, | |
string.ascii_uppercase[n:] + string.ascii_uppercase[:n])) | |
for coinBlockIndex, coinBlock in enumerate(COIN): | |
for coinLetterIndex, coinLetter in enumerate(coinBlock): | |
trans = one_time_pad_conversion_table( | |
string.ascii_uppercase[::-1].index(coinLetter) + 1) | |
(string.ascii_uppercase)[::-1] | |
print(trans[string.ascii_uppercase.index( | |
OTP[coinBlockIndex][coinLetterIndex])], end='') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment