计算机信息安全技术 课件 第2章 密码技术_第1页
计算机信息安全技术 课件 第2章 密码技术_第2页
计算机信息安全技术 课件 第2章 密码技术_第3页
计算机信息安全技术 课件 第2章 密码技术_第4页
计算机信息安全技术 课件 第2章 密码技术_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章密码技术2.1密码学概述2.2传统密码体制2.3现代对称密码体制2.4非对称密码体制2.5密码学的新进展

例:设明文是一串二进制序列,加密和解密算法都采用模2运算,即异或运算⊕,加密密钥和解密密钥相同。若明文

P=11001100加密和解密密钥

K=11000111则加密后的密文

C=P⊕K=00001011解密后的密文

P=C⊕K=110011002.1密码学概述密码体制的模型2.1密码学概述2.密码体制的分类(1)对称密码体制:K1=K2

或K2=f(K1)优点:(a)加密和解密的速度都比较快,具有较高的数据吞吐率;(b)对称密码体制中所使用的密钥相对较短;(c)密文的长度往往与明文长度相同。缺点:(a)密钥分发需要安全通道,需要付出的代价较高;(b)密钥量大,难于管理。2.1密码学概述(2)非对称密码体制:

K1和K2不相同,且不能从公钥推出私钥,或者说从公钥推出私钥在计算上是不可行的。优点:a)密钥的分发相对容易。b)密钥管理简单。c)可以有效地实现数字签名。缺点:a)与对称密码体制相比,非对称密码体制加解密速度较慢;b)同等安全强度下,非对称密码体制要求的密钥长度要长一些;c)密文的长度往往大于明文长度。2.1密码学概述柯克霍夫准则(KerckhoffsPrinciple): 即使密码系统的任何细节已为人悉知,只要密钥未泄漏,它也应是安全的。2.1密码学概述3.密码体制的攻击(1)唯密文攻击(CiphertextonlyAttack)

(2)已知明文攻击(KnownPlaintextAttack)

(3)选择明文攻击(ChosenPlaintextAttack)

(4)选择密文攻击(ChosenCiphertextAttack)

(5)选择文本攻击(ChosenTextAttack)

2.1密码学概述4.密码算法的评价1)安全性。安全是最重要的评价因素;2)计算的效率。即算法的速度,算法在不同的工作平台上的速度都应该考虑到;3)存储条件。4)软件和硬件的适应性。即算法在软件和硬件上都应该能够被有效的实现;5)简洁性。即要求算法应容易实现;6)适应性。即算法应与大多数的工作平台相适应,能在广泛的范围内应用,具有可变的密钥长度。

加密算法的有效性Unconditionallysecure,绝对安全?永不可破,是理想情况,理论上不可破,密钥空间无限,在已知密文条件下,方程无解。但是我们可以考虑:破解的代价超过了加密信息本身的价值破解的时间超过了加密信息本身的有效期Computationallysecure,满足上述两个条件直觉:什么是好的加密算法假设密码(password)k是固定的明文和密文是一个映射关系:单射,即

通常情况是:明文非常有序好的密码条件下,我们期望得到什么样的密文随机性如何理解随机性小的扰动带来的变化不可知考虑设计一个加密算法打破明文本身的规律性随机性(可望不可及)非线性(一定要)统计意义上的规律多次迭代迭代是否会增加变换的复杂性是否存在通用的框架,用于迭代复杂性带来密码分析的困难和不可知性实践的检验和考验2.2传统密码体制2.2.1置换密码

2.2.2代换密码

2.2.3传统密码的分析

古典加密方法2.2.1置换密码假定m=6,密钥是以下置换:123456—————————351642则逆置换为:123456—————————361524假定给出明文:shesellsseashellsbytheseashore首先把明文分为6个字母一组:shesellsseashellsbytheseashore每6个字母按置换函数进行重排,得到相应的密文:EESLSHSALSESLSHBLEHSYEETHRAEOS2.2.2代换密码

明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。单表代换密码多表代换密码单表代换密码(移位密码)ABCDEFGHIJKLM0123456789101112NOPQRSTUVWXYZ13141516171819202122232425单表代换密码(替换密码)单表代换密码(仿射密码)例:假定k=(7,3),7-1

mod26=15,加密函数为ek(x)=7x+3,则相应解密函数为dk(y)=15(y-3)=15y-19,其中所有的运算都是在Z26中。 容易验证,dk(ek(x))=dk(7x+3)=15(7x+3)-19=x+45-19=x。假设待加密的明文为hot。 首先转化三个字母分别为数字7,14和19。可得密文串为AXG。

单表代换密码的分析语言的统计特性:语言的频率特征连接特征重复特征频率特征在各种语言中,各个字母的使用次数是不一样的,有的偏高,有的偏低,这种现象叫偏用现象.对英文的任何一篇文章,一个字母在该文章中出现的次数称作这个字母(在这篇文章中)的频数。一个字母的频数除以文章的字母总数,就得到字母的使用频率。英文字母的普遍使用频率美国密码学家W.F.Friedman在调查了大量英文资料后,得出英文字母的普遍使用规律.英文字母普遍的频率特征英文单字母的相对频率表英文单字母使用频率分类统计分析示例例2.6假设从仿射密码获得的密文为:FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHR

最高频的密文字母是:R(8次),D(7次),E,H,K(各5次),F,S,V(各4次)假定R是e的加密,D是t的加密。数值化有ek(4)=17,且ek

(19)=3。得到两个线性方程组:4a+b=1719a+b=3这个方程组有惟一解a=6,b=19(在Z26

上)。但这是一个非法的密钥,因为gcd(a,26)=2>1,所以上面的假设有误。统计分析示例下一个猜想:R是e的加密,E是t的加密,得a=13,又是不可能的。继续假定R是e的加密,且K是t的加密。于是产生了a=3,b=5,这至少是一个合法的密钥。最后计算相应于k=(3,5)的解密函数,然后解密密文看是否得到了有意义的英文串。最后的明文是:

algorithmsarequitegeneraldefinitionsofarithmeticprocesses单表密码破译小结假定,推翻,再假定,再推翻,直至破译①对密文字母的频数、使用频率和连接次数进行统计②根据了解到的密码编制人员的语言修养,以及手中掌握的密文的统计规律,多方比较,对明文的语种和密码种类作出假定③将假定语种的字母频率与密文字母频率进行比较④首先找出密文中频率最高的字母⑤根据字母的频率特征、连接特征、重复特征,从最明显的单词或字母开始,试探进行⑥总结对抗频率分析的办法多名或同音代换密码多表代换密码多字母代换密码多表代换密码多表代换密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的加密方法。例:设m=6,且密钥字是CIPHER,这相应于密钥k=(2,8,15,7,4,17)。假定明文串是

thiscryptosystemisnotsecure。首先将明文串转化为数字串,按6个一组分段,然后模26“加”上密钥字可得相应的密文串:

VPXZGIAXIVWPUBTTMJPWIZITWZT多表代换密码有名的多表代换密码有VigenèreBeaufortRunning-KeyVerna转轮机(RotorMachine)多表代换密码Vigenère密码1858年提出的移位代换密码2.3现代对称密码体制现代密码学已发展成两个重要的分支:(1)对称加密体制

其典型代表是数据加密标准DES(数据加密标准)、IDEA(国际数据加密算法)、AES(高级加密标准)等算法。(2)公开密钥加密体制其典型代表是RSA、椭圆曲线加密、NTRU算法等。2.3现代对称密码体制序列密码体制和分组密码体制分组密码体制:数据在密钥的作用下,一组一组、等长地被处理,且通常情况是明、密文等长。一般以DES和AES为代表。序列密码体制:序列密码将明文消息序列m=m1,m

2,…,mn用密钥流序列k=k1,k2,…,kn逐位加密,得密文序列c=c1,c2,…,cn。以RC4为代表。DES概述数据加密标准(DES)是迄今为止使用最为广泛的加密算法。作为分组密码的典型代表,它是IBM公司在Lucifer密码的基础上改进的,已经有40多年的历史。1977年1月,DES被正式批准为美国联邦信息处理标准,直到1998年12月才被AES取代。DES算法描述DES是分组加密算法,它以64位(二进制)为一组,64位明文输入,64位密文输出。密钥长度为56位,但密钥通常表示为64位,并分为8组,每组第8位作为奇偶校验位,以确保密钥的正确性,对用户来说每组密钥仍是56位。利用密钥,通过传统的置换、代换和异或等变换,实现二进制明文的加密与解密。代换运算置换运算初始置换IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157逆置换IP-140848165614643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725DES框图(一)DES框图f(A,J)的运算过程DES(二)子密钥计算

DES(三)DES工作模式

ElectronicCodebook(ECB)

模式

DESCipherBlockChaining(CBC)模式CipherFeedback(CFB)模式OutputFeedback(OFB)模式DES(四)DES安全性

对DES的批评主要集中在以下几点:

(1)DES的密钥长度(56位)可能太短;

(2)DES的迭代次数可能太少;

(3)S-盒中可能有不安全因素;

(4)DES的一些关键部分不应当保密.DES安全性1977年,迪菲和海尔曼提出了一部造价约2千万美元的破解器,可以在一天内找到一个DES密钥。1993年,迈克尔·维纳设计了一部造价约1百万美元的破解器,大约可以在7小时内找到一个密钥。然而,这些早期的设计并没有被实现,至少没有公开的实现。在1990年代晚期,DES开始受到实用的攻击。1997年,RSA数据安全公司赞助了一系列的竞赛,奖励第一个成功破解以DES加密的信息的队伍1万美元,洛克·韦尔谢什(RockeVerser),马特·柯廷(MattCurtin)和贾斯廷·多尔斯基(JustinDolske)领导的DESCHALL计划获胜,该计划使用了数千台连接到互联网的计算机的闲置计算能力。1998年,电子前哨基金会(EFF)制造了一台DES破解器,造价约$250,000。该破解器可以用稍多于2天的时间暴力破解一个密钥,它显示了迅速破解DES的可能性。AES(AdvancedEncryptionStandard)AES使用的是置换-组合架构。AES在软件及硬件上都能快速地加解密,相对来说较易于实作,且只需要很少的内存。作为一个新的加密标准,目前正被部署应用到更广大的范围。AES(AdvancedEncryptionStandard)

(一)算法过程概述

AES各轮AES加密循环(除最后一轮外)均包含4个步骤:(1)轮密钥加运算(AddRoundKey)矩阵中的每一个字节都与该次轮密钥(Roundkey)做XOR运算;每个子密钥由密钥生成方案产生。(2)字节代换(SubBytes)通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。(3)行位移变换(ShiftRows)将矩阵中的每个横列进行循环式移位。

(4)列混合变换(MixColumns)为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每内联的四个字节。AES(1)轮密钥加运算(AddRoundKey)在每次的加密循环中,都会由主密钥产生一把轮密钥,这把密钥大小会跟原矩阵一样,然后与原矩阵中每个对应的字节作异或(⊕)加法。AES(1)轮密钥加运算(AddRoundKey)在每次的加密循环中,都会由主密钥产生一把轮密钥,这把密钥大小会跟原矩阵一样,然后与原矩阵中每个对应的字节作异或(⊕)加法。AES(2)字节代换(SubBytes)矩阵中的各字节通过一个8位的S-box进行转换。S-box与有限域GF(28)上的乘法逆有关。为了避免简单代数性质的攻击,S-box结合了乘法逆及一个可逆的仿射变换矩阵建构而成。

AES11000110=1000111111000111111000111111000111111000011111000011111000011111y0y1y2y3y4y5y6y7.⊕x0x1x2x3x4x5x6x7(2)字节代换(SubBytes)代换表(即S-盒)是可逆的,由以下两个变换得到:首先,将每个状态字节看作GF(28)上的元素,映射到自己的乘法逆元。其次,对该字节转换成二进制数,做如下的(GF(2)上的仿射变换:AES(2)字节代换(SubBytes)状态矩阵按照下面的方式映射成为一个新的字节:把该字节的高4位作为行值,低4位作为列值,得到S盒或逆S盒的对应元素作为输出。例如输入字节0x12,取S盒的第0x01行盒0x02列,得到0xC9。S盒代换表0123456789ABCDEF0637C777BF26B6FC53001672BFED7AB761CA82C97DFA5947F0ADD4A2AF9CA472C02B7FD9326363FF7CC34A5E5F171D83115304C723C31896059A071280E2EB27B275409832C1A1B6E5AA0523BD6B329E32F84553D100ED20FCB15B6ACBBE394A4C58CF6D0EFAAFB434D338545F9027F503C9FA8751A3408F929D38F5BCB6DA2110FFF3D28CD0C13EC5F974417C4A77E3D645D1973960814FDC222A908846EEB814DE5E0BDBAE0323A0A4906245CC2D3AC6291951479BE7C8376D8DD54EA96C56F4EA657AAE08CBA78252E1CA6B4C6E8DD741F4BBD8B8AD703EB5664803F60E613557B986C11D9EEE1F8981169D98E949B1E87E9CE5528DFF8CA1890DBFE6426841992D0FB054BB16AES(2)字节代换(SubBytes)此外在建构S-box时,刻意避开了固定点与反固定点,即以S-box替换字节的结果会相当于错排的结果。1)S盒变换是AES的唯一非线性变换,是AES安全的关键;2)AES使用16个相同的S盒,DES使用8个不同的S盒;3)AES的S盒有8位输入,8位输出;DES的S盒有6位输入,4位输出。AESAES(3)行位移变换(ShiftRows)每一行都向左循环位移某个偏移量。在AES中(区块大小128位),第一行维持不变,第二行里的每个字节都向左循环移动一格。同理,第三行及第四行向左循环位移的偏移量就分别是2和3。经过ShiftRows之后,矩阵中每一竖列,都是由输入矩阵中的每个不同列中的元素组成。AES(4)列混合变换(MixColumns)列混合运算将状态(State)的列看作是有限域GF(28)上的多项式a(x),与多项式c(x)=03x3+01x2+01x+02相乘(在模(x4+1)意义下)。b(x)=c(x)xa(x)(modx4+1)b0b1b2b3=02030101010203010101020303010102a0a1a2a3AES(4)列混合变换(MixColumns)在MixColumns步骤中,每个直行都在modulo之下,和一个固定多项式c(x)作乘法。AES的密钥调度密钥bit的总数=分组长度x(轮数Round+1)当分组长度为128bit且轮数为10时,轮密钥长度为:128x(10+1)=1408bit将初始密钥扩展成扩展密钥轮密钥从扩展密钥中取,第1轮轮密钥取扩展密钥的前Nb个字,第2轮轮密钥取接下来的Nb个字,以此类推。密钥扩展ω[0]ω[1]ω[2]ω[3]k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k33密钥扩展以128bit为例,对数组ω扩充40个新列,构成总共44列的扩展密钥数组。新列按照以下的方式递归产生:(1)如果i不是4的倍数,那么第i列由等式ω[i]=ω[i-4]⊕ω[i-1]确定;(2)如果i是4的倍数,那么第i列由等式ω[i]=ω[i-4]⊕T(ω[i-1])确定;ω[0]ω[1]ω[2]……ω[42]ω[43]ω[0]ω[1]ω[2]ω[3]AES密钥扩展图ω[4i]ω[4i-3]ω[4i-2]ω[4i-1]⊕ω[4i]ω[4i+1]ω[4i+2]ω[4i+3]T⊕⊕⊕密钥扩展函数T由三部分组成:字循环移位、字节代换和轮常量异或。(1)字循环移位:将1个字中的4个字节循环左移1个字节,即将输入字[b0,b1,b2,b3]变换为[b1,b2,b3,b0]。(2)字节代换:对字循环的结果使用S盒进行字节代换。(3)轮常量异或:将前两步的结果同轮常量Rcon[j]进行异或,其中j表示轮数。轮常量是一个字,使用轮常量是为了防止不同轮中产生的轮密钥的对称性或相似性。AES(二)密钥扩展(ExpandedKey)算法(1)当Nk≤6时(即AES算法密钥长度为128和192比特时)KeyExpansion(byteKey[4*Nk,w[Nb*(Nr+1)]){for(i=0;i<Nk;i++)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]);

for(i=Nk;i<Nb*(Nr+1);i++)

{temp=W[i-1];if(i%Nk==0)temp=SubByte(RotByte(temp))^Rcon[i/Nk];

W[i]=W[i-Nk]^temp;

}}(2)当Nk>6时(即AES算法密钥长度为256比特时)KeyExpansion(byteKey[4*Nk,w[Nb*(Nr+1)]){for(i=0;i<Nk;i++)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]);

for(i=Nk;i<Nb*(Nr+1);i++)

{temp=W[i-1];if(i%Nk==0)temp=SubByte(RotByte(temp))^Rcon[i/Nk];elseif(i%Nk==4)

temp=SubByte(temp);W[i]=W[i-Nk]^temp;}}AES的基本逆变换AES的巧妙之处:虽然解密算法与加密算法不同,但解密算法与加密算法结构相同。把加密算法的基本运算变换成逆变换,便得到解密算法。AES的各个基本变换都是可逆的。AES的基本逆变换轮密钥加变换的逆就是其本身;行移位变换的逆是状态的分别移位对应的位数;列混合变换的逆就是状态的每列都乘以c(x)的逆多项式d(x);S盒变换的逆:首先进行逆仿射变换,然后再把每个字节用对应的逆来代替,查逆S盒表。

逆S盒代换表0123456789ABCDEF052096AD53036A538BF40A39E81F3D7FB17CE339829B2FFF87348E4344C4DEE9CB2547B9432A6C2233DEE4C950B42FAC34E3082EA16628D924B2765BA2496D8BD125472F8F66486689816D4A45CCC5D65B69256C704850FDEDB9DA5E154657A78D9D84690D8AB008CBCD30AF7E45805B8B345067D02C1E8FCA3F0F02C1AFBD0301138A6B83A9111414F67DCEA97F2CFCEF0B4E673996AC7422E7AD3585E2F937E81C75DF6EA47F11A711D29C5896FB7620EAA18BE1BBFC563E4BC6D279209ADBC0FE78CD5AF4C1FDDA8338807C731B11210592780EC5FD60517FA919B54A0D2DE57A9F93C99CEFEA0E03B4DAE2AF5B0C8EBBB3C83539961F172B047EBA77D626E169146355210C7DAES(三)AES安全性2002年成为有效标准(旁道攻击成功一次)AES算法的安全性目前是可靠的;针对AES密码系统,不断有新的攻击方法提出,包括功耗分析、积分攻击和旁道攻击等,尚不能对AES构成实际的威胁;旁道攻击不攻击密码本身,而是攻击那些实现于不安全系统上的加密系统。序列密码--RC4RC4是由麻省理工学院RonRivest开发的可变密钥长度的流密码,是世界上普遍使用的流密码之一。RC4是一种基于非线性数据表变换的流密码,它以一个足够大的数据表S为基础,对表进行非线性变换,产生非线性的密钥流序列。RC4RC4密钥调度算法初始化数据表S

forifrom0to255 S[i]:=i k[i]=key[i%Len]endforj:=0forifrom0to255 j:=(j+S[i]+k[i])mod256 swapvaluesofS[i]andS[j]endforRC4RC4密钥流的每个输出都是数据表S中的一个随机元素。密钥流的生成需要两个过程:

1)密钥调度算法用于设置数据表S的初始排列;

2)伪随机生成算法.用于选取随机元素并修改S的原始排列顺序。优点:软件实现容易,已经应用于Microsoftwindows、LotusNotes等软件,用于安全套接字层SSL(SecureSocketLayer)保护因特网的信息流。2.4非对称密码体制特点:有一对密钥,其中pk是公开的,即公开密钥。另一个密钥sk是保密的,这个密钥称为私人密钥,简称私钥。进行加密和解密时使用不同的加密密钥和解密密钥,这里要求加密密钥和解密密钥不能相互推导出来或者很难推导出来。非对称密码体制都是建立在严格的数学基础上,公开密钥和私人密钥的产生是通过数学方法产生的,公钥算法的安全性是建立在某个数学问题很难解决的基础上。非对称密码使用模型2.4.1RSA非对称密码体制RSA发明人,从左到右RonRivest,AdiShamir,LeonardAdleman.照片摄于1978年2.4.1RSA非对称密码体制它的安全性一直未从理论上得到证明,但至今未被完全攻破。RSA具有的优势:为实现数字签名和数字认证提供了合适的手段,解决了DES不能解决的问题;在具有多个节点的网络中,大大减轻了密钥分配与管理的压力(在N个节点的网络中,用DES算法进行加密,需要N(N-1)/2对密钥,而RSA仅需要N对)RSA的数学基础定义1:对一个自然数P,如果P只能被1和自身除尽时,则称P为素数(或质数),否则为合数。定义2:如果整数a与整数b的最大公约数是1,则称a与b是互为质数。例如:2和3,5和7等都是互为质数。定义3:欧拉函数定义为:

φ(r)=r(1-1/P1)(1-1/P2)···(1-1/Pn)

P1

、P2···Pn是r的质因子,即公约数。

欧拉函数是用来计算1、2、3、···、r中有多少个数与r互为质数的。例如:当r=20时,由于r=2×2×5,即20的公约数是2和5

所以:

=20×(1-1/2)×(1-1/5)=8

即在1~20个整数中有8个与20互质的数,它们是1,3,7,9,11,13,17,19。定义4:两个整数a、b分别被m除,如果所得余数相同,则称a与b对模m是同余的,记作:

a≡b(modm)2.4.1RSA非对称密码体制算法描述:(1)选择一对不同的、足够大的素数p,q,计算n=pq;(2)计算Φ(n)=(p-1)(q-1);(3)找一个与Φ(n)互质的数e,且1<e<Φ(n)(令sk=e);(4)计算pk,使得pk*sk≡1modΦ(n)。2.4.1RSA非对称密码体制(5)公钥KU=(pk,n),私钥KR=(sk,n)。(6)加密时,先将明文变换成0至n-1的一个整数mi。若明文较长,可先分割成适当的组,然后再进行加密。设密文为Ci,则加密过程为:(7)解密过程为:RSA加密和解密的例子:在以下实例中只选取小数值的素数p,q,以及e,假设用户A需要将明文“key”通过RSA加密后传递给用户B。

(1)设计公、私密钥(e,n)和(d,n)。

令p=3,q=11,得出n=p×q=3×11=33;

Φ

(n)=(p-1)(q-1)=2×10=20;取e=3,(3与20互质)则e×d≡1modΦ

(n),即3×d≡1mod20。

pk怎样取值呢?可以用试算的办法来寻找。试算结果见下表:当d=7时,e×d≡1modΦ(n)同余等式成立。因此,可令pk=7。从而可以设计出一对公私密钥,加密密钥(公钥)为:

KU=(e,n)=(3,33),解密密钥(私钥)为:KR=(d,n)=(7,33)。

2)明文数字化。

将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值则得到分组后的key的明文信息为:11,05,25。(3)明文加密

用户加密密钥(3,33)将数字化明文分组信息加密成密文。由得:得到相应的密文信息为:11,26,16。(4)密文解密。

用户B收到密文,若将其解密,只需要计算,即:用户B得到明文信息为:11,05,25。根据上面的编码表将其转换为明文,我们又得到了恢复后的原文“key”。实际运用时,要比这复杂得多。由于RSA算法的公钥私钥的长度(模长度)要到1024位甚至2048位才能保证安全,因此,p、q、e的选取、公钥私钥的生成,加密解密模指数运算都有一定的计算程序,需要仰仗计算机的高速计算来完成。

RSA算法安全性在RSA密码应用中,公钥KU是被公开的,即pk和n的数值可以被第三方得到。破解RSA密码的问题就是从已知的pk和n的数值(n等于pq),设法求出sk的数值,这样就可以得到私钥来破解密文。从上文中的公式:d≡e-1(mod((p-1)(q-1)))或de≡1(mod((p-1)(q-1)))可以看出,密码破解的实质问题是:从pq的数值,求出(p-1)和(q-1)。即,只要求出p和q的值,就能求出d的值而得到私钥。RSA算法安全性RSA算法的安全性取决于p、q的保密性,以及分解大数的难度,所以在计算出r后要立即彻底删除p、q值。通常,在实际应用中应该注意:1.p与q的取值必须相差很大,有人建议至少要在10倍左右;

2.为了提高加密速度,通常取加密的sk为特定的小整数,如EDI(电子数据交换)国际标准中规定选择的,ISO/IEC9796甚至允许取k=3,这样导致加密速度一般比解密速度快10倍以上。RSA的缺点RSA的缺点:

a)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。

b)分组长度太大,为保证安全性,n至少也要600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。因此,使用RSA只能加密少量数据,大量的数据加密还要靠对称密码算法。2.4.2椭圆曲线密码椭圆曲线在密码学中的使用是在1985年由NealKoblitz和VictorMiller分别独立提出。椭圆曲线密码突出的优点:密钥长度短,抗攻击性强,单位比特的安全性强度高,比如160比特的ECC与1024比特的RSA有相同的安全强度;ECC的计算量小,处理速度快。在相同的强度下,用160比特的ECC进行加密、解密或数字签名要比用1024比特的RSA要快大约10倍。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论