资源描述:
《网络安全原理与应用 沈苏彬 NetSec-ch2.2 CV Crypto》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章密码学导论(2)传统密码学概述沈苏彬南京邮电大学信息网络技术研究所关键知识点传统密码学的基本原理是“替代”和“换位”传统密码学的加密和解密采用同一个密钥传统密码学的安全性很大程度上决定密钥长度目前常用的传统密码学算法是DES算法,56比特的DES算法并不安全。未来拟采用的传统密码学算法是AES算法2主要内容恺撒加密法传统密码学基本原理数据加密标准DES算法三重DES算法高级加密标准AES算法RC4算法加密操作模式3传统密码学历史传统密码学起源于古代的密码术。早在古罗马时代恺撒大帝就采用“替代”方法加密自己发
2、布的命令,这种“替代”加密方法被称为“恺撒加密法”。传统密码学的基本原理可以归结为两条对数据处理的方法:替代和换位。美国国家标准局(NBS)于1977年颁布的数据加密标准(DES)是目前广泛应用的传统加密方法。美国国家标准与技术学会(NIST)在2001年颁布的高级加密标准(AES)将是未来取代DES的一种加密方法。4凯撒密码恺撒加密法是将明文中的每个字母用该字母对应的后续第3个字母替代,这里假定字母按照字母表顺序循环排列,即明文中的字母a对应密文中的字母D,明文中的字母x对应密文中字母A。例如明文:attack
3、afterdark密文:DWWDFNDIWHUGDUN5凯撒密码(续)如果假定每个英文字母对应一个数值(例如a=1,b=2),并且对于每个明文字母p经过凯撒密码处理后得到密文字母C,则凯撒密码加密算法可以表示为C=E(p)=(p+3)mode26凯撒密码的解密算法可以表示为p=D(C)=(C-3)mod26明文:abcdefghijklmnopqrstuvwxyz密文:DEFGHIJKLMNOPQRSTUVWXYZABC6通用凯撒密码算法W.Stallings将凯撒密码算法中的字母表移位数从3扩展到任意数k<26
4、,这样,就可以得到通用凯撒密码加密算法:C=E(p)=(p+k)mode26这样,通用凯撒密码解密算法就可以表示为:p=D(C)=(C-k)mod26这里k就是通用凯撒密码的密钥.由于k只有25个可能取值,所以,在已知加密/解密算法下,只要尝试25种密钥,就可以破译通用凯撒密码.7通用恺撒加密法的启示从通用恺撒加密法可以得到这样的启示,如果某个加密法只依靠密钥保密,则这种密钥的选择应该具有很好的随机性,并且可以选择的空间足够大,使得攻击者利用现有的计算技术,在可能的时间范围内无法破译。参照表2.2可知,根据目前主
5、频为3.0GHz计算机的处理能力,长度为80的二进制数密钥在目前基本上是无法穷举了。通用恺撒加密法的密钥相当于长度为5的二进制数密钥,当然就很容易被破译。8为何需要公开加密/解密算法?不公开加密算法,则难以破译密码。公开加密算法,仅仅是实际应用的需要。电报的出现才使得加密算法与密钥的分离。加密算法可以在加密设备中实现,该设备被窃之后,应该不会影响保密电报的传递。这就需要将加密算法与密钥的分离,只有公开加密/解密算法,才能由制造商大规模生产廉价的加密/解密设备和芯片.才能普及加密算法的应用。9传统密码学原理传统密码
6、学包括两条原理:替代和换位替代:将明文中的字母采用其它字母/数字/符号替代.如果明文采用比特序列表示,则将明文比特模式替代为密文比特模式.凯撒密码就是采用替代原理设计的加密算法换位:将明文中的元素(字母/比特/字母组/比特组)进行某种形式的重新排列最简单的一种换位加密算法是围栏技术,将明文书写成为上下对角线形式,再按照行顺序分别读出上行和下行的字母序列10传统密码学原理(续1)按照围栏方法对前面举例中的明文“attackafterdark”的加密过程如下所示。经过加密之后的密文就是一串没有意义的字符串:“ATCA
7、TRAKTAKFEDR”。atcatraktakfedr11传统密码学原理(续2)围栏加密算法比较简单,容易被破译.更加复杂的换位加密可以将报文逐行写成一个n×m矩阵,然后按照某个定义的列序列,逐列读出字母.这种列的先后排序就构成了换位加密的密钥密钥:25134明文:attackafterdark密文:TADCEKAKRTFAATR行列12传统密码学原理(续3)矩阵加密方法必须事先确定矩阵的n和m的值。对于矩阵加密方法会提出这样的问题:如果读入的待加密字符串装不下一个n×m的矩阵时,应该如何处理?如果读入的待加密
8、字符串装不满一个n×m的矩阵时,应该如何处理?实际上矩阵加密方法属于块加密方法,这两个问题是块加密方法必须处理的问题。13传统密码学算法大部分常用的传统加密算法都是块加密算法,它处理固定长度块的明文,输出相同长度的密文块目前最常用,最重要的传统加密算法包括:(1)数据加密标准DES(2)三重数据加密算法3DES或TDEA(3)高级加密标准AES14数据加密标准DES数据加