棋盘密码加密解密工具
- 密码原文/密码:(注意:本工具区分大小写)
- 棋盘密码表:(可以按以下格式更改密码表)
棋盘密码加密解密简介
棋盘密码是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。
假设我们需要发送明文讯息 “Attack”, 用一套秘密混杂的字母表填满波利比奥斯方阵,像是这样:
加密时按行列找到a加密为AF,t加密为AD,依此类推。解密时进行反查即可,如AF找到A行F列对应为a。
明文:A T T A C K
密文:AF AD AD AF GF DX
因为棋盘是5*5格,共25格,所以把i和j放在同一格加密为相同密文。解密时要根据语义进行辨别是i还是j。
棋盘的行列密文也可以用数字1,2,3,4,5来代替,得到波利比奥斯方阵,像是这样:
这样加密的话Attack的密文就是:
密文:11 44 44 11 13 25
依此你可以设计你自己的棋盘密码,更改行列密文值和棋盘填充值。
ADFGX密码
1918年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有单词都由A、D、F、G、X五个字母拼成,因此被称为ADFGX密码。ADFGX密码是1918年3月由德军上校Fritz Nebel发明的,是结合了Polybius密码和置换密码的双重加密方案。ADFGX密码之所以选择ADFGX一个字母,是因为它们译成摩斯密码时不容易混淆,可以降低传输错误的机率。
假设要加密“Attack at once”,先根据棋盘密码方阵进行加密:
明文:A T T A C K A T O N C E
密文:AF AD AD AF GF DX AF AD DF FX GF XF
然后利用一个移位密钥加密。假设密钥是“CARGO”,将密钥写在新格子的第一列。再将上一步得到的密文一列一列写进新方格里。如下:
C | A | R | G | O |
---|---|---|---|---|
A | F | A | D | A |
D | A | F | G | F |
D | X | A | F | A |
D | D | F | F | X |
G | F | X | F | X |
最后,密钥按照字母表顺序“ACGOR”排序,再按照此顺序依次抄下每个字母下面的整列讯息,形成新密文。如下:
FAXDF ADDDG DGFFF AFAXX AFAFX
在实际应用中,移位密钥通常有两打字符那么长,且分解密钥和移位密钥都是每天更换的。
ADFGVX密码
在1918年6月,再加入一个字V扩充。变成以6×6格共36个字符加密。这使得所有英文字母(不再将I和J视为同一个字)以及数字0到9都可混合使用。这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。