|
楼主 |
发表于 2023-1-14 10:04:37
|
显示全部楼层
1.14
二,古典密码
古典密码属于密码学一个类型,大部分属于移项式或替换式密码。
凯撒密码
当前广为人知的加密方式之一,加密方式为按照固定数目向前或向后偏移成密文。
例如当偏移量为3时,A变成D,B变成E,以此类推。最大偏移量为25位。
因此通过穷举法可以轻易地进行破解。
维吉尼亚密码
维吉尼亚密码(Vigenère Cipher)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的简单形式。在凯撒密码中,字母表中的每个字母都有一定的偏移,如偏移量为3时,A转换为了D、B转换为了E;而维吉尼亚密码由一些偏移量不同的凯撒密码组成。
其加密的过程非常简单,假设明文为:ATTACKATDAWN,密钥为LEMON。首先,循环密钥形成密钥流,使之与明文长度相同:
K=key1+key2+key3+⋯
即LEMONLEMONLE;然后根据每位秘钥对原文加密,如第1位密钥是L,对应第12个字母,那么偏移量则为12-1=11,对于第1位明文A,加密后的密文应为(A+11)mod26,即L;重复这个步骤,就可以得到密文LXFOPVEFRNHR。
一般,破解维吉尼亚密码有一些固定的套路:可以寻找密文中相同的连续字符串,则密钥长度一定为其间隔的因数,或者寻找“the”“Iam”之类的特殊单词。当然,现在已经有现成的工具可以使用( https://atomcated.github.io/Vigenere/), 遇到维吉尼亚密码可以直接使用在线工具求解。
固定替换
1.培根密码
培根密码(Bacon's Cipher)是由法兰西斯·培根发明的一种隐写术,加密时,明文中的每个字母都会转换成一组5个英文字母。
2,猪圈密码
以格子为基础的简单替代式密码。
其他古典密码:棋盘密码,密码棒密码,恩尼格码密码等等。
移位密码
1,栅栏密码。把明文分为n个一组,(n必须是明文的因数),然后把每组第1到n个字符依次连起来。如明文为abcdef,n=3,则先分为两组,每组三个字母:abc,def然后依次取字符,密文为adbecf。
2,曲路密码。
密钥:整个表格的曲路和路径。
古典密码总结:一般比赛不会把古典密码作为主考点,如果遇到不会可参考《ctf中那些脑洞大开的编码和加密》,以及使用百度。
三,分组密码
分组密码是将明文消息编码表示后的数字(简称明文数字)序列, 划分成长度为n的组(可看成长度为n的矢量), 每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。 |
|