- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AES算法原理及实现
AES算法及实现
1,AES背景
AES是美国国家标准技术研究所NIST旨在取代DES的新一代的加密标准。NIST对AES候选算法基本要求是:对称分组密码体制;密钥长度支持128,192,256位;明文分组长度128位;算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮征集、分析、测试、共产生了15个候选算法。1999年8月NIST公布了五种算法(MARS,RC6,Rijindael,Serpent,Twofish)成为候选算法。最后Rijndarl,这个由比利时人设计的算法与其它候选算法在成为高级加密标准(AES)的竞争中取得成功,于2000年10月被NIST宣布成为取代DES的新一代的数据加密标准即AES。尽管人们对AES还有不同的看法,但总体来说Rijndael作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256 比特,相对而言,AES的128比特密钥比DES的56比特密钥强1021倍。
2,AES加密、解密算法原理概述
对称密码算法根据对明文消息加密方式不同科分为两大类,即分组密码和流密码。分组密码将消息分为固定长度的分组,输出的密文分组通常与输入的明文分组长度相同。AES算法属于分组密码算法,它的输入分组、输出分组以及K为128,192,或256比特。用Nk=4,6,8代表密钥串的字数(1字=32比特)用Nr表示对一个数据分组加密的论数,每一轮读需要一个和输入分组具有相同长度(128比特)的扩展密钥Ke的参与。由于外部输入的加密密钥K长度有限,所以在AES中要用一个密钥扩展程序把外部密钥K在扩展成更长的比特串,以生成各轮的加密密钥。
2.1,密钥
密钥(Key)是密码算法中参与运算的数值(或者数值集)。对报文进行加密,我们需要一个加密算法、一个加密密钥以及明文,并由此产生密文。对报文进行解密,我们需要一个解密算法、一个解密密钥以及密文,并由此复原原始的明文。
2.2加密变换
AES的加密和解密框图如图1所示。
加密变换
设X施AES的128比特明文输入,Y是128比特的密文输出,则AES的密文Y可以用下面的复合变换表示:Y=A k(r+1) R S Akr C R S A k(r1)…… C R S Ak1(X)
其中“”表示复合运算。这里Ak1 表示对X的一个变换Aki (X)=X ⊕KI(KI为第i轮的子密钥,为比特串的异或运算)。S:S盒置换。即对每一个字节用S-Box做一个置换。S-Box是一个给定的转换表。R:行置换。C:列置换。S’(x)=a(x)S(X)
这里是特殊的乘法运算,将在下面仔细介绍。
图1
解密变换
解密变换是加密变换的逆转换。
3, AES加密/解密算法的实现
3.1 分组加密
表1是三种不同类型的AES加密密钥组大小与相应的加密轮数对照表。
加密开始时,输入分组的各字节按表2的方式装入一个矩阵State中。如输入ACBDEFGHIJKLMONE则输入块影射到如表2的状态矩阵State中。
AES类型密钥长度分组大小加密轮数AEIM AES-1284字节4字10BFJOAES1926字节4字12CGKNAES2568字节4字14DHLE 表1 表2
加密过程主程序由下面的伪代码描述。其中子程序Subytes(),ShiftRows(),MixColumms()和AddRounKey(),密钥扩展程序将在下面介绍。
3.2 S盒变换(Subyte)
对输入矩阵的任何一个元素A 做如下变换S[A]:
一个元素A从存储角度看都是一个八位的二进制数。算出前四位所代表的十六进制数x和后四位所代表的十六进制数y。如A x=c, y=4
从AES算法给定的S-Box(16行16列其中每个元素为一个字节具体的S-Box略)中找出S[A]=S[x,y]的值。如A,S[A]=S[x,y]=S[c,4]={1c}。或直接通过下面的公式将A=b7b6b5b4b3b2b1b0变为S[A]=b ’7b’6b’5b’4b’3b’2b’1b’0b’=b′i=bib(i+4)mod8b(i+5)mod8b(i+6)mod8b(i+6)mod8⊕Ci
这里c=(c0,c1,c2,c3,c4,c5,c6,c7)=(0,1,1,0,0,0,1,1)。
3.12
您可能关注的文档
- 2013安徽高考政治卷-解析版.doc
- 2013届高三5月质量数学检测.doc
- 2013南工大专业英语期末复习资料.docx
- 2013届高三复习精品资料(河流专题).doc
- 2013年三国法多选题解析.docx
- 2013年《审计》课程第二次作业.doc
- 2013年CCAA风险管理考题100分.doc
- 2013届高三物理名校试题汇编B专题13_热力学定律.doc
- 2013年上海市初中英语不规则动词表.doc
- 2013届高考化学命题大猜想与易错专练.doc
- 人教版四年级上册数学期末测试卷带答案(名师推荐).docx
- 2024广播影视职业技能鉴定经典例题含完整答案详解(各地真题).docx
- 2024教育硕士高频难、易错点题含完整答案详解(全优).docx
- 2024教育硕士综合提升测试卷(原创题)附答案详解.docx
- 2024广播影视职业技能鉴定真题(真题汇编)附答案详解.docx
- 2024民航职业技能鉴定通关题库含完整答案详解(全优).docx
- 2024教育硕士高频难、易错点题及答案详解【全国通用】.docx
- 2024教育硕士模拟试题附答案详解【培优A卷】.docx
- 人教版四年级上册数学期末测试卷含答案【培优a卷】.docx
- 2024民航职业技能鉴定题库含答案详解(预热题).docx
最近下载
- 牛津自然拼读oxfordphonicsLevel2Unit4Lesson2课件.pptx VIP
- 《梅花易数》预测实战方法.pdf VIP
- 医院地震应急演练脚本.docx VIP
- EPLAN笔记-EPLAN笔记-EPLAN笔记-EPLAN笔记.pdf VIP
- 污水处理厂应急预案.doc VIP
- 防火封堵工程施工与验收记录表(附件8)模板.pdf VIP
- 公路工程高程横坡计算程序(2011表格版).xls VIP
- BS EN 1822-1-2019 高效空气过滤器(EPA,HEPA和ULPA).第1部分:分类性能试验标记.pdf VIP
- 皇极经世预言未来的原理.pdf VIP
- 牛津自然拼读课件OPW PPT L2 U4 Lesson1.pptx VIP
文档评论(0)