




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、密码的设计和使用至少可以追溯到四千多年前的埃及、巴比密码的设计和使用至少可以追溯到四千多年前的埃及、巴比 伦、罗马和希腊,历史极为久远。伦、罗马和希腊,历史极为久远。古代古代隐藏信息的方法主要隐藏信息的方法主要 有两大类:有两大类: 其一其一为为隐藏信息载体,采用隐写术隐藏信息载体,采用隐写术等;等; 其二其二为为变换信息载体,使之无法为一般人所理解变换信息载体,使之无法为一般人所理解。 密码学中,信息代码被称为密码学中,信息代码被称为密码密码,加密前,加密前 的信息被称为的信息被称为明文明文,加密后不为常人所理,加密后不为常人所理 解的用密码表示的信息称为解的用密码表示的信息称为密文密文 (
2、ciphertext),将明文转变成密文的过程被,将明文转变成密文的过程被 称为称为加密加密(enciphering),其逆过程则被称,其逆过程则被称 为为解密解密(deciphering),而用以加密、解密,而用以加密、解密 的方法或算法则被称为的方法或算法则被称为 密码体制密码体制 (crytosystem)。 记全体明文组成的集合记全体明文组成的集合 为为u,全体密文组成的集合为,全体密文组成的集合为v,称,称u 为明文空间,为明文空间,v为密文空间。加密常利用某一被称为密钥的东为密文空间。加密常利用某一被称为密钥的东 西来实现,它通常取自于一个被称为密钥空间的含有若干参西来实现,它通常
3、取自于一个被称为密钥空间的含有若干参 数的集合数的集合k。按数学的观点来看,加密与解密均可被看成是一。按数学的观点来看,加密与解密均可被看成是一 种变换:取一种变换:取一kk,uu,令,令 v =k u ,v为明文为明文u在密钥在密钥k下下 的密文,而解码则要用到的密文,而解码则要用到k的逆变换的逆变换k-1。由此可见,密码体。由此可见,密码体 系虽然可以千姿百态,但其关键还在于系虽然可以千姿百态,但其关键还在于密钥的选取密钥的选取。 随着计算机与网络技术的迅猛发展,大量各具特色的密码体随着计算机与网络技术的迅猛发展,大量各具特色的密码体 系不断涌现。离散数学、数论、计算复杂性、混沌、系不断涌
4、现。离散数学、数论、计算复杂性、混沌、, 许多相当高深的数学知识都被用上,逐步形成了(并仍在迅许多相当高深的数学知识都被用上,逐步形成了(并仍在迅 速发展的)具有广泛应用面的速发展的)具有广泛应用面的现代密码学现代密码学 。 替代密码替代密码 移位密码移位密码 代数密码代数密码 代替法密码代替法密码采用另一个字母表中的字母来代替明文中的字母,采用另一个字母表中的字母来代替明文中的字母, 明文字母与密文字母保持一一对应关系,但采用的符号改变明文字母与密文字母保持一一对应关系,但采用的符号改变 了。加密时,把明文换成密文,即将明文中的字母用密文字了。加密时,把明文换成密文,即将明文中的字母用密文字
5、 母表中对应位置上的字母取代。解密时,则把密文换成明文,母表中对应位置上的字母取代。解密时,则把密文换成明文, 即把密文中的字母用明文字母表中对应位置上的字母代回,即把密文中的字母用明文字母表中对应位置上的字母代回, 解密过程是加密过程的逆过程。在代替法加密过程中,密文解密过程是加密过程的逆过程。在代替法加密过程中,密文 字母表即代替法密钥,密钥可以是标准字母表,也可以是任字母表即代替法密钥,密钥可以是标准字母表,也可以是任 意建立的。意建立的。 1.代替法密码代替法密码 明文字母表明文字母表 abcdefghijklmnopqrstuvwxyz 密文字母表密文字母表 klmnopqrstuv
6、wxyzabcdefghij 密钥常用一密钥单词或密钥短语生成混淆字母表。密钥单词密钥常用一密钥单词或密钥短语生成混淆字母表。密钥单词 或密钥短语可以存放在识别码、通行字或密钥的秘密表格中。或密钥短语可以存放在识别码、通行字或密钥的秘密表格中。 混合一个字母表,常见的有两种方法,这两种方法都采用混合一个字母表,常见的有两种方法,这两种方法都采用 了一个了一个密钥单词密钥单词或一个或一个密钥短语密钥短语。 方法方法1: a)选择一个密钥单词或密钥短语,例如:选择一个密钥单词或密钥短语,例如:construct b)去掉其中重复的字母,得:去掉其中重复的字母,得:constru c)在修改后的密钥
7、后面接上从标准字母表中去掉密钥中已有在修改后的密钥后面接上从标准字母表中去掉密钥中已有 的字母后剩下的字母,得:的字母后剩下的字母,得: 明文字母表明文字母表 abcdefghijklmnopqrstuvwxyz 密文字母表密文字母表 construabdefghijklmpqvwxyz 在设计密钥时,也可在明文字母表中选择一个特定字母,然在设计密钥时,也可在明文字母表中选择一个特定字母,然 后从该特定字母开始写密钥单词将密钥单词隐藏于其中。例后从该特定字母开始写密钥单词将密钥单词隐藏于其中。例 如,对于上例,选取特定字母如,对于上例,选取特定字母k k,则可得:,则可得: 明文字母表明文字母
8、表 abcdefghijklmnopqrstuvwxyz 密文字母表密文字母表 klmpqvwxyzconstruabdefghij 方法方法2 2: a)a)选择一个密钥单词或密钥短语,例如:选择一个密钥单词或密钥短语,例如: constructconstruct b)b)去掉其中重复的字母,得:去掉其中重复的字母,得:construconstru c)c)这些字母构成矩阵的第一行,矩阵的后续各行由标准字母这些字母构成矩阵的第一行,矩阵的后续各行由标准字母 表中去掉密钥单词的字母后剩下的字母构成表中去掉密钥单词的字母后剩下的字母构成 d)d)将所得矩阵中的字母按列的顺序排出将所得矩阵中的字母
9、按列的顺序排出 得:得: cugmyoahpznbiqsdjvrtekwrflx 按照此方法产生的字母表称为按照此方法产生的字母表称为 混淆字母表混淆字母表。 还可以使用还可以使用混淆数混淆数。混淆数由以下方法产生:。混淆数由以下方法产生: a)选一密钥单词或密钥短语,例如:选一密钥单词或密钥短语,例如:construct b)按照这些字母在标准字母表中出现的相对顺序给它们编号,按照这些字母在标准字母表中出现的相对顺序给它们编号, 对序列中重复的字母则自左向右编号,得对序列中重复的字母则自左向右编号,得 :construct 143675928 c)自左向右选出这些数字,得到一个混淆数字组自左
10、向右选出这些数字,得到一个混淆数字组:143675928, 混淆字母表由从小到大的顺序取矩阵中相应列得出。混淆字母表由从小到大的顺序取矩阵中相应列得出。 为增加保密性,在使用为增加保密性,在使用 代替法时还可利用一些代替法时还可利用一些 其他技巧,如单字母表其他技巧,如单字母表 对多字母表、单字母对对多字母表、单字母对 多字母、多重代替等。多字母、多重代替等。 2.移位密码体制移位密码体制 移位密码移位密码采用移位法进行加密,明文中的字母重新排列,本采用移位法进行加密,明文中的字母重新排列,本 身不变,只是位置改变了。身不变,只是位置改变了。 早在早在4000多年前,古希腊人就用一种名叫多年前
11、,古希腊人就用一种名叫“天书天书”的器械的器械 来加密消息。该密码器械是用一条窄长的草纸缠绕在一个来加密消息。该密码器械是用一条窄长的草纸缠绕在一个 直径确定的圆筒上,明文逐行横写在纸带上,当取下纸带直径确定的圆筒上,明文逐行横写在纸带上,当取下纸带 时,字母的次序就被打乱了,消息得以隐蔽。收方阅读消时,字母的次序就被打乱了,消息得以隐蔽。收方阅读消 息时,要将纸带重新绕在直径与原来相同的圆筒上,才能息时,要将纸带重新绕在直径与原来相同的圆筒上,才能 看到正确的消息。在这里圆筒的直径起到了密钥的作用。看到正确的消息。在这里圆筒的直径起到了密钥的作用。 以上移位较易被人破译,为打破字母表中原有的
12、顺序还可采用以上移位较易被人破译,为打破字母表中原有的顺序还可采用 所谓路线加密法,即把明文字母表按某种既定的顺序安排在一所谓路线加密法,即把明文字母表按某种既定的顺序安排在一 个矩阵中,然后用另一种顺序选出矩阵中的字母来产生密文表。个矩阵中,然后用另一种顺序选出矩阵中的字母来产生密文表。 例如,对明文:例如,对明文:the history of zju is more than one hundred years.以以7列矩阵表示如下:列矩阵表示如下: thehist oryofzj uismore thanone hundred years 再按事先约定的方式选出密文。例如,如按列选出,得
13、到再按事先约定的方式选出密文。例如,如按列选出,得到 密文:密文:touthyhrihueeysanahomndrifoorsszrnetjeed 使用不同的顺序进行编写和选择,可以得到各种不同的路使用不同的顺序进行编写和选择,可以得到各种不同的路 线加密体制。对于同一明文消息矩阵,采用不同的抄写方线加密体制。对于同一明文消息矩阵,采用不同的抄写方 式,得到的密文也是不同的。式,得到的密文也是不同的。 当明文超过规定矩阵的大小时,可以另加一矩阵。当需要当明文超过规定矩阵的大小时,可以另加一矩阵。当需要 加密的字母数小于矩阵大小时,可以在矩阵中留空位或以加密的字母数小于矩阵大小时,可以在矩阵中留
14、空位或以 无用的字母来填满矩阵。无用的字母来填满矩阵。 移位法也可和代替法结合使用,并使用约定的单词或短语作移位法也可和代替法结合使用,并使用约定的单词或短语作 密钥,以进一步加强保密性,这就是密钥,以进一步加强保密性,这就是钥控列序加密法钥控列序加密法。 例如例如,用密钥单词,用密钥单词 construct对明文对明文mathematical modeling is useful加密:加密: construct 1 4 36 7 5 928 mathemati calmodeli ngi s usefu l 按混淆数的顺序选出各列,得到密文:按混淆数的顺序选出各列,得到密文: mcnltlf
15、tliaagmdshmseosiiuaee 移位法的使用可重复多次,只进行一次移位加密的称为一移位法的使用可重复多次,只进行一次移位加密的称为一 次移位法次移位法,经多次移位的则称,经多次移位的则称 为为多次移位法多次移位法 代替法与移位法密码的代替法与移位法密码的破译破译 对窃听到的密文进行分析时,对窃听到的密文进行分析时,穷举法穷举法和和统计法统计法是最基本的破是最基本的破 译方法译方法 。 穷举分析法穷举分析法 就是对所有可能的密钥或明文进行逐一试探,就是对所有可能的密钥或明文进行逐一试探, 直至试探到直至试探到“正确正确”的为止。此方法的为止。此方法需要事先知道密码体需要事先知道密码体
16、 制或加密算法制或加密算法(但不知道密钥或加密具体办法)。破译时(但不知道密钥或加密具体办法)。破译时 需将猜测到的明文和选定的密钥输入给算法,产生密文,需将猜测到的明文和选定的密钥输入给算法,产生密文, 再将该密文与窃听来的密文比较。如果相同,则认为该密再将该密文与窃听来的密文比较。如果相同,则认为该密 钥就是所要求的,否则继续试探,直至破译。以英文字母钥就是所要求的,否则继续试探,直至破译。以英文字母 为例,当已知对方在采用代替法加密时,如果使用穷举字为例,当已知对方在采用代替法加密时,如果使用穷举字 母表来破译,那么对于最简单的一种使用单字母表单字母表来破译,那么对于最简单的一种使用单字
17、母表单字 母单元代替法加密的密码,字母表的可能情况有母单元代替法加密的密码,字母表的可能情况有26!种,种, 可见,单纯地使用穷举法,在实际应用中几乎是行不通的,可见,单纯地使用穷举法,在实际应用中几乎是行不通的, 只能与其它方法结合使用。只能与其它方法结合使用。 统计法统计法是根据统计资料进行猜测的。在一段足够长且非特别是根据统计资料进行猜测的。在一段足够长且非特别 专门化的文章中,字母的使用频率是比较稳定的。在某些技专门化的文章中,字母的使用频率是比较稳定的。在某些技 术性或专门化文章中的字母使用频率可能有微小变化。术性或专门化文章中的字母使用频率可能有微小变化。 在上述两种加密方法中字母
18、表中的字母是一一对应的,因此,在上述两种加密方法中字母表中的字母是一一对应的,因此, 在截获的密文中各字母出现的概率提供了重要的密钥信息。根在截获的密文中各字母出现的概率提供了重要的密钥信息。根 据权威资料报道,可以据权威资料报道,可以 将将26个英文字母按其出现的频率大小个英文字母按其出现的频率大小 较合理地分为五组:较合理地分为五组: i. t,a,o,i,n,s,h,r; ii. e; iii. d,l; iv. c,u,m,w,f,g,y,p,b; v. v,k,j,x,q,z; 不仅单个字母以相当稳定的频率出现,不仅单个字母以相当稳定的频率出现,相邻字母对相邻字母对和和三字母三字母
19、对对同样如此。同样如此。 按按频率大小频率大小 将双字母排列如下:将双字母排列如下: th,he,in,er,an,re,ed,on,es,st,en,at,to,nt,ha,nd,ou,ea,ng,a s,or,ti,is,er,it,ar,te,se,hi,of 使用最多的三字母按频率大小排列如下:使用最多的三字母按频率大小排列如下: the,ing,and,her,ere,ent,tha,nth,was,eth,for,dth 统计的章节越长,统计结统计的章节越长,统计结 果就越可靠。对于只有几果就越可靠。对于只有几 个单词的密文,统计是无个单词的密文,统计是无 意义的。意义的。 下面介
20、绍一下统计观察的三个结果:下面介绍一下统计观察的三个结果: a)单词单词the在这些统计中有重要的作用;在这些统计中有重要的作用; b)以以e,s,d,t为结尾的英语单词超过了一半;为结尾的英语单词超过了一半; c)以以t,a,s,w为起始字母的英语单词约为一半。为起始字母的英语单词约为一半。 对于对于a) ,如果将,如果将the从明文中删除,那么从明文中删除,那么t的频率将要的频率将要 降到第二组中其他字母之后,降到第二组中其他字母之后, 而而h将降到第三组中,将降到第三组中, 并且并且th和和he就不再是最众多的字母了。就不再是最众多的字母了。 以上对英语统计的讨论是在仅涉及以上对英语统计
21、的讨论是在仅涉及26个字母的假设条件个字母的假设条件 下进行的。实际上消息的构成还包括间隔、标点、数字下进行的。实际上消息的构成还包括间隔、标点、数字 等字符。总之,破译密码并不是件很容易的事。等字符。总之,破译密码并不是件很容易的事。 2.希尔密码希尔密码 代替密码与移位密码的一个致命弱点是代替密码与移位密码的一个致命弱点是明文字符明文字符和和密文字密文字 符符有相同的有相同的使用频率使用频率,破译者可从统计出来的字符频率中,破译者可从统计出来的字符频率中 找到规律,进而找出破译的突破口。要克服这一缺陷,提找到规律,进而找出破译的突破口。要克服这一缺陷,提 高保密程度就必须改变字符间的一一对
22、应。高保密程度就必须改变字符间的一一对应。 1929年,希尔利用线性代数中的矩阵运算,打破了字符间的年,希尔利用线性代数中的矩阵运算,打破了字符间的 对应关系,设计了一种被称为希尔密码的代数密码。为了便对应关系,设计了一种被称为希尔密码的代数密码。为了便 于计算,希尔首先将字符变换成数,例如,对英文字母,我于计算,希尔首先将字符变换成数,例如,对英文字母,我 们可以作如下变换:们可以作如下变换: abc de fg h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2
23、1 22 23 24 25 0 将密文分成将密文分成 n个一组,用对应的数字代替,就变成了一个个个一组,用对应的数字代替,就变成了一个个 n维向量。如果取定一维向量。如果取定一 个个n阶的非奇异矩阵阶的非奇异矩阵a(此矩阵为主要(此矩阵为主要 密钥),密钥), 用用a去乘每一向量,即可起到加密的效果,解密也去乘每一向量,即可起到加密的效果,解密也 不麻烦,将密文也分成不麻烦,将密文也分成n个一组,同样变换个一组,同样变换 成成n维向量,只维向量,只 需用需用a逆去乘这些向量,即可将他们变回原先的明文。逆去乘这些向量,即可将他们变回原先的明文。 定理定理1 ,若若 使得使得 (mod26),则必
24、有,则必有 =1,其,其 中中 为为 与与26的最大公因子。的最大公因子。 0 0, ,. . . ., ,2 25 5 a a0,250,25a a 1 1 1 1a aa aa aa a 1 11 1 g gc cd d a a, ,2 26 6 g gc cd d a a, ,2 26 6 a a 在具体实施时在具体实施时 ,我们很快会发现一些困,我们很快会发现一些困 难:难: (1) 为了使数字与字符间可以互换,必须为了使数字与字符间可以互换,必须 使用取自使用取自025之间的整数之间的整数 (2)由线性代数知识,由线性代数知识, ,其中,其中 为为a的伴随矩阵。由于使用了除法,的伴随
25、矩阵。由于使用了除法, 在求在求a的逆矩阵时可能会出现分数。不的逆矩阵时可能会出现分数。不 解决这些困难,上述想法仍然无法实现。解决这些困难,上述想法仍然无法实现。 解决的办法是引进同余运算,并用乘法解决的办法是引进同余运算,并用乘法 来代替除法,(如同线性代数中用逆矩来代替除法,(如同线性代数中用逆矩 阵代替矩阵除法一样)。阵代替矩阵除法一样)。 det(a)det(a) a a a a 1 1 a a a a 1 3 5 7 9 11 15 17 19 21 23 25 1 1 a a 1 9 21 15 3 19 7 23 11 5 17 25 例例1 取取a = 3用希尔密码体系加密语
26、句用希尔密码体系加密语句 thank you 步步1 将将thank you转换成转换成 (20, 8,1,14,11,25,15,21) 步步2 每一分量乘以每一分量乘以 3并关于并关于26取余得取余得 (8, 24,3,16,7,23,19,11) 密文为密文为hxcpg wsk 现在我们已不难将方法推现在我们已不难将方法推 广到广到n为一般整数为一般整数 的情况了的情况了,只需在乘法运算中结合应用取余,只需在乘法运算中结合应用取余, 求逆矩阵时用逆元素相乘来代替除法即可。求逆矩阵时用逆元素相乘来代替除法即可。 例例2 取取a = 则则 (具体求法见具体求法见 后后),用用a加密加密tha
27、nk you,再用再用 对密文解密对密文解密 0 0 1 1 3 3 2 2 0 0 1 1 a a 1 1 9 9 8 8 1 1 a a 8 8 2 20 0 1 14 4 1 1 2 25 5 1 11 1 2 21 1 1 15 5 用矩阵用矩阵a左乘各向量加密(关左乘各向量加密(关 于于26取余)得取余)得 24 10 16 3 23 9 11 5 得到密文得到密文 jxcpi wek 解解:(希尔密码加希尔密码加 密密)用相应数字代替字符,划分为两个元素一用相应数字代替字符,划分为两个元素一 组并表示为向量:组并表示为向量: (希尔密码解密希尔密码解密) 用用a-1左乘求得的向量,
28、即可还原为原来的向量。左乘求得的向量,即可还原为原来的向量。 (自行验证自行验证) 希尔密码是以希尔密码是以矩阵矩阵 法法为基础的,明文与密文的对应由为基础的,明文与密文的对应由n阶矩阶矩 阵阵a确定。矩阵确定。矩阵a的阶数是事先约定的,与明文分组时每组字的阶数是事先约定的,与明文分组时每组字 母的字母数量相同,如果明文所含字数与母的字母数量相同,如果明文所含字数与n不匹配,则最后不匹配,则最后 几个分量可任意补足。几个分量可任意补足。 a-1的求法的求法 方法方法1 利用公式利用公式 ,例如,若取,例如,若取 , 则则 , , (mod26) ,即,即 方法方法2 利用高斯消去法。将矩阵利用
29、高斯消去法。将矩阵(a, e)中的矩阵中的矩阵a消为消为e, 则原先的则原先的e即被消成了即被消成了a-1, )det( 1 a a a 0 1 a 3 2 3)det( a 9 )det( 1 a 0 3 9a 1 1 2 0 1 1 a 9 8 如如 0 1 3 2 , 0 1 1 0 (用用9乘第二行并取同乘第二行并取同 余余) 0 1 1 2 , 0 1 9 0 第一行减去第二行第一行减去第二行 的的2倍并取同余,得倍并取同余,得 0 1 1 0 , 0 1 9 8 左端矩阵已化为单位阵,故右端矩阵即为左端矩阵已化为单位阵,故右端矩阵即为 a-1 希尔密码系统的解密依赖于以下几把钥匙希
30、尔密码系统的解密依赖于以下几把钥匙 (key):): key1 矩阵矩阵a的阶数的阶数n,即,即 明文是按几个字母来明文是按几个字母来 划分的。划分的。 key2 变换矩阵变换矩阵a,只有知,只有知 道了道了a才可能推算出才可能推算出 key3 明文和密文由字母表明文和密文由字母表 转换成转换成 n维向量所对维向量所对 应的非负整数表(上应的非负整数表(上 面,为方便起见,我面,为方便起见,我 们采用了字母的自然们采用了字母的自然 顺序)。顺序)。 希尔密码体系为破译者设置了多道关口,加大了破译难度。破希尔密码体系为破译者设置了多道关口,加大了破译难度。破 译和解密是两个不同的概念,虽然两者同
31、样是希望对密文加以译和解密是两个不同的概念,虽然两者同样是希望对密文加以 处理而得到明文的内容,但是他们有一个最大的不同处理而得到明文的内容,但是他们有一个最大的不同破译破译 密码时,解密必需用到的钥匙未能取得,破译密码的一方需要密码时,解密必需用到的钥匙未能取得,破译密码的一方需要 依据依据密文的长度密文的长度,文字的本身特征文字的本身特征,以及,以及行文习惯行文习惯 等等各方面等等各方面 的信息进行破译。破译密码虽然需要技术,但更加重要的是的信息进行破译。破译密码虽然需要技术,但更加重要的是 “猜测猜测”的艺术。的艺术。“猜测猜测”的成功与否直接决定着破译的结果。的成功与否直接决定着破译的
32、结果。 破译希尔密码的关键是猜测文字被转换成成几维向量所对应的破译希尔密码的关键是猜测文字被转换成成几维向量所对应的 字母表是怎样的,更为重要的是要设法获取加密矩阵字母表是怎样的,更为重要的是要设法获取加密矩阵a。 (希尔密码的破译希尔密码的破译) 由线性代数的知识可以知道,矩阵完全由线性代数的知识可以知道,矩阵完全 由一组基的变换决定,对由一组基的变换决定,对 于于n阶矩阵阶矩阵a, 只要猜出密文只要猜出密文 中中n个线性无关的向量个线性无关的向量 ii apq (i=1, 2, , n) 对应的明文对应的明文 (i=1, 2, , n)是什么是什么 ,即,即 可确定可确定a,并将密码破译。
33、,并将密码破译。 在实际计算中,可以利用以下方法:在实际计算中,可以利用以下方法: 令令 则则 t n pppp),.,( 21 , t n t appppaq ),.,( 21 1 )(, tt aqppaq 取矩阵取矩阵q | p,经过一系列初等行变换,将由密文决定的经过一系列初等行变换,将由密文决定的n维维 矩阵矩阵q化为化为n阶单位阵阶单位阵 i的时候,由明文决定的矩阵的时候,由明文决定的矩阵p自动化自动化 为为 (a-1)t,即,即 : ),)(, ()(, 1111 1 tt t aiaqqqq aqqpq ( 初等行变换)初等行变换) 例例5 有密文如下有密文如下:goqbxcb
34、uglosnfal;根据英文的行根据英文的行 文习惯以及获取密码的途径和背景,猜测是两个字文习惯以及获取密码的途径和背景,猜测是两个字 母为一组的希尔密码,前四个明文字母是母为一组的希尔密码,前四个明文字母是dear,试,试 破译这段秘文。破译这段秘文。 解解: 前两组明文字前两组明文字 母母de和和ar 对应的二维向量是:对应的二维向量是: 按同一对应整数表,密文中对应这两组的二维向量是:按同一对应整数表,密文中对应这两组的二维向量是: tt pp)18, 1(,)5 , 4( 21 11 (7,15)tqap, t apq)2 ,17( 22 , t qqq),( 21 由此可得由此可得
35、)( ,)26(mod(, 1 t aipq初初等等行行变变换换) ,对应上例则有,对应上例则有 9 0 5 1 , 1 0 0 1 18 5 1 4 , 2 15 17 7 初等行变换并取同余初等行变换并取同余 5 1 )( 1 t a 9 0 , 0 1 1 a 9 5 利用这一逆矩阵,可对截获密文进行解密,破译出的电文是利用这一逆矩阵,可对截获密文进行解密,破译出的电文是 dear mac god forbid. 这只是对最简单情况进行的举例,如果加密矩阵的阶数大于这只是对最简单情况进行的举例,如果加密矩阵的阶数大于2, 需要的密文应该有较长长度,所需的计算量也是很大的。破需要的密文应该
36、有较长长度,所需的计算量也是很大的。破 译的关键是猜中译的关键是猜中n及及n个独立的个独立的n维向量,其后求解加密矩阵的维向量,其后求解加密矩阵的 计算量仅为计算量仅为 o(n2 )。 希尔密码体制中有两个要素非常重要:希尔密码体制中有两个要素非常重要: 第一第一是字母是字母 与与n维向量进行转换所依维向量进行转换所依 据的非负整数表,本节中所举的是最据的非负整数表,本节中所举的是最 自然的情况;当然如果依据其它的整自然的情况;当然如果依据其它的整 数表也是完全可以进行的,其情况将数表也是完全可以进行的,其情况将 会更复杂一些,破译的难度就会增大。会更复杂一些,破译的难度就会增大。 第二第二个
37、要素是加密矩阵,如何定义、个要素是加密矩阵,如何定义、 求解这个矩阵对于密码的加密和破译求解这个矩阵对于密码的加密和破译 更加关键。唯一的要求是加密时应选更加关键。唯一的要求是加密时应选 择行列式值与择行列式值与 26无公因子的矩阵。无公因子的矩阵。 rsa公开密钥体制公开密钥体制 传统的密码通讯只能在事先约定的双方间进行,双方必须掌传统的密码通讯只能在事先约定的双方间进行,双方必须掌 握相同的密钥,而密钥的传送必须使用另外的握相同的密钥,而密钥的传送必须使用另外的“安全信道安全信道”。 这样如果要使这样如果要使 n个用户都能够秘密的交换信息,则每个用户个用户都能够秘密的交换信息,则每个用户
38、将需要用个密钥,这种巨大的密钥量给密钥的分配与管理带将需要用个密钥,这种巨大的密钥量给密钥的分配与管理带 来了极大的困难;此外在有些情况下,事先约定密钥还是不来了极大的困难;此外在有些情况下,事先约定密钥还是不 可能的。可能的。 公开密钥体制的提出就是为了从根本上解决上述问题。公开密钥体制的提出就是为了从根本上解决上述问题。其其基基 本思想本思想是:是:把密钥划分为公开密钥和秘密密钥两部分,两者把密钥划分为公开密钥和秘密密钥两部分,两者 互为逆变换,但几乎不可能从公开密钥推出秘密密钥。每个互为逆变换,但几乎不可能从公开密钥推出秘密密钥。每个 使用者均有自己的公开及秘密密钥。使用者均有自己的公开
39、及秘密密钥。 虽然只要能解密的密文,从理论上讲虽然只要能解密的密文,从理论上讲 都是可破译的,但如果破译所需要都是可破译的,但如果破译所需要 的工作量过大,要求花费的时间过的工作量过大,要求花费的时间过 长,以致超过了保密期限,则该密长,以致超过了保密期限,则该密 码系统应当被认为是安全可靠的。码系统应当被认为是安全可靠的。 定义定义1 设设n为一正整数,将小于为一正整数,将小于n且与且与n互素的正整数个数互素的正整数个数 记为记为 (n),称之为欧拉(称之为欧拉(euler l.)函数。函数。 不难证明:若不难证明:若 p,q为两个相异素数,为两个相异素数,n=pq,则,则 (n) =(p-
40、1)(q-1) 令令p,q为随机选取的两个大素数(大约为十进制为随机选取的两个大素数(大约为十进制100位或更位或更 大)大), n=pq, n是公开的,是公开的, 而而p,q则是保密的。仅知道欧拉函则是保密的。仅知道欧拉函 数数(n) =(p-1)(q-1),但如果不知道因式分解就不能用这个公但如果不知道因式分解就不能用这个公 式计算。随机选取一个数式计算。随机选取一个数e,e为小于为小于(n)且与它互素的正整且与它互素的正整 数。利用辗转相除法,可以找到整数数。利用辗转相除法,可以找到整数d和和r,使,使 ed+r(n) =1 即即 ed 1 (mod (n) 数数n,e和和d分别称为分别
41、称为模模、加密密钥加密密钥和和解密密钥解密密钥。 数数n和和e组成公组成公 开密钥的开密钥的加密密钥加密密钥,而其余的项,而其余的项p,q, (n)和和 d 组成了秘密陷组成了秘密陷 门。很显然,陷门信息包含了四个相关的项。门。很显然,陷门信息包含了四个相关的项。 若知道若知道(n),则由则由 pq=n p+q=n-(n)+1 )1)()( qppqn 可知可知p,q是二次方是二次方 程程x+(n)-n-1)x+n=0的根,可以算出的根,可以算出p和和 q,从而将,从而将n因式分解。所以因式分解。所以rsa体制的安全性与因式分解密体制的安全性与因式分解密 切相关,若能知道切相关,若能知道n的因
42、子分解,该密码就能被破译。因此,的因子分解,该密码就能被破译。因此, 要选用足够大的要选用足够大的n,使得在当今的条件下要分解它足够困难。,使得在当今的条件下要分解它足够困难。 为加密消息为加密消息 m,首先将它分为小于,首先将它分为小于n(对二进制数据,选取(对二进制数据,选取 小于小于n的的2的最大次方幂)的数据块,也就是说,如果的最大次方幂)的数据块,也就是说,如果p和和q 都为十进制都为十进制100位的素数,则位的素数,则 n 刚好在刚好在200位以内,因此每位以内,因此每 个消息块的长度也应在两百位以内。加密消息个消息块的长度也应在两百位以内。加密消息c由类似划分由类似划分 的同样长度的消息块组成。加密公式为的同样长度的消息块组成。加密公式为 e ii mc)( (mod n) 要解密消息,取每一个加密块要解密消息,取每一个加密块c(i)并计算并计算 (mod n) 由公式由公式ed 1 (mod (n) 我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大众创业、万众创新背景下的互联网发展
- 2025年中国户外花园工艺家具铸件市场调查研究报告001
- 企业数字化转型产品策略分析
- 2025年中国微胶囊化红磷母粒市场调查研究报告
- 学校餐饮健康与营养均衡管理研究
- 2025年中国工艺手链市场调查研究报告
- 2025年中国屏幕鼠标笔系统数据监测报告
- 2025年中国宝石胶项目投资可行性研究报告001
- 2025年中国天然气压缩机市场调查研究报告
- 2025年中国大胎气嘴数据监测报告
- Unit+4+section+A+1a-2e+Why+dont+you+talk+to+your+parents 人教版八年级下册英语
- 加湿机作业指导书(装配工艺)
- 生产经理职业规划书
- 合规性义务清单
- 兽医检验练习题库含答案
- 王洪图黄帝内经80课时讲稿
- GB/T 13664-2023低压灌溉用硬聚氯乙烯(PVC-U)管材
- 护理评估量表及注意事项
- (完整word)中考语文作文评分标准表
- 非煤矿山通用三级安全教育培训资料公司级
- 房地产企业华润置地“十三五”战略规划及2017年商业计划书
评论
0/150
提交评论