题目

背景知识
轮子加密(Wheel Cipher)
先来看看复制品图片,就是很多的木片,上面刻着字母,穿在一根铜棒上面,木片的顺序可以调整,木片也可以转动。解密过程如下
- 按照密钥调整木片顺序
- 调整密文到每个木片的第一位
- 按列读取文本,有实际意义的某一列就是明文


直接看国外的网站吧,这是我感觉介绍的最通俗易懂的
https://www.monticello.org/site/research-and-collections/wheel-cipher
顺便提一下,刚开始没看附件只是看到题目简介的时候,“二战”,“密码机”,我的第一反应是enigma密码机,密码学必讲的肯定有这个。但是看到附件以后发现不是,附件如下
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: < RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: < IHFRLABEUOTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQXVET <
7: < GWTHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAOIKZGJ <
10: < UDNAJFBOWTGVRSCZQKELMXYIHP <
11: < MNBVCXZQWERTPOIUYALSKDJFHG <
12: < LVNCMXZPQOWEIURYTASBKJDFHG <
13: < JZQAWSXCDERFVBGTYHNUMKILOP <
密钥为:2,3,7,5,13,12,9,1,8,10,4,11,6
密文为:NFQKSEVOQOFNP
题解
方法一:
手动调整,相信上面我说的很清楚了,感觉速度也不慢。
方法二:
python代码如下:
# encode=utf-8
table_list = [
"ZWAXJGDLUBVIQHKYPNTCRMOSFE",
"KPBELNACZDTRXMJQOYHGVSFUWI",
"BDMAIZVRNSJUWFHTEQGYXPLOCK",
"RPLNDVHGFCUKTEBSXQYIZMJWAO",
"IHFRLABEUOTSGJVDKCPMNZQWXY",
"AMKGHIWPNYCJBFZDRUSLOQXVET",
"GWTHSPYBXIZULVKMRAFDCEONJQ",
"NOZUTWDCVRJLXKISEFAPMYGHBQ",
"XPLTDSRFHENYVUBMCQWAOIKZGJ",
"UDNAJFBOWTGVRSCZQKELMXYIHP",
"MNBVCXZQWERTPOIUYALSKDJFHG",
"LVNCMXZPQOWEIURYTASBKJDFHG",
"JZQAWSXCDERFVBGTYHNUMKILOP"
]
index = [2, 3, 7, 5, 13, 12, 9, 1, 8, 10, 4, 11, 6]
first_chr = ["NFQKSEVOQOFNP"]
table_list_re_index = []
for i in index:
table_list_re_index.append(table_list[i-1])
table_result = []
for i in range(len(index)):
for j in range(len(table_list_re_index[i])):
if table_list_re_index[i][j] == first_chr[0][i]:
tmp = table_list_re_index[i][j:] + table_list_re_index[i][0:j]
table_result.append(tmp)
break # 第一次匹配成功就结束
else:
continue
for i in range(len(table_result)):
print(table_result[i])
输出结果:第17列为 fireinthehole 这个就是需要的明文
NACZDTRXMJQOYHGVSFUWIKPBEL
FHTEQGYXPLOCKBDMAIZVRNSJUW
QGWTHSPYBXIZULVKMRAFDCEONJ
KCPMNZQWXYIHFRLABEUOTSGJVD
SXCDERFVBGTYHNUMKILOPJZQAW
EIURYTASBKJDFHGLVNCMXZPQOW
VUBMCQWAOIKZGJXPLTDSRFHENY
OSFEZWAXJGDLUBVIQHKYPNTCRM
QNOZUTWDCVRJLXKISEFAPMYGHB
OWTGVRSCZQKELMXYIHPUDNAJFB
FCUKTEBSXQYIZMJWAORPLNDVHG
NBVCXZQWERTPOIUYALSKDJFHGM
PNYCJBFZDRUSLOQXVETAMKGHIW
网友评论