- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子商务安全与支付
学 号
姓 名
系 别
年 级
专 业
IDEA、AES、FEAL加密算法介绍
IDEA
Xuejia Lai和James Massey于1990年提出了PES (Proposed Encryption Standard,推荐加密标准)分组密码算法。1991年对PES作了改进,并将改进后的算法称为IPES(Improved Proposed Encryption Standard,改进型推荐加密标准)。IPES于1992年改名为IDEA(International Data Encryption Algorithm,国际数据加密算法)。
其基本参数为:分组长度:64比特,密钥长度:128比特,迭代圈数:8圈(每圈6个子密钥块)再附加一个输出变换(4个子密钥块)
IDEA的分组长度为64比特,密钥长度为128比特。其加、脱密运算用的是同一个算法,二者的不同之处仅在于密钥调度不同。其加、脱密运算是在128比特初始密钥作用下,对64比特的输入数据分组进行操作,经8圈迭代后,再经过一个输出变换,得到64比特的输出数据分组。整个运算过程全部在16位子分组上进行,因此该算法对16位处理器尤其有效
IDEA 加密总体方案流程图
“使用来自不同代数群的混合运算”是IDEA所提出的新的设计思想,它利用三个“不相容”的群运算以达到混乱,利用乘加密码结构来实现扩散和进一步的混乱。使得IDEA复杂的代数结构不能得到简化。而这正是我们在设计分组密码算法中所追求的。
IDEA是一种使用128比特密钥以64比特分组为单位加密数据的分组密码,其设计目标可以归结为两方面:一方面与密码强度有关,另一方面与使用的方便性有关。
IDEA的密码强度和下列特性与其密码强度有关:
分组长度:分组长度应足够大,以抵抗统计分析。使用64比特的分组大小通常认为已经足够强。
密钥长度:密钥长度应足够长,以抵抗密钥穷尽攻击,通过使用128比特的密钥长度,在将来的很长时间里IDEA似乎在这方面都是安全的。
密文应以一种复杂的方式依赖于明文和密钥,这样做的目的是:使确定密文的统计特性和明文的统计特性的依赖关系非常复杂。IDEA通过使用三种不同的操作达到该目的,而DES主要靠异或运算及小的非线性S盒代替来实现。
在IDEA中,扩散是由乘加结构(MA)实现的。MA的输入有两部分,一部分是由明文导出的两个16比特数值,另一部分是两个16比特密钥子块。第一圈输出的每一比特依赖于输入(明文部分和密钥部分)的每一比特。经8圈循环之后,可提供非常有效的扩散。
在实现方面,IDEA拥有一下特点:
1、便于软件实现的原则
使用子分组:密码操作应该在对于软件来说很自然的子分组上进行,具有这种特性的子分组包括8,16或32比特,IDEA使用16比特子分组。
使用简单操作:密码操作应该容易使用加法、移位等基本操作编程实现。IDEA的三种操作符合该要求,其中最困难的模乘法也可以容易地用简单的基本操作构成。
2、便于硬件实现的设计原则
加密和解密过程类似:加密和解密应该只在使用密钥的方式上有所不同,以便于同一个设备既可用于加密又可用于解密。和DES一样,IDEA具有满足该要求的结构。
规则的结构:为便于VLSI(very large scale integration,超大规模集成)实现,密码应该具有一种模块化结构。IDEA是由重复使用两种基本的模块化(变换子块和加密子块)构件而构成的。
AES
随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的筛选,比利时Joan Daeman和Vincent Rijmen提交的Rijndael算法被提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AES的128密钥比DES的56密钥强1021倍[2]。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。本文以128为例,介绍算法的基本原理;结合AVR汇编语言,实现高级数据加密算法AES。
AES是分组密钥,算法输入128位数据,密钥长度也是128位。用Nr表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系如表1所列)。每一轮都需要一个与输入分组具有相同长度的扩展密钥Expandedkey(i)的参与。由于外部输入的加密密钥K长度有
文档评论(0)