密码算法设计与实现.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安全程序设计方法 ——密码算法设计与实现 黄玉划 问题 问题分析 ——加密 我们用EA、 DA和AA分别表示加密算法、解密算法和数据认证算法,则加密过程如图所示,可表示为: (1)校验值ICV = AA (P, Ka, IV); (2)密文C = EA (K, IV, P || ICV) 问题分析 ——加密(续) 上图中,IV一般为计数器,功能是抗重放攻击,对于相同的明文和密钥,每次可以加密成不同的密文。数据认证算法AA的功能是检测密文是否被篡改,保证数据的完整性,即消息的接收者能够验证在传送过程中消息没有被修改,入侵者不能用假消息代替合法消息。认证密钥Ka与加密密钥K可相同,也可不相同。 问题分析 ——解密 解密过程根据加密套件选择相应的解密算法,如图所示,可表示为:(1)P || ICV = DA (K, IV, C); (2)认证码MAC = AA (P, Ka, IV); (3)MAC = ICV ? 密码算法选择 (1)加密算法(流密码算法、分组密码算法、公钥密码算法)实现保密性; (2)数据认证算法(分组密码算法的认证模式、CRC 、单向Hash函数、数字签名算法)保证完整性(消息真实性)。 密码算法具体选用 1 分组密码算法:AES、SHACAL2、DES、IDEA、MISTY1、Camellia、RC6 2 分组密码模式:CBC+PXOR(或CRC)、ECB(或CTR或OFB)+CBC-MAC、OCB、PMAC、RMAC、XCBC 3 流密码算法和PRNG(与CBC-MAC结合):RC4、SEAL、A5、ANSI X9.17(基于3DES)、G-SHA-1 4 CRC-32 5 单向Hash函数(备用):SHA1、SHA256、Whirlpool、RIPEMD160、SHA384、SHA512、HMAC、UMAC、T-T-MAC、MD5 1 分组密码算法 1.0 概述 1.1 DES(数据加密标准)算法 1.2 IDEA(国际数据加密算法) 1.3 AES(Rijndael)算法 1.4 NESSIE候选分组密码算法 1.0 分组密码算法概述 美国的第一代分组密码算法标准是DES算法,也是一个早期的国际标准;第二代标准是AES算法。欧洲的第一代分组密码算法标准是IDEA算法,新标准是日本人Eisaku Takeda设计的MISTY1算法、Shiho Moriai和Mitsuru Matsui设计的Camellia算法、以及法国人Helena Handschuh和David Naccache设计的SHACAL2算法。 日本在分组密码算法领域的研究非常活跃,向NESSIE提交了5个分组密码算法,是递交数量最多的国家。Camellia算法也是日本的分组密码算法标准,据说某些性能超过了AES 算法。第三代移动通信系统3GPP的标准加密算法KASUMI是MISTY1算法的变种。 巴西在分组密码算法领域的研究也比较活跃,向NESSIE提交了3个分组密码算法,其中,Paulo S. L. M. Barreto和比利时人Vincen t Rijmen合作设计的Khazad算法是入围欧洲决赛的算法。在美国和欧洲新标准征集过程中,俄罗斯、加拿大、澳大利亚和韩国也提交了几个分组密码算法。 国内科研人员提出了几个分组密码算法,性能还不错。 1.1 DES算法 ——有陷门? DES的半公开性:S盒的设计原理至今未公布,可能隐含有陷门(Hidden trapdoors)。 有趣的是,DES算法是由IBM公司设计的;当时的美国国家标准局(NSA)修改了S-盒设计,以确保IBM没有在算法中嵌入陷门,因为NSA没有理由相信IBM的研究成果,而他们不能绝对确定DES算法没有陷门,如果有陷门,将是他们失职,所以只好修改S-盒;而人们又怀疑NSA在DES算法中强加了弱点。 1.2 IDEA(国际数据加密算法) IDEA算法是欧洲的第一代分组密码算法标准,是由我国旅欧学者来学嘉和他的导师James Massey设计的,也是PGP的标准之一。该算法的设计原则是“来自于3个不同代数群的混合运算”,即异或、模216加、模216+1乘,这就使得IDEA算法易于软硬件实现。 在代数结构上,IDEA算法也不是一个群。该算法的软件实现速度是DES算法的2倍。Bruce Schneier认为,在早期的分组密码算法中,IDEA算法是最好和最安全的。 1.3 AES(Rijndael)算法 DES算法的安全强度越来越满足不了技术发展的需要。为此,美国NIST于1997年开始制定AES(高级加密标准)算法以满足新时代的信息安全需求。1999年,NIST宣布已从15个候选算法中选出5个较好的算法:MARS,RC6,Rijndael,Serpent,Twofish。20

文档评论(0)

wendan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档