您好,欢迎访问三七文档
第二章信息保密技术§2.1古典密码§2.2分组加密技术§2.3公约加密技术§2.4流密码技术§2.5电子信封技术§2.6信息隐藏技术密码学密码学从应用角度可分为密码编码、密码分析两个分支,分别研究密码的编制和破译问题。密码学:密码编码学密码分析学密码系统应用参考模型在对称密码系统中,密钥的管理扮演着非常重要的角色。发送者接收者攻击者安全信道不安全信道消息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§2.1古典密码公元6年前的古希腊人使用的是一根叫scytale的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息纵写在上面,接着打开纸送给送信人。如果不知道棍子的宽度(这里作为密钥),不可能解密里面的内容。后来,罗马的军队用凯撒密码进行通信。古典密码是密码学的渊源,可用手工和机械操作来实现加解密,现在已很少采用了。§2.1古典密码1、代换密码通常,明文和密文由统一字母表构成。加密时,通常将明文消息划分成长为L的消息单元,称为明文组。L=1单字母代换(流密码)将明文空间的元素(如字母、二元数据等)逐个进行加密,这种对明文消息加密的方式称为流密码。L1多码代换(分组密码)将明文分成固定长度的组,如64bit一组,用同一密钥和算法对每一组加密,输出也是固定长度的密文。根据加密过程中使用代换表数目的多少单表代换:对所有明文字母都用一种固定代换进行加密多表代换:用一个以上的代换表进行加密多字母代换单表代换密码(1)移位密码最著名的移位密码是凯撒密码。例:取k=3,明文字母和密文字母的对应关系为明文:abcdefghijklmnopqrstuvwxyz密文:DEFGHIJKLMNOPQRSTUVWXYZABC明文m=“casercipherisashiftsubstitution”所对应的密文为c=“FDVHUFLSHULVDVKLIWVXEVWLWXWLRO”单表代换密码补充:ROT13密码建立在UNIX系统上的简单的加密程序在这种密码中,A被N代替,B被O代替,每一个字母是环移13所对应的字母。用ROT13加密文件两遍便恢复出原始文件:P=ROT13(ROT13(P))ROT13并非为保密设计,它经常用在英特网电子邮件中隐藏特定的内容,以避免泄露一个难题的解答等。单表代换密码wfe…azw为密钥排列后有26*25*24*…*1种选择,所以密钥有26!种,太复杂,不容易记忆。因此实际中密钥句子常被使用,密钥句子中的字母被依次填入密文字母表(重复的字母只用一次),没用的字母按自然顺序排列举例在后一页abc…xyzwfe…azw有26种选择有25种选择有24种选择(2)替换密码Π=abc…xyzwfe…azwΠ=有26种选择abc…xyzwfe…azwΠ=有25种选择有26种选择abc…xyzwfe…azwΠ=有24种选择有25种选择有26种选择abc…xyzwfe…azwΠ=单表代换密码替换密码P24例:密钥句子为studentteacherabcdefghijklmnopqrstuvwxyzstudenachrklmnopqrstuvwxyz密钥明文Iloveyou密文hloveyou单表代换密码(3)仿射密码y=ax+b(mod26)a,b∈Z26当a=1时,仿射密码移位密码如果解密是可能的,必须要求仿射函数是双射的:对任何y∈Z26,方程ax+b≡y(mod26)有唯一解。由数论可知,当且仅当gcd(a,26)=1,对每个y有唯一解。对于a∈Z26,gcd(a,26)=1的a只有12种选择,对于参数b没有要求,所以仿射密码有12*26种可能的密钥。因为:。。。多表代换密码多表代换:以一系列(两个以上)代换表依次对明文消息的字母进行代换的加密方法。一次一密:对每个明文字母都采用不同的代换表或密钥进行加密,称为一次一密密码(理论上唯一不可破的密码)周期多表代换:代换表个数有限,重复使用。实际应用中采用,例如维吉尼亚密码维吉尼亚密码(Vigenere密码)利用Vigenere表格进行加密,加密方法如下:给定一个单钥字母x和一个明文字母y,密文字母则在表格中x行y列的交叉点;例如,明文为:wearediscoveredsaveyourself,若取单密钥为v,则加密时从密钥v开始,对应每个明文字母顺序向下取密钥,结果如下:明文:wearediscoveredsaveyourself密钥:vxyzabcdefghijklmnopqrstuv密文:RAAPDDJUFSAKYMMCLHRMEKIKXFA也可选取一个关键词重复成与明文同样长度作为密钥进行加密。若取关键词为deceptive,加密结果如下:明文:wearediscoveredsaveyourself密钥:deceptivedeceptivedeceptive密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJVigenere密码的强度在于对每个明文字母有多个密文字母对应,因此该字母的频率信息是模糊的。Vigenere密码表格ABCDEFGHIJKLMNOPQRSTUVWXYZBCDEFGHIJKLMNOPQRSTUVWXYZACDEFGHIJKLMNOPQRSTUVWXYZABDEFGHIJKLMNOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDEGHIJKLMNOPQRSTUVWXYZABCDEFHIJKLMNOPQRSTUVWXYZABCDEFGIJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHIKLMNOPQRSTUVWXYZABCDEFGHIJLMNOPQRSTUVWXYZABCDEFGHIJKMNOPQRSTUVWXYZABCDEFGHIJKLNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZABCDEFGHIJKLMNOQRSTUVWXYZABCDEFGHIJKLMNOPRSTUVWXYZABCDEFGHIJKLMNOPQSTUVWXYZABCDEFGHIJKLMNOPQRTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNOPQRSTVWXYZABCDEFGHIJKLMNOPQRSTUWXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVWYZABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNOPQRSTUVWXY设密钥为K,用多字母代换(L=2)对“love”进行加密。Xzda每次对L1个字母进行代换。容易隐蔽和均匀化字母的自然频率,从而有利于抗统计分析明文x=(x1,x2),密文y=(y1,y2)Y1=11x1+3x2Y2=8x1+7x211837k=简记为y=xK,K为密钥线性代数:可用K-1来解密,x=yk-1118371216=24X26Z7182311=11837-111837225=4d1a11837X1x2=y1y2练习设密钥为,用多字母代换(L=2)对“love”进行加密11837k=设密钥为,用多字母代换(L=2)对“love”进行加密。xzwcLo1216xz118371216=2426ve225wc11837225=233多字母代换密码当m=1时,退化成单字母仿射代换函数y=ax当m=2时,如前例当m=3时,例如Hill密码希尔密码当m3时,计算K-1没有有效的方法,所以大大限制了多字母代换密码的广泛应用。Hill密码Hill密码Hill密码也是一种多字母替代密码,它由数学家LesterHill于1929年研制成功。加密方法用向量或矩阵表示为C1C2C3K11K12K13K21K22K23K31K32K33P1P2P3=C1C2C3=K11K12K13K21K22K23K31K32K33C1C2C3=P1P2P3K11K12K13K21K22K23K31K32K33C1C2C3=或C=KP其中,C和P是长度为3的列向量,分别表示密文和明文,K是3*3矩阵,表示加密密钥,加密操作要执行模26运算。11837X1x2=y1y2例如,如果使用的加密密钥是K=171752118212219欲对明文paymoremoney进行加密,则现将明文按三个字母一组分组(不足三个时补字母x),然后每组字母求密文。该明文的前三个字母表示为pay=(15024),计算密文的过程如下(15024)K=(375819486)mod26=(111318)=LNS以此类推,可得密文为。?解密时使用逆矩阵K-1=对密文(111318)T做运算K-1(111318)Tmod26=(431494570)T=(15024)T=payHill密码的强度在于完全隐藏了单字母的频率。LNSHDLEWMTRW§2.1古典密码2、置换密码(换位密码)不改变明文字母,但通过重排而更改它们的位置。例如:矩阵变换密码、纵行换位密码矩阵变换加密:将明文中的字母按给定顺序安排在1个矩阵中,然后用另一种顺序选中矩阵的字母来产生密文,一般为列变换次序。如原列次序为1234,先列次序为2413矩阵变换加密给定一个置换:f=,根据给定的次序,按526413的列序重新排列,得到所以密文是oerwntcueksiyrt.解密过程正好相反,按序排列密文后,通过列置换,再按行读取数据即可。123456526413如将明文networksecurity按行排列在3*6矩阵中,如下所示:123456networksecurity526413oerwntcueksiyrt纵行换位密码明文以固定的宽度水平地写在一张图表纸上,密文按垂直方向读出。解密就是将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。Plaintext:COMPUTERGRAPHICSMAYBESLOWBUTATLEASTITSEXPENSIVECOMPUTERGR(10个为一组)APHICSMAYBESLOWBUTATLEASTITSEXPENSIVECiphertext:CAELPOPSEEMHLANPIOSSUCWTITSBIVEMUTERATSGYAERBTX换位密码对存储的要求很大,有时还要求特定的长度,因而比较麻烦,因此代替密码(代换密码)较为常用。破译Kerckhoff假设:攻击方知道所用的密码系统目标:设计一个在Kerckhoff假设下达到的安全系统移位密码极易破解,仅统计出最高频度字母再与明文字母表对应决定出位移量,就差不多得到正确解了。安全密码系统的一个必要条件是密钥的空间必须足够大,使得穷举密钥搜索破译是不可能的。(非充分条件)§2.2分组加密技术§2.2.1基本概念分组加密技术属于对称密码体制的范畴;分组密码的工作方式是将明文分成固定长度的组,如64bit为一组,用同一密钥和算法对每一组加密,输出也是固定长度的密文。例如DES密码算法的输入为64bit,密钥长度为56bit,密文长度为64bit。设计分组密码算法的核心技术是:在相信复杂函数可以通过简单函数迭代若干次得到的原则下,利用简单圈函数等运算,充分利用非线性运算。以DES算法为例,它
本文标题:第二章信息加密技术
链接地址:https://www.777doc.com/doc-48386 .html