古典密码技术ppt课件.ppt
《古典密码技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《古典密码技术ppt课件.ppt(97页珍藏版)》请在三一办公上搜索。
1、第1章 密码学概述第2章 古典密码技术第3章 分组密码第4章 公钥密码体制 第5章 散列函数与消息鉴别 第6章 数字签名技术 第7章 密钥管理技术第8章 身份鉴别技术 第9章 序列密码基础 第10章 密码技术应用,课程主要内容,第2章 古典密码技术,本章主要内容替代密码 置换密码 周期置换密码 列置换密码 转轮机密码 古典密码的统计分析 单表替代密码分析 多表替代密码分析 对Hill密码的已知明文分析,这些密码算法大多都十分简单,现在已经很少在实际应用中使用了。但是研究这些密码的原理,对于理解、构造和分析现代实用的密码都是很有益的。,第2章 古典密码技术,2.1 替代密码 (substitut
2、ion cipher)替代是古典密码中用到的最基本的处理技巧之一 ;替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表 ;根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。 单表替代密码: 密码算法加解密时使用一个固定的替换表; 多表替代密码: 密码算法加解密时使用多个替换表。,第2章 古典密码技术,(1)一般单表替代密码 一般单表替代密码的原理是以26个英文字母集合上的一个置换为密钥,对明文消息中的每个字母依次进行变换。 可描述为:明文空间M和
3、密文空间C都是26个英文字母的集合,密钥空间K=:Z26Z26|是置换,是所有可能置换的集合。 对任意K,定义: 加密变换:e(m)=(m)=c 解密变换:d(c) = -1(c)=m, -1是的逆置换。,2.1.1 单表替代密码,第2章 古典密码技术,abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC,caesar cipher,FDHVDU FLSKHU,明文密文,密码替代表,第2章 古典密码技术,一般单表替代密码算法特点:密钥空间K很大,|K|=26!=41026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013
4、 年。移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。密钥不便记忆。 针对一般替换密码密钥不便记忆的问题,又衍生出了各种形式单表替代密码。,2.1.1 单表替代密码(续),第2章 古典密码技术,(2)移位密码 明文空间M、密文空间C都是和密钥空间K满足,2.1.1 单表替代密码(续),表2.1 字母数字映射表,即把26个英文字母与整数0,1,2,25一一对应,如表:,第2章 古典密码技术,加密变换,E=E:Z26Z26, Ek (m) = m + k (mod26)| mM, kK 解密变换,D=D:Z26Z26, Dk (c) = ck (mod26)| cC, kK 解
5、密后再把Z26中的元素转换英文字母。 显然,移位密码是前面一般单表替代密码的一个特例。当移位密码的 密钥k=3时,就是历史上著名的凯撒密码(Caesar)。根据其加密函数特 点,移位密码也称为加法密码。,2.1.1 单表替代密码(续),abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC,caesar cipher,FDHVDU FLSKHU,明文密文,第2章 古典密码技术,(3)仿射密码 仿射密码也是一般单表替代密码的一个特例,是一种线性变换。仿射密码的明文空间和密文空间与移位密码相同,但密钥空间为 K=(k1,k2)| k1,k2Z26,
6、gcd(k1,26)=1 对任意mM,cC,k = (k1,k2)K,定义加密变换为: c = Ek (m) = k1 m +k2 (mod 26)相应解密变换为: m = Dk (c) = k11 (ck2) (mod 26),2.1.1 单表替代密码(续),其中, 。 很明显,k1=1时即为移位密码,而k2=0则称为乘法 密码。,第2章 古典密码技术,【例2.3】设明文消息为china,密钥k=(k1, k2)=(9,2) 试用仿射密码对其进行加密,然后再进行解密。,2.1.1 单表替代密码(续),明文消息对应的数字序列为(2,7,8,13,0),用仿射密码对明文进行加密 如下:,解密变换
7、为:,解:利用扩展的欧几里德算法可计算出 加密变换为:,第2章 古典密码技术,密文消息为unwpc(20,13,22,15,2)。而解密过程如下:,2.1.1 单表替代密码(续),即恢复明文消息为china。 仿射密码要求(k1, 26)=1 ,否则就会有多个明文字母对应一个密文字母的情况。由于与26互素的整数有12个,故仿射密码密钥空间大小为|K|=1226=312。 若将仿射密码的加密函数换为多项式函数时,即为多项式密码。,第2章 古典密码技术,(4)密钥短语密码 选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串,然后再将字母表中的其它字母依次写于此字母串后,
8、就可构造出一个字母替代表。 如密钥为key时,替代表如表2.2所示。,2.1.1 单表替代密码(续),当选择上面的密钥进行加密时,若明文为“china”,则密文为“yfgmk”。 显然,不同的密钥可以得到不同的替换表,对于明文为英文单词或短语的情况时,密钥短语密码最多可能有26!=41026个不同的替换表。,第2章 古典密码技术,最大问题: 单表替代密码表现出明文中单字母出现的频率分布与密文中相同。 英文单字母出现概率顺序:e, t, o, a, n, i,.,th, er, re, an,,the, ing, ion, 而单表代替密码算法的最大缺陷就在于具有单字母一一的对应关系,它没有将明文
9、字母出现的概率掩藏起来,故在实际应用中,可利用自然语言的统计特性来破译这种密码。 例如,破译者可以统计出所截获密文中的高频率出现的代码,与表中高频率字(字母)相对应,使用猜字法,找出其中的对应关系,推断出密钥,从而破解密码。(书P28,表2.4),(5)单表替换密码的安全性分析,英文字母出现频率 (不同文献类略有差别),第2章 古典密码技术,英语字母中常见的组合,第2章 古典密码技术,第2章 古典密码技术,多表替代密码的特点是使用了两个或两个以上的替代表。著名的弗吉尼亚密码和Hill密码等均是多表替代密码。(1)弗吉尼亚密码(Vigenere) 弗吉尼亚密码是最古老而且最著名的多表替代密码体制
10、之一,与位移密码体制相似,但弗吉尼亚密码的密钥是动态周期变化的。 该密码体制有一个参数n。在加解密时,同样把英文字母映射为025的数字再进行运算,并按n个字母一组进行变换。 明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合。因此可表示为:,2.1.2 多表替代密码,单表替换密码局限:明文字母(字)与密文字母(字)一一对应。,第2章 古典密码技术,加密变换定义如下: 设密钥 k=(k1,k2,kn), 明文m=(m1,m2,mn), 加密变换为: Ek(m)=(c1,c2,cn) , 其中ci=(mi + ki) (mod26) ,i =1,2,n 对密文 c=(c1,c2,cn),
11、解密变换为: Dk(c)=(m1,m2,mn), 其中 mi=(ci ki)(mod26),i =1,2,n,2.1.2 多表替代密码(续),第2章 古典密码技术,【例2.4】设密钥k =cipher,明文消息appliedcryptosystem, 试用弗吉尼亚密码对其进行加密,然后再进行解密。解:由密钥k=cipher,得n=6,密钥对应的数字序列为 (2,8,15,7,4,17)。然后将明文按每6个字母进行分组,并转换这些明文字母为相应的数字,再用模26加上对应密钥数字,其加密过程如表2.3所示。,2.1.2 多表替代密码(续),密文为:CXTSMVFKGFTKQANZXVO。(解密,略
12、),(2)希尔(Hill)密码 Hill密码算法的基本思想是将n个明文字母通过线性变换,将它们转换为n个密文字母。解密只需做一次逆变换即可。 算法的密钥K =Z26上的nn可逆矩阵,明文M与密文C 均为n维向量,记为,第2章 古典密码技术,2.1.2 多表替代密码(续),加密运算: Ek(M)= K M= C (mod 26)解密运算: Dk(C)= K 1 C = M (mod 26) 其中, K 1 称为K在模26上的逆矩阵,有: K K 1 = K 1 K=I ;这里 I 为单位矩阵,第2章 古典密码技术,定理2.1:假设A = ( ai,j) 为一个定义在Z26上的nn矩阵,若A 在模
13、26上可逆,则有: A 1= ( det A ) 1 A* (mod 26 ) ; 这里A*为矩阵A的伴随矩阵。,例如,,在n = 2的情况下,有下列推论:,第2章 古典密码技术,这时11mod26=1,所以K的逆矩阵为:,2.1.2 多表替代密码(续),【例2.5】设明文消息为good,试用n2,密钥 的Hill密码对其进行加密,然后再进行解密。,解:将明文划分为两组:(g,o ) 和 (o,d ),即(6,14)和(14,3)。加密过程如下:,因此,good的加密结果是wmwl。显然,明文不同位置的字母“o”加密成的密文字母不同。,第2章 古典密码技术,为了解密,由前面计算有 ,可由密文解
14、密计算出明文:,2.1.2 多表替代密码(续),因此,解密得到正确的明文“good”。,第2章 古典密码技术,Hill密码特点:可以较好地抑制自然语言的统计特性,不再有单字母替换的一一对应关系,对抗“惟密文攻击”有较高安全强度。密钥空间较大,在忽略密钥矩阵K可逆限制条件下,|K|=26nn 易受已知明文攻击及选择明文攻击(详见2.3节相关分析)。(3)一次一密密码(One Time Pad) 若替代码的密钥是一个随机且不重复的字符序列,这种密码则称为一次一密密码,因为它的密钥只使用一次。 该密码体制是美国电话电报公司的Joseph Mauborgne在1917年为电报通信设计的一种密码,所以又
15、称为Vernam密码。Vernam密码在对明文加密前首先将明文编码为(0,1)序列,然后再进行加密变换。,2.1.2 多表替代密码(续),第2章 古典密码技术,设m=(m1 m2 m3 mi )为明文,k=(k1 k2 k3 ki )为密钥,其中mi,ki (0,1), i1, 则加密变换为: c=(c1 c2 c3 ci ) ,其中ci mi ki , i1,2.1.2 多表替代密码(续),m=(m1 m2 m3 mi ) ,其中mi ci ki , i1,这里为模2加法(或异或运算),解密变换为:,在应用Vernam密码时,如果对不同的明文使用不同的随机密钥,这时Vernam密码为一次一密
16、密码。 由于每一密钥序列都是等概率随机产生的,敌手没有任何信息用来对密文进行密码分析。香农(Claude Shannon)从信息论的角度证明了这种密码体制在理论上是不可破译的。但如果重复使用同一个密钥加密不同的明文,则这时的Vernam密码就较为容易破译。,算法描述:,第2章 古典密码技术,2.1.2 多表替代密码(续),若敌手获得了一个密文c=(c1 c2 c3 ci ) 和对应明文m=(m1 m2 m3 mi ) 时,就很容易得出密钥 k=(k1 k2 k3 ki ) ,其中ki ci mi ,i1。 故若重复使用密钥,该密码体制就很不安全。,实际上Vernam密码属于序列密码,加密解密方
17、法都使用模2加,这使软硬件实现都非常简单。但是,这种密码体制虽然理论上是不可破译的,然而在实际应用中,真正的一次一密系统却受到很大的限制,其主要原因在于该密码体制要求: 密钥是真正的随机序列; 密钥长度大于等于明文长度; 每个密钥只用一次(一次一密)。 这样,分发和存储这样的随机密钥序列,并确保密钥的安全都是很因难的;另外,如何生成真正的随机序列也是一个现实问题。因此,人们转而寻求实际上不对攻破的密码系统。,第2章 古典密码技术,替代时基于一个55的字母矩阵。字母矩阵构造方法同密钥短语密码类似。 例如,密钥K= playfair is a digram cipher,去除重复字母后,K=pla
18、yfirsdgmche,可得字母矩阵如图2.1。,2.1.2 多表替代密码(续),(4)Playfair密码 Playfair密码是一种著名的双字母单表替代密码,实际上属于一种多字母替代密码,它将明文中的双字母作为一个单元对待,并将这些单元转换为密文字母组合。,第2章 古典密码技术,对每一明文字母对P1、P2的加密方法如下:(1)若P1、P2在同一行,密文C1、C2分别是紧靠P1、P2右端的字母;(2)若P1、P2在同一列,密文C1、C2分别是紧靠P1、P2下方的字母;(3)若P1、P2不在同一行,也不在同一列,则C1、C2是由P1、P2确定的矩形其它两角的字母,且C1和P1在同一行,C2和P
19、2在同一行;(4)若P1P2,则两个字母间插入一个预先约定的字母,如x,并用前述方法处理; 如balloon,则以ba lx lo on 来加密。(5)若明文字母数为奇数,则在明文尾填充约定字母。 算法还约定字母矩阵中第一列看做最后一列的右边一列,表中第一行看做最后一行的下一行。,2.1.2 多表替代密码(续),Playfair密码 (续),加密举例,明文:P = playfair cipher,明文分组:pl ay fa ir ci ph er密文分组:LA YF PY RS MR AM CD,第2章 古典密码技术,Playfair密码特点:,Playfair密码与简单的单一字母替代法密码相
20、比有了很大的进步。(1)虽然仅有26个字母,但有2626676种双字母组合因此识别各种双字母组合要困难得多。(2)各个字母组的相对频率要比双字母组合呈现出大得多的范围,使得频率分析困难得多。 因此, Playfair密码过去长期被认为是不可破的,它被英国陆军在第一次世界大战中作为一流密码系统使用,并在第二次世界大战中仍被美国陆军和其他同盟国大量使用。 但 Playfair密码还是相对容易攻破,因为它仍然使许多明文语言的结构保存完好,能够被密码分析者所利用。几百字的密文通常就可以攻破该密码。,第2章 古典密码技术,第2章 古典密码技术,如密本密码、连锁式密码(无密钥, 密文自身密钥, 明文自身密
21、钥)等。基本思路: 将一组字符(包括文字、单词、语句甚至短文)分别用各自不同的其它文字群来代替,如: the-ABD,sh-AD, 早期的数字传呼机短语代码等等。 实际上,使用暗语传递消息就可看成是多字母替换的一种应用(称为密本密码,codetext )。,(5)其他替换密码算法:,第2章 古典密码技术,方法:利用明文的首位字母作为加密初始密钥(如位移密码),然后再把得到的密文字母作为后面相邻字母的密钥逐次进行加密。解密时则将相邻左边的字母作为密钥进行解密。 如:this-MTBT shee-KRVZ,如一种连锁式密码算法,(5)其他替换密码算法:,特点:字符替换不再具有一对一的替换关系,数据
22、内容彼此相关,通信中存在误码扩散问题。 这种使数据内容彼此相关的思想广泛被现代基于计算机处理的加密算法用来进行数据完整性的保护。(其他改进算法,如明文自身密钥、密文自身密钥等),t+tM; (19+1912 mod26)h+MT; (7+1219 mod26)i+TB; (8+191 mod26)s+BT; (18+119 mod26),第2章 古典密码技术,置换密码又称为换位密码;置换密码通过改变明文消息各元素的相对位置,但明文消息元素本身的取值或内容形式不变;在前面的替代密码中,则可以认为是保持明文的符号顺序,但是将它们用其它符号来替代;这种密码是把明文中各字符的位置次序重新排列来得到密文
23、的一种密码体制。实现的方法多种多样。直接把明文顺序倒过来,然后排成固 定长度的字母组作为密文就是一种最简单的置换密码。 下面再给出几种典型的置换密码算法。,2.2 置换密码 ( Permutation Cipher ),第2章 古典密码技术,2.2.1 周期置换密码周期置换密码是将明文字符按一定长度n分组,把每组中的字符按1,2,n的一个置换重排位置次序来得到密文的一种加密方法。其中的密钥就是置换,在的描述中包含了分组长度的信息。解密时,对密文字符按长度n分组,并按的逆置换-1把每组字符重排位置次序来得到明文。,2.2 置换密码 ( 续 ),第2章 古典密码技术,2.2.1 周期置换密码(续)
24、,设n为固定的正整数,P = C = (Z26)n , K是由 1,2,n 的所有置换构成。对一个密钥K,定义: 加密变换: E (m1, m2,., mn) = (m(1),., m(n) =( c1, c2,., cn),周期置换密码可描述为:,第2章 古典密码技术,2.2.1 周期置换密码(续),解:密钥长度是6,所以按周期长度6对明文分组,对每组字母用密钥 进行重排得到对应的加密结果。明文分组为:crypto|graphy,再利用置换密钥进行加密变换,得:E (crypto) = (ytcopr); E (graphy) = (ahgypr) 即密文消息为ytcoprahgypr。,注
25、意:置换密码密钥的不同表示方式,显然由加密置换可求出逆置换,-1=(3 6 1 5 2 4),根据密文和逆置换-1即可直接明文。,第2章 古典密码技术,必须要指出的是,置换密码在实质上是Hill密码的特例。所以置换密码属线性变换的密码。,2.2.1 周期置换密码(续),给定一个集合1,2, . . .,n的置换,写出置换矩阵为:,;表示仅第i行中第(i)个元素为1,其余为零。,这时,置换矩阵是每一行和每一列都刚好有一个“1”,而其余元素为“0”的稀疏矩阵。如上例的加解密置换 =(3 5 1 6 4 2), -1=(3 6 1 5 2 4),对应的置换矩阵为:,第2章 古典密码技术,= (3 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 古典 密码 技术 ppt 课件

链接地址:https://www.31ppt.com/p-1320549.html