提示:本文共有 1200 个字,阅读大概需要 3 分钟。
每当我们看到特供破戒密码的戏份,都会不由自主地紧张起来。在现实生活中的确存在密码学这一学科。今天我就向大家介绍其中一种——古典密码学。
古典密码学之所以被称为古典,是因为区别于现代密码学,这些密码理论虽然很有价值,但是现在很少使用。因此,学习古典密码学,主要是学习前人设计密码的思路,和他们成功或失败的历史。在古典密码学中,一个很重要的实例就是恺撒密码。
根据罗马早期纪传体作者盖乌斯·苏维托尼乌斯的记载,恺撒大帝曾经用下述方法对重要的军事信息进行加密:恺撒的加密策略很简单,就是把字母按照字母表顺序向后移动几位,但是一动的具体数量只有他和将军知道,如果移动后超过了字母表中最后一位(对于英文字母表而言就是’Z’),就从A重新开始下一轮。例如,在移动数字为3的话,A将会替换为D,D将会被替换为G,Z会被替换为C;明文“HIT”会被转换为密文“KLW”。 这种加密得方法又被称为移位加密,当然,假如要解密的话只需要逆着推导就行。
移位密码在当时可能有些效果,但是其本质是不安全的,因为只需要花少量时间穷举偏移量就能破解出恺撒密码的明文。在设计加密算法时,为了避免发生类似的情况,需要遵守充裕密钥空间原则,即设计密钥强度较高的策略,避免被暴力破解迅速破译。
人们为了防止这样的事情发生,又想到另外一个更加靠谱的加密方式单表替换加密,在加密时,将会按照某种无序的对应规则,并按照这个规则将明文每个字母替换而得到密文。 如原文是ABCDEFGHIJKLMNOPQRSTUVWXYZ,替换后为SDFGHJKLZXCVBNMQWERTYUIOPA,或者替换为123456789……这些数字都可以,这二者之间没有信息关联,需双方各执一份对照表,才能完成解码。是不是有点像中国古代的兵符,必须是两块对应的兵符才能调兵遣将。
移位加密和单表替换加密的共同点是都建立了从明文到密文的映射,而区别在于移位加密单纯地把每个字母都移动相同的偏移量,这个偏移量就是整个加密的密钥;而替换加密则将字母表打乱,以整个字母表排序作为密钥。替换加密以此建立了一个26!即403291461126605635584000000种可能的密钥空间,倘若使用暴力破解,即便每秒遍历10亿个密码,要遍历完需要将近120亿年。影视中常用的八卦图阵也可以用这种方法去解释。
替换加密可以说解决了密钥空间不足所导致的强度问题,但仍然能被较为简单地破解。无论其密钥如何,对于明文中的同一个字母,都有且仅有一个密文与其对应,也就是说原文中字母出现的排列规律将在密文中原封不动地出现。因此,可以使用原文的字母表所具有的统计学结果对替换加密进行破解。
看到现在是不是觉着这些情节似曾相识,没错,这些方法都在名侦探柯南中用到或者提到过,也不得不佩服作者的知识涉及真的是太广了。而作为其原型的福尔摩斯在小说中也会被设计此类破译情节。
本文由ONE科技创意园/ONE机械创意园原创
看到此处说明本文对你还是有帮助的,关于“古典密码解读之凯撒密码 密码的秘密你知道多少?”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!