最早加密算法
最早的加密算法主要用于军事,历史上最早关于加密算法的记载出自于周朝兵书《六韬.龙韬》中的《阴符》和《阴书》。
加密算法主要作用是把明文变成密文,防止信息泄露。加密后的密文看起来和乱码很像,但却不是乱码。大部分乱码是由于编码不一致导致的,编码不属于加密算法,只是改变了显示格式而已。比如,只是一种编码而已,不能保障明文安全。
以后听到加密的说法,说明他们不专业。简单来说,阴符是以八等长度的符来表达不同的消息和指令,属于密码学中的替代法,在应用中是把信息转变成敌人看不懂的符号,这种符号法只能表述最关键的八种含义。
阴书作为阴符的补充,运用了文字拆分法直接把一份文字拆成三分,由三种渠道发送到目标方手中,敌人只有同时截获三分内容才可能破解。移位法无独有偶,在遥远的西方加密算法也大规模使用于战争之中。
在希罗多德的《历史》中记载了公元前五世纪,希腊城邦和波斯帝国频频交战,希腊城邦中广泛使用移位法对战争通讯信息进行加密处理,波斯帝国因此难以获得对方军事情报,无法提前做军事部署。
古代密码演变的凯撒密码
古典密码主要采用移动法和替换法。其中,移位法就是让明文都向固定方向移动特定位数,例如 I love you右移动4位就变成了M pszi csy。经过逐渐发展和完善,最有名的莫过于凯撒密码。
但英文或拉丁文字母出现的频率并不一致。以英文字母为例:字母e出现频率明显高过其他字母。获得足够密文样本后,通过频率计算准确找到移位规则,从而破解密文。