我知道的有一种叫做双重密码,即a君加密后给b君,之后b 君在加密后还给a君,之后a君解开自己的密后,还给b君,b君解开自己的密后即可知道a君的情报。这样可以避免密钥的传递,有效提高安全性,现在的加密方法多用多重加密即此方法的变种,计算机中也有所运用。
1、摩斯密码
最早的摩尔斯电码是一些表示数字的点和划。数字对应单词,需要查找一本代码表才能知道每个词对应的数。用一个电键可以敲击出点、划以及中间的停顿。
虽然摩尔斯发明了电报,但他缺乏相关的专门技术。他与艾尔菲德·维尔签定了一个协议,让他帮自己制造更加实用的设备。艾尔菲德·维尔构思了一个方案,通过点、划和中间的停顿,可以让每个字元和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。
2、四方密码:是一种对称式加密法,由法国人Felix Delastelle(1840年–1902年)发明。 这种方法将字母两个一组,然后采用多字母替换密码。
四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。
首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将余下的字母顺序放入矩阵,便得出加密矩阵。
3、希尔密码:是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。
每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。
注意用作加密的矩阵(即密匙)在\mathbb_^n必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。
4、波雷费密码是一种对称式密码,是首种双字母取代的加密法。
关于波雷费密码最早的纪录出现在一份1854年3月26日由查尔斯·惠斯登签署的文件。惠斯登的朋友波雷费勋爵普及了这个加密法。最初英国外交部拒绝使用这种密码,认为它太复杂。当惠斯登证明邻近学校的四个男孩中,有三个可以在15分钟内学会这种方法,外交部副秘书长的回应是:「这是有可能的,可惜你不能教晓那些高层人员。」
在第二次布尔战争和第一次世界大战,英军用了它;在二战,澳大利亚人也用了。波雷费密码所用的工具很少,而且很快便能加密讯息。它主要用来加密重要而又不关键的讯息。当时,敌军的密码分析员很快解出密码,可惜得的讯息都不重要。现时,波雷费密码被视为十分不安全的。
1914年,Joseph O. Mauborgne刊出了19页解密法。
1选取一个英文字作密匙。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。)
2将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)加到该组的第一个字母后,重新分组。若剩下一个字,也加入X字。
3在每组中,找出两个字母在矩阵中的地方。
若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。
若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。
若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。
新找到的两个字母就是原本的两个字母加密的结果。
5、仿射密码
仿射密码是一种替换密码。它是一个字母对一个字母的。
6、三分密码
三分密码由Felix Delastelle发明(他也发明了四方密码和二分密码)。二分密码是二维的,用5×5(或6×6)的矩阵加密,但三分密码则用3×3×3的。它是第一个应用的三字母替换密码。
首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。
二分密码的做法相近,和后来出现的ADFGVX密码差不多。
因为文字这么多,就可以从词频入手了。
第一步:
英文字母出现频率
先从baidu上搜索出英文字母词频分布情况:
高频字母:E、 T、A、O、N、I、R、S、H
中频字母:D、L、U、C、M
低频字母:P、F、Y、W、G、B、Y(v?)
稀频字母:J、K、Q、X、Z
第二步:
确定字母e
再统计一个原文中各个字母出现的频率。具体情况我就不列出来了。全部字母1405字,字母X出现了167次,比排名第二的T的133次要高出很多
,几乎可以肯定X=e。(为了方便替换,在word里将全部大写字母换成小写)。然后,因为Z和S都只出现了一次,于是大胆猜测它们就是x和e
。而且在e破译出来后,有eZ***的词出现,一般英文中ex***的词不少,于是暂定Z~x,S~z。因为x和z出现次数也不多,暂时这么估计也不会
太影响总体。
第三步
从短单词入手
在e取代了X后,观察到全文中有很多‘JPe’这样的词出现,很容易就会想到它们就是‘the’。于是J=t,P=h。
再观察只有一个字母的单词,文中出现过3次‘M’和1次‘B’用一个字母作词的情况,这与英文中的‘a’和‘I’作为单词几乎是对应的。鉴
于‘I’在单独作单词时通常在句首,观察M和B的位置,可以得到M=a,B=i。
还有文中的'R情况,根据英文的所有格用法,容易想到R=s。
第四步
利用已有条件,解决特征单词
因为一眼瞥见了替换后的‘saE’,于是查一下金山词霸,从sad/sap/sat/saw/say中,排除已用字母t的sat,根据词的位置基本可以排除掉形
容词sad,再根据文中还多次出现‘thE’这个词,用w、p或d套用都不能成词,而‘thy’是古英文中‘你’的意思,还可以接受E=y。
又,在替换后‘iT’多次出现,估计T~f或T~n。根据词频规律以及T在本文中出现的高达133次来看,T不会是低频字母f,所以T=n。
很多地方的‘anN’使人很容易将N=d推断出来。
第五步
解决剩下的高词频字母
在出现100次以上的字母中,只剩下C还没有对应,而词频排名第四的o也还没有对应,可以猜想C~o,文中‘CI’这样的词出现多次,估计为‘
of’,而f对应的词频和I出现的次数也相当。因此确定C=o,I=f。
高词频还有剩下有r,而文中很多词的后缀是‘-eV’,所以判断V=r。多个地方验证也还可行。
第六步
逐渐解决剩下的字母
根据后缀‘-inW’来找出W=g,根据两个‘Yrote’来得到Y=w,根据‘Hnown’和‘Hing's’来得到H=k。
剩下的就简单了:G=l,Q=p,U=u,K=q,A=c,L=m,F=b,D=v。
最后剩下个O~j。
第七步
验证
发现有的单词出错,出现一次的‘zoints’和‘belshajjar’都不是单词,试着将‘z’和‘j’换一下,就正确了,而且后者是圣经里的名词
,还有古英文的thy和thee。应该没问题了。所以最后O=z,S=j,再确定前边的Z=x。就完了。
1、RSA算法密码
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
2、ECC加密法密码
ECC算法也是一个能同时用于加密和数字签名的算法,也易于理解和操作。同RSA算法是一样是非对称密码算法使用其中一个加密,用另一个才能解密。
3、三分密码
首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。
4、栅栏加密法密码
栅栏加密法是一种比较简单快捷的加密方法。栅栏加密法就是把要被加密的文件按照一上一下的写法写出来,再把第二行的文字排列到第一行的后面。
5、针孔加密法密码
这种加密法诞生于近代。由于当时邮费很贵,但是寄送报纸则花费很少。于是人们便在报纸上用针在需要的字下面刺一个孔,等到寄到收信人手里,收信人再把刺有孔的文字依次排列,连成文章。