,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 信息保密技术,2.1 古典密码,2.2 分组加密技术,2.3 公约加密技术,2.4 流密码技术,2.5 电子信封技术,2.6 信息隐藏技术,第二章 信息保密技术2.1 古典密码,1,密码学,密码学从应用角度可分为密码编码、密码分析两个分支,分别研究密码的编制和破译问题。,密码学:,密码编码学,密码分析学,密码学 密码学从应用角度可分为密码编码、密码分析两个分支,2,密码系统应用参考模型,在对称密码系统中,密钥的管理扮演着非常重要的角色。,发送者,接收者,攻击者,安全信道,不安全信道,消息M,消息M,密钥K,密钥K,密文C,消息M,消息M,消息M,发送者,消息M,发送者,消息M,密钥K,发送者,消息M,密钥K,发送者,消息M,安全信道,密钥K,发送者,消息M,密文C,安全信道,密钥K,发送者,消息M,不安全信道,密文C,安全信道,密钥K,发送者,消息M,不安全信道,密文C,安全信道,密钥K,发送者,消息M,密文C,安全信道,密钥K,发送者,消息M,不安全信道,密文C,安全信道,密钥K,发送者,消息M,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,接收者,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,接收者,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,密钥K,接收者,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,消息M,密钥K,接收者,攻击者,不安全信道,密文C,安全信道,密钥K,发送者,消息M,密码系统应用参考模型在对称密码系统中,密钥的管理扮演着非常重,3,2.1 古典密码,公元6年前的古希腊人使用的是一根叫scytale的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息纵写在上面,接着打开纸送给送信人。如果不知道棍子的宽度(这里作为密钥),不可能解密里面的内容。后来,罗马的军队用凯撒密码进行通信。,古典密码是密码学的渊源,可用手工和机械操作来实现加解密,现在已很少采用了。,2.1 古典密码 公元6年前的古希腊人使用的,4,2.1 古典密码,1、代换密码,通常,明文和密文由统一字母表构成。,加密时,通常将明文消息划分成长为L的消息单元,称为明文组。,L=1 单字母代换(流密码),将明文空间的元素(如字母、二元数据等)逐个进行加密,这种对明文消息加密的方式称为流密码。,L1 多码代换(分组密码),将明文分成固定长度的组,如64bit一组,用同一密钥,和算法对每一组加密,输出也是固定长度的密文。,2.1 古典密码1、代换密码,5,根据加密过程中使用,代换表数目,的多少,单表代换:对所有明文字母都用一种固定代换,进行加密,多表代换:用一个以上的代换表进行加密,多字母代换,根据加密过程中使用代换表数目的多少,6,单表代换密码,(1)移位密码,最著名的移位密码是凯撒密码。,例:取k=3,明文字母和密文字母的对应关系为,明文:,abcdefghijklmnopqrstuvwxyz,密文:DEFGHIJKLMNOPQRSTUVWXYZABC,明文m=“caser cipher is a shift substitution”所对应的密文为c=“,FDVHU FLSHU LV D VKLIW VXEVWLWXWLRO,”,单表代换密码(1)移位密码,7,单表代换密码,补充:ROT13密码,建立在UNIX系统上的简单的加密程序,在这种密码中,A被N代替,B被O代替,每一个字母是环移13所对应的字母。,用ROT13加密文件两遍便恢复出原始文件:P=ROT13(ROT13(P),ROT13并非为保密设计,它经常用在英特网电子邮件中隐藏特定的内容,以避免泄露一个难题的解答等。,单表代换密码补充:ROT13密码,8,单表代换密码,wfeazw为密钥,排列后有26*25*24*1种选择,,所以密钥有26!种,太复杂,不容易记忆。,因此实际中密钥句子常被使用,密钥句子中的字母被依次填入密文字母表(重复的字母只用一次),没用的字母按自然顺序排列,举例在后一页,a b cx y z,w f ea z w,有26种选择,有25种选择,有24种选择,(2)替换密码,=,a b cx y z,w f ea z w,=,有26种选择,a b cx y z,w f ea z w,=,有25种选择,有26种选择,a b cx y z,w f ea z w,=,有24种选择,有25种选择,有26种选择,a b cx y z,w f ea z w,=,单表代换密码 wfeazw为密钥a b,9,单表代换密码,替换密码 P24,例:密钥句子为studentteacher,abcdefghijklmnopqrstuvwxyz,studenachrklmnopqrstuvwxyz 密钥,明文 I love you,密文 h love you,单表代换密码替换密码 P24,10,单表代换密码,(3)仿射密码,y=ax+b(mod 26)a,bZ,26,当a=1时,仿射密码,移位密码,如果解密是可能的,必须要求仿射函数是双射的:对任何y,Z,26,方程ax+by(mod 26)有唯一解。,由数论可知,,当且仅当gcd(a,26)=1,对每个y有唯一解。,对于aZ,26,,gcd(a,26)=1的a只有12种选择,对于参数b没有要求,所以仿射密码有12*26种可能的密钥。,因为:。,单表代换密码(3)仿射密码,11,多表代换密码,多表代换:以一系列(两个以上)代换表依次,对明文消息的字母进行代换的加密方法。,一次一密:对每个明文字母都采用不同的代换表,或密钥进行加密,称为一次一密密码,(理论上唯一不可破的密码),周期多表代换:代换表个数有限,重复使用。,实际应用中采用,例如维吉尼亚密码,多表代换密码多表代换:以一系列(两个以上)代换表依次,12,维吉尼亚密码(Vigenere密码),利用Vigenere表格进行加密,加密方法如下:,给定一个单钥字母x和一个明文字母y,密文字母则在表格中x行y列的交叉点;,例如,明文为:we are discovered save yourself,若取单密钥为v,则加密时从密钥v开始,对应每个明文字母顺序向下取密钥,结果如下:,明文:wearediscoveredsaveyourself,密钥:vxyzabcdefghijklmnopqrstuv,密文:,RAAPDDJUFSAKYMMCLHRMEKIKXFA,也可选取一个关键词重复成与明文同样长度作为密钥进行加密。若取关键词为deceptive,加密结果如下:,明文:wearediscoveredsaveyourself,密钥:deceptivedeceptivedeceptive,密文:,ZICVTWQNGRZGVTWAVZHCQYGLMGJ,Vigenere密码的强度在于对每个明文字母有多个密文字母对应,因此该字母的频率信息是模糊的。,维吉尼亚密码(Vigenere密码),13,Vigenere密码表格,ABCDEFGHIJKLMNOPQRSTUVWXYZ,BCDEFGHIJKLMNOPQRSTUVWXYZA,CDEFGHIJKLMNOPQRSTUVWXYZAB,DEFGHIJKLMNOPQRSTUVWXYZABC,EFGHIJKLMNOPQRSTUVWXYZABCD,FGHIJKLMNOPQRSTUVWXYZABCDE,GHIJKLMNOPQRSTUVWXYZABCDEF,HIJKLMNOPQRSTUVWXYZABCDEFG,IJKLMNOPQRSTUVWXYZABCDEFGH,JKLMNOPQRSTUVWXYZABCDEFGHI,KLMNOPQRSTUVWXYZABCDEFGHIJ,LMNOPQRSTUVWXYZABCDEFGHIJK,MNOPQRSTUVWXYZABCDEFGHIJKL,NOPQRSTUVWXYZABCDEFGHIJKLM,OPQRSTUVWXYZABCDEFGHIJKLMN,PQRSTUVWXYZABCDEFGHIJKLMNO,QRSTUVWXYZABCDEFGHIJKLMNOP,RSTUVWXYZABCDEFGHIJKLMNOPQ,STUVWXYZABCDEFGHIJKLMNOPQR,TUVWXYZABCDEFGHIJKLMNOPQRS,UVWXYZABCDEFGHIJKLMNOPQRST,VWXYZABCDEFGHIJKLMNOPQRSTU,WXYZABCDEFGHIJKLMNOPQRSTUV,XYZABCDEFGHIJKLMNOPQRSTUVW,YZABCDEFGHIJKLMNOPQRSTUVWX,ZABCDEFGHIJKLMNOPQRSTUVWXY,Vigenere密码表格ABCDEFGHIJKLMNOPQ,14,设密钥为 K,用多字母代换(L=2)对“love”进行加密。Xzda,每次对L1个字母进行代换。,容易隐蔽和均匀化字母的自然频率,从而有利于抗统计分析,明文x=(x,1,x,2,),密文y=(y,1,y,2,),Y,1,=11x,1,+3x,2,Y,2,=8x,1,+7x,2,11 8,3 7,k=,简记为y=xK,K为密钥,线性代数:可用K,-1,来解密,x=yk,-1,11 8,3 7,12 16,=,24X 26Z,7 18,23 11,=,11 8,3 7,-1,11 8,3 7,22 5,=,4 d 1a,11 8,3 7,X1 x2,=,y1 y2,设密钥为 K,用多字母代换(L=2)对“love”进,15,练习,设密钥为 ,用多字母代换(L=2),对“love”进行加密,11 8,3 7,k=,设密钥为 ,用多字母代换(L=2),对“love”进行加密。xzwc,Lo12 16,x z,11 8,3 7,12 16,=,24 26,ve22 5,w c,11 8,3 7,22 5,=,23 3,练习设密钥为 ,用多字母代换(,16,多字母代换密码,当m=1时,退化成单字母仿射代换函数,y=ax,当m=2时,如前例,当m=3时,例如Hill密码 希尔密码,当m3时,计算K,-1,没有有效的方法,,所以大大限制了多字母代换密码,的广泛应用。,多字母代换密码当m=1时,退化成单字母仿射代换函数,17,Hill密码,Hill密码,Hill密码也是一种多字母替代密码,它由数学家Lester Hill于1929年研制成功。加密方法用向量或矩阵表示为,C,1,C,2,C,3,K,11,K,12,K,13,K,21,K,22,K,23,K,31,K,32,K,33,P,1,P,2,P,3,=,C,1,C,2,C,3,=,K,11,K,12,K,13,K,21,K,22,K,23,K,31,K,32,K,33,C,1,C,2,C,3,=,P,1,P,2,P,3,K,11,K,12,K,13,K,21,K,22,K,23,K,31,K,32,K,33,C,1,C,2,C,3,=,或 C=KP 其中,C和P是长度为3的列向量,分别表示密文和明文,K是3*3矩阵,表示加密密钥,加密操作要执行模26运算。,11 8,3 7,X1 x2,=,y1 y2,Hill密码Hill密码C1K11 K12 K13P1=C1,18,例如,如果使用的加密密钥是K=,17 17 5,21 18 21,2 2 19,欲对明文pay more money进行加密,则现将明文按三个字母一组分组(不足三个时补字母x),然后每组字母求密文。,该明文的前三个字母表示为pay=(15 0 24),,计算密文的过程如下,(15 0 24),K,=(375 819 486)mod 26=(11 13 18)=LNS,以此类推,可得密文为。,?,解密时使用逆矩阵K,-1,=,对密文(11 13 18),T,做运算,K,-1,(11 13 18),T,mod 26=(4