第11话
密码学讲座第二天,香农教授站在讲台上,穿着他的标志性深色西装,尽管天气炎热,但他总是保持着一种沉稳、理智的气质。在黑板上写下:信息论与密码学。
我和大黄依然坐在昨天的位置上,看着香农教授望向同学说道:来参加本次讲座的有很多是电气工程系的学生,一定也学过我讲的《通信的数学理论》课程,其中就提到过信息熵的概念,为了照顾其他系的同学,我们简要回顾一下信息熵。
信息熵,是用来量化信息的,它描述了一个消息的随机性。它越高,说明信息越难预测;它越低,说明信息的规律性越强,越容易预测。
教授在黑板上写下:“清晨”,“白天”,“黄昏”,“夜晚”。假设你有一个信息系统,它有4个信息要传递,如黑板上写到的,他们的信息熵就是2比特:
00代表清晨;01代表白天;10代表黄昏;11代表夜晚。
接着说道:比特,也就是”二进制位“,是计算机科学和信息论中最基本的单位。它表示二进制的状态——仅有0和1两种可能。
在密码学中,信息熵的意义尤其重大。假设我们用一个密钥进行加密,若密钥的熵值越高,密码就越安全,因为它变得越难以预测。
在加密中,发送者和接收者使用相同的密钥进行加解密操作,密钥的安全性对整个加密系统至关重要。密钥的长度,决定了可能的密钥空间大小,也决定了密码破解的难度。如果密钥长度只有1比特,那么密钥只有两个可能性——0或者1,这个密钥非常容易被破解。而如果密钥长度为128比特,密钥空间的数量将达到2的128次方。按照我们电子研究实验室的飓风计算机12,000次加法/秒,假设每次尝试破解一个密钥需要一次加法操作,计算全部情况需要138亿年,这几乎是无法穷举破解的。
上一节课中讲到过的恩尼玛密码机有5个密钥轮盘,每个轮盘有26个字母,算上轮盘顺序,大约密钥空间有2的66次方,也就是66比特。艾伦·图灵和他的团队又经过研究恩尼玛密码机的设计缺陷和加密规律,将66比特的密钥降到了20比特。因此邦比解密机可以在几小时内破解出密钥。
这种穷举破解也叫做暴力破解,是通过尝试所有可能的密钥来解密信息。显然,密钥长度越长,暴力破解的时间就越长。如果密钥的长度足够长,破解几乎是不可能的。
我问大黄,所以密码学的核心就是增加密钥的长度?大黄说嘶~总感觉没领悟到精髓呢。我说就算密钥有128比特,但原始消息如果就一个”OK“,加密的结果按照维吉尼亚密码算法,密文也就是两个字母。大黄说就一个“OK”也没必要发送给别人吧,就算发送一个“OK”,经过加密后也许变成了“NO”,一样让你看不明白。我说也对。
之后教授讲了一些公式,将维吉尼亚密码加密逻辑公式化,并以此展开延申出了很多变体公式。我一边记笔记,一边在想这些公式能否转化为计算机使用的打孔卡逻辑,发现根本毫无头绪,要学的还很多啊。
讲座结束了,教授一脸轻松的祝我们假期愉快。我在MIT的第一个学期也就此结束。
