已经有30多年的历史,1976年11月23日DES被采纳为联邦标准;DES是第一个得到广泛应用的密码算法;DES在1977年经过美国国家标准局(NBS)采用为联邦标准之后,已成为金融界及其它各种产业最广泛应用的对称密钥密码系统。– DES是分组密码的典型代表,也是第一个被公布出来的标准算法。– DES是一种分组加密算法,输入的明文为64bit,密钥为56bit,生成的密文为64bit。– 1997年6月,许多台计算机并行工作,140天内破解了DES;1998年,DES在48天内被破解;1999年,几个小时内就能破解。– DES已经过时,基本上认为16轮、56bit不再安全。¨1977年,美国正式公布美国数据加密标准--DES,并广泛用于商用数据加密。算法完全公开,这在密码学史上是一个创举。¨计算机通信网络发展对信息安全保密的需求日益增长,大量敏感和机密信息、数据的传输和存贮都要求有密码保护,为了实现同一水平的安全性和兼容性,而提出了数据加密标准化。DES是这种需求的产物。¨DES是一个典型的基于Feistel结构的密码体制。– DES输入的是64bit明文分组;–使用56bit的密钥;–循环的轮数是16;–使用了8个S盒实现扰乱功能。¨参见word版DES算法描述
其它对称密码体制¨三重DES(3DES)¨使用三(或两)个不同的密钥对数据块进行三次(或两次)加密。¨三重DES的强度大约和112-bit的密钥强度相当¨三重DES有四种模型üDES-EEE3使用三个不同密钥顺序进行三次加密变换üDES-EDE3使用三个不同密钥依次进行加密-解密-加密变换üDES-EEE2其中密钥K1=K3顺序进行三次加密变换üDES-EDE2其中密钥K1=K3依次进行加密-解密-加密变换¨到目前为止还没有人给出攻击三重DES的有效方法。
¨IDEA International Data Encryption Algorithm;Xuejia Lai和James Massey提出;IDEA是对称、分组密码算法,输入的明文为64位,密钥为128位,生成的密文为64位;IDEA是一种相对较新的算法,有坚强的理论基础,已被证明可对抗差分分析和线性分析;PGP中已实现了IDEA;
来学嘉博士简介¨来学嘉,瑞士籍华人。是中国和瑞士联合培养的国际级密码学家。– 1978-1982,西安电子科技大学本科;– 1982-1984,西安电子科技大学信息安全研究所硕士研究生;– 1985到瑞士ETH Zurich,Signal and InformationProcessing Laboratory– 1988-1992在该实验室攻读博士研究生并取得博士学位。–他的两位导师,是著名密码学家肖国镇教授和瑞士ETH的
Massey教授。– 1992年,来学嘉的博士论文\Block Ciphers\给出了IDEA密码算法(International Data Encryption
Algorithm)。–如今,这个\国际数据加密算法\已经成为全球通用的加密标准。
¨高级加密标准(AES)¨1997年4月15日美国国家标准和技术研究所NIST发起了征集AES算法的活动并成立了专门的AES工作组–目的是为了确定一个非保密的公开披露的全球免费使用的分组密码算法用于保护下一世纪政府的敏感信息并希望成为秘密和公开部门的数据加密标准¨1997年9月12日在联邦登记处公布了征集AES候选算法的通告AES的基本要求是–比三重DES快或至少和三重DES一样–安全分组长度128比特,密钥长度为128/192/256比特¨1998年8月20日NIST召开了第一次候选大会并公布了15个候选算法¨1999年3月22日举行了第二次AES候选会议从中选出5个算法– MARS RC6 Serpent Twofish Rijndael¨2000年10月,美国国家技术标准委员会(NIST)选定\为AES¨Rijndael是迭代分组密码,其分组长度和密钥长度都是可变的;¨为了满足AES的要求,分组长度为128bit,密码长度为128/192/256bit,相应的轮数r为10/12/14。
对称密码体制应用实例¨NTFS格式下Windows操作系统自带的EFS的加密演示。
3非对称密码体制¨公开密钥(非对称)密码的起源:–试图解决常规加密面临的两个难题的过程中发展起来的。?其一,密钥分配问题:有的密码学家认为要信任第三方违反了密码学的本义:使自己的通信具有完全的保密能力。于是他们努力寻求不需要第三方而又能安全地进行密钥分配的方法。?其二,数字签名问题:也就是我们能不能设计一种方法防止数字报文的发送者抵赖,否认发送过此报文。也即使各参与方都信服地确认一个数字报文是由某个人发送的。公钥密码学发展的重要事件¨1976年,由Diffie和Hellman在其\密码学新方向\一文中提出了公开密钥的概念。¨1978年,Rivest、Shamir和Adleman发表了RSA算法,公开密钥密码系统由理论走向实用。
Ronald L.Rivest brief introduction简介¨He is also afounder of RSA Data Security(now merged with Security Dynamics to form RSA Security).¨Professor Rivest has research interests in
cryptography,computer and network security,electronic voting,and algorithms.
公开密钥算法的特性¨公开密钥算法与常规加密算法最显著的不同是用一个密钥进行加密,而用另一个不同但是相关的密钥进行解密:–加密:X-Y:Y=EKU(X)–解密:Y-X:X=DKR(Y)=DKR(EKU(X))¨一般对两个密钥作出区分:– KU是公钥,需要传递给对端B,B使用此密钥加密数据传给本端A;– KR是私钥,本端A保留且不能为外人所知,A使用此密钥解密B用KU加密过的数据。– KU和KR是相互联系的,必须成对出现。¨公开密钥算法的另一个特性是仅仅知道密码算法和加密密钥而要确定解密密钥,在计算上是不可能的。¨显然,KU和KR虽然相关,但是由KU不能推导出KR,否则将无安全性可言。¨某些公钥加密算法,例如RSA,还具有一个非常有用的特性:–两个相关密钥中任何一个都可以用作加密而让另外一个用作解密。¨此特性可以使公钥算法用于鉴别:本端A持有KR,加密数据后传送给对端B;B使用相应的KU进行解密,若解密成功,则可断定数据是由A发送的,因为只有A才有KR。¨若有可信的第三方则可以演化为数字签名系统。¨网络中的每个端系统都产生一对加密密钥KU(公开密钥)和解密密钥KR(私有密钥)。¨每个系统都通过把自己的KU放进一个登记本或文件来公布它。¨如果A想给B发送一个报文,他就用B的公开密钥KUB加密这个报文。B收到这个报文后就用他的私有密钥KRB解密报文。其他所有收到这个报文的人都无法解密,因为只有B才拥有他自己的KRB。
(1)RSA算法¨RSA算法1977年由Ronald LRivest、AdiShamir和Len Adleman发明,1978年正式公布。¨RSA是分组加密算法,明文和密文在0~n-1之间,n是一个正整数,一般明文分组长度为k比特,则2 kn=2 k+1。¨RSA已经是当今应用最广泛的公钥密码算法。¨RSA算法描述如下:¨1)分组大小为k,2 kn=2 k+1;¨公开密钥KU={e,n},私有密钥KR=d,其中n为两个素数p和q的乘积,e与(p-1)(q-1)互素,ed=1(mod(p-1)(q-1));¨加密:c=me mod n;¨解密:m=cd mod n。设n是两个不同奇素数之积,即n=pq,计算其欧拉函数值Φ(n)=(p-1)(q-1).随机选一整数e,1≤eΦ(n),(Φ(n),e)=1.因而在模Φ(n)下,e有逆元d=e-1 mod(j(n))取公钥为n,e,秘密钥为d.(p,q不再需要,应该被舍弃,但绝不可泄露)定义加密变换为Ek(x)=x emodn,x?Zn解密变换为D k(y)=ye(modn),y?Zn¨解密算法的正确性验证如下:¨cd(mod n)=(me)d(mod n)=med(mod n)¨=m*mk(p-1)(q-1)(mod n)¨=m*1(mod n)¨
=m(mod n)¨下面举例说明RSA算法的使用:¨1)Bob寻找出两个大素数p=101和q=113;¨2)Bob计算出n=pq=11413,(n)=(p-1)(q-1)=11200;Bob选择e=3533,与(n)互素;¨Bob用Euclidean算法将求得:d=e-1=6597 mod 11200;Bob在一个目录中公开n=11413和e=3533¨现假设Alice想发送明文9726给Bob,她计算:97263533=5761(mod 11413),把5761发送给Bob¨当Bob接收到密文5761,他用私有密钥d=6597进行解密:57616597=9726(mod 11413)。¨注:9726等表示0、1串,是信息。指数模运算有快速算法。
其他公钥算法¨Rabin密码算法合数模下求解平方根的困难性¨ElGamal密码算法基于离散对数问题¨椭圆曲线密码算法代数几何中基于椭圆曲线的点集
两类不同算法的对比?对称密码算法加/解密速度快,但密钥分发问题严重。?非对称密码算法加/解密速度较慢,但无密钥分发问题。密钥管理复杂性计算速度开发费用和成本
私钥体制复杂快较小 公钥体制简单慢较大
3公钥密码技术应用(两类密码体制的混合使用、数字信封技术)基于公钥的鉴别¨若使用的公钥算法两个相关密钥中任何一个都可以用作加密而让另外一个用作解密,则可用于鉴别。¨A准备给B发送一个报文,在传输前用A的私有密钥KRA对它进行加密。¨B收到报文后可以用A的公开密钥KUA将这个报文解密。¨该报文是用A的私有密钥加密的,只有A才可能发送这个报文,而且报文在传输途中受到加密保护不能被篡改,因此报文的发送者和报文的完整性同时得到了证实。记录激动时刻,赢取超级大奖!点击链接,和我一起参加\:我的世界杯Blog日志\活动!
特别声明: 1:资料来源于互联网,版权归属原作者 2:资料内容属于网络意见,与本账号立场无关 3:如有侵权,请告知,立即删除。