经典密码学.ppt
《经典密码学.ppt》由会员分享,可在线阅读,更多相关《经典密码学.ppt(90页珍藏版)》请在三一办公上搜索。
1、1,经典密码学,现代密码学第2章,2,本章主要内容,1、密码体制的定义与分类2、代替密码与移位密码3、变换密码4、乘积密码5、密码机的发展历史,3,1.密码体制的定义,一个密码体制是一个六元组:(M,C,K1,K2,E,D)其中,M-明文空间C-密文空间K1-加密密钥空间K2-解密密钥空间E-加密变换空间D-解密变换空间,4,密码体制的理解,明文(plaintext)乃信息的原始形式,一般是信息的基本单元(字母、数字或符号等)的有限排列;密文(cipher)乃明文经过加密以后的结果形式,一般没有明确意义;密钥(key)乃用于加解密变换的关键信息,视其用于加解密而分别称为加密密钥与解密密钥;,5
2、,密码体制的理解,一个加密变换乃一个下列形式的一一映射:E:MK1 C 一般对于给定的kK1,把E(-,k)记为Ek;一个解密变换乃对应一个加密变换E而言,其实是一个以下形式的映射:D:CK2 M 并且适合(对于给定的kK2,也把D(-,k)记为Dk):,6,密码体制的理解,重要原则:对任一kK1,都能找到k”K2,使得Dk”(Ek(m)=m,mM。,7,一般性说明,我们常将26个英文字母(不区分大小写)与整数025依次一一对应。记 Zq=0,1,2,q-1称之为模q剩余类环;当q为素数时,该环进一步形成为域,可改写为Fq。,8,一般性说明,一般说来,一个密码体制的任一密钥控制下的加密变换都要
3、求把明文按n(最少必要的固定数)个信息单元进行分组。照理,一个密码体制的明文空间M应该是所有可能明文的集合,但人们却习惯于把它写成前述所有n个信息单元组的集合;如此,密文空间C以及加解密变换的定义也有相应的变通。,9,简单密码举例,密码学的历史已有4000多年古埃及人曾把象形文字写在石碑上,10,简单密码举例,例1.凯撒(Caesar)密码凯撒密码是古罗马人Julius Caesar发明的一种密码体制,它是使用最早的密码体制之一。凯撒密码用于对英文信息进行加密,它依据下列代替表(由英文字母表左环移3位得到)对信息中26个英文字母进行替换:,11,简单密码举例,若明文为:Substitution
4、 cryptosystem 则相应的密文是:,VXEVWLWXWLRQ FUBSWRVBVWHP,在上述凯撒密码体制中,英文字母代替表即相当于密钥;若将英文字母表左环移k(0k26)位得到替换表,则得一推广的凯撒密码体制。,12,简单密码举例,练习 解密 RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV,13,简单密码举例,可写出推广凯撒密码体制的精确形式如下:M=C=Z26K1=K2=Z26E=Ek|kK1其中,Ek(m)=m+k(mod 26),mM;D=Dk|kK2其中,Dk(c)=c-k(mod 26),cC。,14,恺撒密码的一般形式,一般形式,可以把Ca
5、esar cipher 中字母移动的位数由3变为1-25中的任何一个。可以指定一个密钥字母作为字母A的密文。例如:密钥字母F表示:A F,B G,.Y D,Z E 即每个字母移动5位 共有26种可能的密码算法(25种可用),15,Caesar密码分析(Cryptanalysis of Caesar ciphers),只有 26 种可能(only have 26 possible ciphers)A maps to A,B,.Z 可以简单的实验每个密钥(穷密钥搜索)给定一些密文,实验每个密钥。Original ciphertext LIZHZLVKWRUHSODFHOHWWHUV try shi
6、ft of 1 KHYGYKUJVQTGRNCEGNGVVGTU try shift of 2 JGXFXJTIUPSFQMBDFMFUUFST try shift of 3 IFWEWISHTOREPLACELETTERS*plaintext HEVDVHRGSNQDOKZBDKDSSDQR try shift of 4 GDUCUGQFRMPCNJYACJCRRCPQ try shift of 5.MJAIAMWLXSVITPEGIPIXXIVW try shift of 25 eg.break ciphertext GCUA VQ DTGCM,16,语言冗余度与密码分析,人类语言是有冗余
7、度的字母使用的频率是不相同的在英语中,e 的使用率是最高的其次,T,R,N,I,O,A,S 其它字母使用的较低,17,英语字母使用频率,18,字母频率在密码分析中的应用,计算密文中字母出现的频率与已知字母分布比较单码替换不改变相对字母出现的频率阿拉伯科学家提出此方法,19,英语字母中常见的组合,20,简单密码举例,例2.简单移位密码明文:transp ositio ncrypt osyste mxxxxx密钥:=(352614)密文:上述将明文加密成密文的过程是:将明文每个字母分成一组(最后不够一组时用字母x补足);作为密钥的置换的定义如下:31,52,23,64,15,46依据置换重新排列每
8、组明文。,ASRPTN IISOOT RPCTNY YTSEOS XXXXMX,21,简单密码举例,上述简单移位密码体制的精确形式是:M=C=m1m2m6|miZ26,i=1,2,6K1=K2=S6(6次对称群)E=E|K1其中,E(m1m2m6)=m(1)m(2)m(6);D=D|K2其中,D(c1c2c6)=c(1)c(2)c(6)(为的逆置换)。,22,密码体制的分类,依据信息元素的形态分类对一个密码体制,考察其任一密钥控制下的加密变换:若任意密文c=c1c2cn的各信息元素ci均是相应明文m=m1m2mn的各信息元素mi的某种排列,则称该种密码为移位密码;否则,即存在密文c=c1c2c
9、n的各信息元素ci不是相应明文m=m1m2mn的各信息元素mi的某种排列,称该种密码为代替密码。,代替密码(如例1)移位密码(如例2),23,密码体制的分类,移位密码的特点:移位密码的加密变换使得信息元素只有位置变化而形态不变,如此可以打破消息中的某些固定模式(结构)。代替密码的特点:代替密码的加密变换使得信息元素的形态有所变化,如此可以使明文与密钥的信息混乱在一起,使局外人很难确定明文和密钥是如何变换成密文的。,24,密码体制的分类,依据对信息元素的处理方式分类,序列(流)密码分组(块)密码,一个密码体制的明文必要分组长度n若为1,则称该密码为序列(流)密码,否则(即n1)称该密码为分组(块
10、)密码。,25,密码体制的分类,序列(流)密码的特点:加解密速度快,无错误扩散;一般用于实际的安全产品。分组(块)密码的特点:适合数据库加密,组内有错误扩散;一般用于公开的理论研究。,26,密码体制的分类,依据密钥分类,单钥密码(传统密码,对称钥密码)双钥密码(公钥密码,非对称钥密码),基于计算复杂性,人们可以设计出这样的密码体制:加密变换与相应的解密变换分别使用不同的密钥k与k”,并且kk”在计算上不可行(尽管理论上应该能够)。如此,用户选择该体制的一对加解密密钥(k,k”)后,可以将前者公开而后者私存。区别于传统上加解密密钥一致或相近而必须都保密的观念,称之为非对称(公开)钥密码体制。,2
11、7,密码体制的分类,一般说来,单钥密码体制(包括分组、序列密码)都是基于计算安全性的,而双钥密码体制是基于可证明安全性的。这两种安全性都是从计算量来考虑,但不尽相同。计算安全要算出或估计出破译它的计算量下限,而可证明安全则要从理论上证明破译它的计算量不低于解已知数学难题的计算量。,28,密码体制的分类,单钥密码优点:运行速度快,具有可靠的保密强度;不足:不便密钥交换和管理。双钥密码优点:便于密钥交换和管理,还可用于消息认证(数字签名);不足:运行速度缓慢,其安全性所 依赖的数学难题的复杂性一般都未能证明。,29,早期密码体制大都比较简单,其中许多经不起计算机的破译攻击。这些体制一般都是直接针对
12、原始的信息单元(字母或符号等)设计,而并不象现代密码体制那样非常重视和体现信息的数字化与数学处理。但对早期密码体制的讨论可以说明构造和破译的基本原理和方法,对于理解、构造和分析现代复杂的实用密码体制有着起码的利益。,2.代替密码,30,早期密码体制基本上可以按照下述分类笼统起来:代替密码移位密码以下我们便按照这样的分类来依次学习早期的密码体制及其破译。,2.代替密码,31,2.代替密码,一个代替密码,若其任何密文可以看成是对相应明文的各组信息单元使用同一个代替表进行替换而得到,则称其为单表代替密码;否则,即有密文是依次对相应明文的各组信息单元使用有限个周期性重复的或无限多的固定代替表进行替换而
13、得到,称其为多表代替密码。,32,单表代替密码,每个字母可以用其它任何一个字母替换(不能重复)每个字母可以随机的映射到其它一个 因此密钥长度是26个字母 单字母替换密码(Monoalphabetic Substitution Cipher)例如:明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文:DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext:IFWEWISHTOREPLACELETTERS Ciphertext:WIRFRWAJUHYFTSDVFSFUUFYA,33,单表代替密码举例,给定密钥字“STARWARS”,去掉重复字母得到“STARW”,填写
14、剩余字母:STARW BCDEF GHIJK LMNOP QUVXY Z 按列读取字母得到密文:Plain:ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher:SBGLQZTCHMUADINVREJOXWFKPY 可以用这个密钥加密、解密 例如 Plaintext:I KNOW ONLY THAT I KNOW NOTHING Ciphertext:H UINF NIAP OCSO H UINF INOCHIT,34,单表代替密码,需要一种简单方法指定密钥。有多种方法,一种简单方法是写没有重复字母的“密钥字”,其它字母按顺序写在密钥字最后字母后面。例如,给定密钥字 JULIUS
15、CAESAR Plain:ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher:JULISCASRTVWXYZBDFGHKMNOPQ,35,单表代替密码的密码分析,根据频率统计进行分析,确定每个字母被映射到什么字母,单个字母出现的可能是A或I(since know single words are A or I)一般来说个字母出现的可能是THE或AND,还可以用其他通常出现的双字母或三字母组合。还可以应用其它很少应用的字母,36,单表代替密码构造方法,举例例1.一个英文单表代替密码例2.方格密码例3.普莱费尔(Playfair)密码构造方法构造单表代替密码的关键是构造一张明密代替
16、表(可能以对应Z26的观点写成一个数学公式)。以后不加声明,总假定M=C=a,b,c,z(记为A),Z26,或它们的n-直积。,37,单表代替密码构造方法,密钥字法该法形成明密代替表如下:首先依次列出密钥字中字母(去掉其中的重复),然后依次列出字母表中其余的字母。特点:便于由记忆的密钥字构造出明密代替表;但密钥空间K由所有可能的密钥字构成,其实密钥量|K|比较小。,38,洗牌法该法就是将写有每个英文字母的26张纸牌打乱次序后重新排列形成明密代替表。如例1。特点:密钥空间K由26个英文字母的所有可能的全排列构成(|K|=26!),密钥的保密性较好,但不便于记忆。,单表代替密码构造方法,39,仿射
17、法该法的加密变换Ek为:Ek(m)=k1m+k2(mod 26),mZ26其中,k=(k1,k2)为密钥;为使上述加密变换是一一的(从而才有相应的解密变换),必要且只要(k1,26)=1。特点:便于用计算机实现,但密钥空间K=(k1,k2)|k1,k2Z26,(k1,26)=1,密钥量|K|=1226-1=311较小。,单表代替密码构造方法,40,多项式法该法的加密变换Ek为(t为取定自然数):Ek(m)=ktmt+kt-1mt-1+k1m+k0(mod 26),mZ26其中,k=(kt,kt-1,k1,k0)为密钥。仿射法其实是上述多项式法当t=1时的特例。有关多项式法的加密变换Ek何时是一
18、一的以及对密钥空间K 的讨论已超出本课程的知识范围,在此不去涉及。,单表代替密码构造方法,41,矩阵法该法的思想是:将明文组m=(m1m2mn)通过Z26上可逆的线性变换转换为密文组c=(c1c2cn)。如此,密钥空间K=(kij)|(kij)为Z26上n阶可逆方阵(有关讨论超出本课程的知识范围);对于k=(kij)K,加密变换Ek为:Ek(m1m2mn)=(c1c2cn),miZ26其中,ci=ki1m1+ki2m2+kinmn(mod 26)。,单表代替密码构造方法,42,(2)多表代替密码,多表代替密码是依次对明文的各组信息单元使用有限个周期性重复的或无限多的固定代替表进行替换来得到密文
19、的:若是使用无限多的固定代替表(相对于明文变化是随机的),则称其为一次一密代替密码;若是使用有限个周期性重复的固定代替表,则称其为周期多表代替密码。,43,(2)多表代替密码,一次一密密码是在理论上唯一不可破解的密码,这种密码对于明文的特点可实现完全隐藏,但由于需要的密钥量与明文所含信息单元的个数一样大,故其难以实用。周期多表代替密码的实际情形如下:在给定的密钥(d个代替表排列T1T2Td)之下,加密明文m=m1m2m3的结果是c=T1(m1)Td(md)T1(md+1)Td(m2d)d称为该周期多表代替密码的周期。,44,周期多表代替密码,举例例1.四表代替密码。例2.维吉尼亚(Vigene
20、re)密码。,45,Blaise de Vigenre 发明了多字母替换密码(polyalphabetic substitution cipher)使用多个单字母替换表 因此一个字母可以被多个字母替换。方法:用一个密钥选择对每个字母使用哪个字母表,密钥的第I个字母表示使用第 ith 个字母表,依次使用每个字母表,当密钥的字母使用完后,在从头开始。,Vigenre Cipher,46,例:写出明文,在明文下重复写出密钥字;依次使用每个字母作为caesar cipher 的密钥,加密对应的明文字母。Plaintext THISPROCESSCANALSOBEEXPRESSED Keyword CI
21、PHERCIPHERCIPHERCIPHERCIPHE Plaintext VPXZTIQKTZWTCVPSWFDMTETIGAHLH,Vigenre Example,47,C-CDEFGHIJKLMNOPQRSTUVWXYZAB I-IJKLMNOPQRSTUVWXYZABCDEFGH P-PQRSTUVWXYZABCDEFGHIJKLMNO H-HIJKLMNOPQRSTUVWXYZABCDEFG E-EFGHIJKLMNOPQRSTUVWXYZABCD R-RSTUVWXYZABCDEFGHIJKLMNOPQ ABCDEFGHIJKLMNOPQRSTUVWXYZ to map the a
22、bove plaintext letters.T uses key C maps to V H uses key I maps to P I ises key P maps to X。,Vigenre Example,48,可以看出,越安全的密码使用起来越复杂,因此,在有些场合还可以看到单码替换密码,随着破译单码密码的技术提高,使得vigenre cipher 逐渐被各国使用,1854年,首次被 Charles Babbage 攻破,但没有公开。Friedrich Kasiski 与1863年攻破并发表了此密码的各种变形被沿用到20世纪。,History of the Vigenre Ciph
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 密码学
链接地址:https://www.31ppt.com/p-5328442.html