第二章 信息加密与消息摘要
2.1 古典密码学
-
替换思想
凯撒密码(公元前54年):消息的加密是通过将当前字母替换为在常规字母表中第n个位置之后的那个字母来完成的。如:
用密钥“3”加密明文消息:fourscoreandsevenyearsago
加密的结果为:IRXUVFRUHDAGVHYHABHDUVDIR
-
换位思想
换位密码保持所有字母数量不变,只改变字母的排列,一般是将明文写在一个给定大小的矩阵中,然后对行和列依据特定的序列进行置换操作。
假设将明文attackatdawn到一个3×4的矩阵中:
如果按照(1, 2, 3)→( 3, 2, 1)的方式转换(或置换)矩阵的行,然后再按照(1, 2, 3, 4)→(4, 2, 1, 3)的方式转换矩阵的列:
可以得到密文: NADWTKCAATAT
-
培根密码
培根密码(Baconian Cipher)是一种替换密码,16世纪由英国哲学家兰西斯·培根(知识就是力量口号的提出者)创造,每个明文字母被一个由5字符组成的序列替换。
-
猪圈密码
猪圈密码(Pigpen cipher)是一种以格子为基础的简单替换密码。
17世纪左右,共济会常常使用这种密码保护一些私密纪录或用来通讯,所以又称共济会密码。
-
跳舞的小人
来自小说人物夏洛克福尔摩斯在《归来记》中侦探案件使用的一种加密方式。
-
摩斯电码
摩尔斯电码是无线电发明后最早使用的信息编码,通过电键敲击出点、划及中间的停顿发送。
-
当铺密码
当铺密码通常使用汉字来隐藏信息,专门用来加密数字,不需要密钥,明文信息包含在加密后的密文中。
较常见的当铺密码有两种,一种是将数字映射到对应笔画的汉字,另外一种是利用汉字的字形特征,当前汉字有多少笔画出头就转化成数字几。
-
键盘密码
利用键盘的特性制作的密码,常见有计算机的键盘和手机的键盘,加密的方式有坐标法和顺序法。
方式1:按键盘顺序编码A-Z
方式2:按行列坐标将字母转换为数字,例如Q=11、M=73
方式3:按键盘顺序将字母转换为数字,QWERTY=123456
-
与佛论禅
2.2 现代密码学
纵观整个20世纪,密码技术在重大的世界性事件中扮演了非常重要的角色。在20世纪后期,密码技术逐渐成为商业上以及业务往来中通信的关键性技术,并且一直到今天仍是如此。
-
香农发表奠基性文章《保密系统的通信理论》(1949年)
在第二次世界大战之后的若干年里,密码技术逐渐地从战争领域走进了科学领域。
1949年,克劳德·艾尔伍德·香农的奠基性文章《保密系统的通信理论》的发表,标志了这种历史性的转折。
香农提出了两个密码系统设计的基本原则:扰乱(confusion)和扩散(diffusion)。
这两个基本原则从提出到现在一直在指导着对称密钥加密系统的设计。
-
美国国家标准局建立的数据加密标准(DES)(1977年)
密码学技术的商业化转变发生在20世纪70年代,主要原因是计算机革命所引发的对大量的电子信息数据实施保护的需求。到20世纪70年代中期,甚至连美国政府也意识到对于安全加密技术存在着合法合理的商业诉求。
- 对称加密的概念
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
- DES加密的三个原则
1.混淆(confusion):使密文与密钥的关系尽可能复杂化,使得对手即使获取了许多明文和对应的密文,以及关于密文的一些统计特性,也无法推测密钥。
2.扩散(diffusion):让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响。这样可以隐蔽明文的统计特性。当然,理想的情况是让明文中的每一位影响密文中的所有位,或者说让密文中的每一位受明文中所有位的影响。
3.分组(block cipher):可以看成经典的电报密码本加密技术的现代传承,其中由密钥来决定电报密码本的选择。一次加密一组数据,密钥长度为一组数据的长度。
- DES加密原理
DES(Data Encryption Standard)采用分组加密。使用64位的分组长度和56位的密钥长度,将64位的输入经过一系列变换得到64位的输出。DES算法利用多次组合替代算法和换位算法,通过混淆和扩散的相互作用,把明文编制成密码强度很高的密文。解密则使用了相同的步骤和相同的密钥。
- DES加密特点
DES算法产生密钥的方式简单,密钥一般也比较短。
DES算法加密解密速度快,效率很高,适合对大数据量的数据进行加密。
DES算法的安全性依赖于密钥的高度保密,通信双方必须有方法能保证安全的分享密钥,并定期更换DES密钥。
- 高级加密标准AES
随着计算机能力突飞猛进,DES标准56位的密钥长度已经力不从心。
1999年,利用计算机破解DES密码只需要几十个小时。
2001年,美国国家标准与技术研究院发布AES以替代DES。
AES加密标准将密钥长度提高到了128位(可选192位和256位)。
- 国产对称加密算法
国家密码局认定的国产对称加密算法为SM1、SM4和SM7,密钥长度和分组长度均为128位。
SM1对称加密的加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用主要应用到商业领域。
SM4对称加密为无线局域网标准的分组数据加密算法,算法已公开。
SM7对称加密算法为非接触式IC卡设计,主要用于身份识别类应用(门禁卡、工作证、参赛证)、票务类应用(大型赛事门票、展会门票)和支付类应用(积分消费卡、校园一卡通、企业一卡通等),算法不公开。