常见古典密码介绍(续)
1.多表代换密码
1.1维吉尼亚密码
维吉尼亚密码是一种简单的多表代换密码(由26个类似的Caesar密码的代换表组成),
即由一些偏移量不同的恺撒密码组成,这些代换在一起组成了密钥。
英文中a~z,由0~25表示。
假设串长为m,明文为P,密文为C,密钥为K。
可以根据图进行计算,如图:
例子:
当明文为
ATTACKATDAWN
选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:
LEMONLEMONLE
在线解密网站:https://www.qqxiuzi.cn/bianma/weiji
1.2 棋盘密码
波利比奥斯棋盘(Polybius Checkerboard)是棋盘密码的一种,是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。简单的来说就是把字母排列好,用坐标的形式表现出来。字母是密文,明文便是字母的坐标。
如图:
密文就是字符在密码表里面对应的横纵坐标,如"a"加密为"11", “y"加密为"54”
1.3 Keyboard密码:
在keyboard密码中,大致可以分为两种形式:9键和26键
9键表就是通过九键上多次字母来进行字母提取
26键包含通过明文多个字符对应一个密文
真题:Buuctf- Crypto-[NCTF2019]Keyboard
Buuctf- Crypo-[MRCTF2020]keyboard
移位密码
1.4 栅栏密码
栅栏密码是典型的置换密码。把明文分成n个1组。在进行连接。根据如何连接,又分为普通栅栏密码(|||栅栏密码)和W型栅栏密码。
普通栅栏密码(|||栅栏密码)
值:fslda1g2{3a}
n=2
按2个分组
fs ld a1 g2 {3 a}
分别取第一个和第二个,得到:flag{asd123}
w型栅栏密码
写成W型的栅栏密码。但读取还是按行从左往右读取。
值:flag{asd123}
n=2
按照2个分组
f.a.{.s.1.3
.l.g.a.d.2.}
得到:fa{s13lgad2}
真题:Buuctf-Crypto-篱笆墙的影子
攻防世界Crypto新手-Railfence