




已阅读5页,还剩60页未读, 继续免费阅读
(信号与信息处理专业论文)基于先进加密标准(aes)算法的加密芯片设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文 y 、6 2 4 5 2 l 基于先进加密标准( a e s ) 算法的加密芯片设计 摘要 随着近年来信息产业的发展及对网络传输数据安全性的考虑,保障网络信息 安全的加密产品具有广泛的应用前景。本课题的工作主要是对基于a e s 加密算 法的加密芯片进行研究和设计实现。 本文首先介绍了先进加密标准算法的原理,该算法将安全、高效、使用的方 便性和灵活性集于一体,具有硬件实现简单的特性。然后是针对a e s 算法加密 解密模块的a s i c 设计。在设计的过程中,完成了整体的结构划分及各部分功能 定义,使用v e r i l o gh d l 硬件描述语言进行了电路的r t l 级描述,并使用c a d e n c e 公司的v e r i l o g x l 仿真器完成了软件平台上的功能仿真,实现了采用1 2 8 比特 密钥的数据加密解密的逻辑功能。基于a l t e r a 公司的a p e x 2 0 k 系列芯片,使用 s y n p l i f y 和q u a r t u s2 1 平台进行了f p g a 综合和布局布线,进行了时序仿真。仿 真的结果达到了设计要求,表明设计是正确的。 关键词:先进加密标准、a e s 、加密、a s i c 、f p g a 、v e r i l o gh d l 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 a b s t r a c t t h e e n c r y p t i o np r o d u c th a sw i d ea p p l i c a t i o ni nf u t u r e ,w i t ht h ed e v e l o p m e n to f i n f o r m a t i o nt e c h n o l o g yi nt h er e c e n ty e a r s t h i st h e s i si sf o c u so nt h ed e s i g no fa e s a l g o r i t h ms e c u r i t yc h i p f i r s t l y , t h et h e s i sd i s c u s s e st h et h e o r yo fa e se n c r y p f i o na l g o r i t h m ,w h i c hi ss a f e , e t t i c i e n t , c o n v e n i e n ta n d n i m b l ei nn s e s e c o n d l y , t h ed e s i g n o fa e sa l g o r i t h ma s i ci s c o m p l e t e d ,w h i c hi n c l u d e s s t r u c t u r ep a r t i t i o na n df u n c t i o nd e f i n i t i o n e a c hp a r ti sd e p i c t e dw i t hv e r i l o gh d l b yu s i n gv e r i l o g x lt o o l s ,b e h a v i o rs i m u l a t i o ni sd o n ea n d t h ec h i pl o g i ci sr e a l i z e d w h i c he n c r y p t sd a t a 埘血1 2 8 b i tc i p h e rk e y s b a s e do na p e x 2 0 k c h i pa n ds y n p l i f y a n dq u a r t u s 2 1t o o l s ,f p g as y n t h e s i sa n dp & ra r ef i n i s h e d ,a n dt h et i m i n g s i m u l a t i o ni sd o n e t h es i m u l a t i o nr e s u l t si n d i c a t et h ec o l - r e c t u e s so ft h ec u c n i t d e s i g n k e yw o r d s :a e s , e n c r y p t i o n ,a s i c ,f p g a ,v e r i l o g h d l i l 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 i 绪论 1 , 1 现代加密与集成电路技术 信息化和网络化是当今世界经济与社会发展的大趋势,也是推动我国国民经 济和社会现代化的关键环节。与此同时,由于计算机网络所具有的开放性与共享 性,其安全性也成为人们日益关切的问题。在世界范围内,对各种加密( 敏感) 信息的攻击手段层出不穷。在一些信息化较为发达的国家,已遭受很大的威胁和 损失。我国信息化、网络化建设在技术与装备上对别国的极大依赖性,使信息安 全问题尤为突出。据报道美国出口中国的计算机设备留有“暗门”,供美国政 府随时启动,出口中国的计算机系统安全等级也只有c 2 级,为美国国防部规定 的8 个级别中倒数第三。我国的信息网络安全起步较晚,安全防护能力处于发展 的初级阶段,与发达国家有较大的差距。当前,国内许多信息网络应用系统尚处 于不设防状态,存在很大的风险性;有些重要的网络应用系统使用的安全设备都 是从国外直接引进的,难以保证安全利用和有效监控。密码技术特别是加密技术 是信息安全技术中的核心技术,国家关键基础设施中不可能引进或采用别人的加 密技术,只能自主开发。目前我国在密码技术的应用水平方面与国外还有一定的 差距。国外的密码技术必将对我们有一定的冲击力,特别是在加入w t o 组织后 这种冲击力只会有增无减。因而我们必须自主的开发我们自己的加密解密芯片, 从而保证我们信息的安全性。 鉴于当前社会信息化和网络化的蓬勃发展,对密码产品的需求是十分巨大 的。随着光纤到户工程的迅速推广,社会活动将更多的依赖于计算机网络。相当 一部分专用网络将由公共网络服务来代替,这就需要对在公共网上传输的大量信 息进行快速加密解密。随着金卡过程的推广实施,智能i c 卡在我国的使用面将 会越来越大,在智能i c 卡中需要使用对称加密技术,而a e s 算法硬件实现相对 规模小、速度快,适合在i c 卡中使用。目前具有自动结算、联网缴税等功能的 高性能p o s 机在国外普遍使用,而国内极少,有很大的市场需求。国内少数大 公司已在国际合作开发该类的p o s 机和相关芯片,而a e s 是本次合作芯片必备 加密算法之一。在移动通信等电信设备中,对加密功能也提出了要求。集成电路 具有巨大的社会效益。本项目的设计、流片、测试、封装都在国内完成,这对信 息安全芯片具有重要意义。 在采用硬件实现加密技术的过程中,其将计算机和微电子技术有机的融合 在一起由计算机学科中所延伸的密码学提供了实现加密的成熟的软件技术,即 所谓的软件加密,而微电子技术将加密软件算法转换成硬件实现的a s i c 芯片, 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 即所谓的硬件加密。与传统的软件加密相比,硬件加密的主要特点是:抗解密强 度高,稳定性和兼容性较好。而本文正是将基于对称密钥密码体系的a e s 加密 算法通过硬件产品电子钥匙实现,信息安全采用集成电路技术后,由于集成电路 本身的微观性、复杂性、加工的高难度和昂贵的代价,使得信息安全得到了一些 额外的保护。 本论文中安全芯片的实现采用了美国最新公布的a e s 加密算法,a e s 算法 被认为是至今为止理论上最为成功的加密算法。该硬件实现的设计具有很大的应 用的灵活性和独立性,论文中设计实现的安全芯片可以作为网络安全保护的产品 电子钥匙,而对于加密解密模块单独作为加密解密运算部件,可以在微处理器 的控制下使用,也可以作为独立的专用系统应用。 在我国,对加密芯片的关注还不是很多,采用a e s 算法的加密芯片研究更 少,本项目的最近科技查新报告显示我国目前还没有成型的芯片面市,因而对于 论文中安全芯片的设计工作,不仅对于我国微电子设计方法领域提供创新性的见 解和新的理论依据,而且对于我国的信息产业安全提供了新的保障。而安全芯片 系统则可以广泛应用于电子钥匙产品和包括智能卡在内的多种微型控制系统中, 具有很广泛的应用前景,因而对其的研究和设计是一件非常有意义的工作。 1 2 先进加密标准( a e s ) 简介 鉴于d e s 的没落,美国政界和商界一直在寻求高强度、高效率的替代算法。 1 9 9 7 年,美国国家标准技术研究所( n i s d 为了履行其法定职责,发起了一场推 选用于保护敏感的( 无密级的) 联邦信息的对称密钥加密算法的活动。1 9 9 8 年, n i s t 宣布接受1 5 个侯选算法并提请全世界密码学界协助分析这些侯选算法。分 析的内容包括对每个算法的安全性和效率进行初步检验。1 9 9 9 年选定了5 个算 法作为参加决赛的算法。 经公众对决赛算法进行更进一步的分析评论,n i s t 决定推荐r i j n d a e l 作 为先进加密标准( a z s ) 。该算法是迭代分组密码算法,其分组长度和密钥长度都 可改变。该算法的主要优点是:设计简单,密钥安装快,需要的内存空间少,在 所有平台上运行良好,支持并行处理,抗所有已知攻击。 1 3a e s 加密芯片设计 1 3 1 芯片设计的任务目标 研发可重复利用的具有独立知识产权的a e s 加密芯片i p 核 密钥长度为1 2 8 比特,数据吞吐量大于1 6 0 m b p s ; 硕士论文 基于先进加密标准( a e s ) 算法韵加密芯片设计 完成芯片原型电路设计,并对所设计的原型电路进行测试。 1 3 2 芯片应用环境 成果将首先应用于中国华大集成电路设计中心某款p o s 机芯片,并争取在 智能i c 卡、计算机网络、保密通信、电子商务等领域推广应用。 1 4 本论文研究内容介绍 先进加密标准( a e s ) 加密芯片的开发是上海市科学技术委员会集成电路科技 创新项目。本论文主要研究的是先进加密标准加密解密模块的设计与实现。 针对集成电路设计的流程,如图1 1 所示,安全芯片的课题主要进行了前端 的逻辑设计工作。 图1 1 集成电路设计流程 前端设计的具体工作为对于系统实现功能的定义和规划、采用硬件描述语言 v e r i l o g 完成代码的设计工作、对设计的源代码进行仿真和综合、f p g a 验证、测 试。前端设计的流程图如图1 2 。 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 图1 2 前端设计的流程图 本课题的首要目标是使用现场可编程门阵列f p g a ( f i e l d p r o g r a m m a b l e g a t e a r r a y ) 来完成电路原型设计和功能实现。我们采用自顶向下( t o pd o w n ) 的设 计方法,用v e f i l o gh d l 硬件描述语言编写加密解密模块代码,使用s y n p l i f y 和 q u a r t u s 2 1 e d a 开发工具实现面向f p g a 的逻辑综合和优化、功能仿真、布局布 线和时序验证,制作评估测试板完成硬件功能的调试。本论文的所有设计和验证 都是以v e f i l o gh d l 硬件描述语言和f p g a 为基础进行的。 加密解密的过程如图1 3 。 明文 。 e n c r y p f i o n 图1 3 加密解密示意图 根据这个过程本课题主要进行了如下的研究工作: 1 、 针对安全芯片所要实现的系统功能和算法的结构特点,进行模块划 分,定义模块间的接口。 本论文所设计的安全芯片系统,主要由加密解密模块组成,加密解密模块 分别是实现芯片系统中的加密解密的运算功能部件。 2 、对于a e s 算法的软件建模以及硬件实现算法的理论证明。 对于a e s 算法的软件建模是针对其硬件实现的算法的软件实现,从而保证 硬件实现的算法的逻辑功能正确性,而不包含时序的信息,对于硬件实现所采用 的算法,从数学的理论角度进行验证,从而为模型的建立提供理论上的保证。 硕士论文基于先进加密标准( a e s ) 算法的加密芯片设计 3 、a e s 模块软核的设计。 在确定算法流程及模块体系结构的基础上,对于其功能模块进行划分,通过 硬件描述语言v e r i l o gh d l 实现其逻辑功能。 4 、芯片系统的逻辑功能验证。 对于a e s 模块搭建仿真平台,验证其逻辑功能和时序的正确性。 另外,在条件具备的情况下,运用s y n o p s y s 综合工具将芯片设计转为面向 a s i c 专用集成电路( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 的设计a 利用s y n o p s y s 工具作为开发平台,并且在厂商工艺库的支持下遵循a s i c 的设计流程来进行 代码的模拟仿真、综合和优化,最后进行版图的设计与优化。 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 2 a e s 算法( r i j n d a e l ) 原理【l 】【: 2 1a e s 竞争过程及r i j n d a e l 概述 鉴于d e s 的没落美国政界和商界一直在寻找高强度、高效率的替代算法。1 9 9 7 年,美国国家标准技术研究所( n i s t ) 为了履行其法定职责,发起了一场推选用于保 护敏感的( 无密级的) 联邦信息的对称密钥加密算法的活动。于是密码学界的精英 们纷纷加入竞争的行列,提交自己设计的分组密码算法。与此同时,n i s t 制定了用 于比较侯选算法的评估准刚。该评估准则分为三大项:( 1 ) 安全性,( 2 ) 成本,( 3 ) 算法的实现特性。 经公众对决赛算法进行更进一步的分析评论,n i s t 决定推荐r i j n d a e l 作为 先进加密标准( a e s ) 。2 0 0 0 年1 0 月2 日,美国商业部长宣布r i j n d a e l 最终获胜。 r i j n d a e l 的获胜决非偶然,纵观r i j n d a e l 的安全性和其他各种性能,该算法易 于实现,灵活性强,所以成为a e s 的最佳选择方案。无论在反馈模式还是在非反馈 模式中使用r i j n d a e l ,其软件和硬件对计算环境的适应性强,性能稳定,密钥建 立时间优良,密钥灵活性强。存储需求量低,即使在空间有限的环境使用也具有良 好的性能。 2 2r u n d a e l 的数学基础和设计思想 2 2 1 有限域c r ( z 5 一个有限域中的元素可以用多种不同的方式表示。对于任意素数的方幂q ,只 有唯一一个有限域g f ( q ) ,因此,6 f ( 2 8 ) 的所有表示是同构的。尽管有这一等价性, 但不同的表示方法对g f ( 2 8 ) 上的运算复杂度是有影响的。此处采用传统的多项式表 示法。 由b 7 b 6 b 5 k b 3 b 2 b l b o 构成的一个字节b 看成系数在f 0 ,j ) 中的多项式: b t x7 + b 6 x 6 十b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b l x + b 0 ( 2 2 1 ) 例如:十六进制数“5 7 ”对应的二进制数为0 1 0 1 0 l l l ;看作一个字节,对应的 多项式为x 6 + x 4 + x 2 + x + 1 。 在多项式表示中,g f ( 2 8 ) 上的两个元素的和仍然是一个次数不超过7 的多项式, 其系数是原来两个元素对应系数的模2 加( 比特异或) 。要计算g f ( 2 8 ) 上的乘法, 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 必须先确定个g f 2 ) _ l 的8 次不可约多项式:g f ( 2 8 ) - n - - d 元;素的乘积就是这两个 多项式的模此8 次不可约多项式的积。对于r u n d a e l 密码,这个8 次不可约多项 式确定为: m ( x ) - - x 8 + x 4 + x 3 + x + 1( 2 2 2 ) 这个8 次不可约多项式的十六进制表示为l i b ,二进制表示为9 比特1 0 0 0 1 1 0 1 l 。 以下是一个乘法的例子: ( x 6 + x 4 + x 2 + x + 1 ) ( x 了+ x + 1 ) = x 7 + x 6 + l ( r o o dm ( x ) ) 或者5 7 8 3 = c l 以上的运算虽然不是标准的按字节的运算,但也是比较简单的计算部件。另外, 对于u eg f ( 2 8 ) ,u 0 ,计算u 的乘法逆元v 可直接采用g f ( 2 ) 上多项式的欧几里德 扩充算法得: f ( x ) g ( x ) + m ( x ) h ( x ) = l( 2 2 3 ) 其中u = f ( x ) ,俨g ( x ) 。即f i x ) g ( x ) = l ( m o dm ( x ) ) 或者u x v = i 。 2 2 2 系数在g f ( 2 s ) i zl 式 类似的,4 个字节的向量可以表示为系数在g f ( 2 8 ) 上的次数小于4 的多项式。 多项式的加法就是对应系数相加:换句话说,多项式的加法就是4 字节向量的逐比 特异或。 我们规定多项式的乘法运算必须要取模m ( x ) = x 4 + 1 ,这样使得次数小于4 的多 项式的乘积仍然是一个次数小于4 的多项式。即 ( a 3 x 3 + a 2 x 2 + a l x + a o ) x ( b 3 x 3 + b 2 x 2 + b l x + b 0 ) _ d 3 x 3 + d 2 x 2 + d i x + d o( 2 2 4 ) 其中d o = a o b o + a a b l + a 2 b z + a l b 3 : d l = a l b o + a o b t + a 3 b 2 + a 2 b 3 : d 2 = a z b o + a l b l + a o b 2 + a 3 b 3 ; d 3 = a 3 b o + a 2 b t + a l b 2 + a o b 3 。 我们可以将上述计算表示为 d d l d 2 以 口0口3 口i口o 口2q a 30 2 口2q 口3a 2 口。口3 d ld 0 b o b 1 b 2 6 3 ( 2 2 5 ) 注意到m ( x ) 不是g f ( 2 8 ) 上的不可约多项式( 甚至也不是g f ( 2 ) 上的不可约多项 式) ,因此非0 多项式的这种乘法不是群运算。不过在r i j n d a e l 密码中,这种乘 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 法运算只限于乘一个固定的有逆元的多项式b 3 x 3 + b 2 x 2 + b i x + b o 。有如下定理: 系数在g f ( 2 8 ) 上的多项式a 3 x 3 + a 2 x 2 + a l x + a o 是模x 4 + l 可逆的,当且仅当矩阵 0口3 q口。 口2q 如0 2 在g f ( 2 8 ) 上可逆 证明如下:a 3 x 3 + a 2 x 2 + a i x + a o 是模x 4 + l 可逆的,当且仅当存在多项式 h 3 x 3 + h 2 x 2 + h i x + h o 使得 ( a 3 x 3 + a 2 x 2 + a l x + a o ) ( h 3 x 3 + h 2 x 2 + h l x + h o ) = l ( m o d x 4 + 1 ) 因此有 ( a 3 x 3 + a 2 x 2 + a l x + a 0 ) ( h 2 x 3 + h 1 x 2 + h o x + h 3 ) = x ( m o d x 4 + 1 ) ( a 3 x 3 + a 2 x 2 + a l x + a o ) ( h l x 3 + h o x 2 + h 3 x + h 2 ) = x 2 ( m o d x 1 ) ( a 3 x 3 + a 2 x 2 + aj x + a o ) ( h o x 3 + h 3 x 2 + h 2 x + h 】) - x 3 ( m o d x 4 + 1 ) ) ; 又当且仅当存在多项式h 3 x 3 + h 2 x 2 + h l x + h o 使得 a oa 3 口i口0 a 2吼 码口2 定理得证。 2 2 3 设计思想 岛h 。 以h : h lh oh 3 h 2 h o lo o1 0 0 0 0 oo 0 0 10 0l ( 2 2 6 ) r i 州d a e l 密码的设计力求满足以下3 条标准: ( 1 ) 抗所有的已知攻击。 ( 2 ) 在多个平台上速度快,编码紧凑。 ( 3 ) 设计简单。 当前的大多数分组密码,其轮函数有f e i s t e l 结构或准f e i s t e l 结构,即将中间 状态的部分比特不加改变的简单转置到其他的位置。r i j n d a e l 没有这种结构,其 轮函数是由三个不同的可逆一致变换组成的,称它们为三个“层”。所谓“一致变换” 是指状态的每个比特都是用类似的方法进行处理的。不同层的特定选择大部分是建 立在“宽轨迹策略”的应用基础上的:简单的说,“宽轨迹策略”就是提供抗线性密 码分析能力的一种设计。为实现宽轨迹策略,轮函数三个层的每一层都有它自己的 鳓所肪凡 丌o i o o o i 0 0 且 1 2 3 o 4 口 口 口 加m 踟m 硕士论文 基于先进加密标准( t e s ) 算法的加密芯片设计 功能: 线性混合层:确保多轮之上的高度扩散。 非线性层:将具有最优的“最差情形非线性特性”的s 盒并行使用。 密钥加层:单轮子密钥简单的异或到中间状态上,实现一次性掩盖。 在第一轮之前,应用了一个初始密钥加层。这一设计的用意很简单,就是为了 使攻击者无法从明文端消去其他计算部件。 为了使加密和解密算法在结构上更加接近,最后一轮的线性混合层与前面各轮 的线性混合层不同。可以证明这种设计不以任何方式提高或降低该密码的安全性。 2 3 a e s 算法描述 分组加密算法是由一种叫圈变换的函数通过多次迭代构成的,圈变换的构成包 括非线性层、扩散层和密钥调度等元素。这样设计是基于香农提出的设计原则,即 非线性替代与线性混合函数交替进行。这样结合的结果导致来自密码的重要的统计 特性必须是高度相关的和敏感的类型,即通过混合变换的扩散和混乱产生充分的混 合,使加密后的分组特性分布更均匀。非线性的目标就是通过一个较小的非线性元 素得到一个大的非线性构件。而线性的目标就是使非线性元素取得尽可能简单。而 一个高强度的圈函数就是通过重复这些简单的函数变化,并且在每圈迭代中,通过 密钥调度引入密钥。这样便以简单的运算代价而取得了更大的加密效果。在a e s 算 法中,也包含非线性结构、线性结构和圈密钥的混合。它是一个迭代型分组密码, 其分组长度和密钥长度都可变,各自可以独立的指定为1 2 8 比特、1 9 2 比特、2 5 6 比特。整个算法包括加密和解密两部分。 2 3 1 加密过程描述 a e s 算法在整体上采用的就是替代置换网络结构。它由初始圈密钥加,n r - i 圈变换,结尾圈变换三个部分组成。以1 2 8 位密钥为例,加密部分的执行过程如图 2 1 所示。 硕士论文基于先进加密标准( a e s ) 算 圭的加密芯片设计 t = 1 0 图2 1 加密过程示意图 t ,illj 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 r i j n d a e l 的明文分组称为状态,所有的操作都在状态之间进行。状态可以用 以字节为元素的矩阵阵列图表示,该阵列有4 行,列数记为n b ,n b 等于分组长度 除以3 2 。 密码密钥类似的用一个以字节为元素的矩阵阵列图表示,该阵列有4 行,列数 记为n k ,n k 等于分组长度除以3 2 。以下的表2 1 就是n b = 6 的状态和n k - - 4 的密 码密钥。 表2 1n b = 6 状态和n k - - 4 密码密钥 a o oa o ia 0 2a 0 3a 0 4a 0 5l ( o ok o lk 0 2k 0 3 a l oa l ia 1 2a i 3a 1 4a l5k l ok 1 1k 1 2k 13 a 2 0a 2 ia 2 2a 2 3a 2 4a 2 5k 2 0k 2 1k 2 2k 2 3 a 3 0a 3 1a 3 2a 3 3a 3 4a 3 5k 3 0k 3 ik 3 2k 3 3 一个明文分组按a o o a l o a 2 0 a 3 0 ;a o l a i l a 2 l a 3 1 :的顺序影射到状态阵列中。同理, 密码密钥按k o o k i o k z o k 3 0 - k o t k i i k 2 ki ;的顺序影射到密码密钥阵列中。当输出数 据分组时,也是按相同的顺序从状态阵列中取出各字节的。将数据分组看作4 n b 维 向量,每一个分量是一个字节,记为( t o t l t 2 t 4 n b 】) 。则数据分组的第n 个分量对应于 状态阵列的第( ,k ) 位置上的元素,其中n - - 3 + 4 k ,0 j 3 。 迭代的轮数记为n r ,n r 与n b 和n k 有关,以下的表2 2 给出了n r 与n b 和 n k 的关系。 表2 2 迭代轮数n r 为n b 和n k 的函数 n rn b = 4n b = 6n b = 8 n k = 41 01 21 4 n k = - 61 21 21 4 n k = 81 41 41 4 r i j n d a e l 的轮函数由四个不同的计算部件所组成,分别是:字节代替 ( s u b b y t e s ) 、行移位( s h i f t r o w s ) 、列混合( m i x c o l u m n s ) 、加密钥( a d d r o u n d k e y ) 。 1 字节代替( s u b b y t e s )是将状态阵列的每个字节做相同的变换,该 变换由以下两个子变换所合成: 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 ( 1 ) 首先将字节看作g f ( 2 8 ) 上的元素,映射到自己的乘法逆;0 字节影 射到它本身。 ( 2 ) 其次,将字节做如下的( g f ( 2 ) 上的:可逆的) 仿射变换: b o b i b i b ; b : b ; b : b ; b o b 1 b 2 b 3 b 4 b 5 b 6 b 7 + ( 2 3 1 ) 以上两个子变换合成的实现,采用一个8 比特输a 8 比特输出的s 盒。图2 2 表示了字节代替的状态: 图2 2 字节替代状态图 在字节代替中所用的s 盒采用1 6 进制表示如表2 3 。 2 l l 1 l o o o 1 l l 1 o o o l l l l o o 0 l 1 l l o o o l 1 l 1 0 o 0 1 1 1 1 1 o o 1 l l l l o o l 1 l l l o o l l 1 1 1 o o 0 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 表2 3 字节替代的s 盒 例如,如果s ,= 5 3 ) ,那么将根据行系数5 和列系数3 来决定代替值,即结果 s + l ,1 ; e d ) 。 2 行移位( s h i f i r o w s ) 是将状态阵列的各行进行循环移位,不同状态行的 位移量不同。第0 行不移动,第一行循环左移c 1 个字节,第二行循环左移c 2 个字 节,第三行循环左移c 3 个字节。位移量( c 1 ,c 2 ,c 3 ) 的选取和n b 有关,当n b = 4 或6 时一般取( c l ,c 2 ,c 3 ) - ( 1 ,2 ,3 ) 。 图2 3 表示了行移位的转换。 虞蛩 虞蛩 虞坠 图2 3 行移位的转换 3 列混合( m i x c 0 1 u m n s ) 是将状态阵列的每个列视为系数在g f ( 2 8 ) 上、次数小 于4 的多项式,被同一个固定的多项式c ( x ) 进行模x 4 + l 可逆的多项式,否则列混合 璺圭笙兰一一一 苎王叁堂塑查签堡! 垒! 墅簦鎏箜塑童蔓苎堡生 变换就是不可逆的,因而会使不同的明文分组具有相同的对应密文分组。r i j n d a e l 的设计者所给出的c ( x ) 为( 系数用1 6 进制数表示) : c ( x ) = 0 3 i x 3 + o i x 2 + f 0 1 x + 0 注 c ( x ) 是与x 4 + 1 互素的,因此是模x 4 + 1 可逆的。由前面的讨论知,列混合运算可 表示为g f ( 2 8 ) 上的可逆线性变换: s 0 f i j 1 。 s 2c s 3c 0 20 3 0 l0 2 0 10 l 0 3o l 0 10 1 0 30 1 0 20 3 0 10 2 s 0c c j 2c j 3 声,o c 6 的两个版本。 针对n k s 6 ,扩展算法为 k e y e x p a n s i o n ( b y t ek e y 【4 + n k lw 【n b + ( n r + d 1 ) f o r ( i ;o j 异或轮常数r c o n j n k 。 针对n k 6 ,扩展算法为: k e y e x p a n s i o n ( b y t ek e y 4 * j ,w n b + ( n 忖1 ) 】) ; f o r0 = 0 j n k ;j - 十) w d 】- ( k e y 4 * j + 1 ,k e y 4 * j + 2 ,k e y 4 * j + 2 ,k e y 4 8 j + 3 1 ; f o r ( j = n k ;j 6 与n k 6 的密钥扩展算法的差别在于多了一种条件下的操作:当j 为 4 的倍数时,须先将前一个字w i j l 】经过s u b b y t e s 变换。 2 3 3 解密过程描述 加密算法可以被转换,按照相反的顺序来产生直接的解密算法。同样以1 2 8 比特为例,解密部分的执行过程如图2 6 所示。 图2 6 解密运算执行过程 解密部分的伪代码如下: i n v c i p h e r ( b y t ei n 4 + n b ,b y t eo u t 4 + n b ,w o r dw n b + ( n r 十1 ) 】) b e g i n b y t es t a t e 4 ,n b 】 s t a t e = i n a d d r o u n d k e y ( s t a t e ,w i n p n b ,( n r + 1 ) + n b l 】) f o rt = 9 t 0 0 、l,、,l,j 硕士论文 基于先进加密标准( a e s ) 算法的加密苍片设计 f o rr o u n d = n r ls t e p - 1d o w n t o1 l n v s h i f l r o w s ( s t a t o ) i n v s u b b y t e s ( s t a t e ) a d d r o u n d k e y ( s t a m ,w t o u n d + n h ,( m u n d + 1 ) n b - 1 1 ) i n v m i x c o l u m n s ( s l a t e ) e n d f o r i n v s h i r r o w s ( s t a t e ) i n v s u b b y t e s ( s t a t e ) a d d r o u n d k c y ( s t a l e ,w 0 ,n b - t ) o u t = s t a t e e n d r i j n d a e l 解密过程的轮函数同样由四个不同的计算部件所组成,分别是行位 移( 1 n v s h i r r o w s ) 、字节代替( i n v s u b b y t e s ) 、列混合( i n v m i x c o l u m n s ) 、加密钥 ( a d d r o u n d k e y ) 。 1 行移位( i n v s h i f l r o w s ) l n v s h i r r o w s 是s h i f l r o w s 的逆变换,同样是将状态阵列的各行进行循环移位, 不同状态行的位移量不同。第0 行不移动,第一行循环右移c 1 个字节,第二行循 环右移c 2 个字节,第三行循环右移c 3 个字节。位移量( c 1 , c 2 c 3 ) 的选取与n b 有关,当n b = - 4 或6 的时候一般取( c l ,c 2 ,c 3 ) = ( 】2 3 ) ; l n v s h i r r o w s 变换的如图2 7 。 h oih i, o _ i 二 j 二m,2 j气js “ h 6一ib2h 1 2 字节代替( i n v s u b b y t e s ) 图2 7 行移位转换 咂。峋l札2札 1 os l - l2 1 :屯3 巳_ 屯l _ 缸l与:屯,屯o 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 l n v s u b b y t e s 是s u b b y t e s 的逆变换。在l n v s u b b y t e s 中所应用的逆s 盒如表2 4 。 表2 4 字节代替的逆变换的s 盒 3 列混合( i n v m i x c o l u m n s ) i n v m i x c o l u m n s 是m i x c o l u m n s 的逆变换。i r t v m i x c o l u m n s 对状态的每一列进 行操作,把每一列看作个4 字的多项式。是将状态阵列的每个列视为系数在g f ( 2 8 ) 上、次数小于4 的多项式,波同一个固定的多项式c 。( x ) 进行模x 4 + l 乘法。当然要 求c 。1 ( x ) 是模x 4 + l 可逆的多项式,否则列混合变换就是不可逆的,因而会使不同的 密文分组具有相同的对应明文分组。r i j n d a e l 的设计者所给出的c 1 ( x ) 为( 系数用 1 6 进制数表示) : c - t ( x ) = ( 0 b ) x + 0 d ) x 。+ 0 9 ) x + o e )( 2 3 7 ) 这也可以写成矩阵的乘法,j x ) = 1 7 1 - i g ) o s o ) 如下所示: s oc 。 s 2 c s ,c o eo bo d0 9 10 9 0 e0 6o d 2 o d0 9o p0 6 0 6o d0 9 o e 5 0c 。 s 2c s 3 c 力r o c n b( 2 3 8 ) 做为乘法的结果,每- - y u 的4 个字可由下面的计算代替: s j 。= ( o p ) s 。) o ( ) & 。) o ( o d ) 。:,) o “0 9 ) s 如) s :。= ( 1 0 9 ) s 吣) o 伯e ) q 。) o 鼢 。) * ( 1 0 c i s 耻) s :。= ( o d ) 。) o ( 0 9 q 。) o ( o 。 s :。) o ( 0 6 s “) ( 2 3 9 ) ( 2 3 i o ) ( 2 3 i1 ) 硕士论文 基于先进加密标准( a e s ) 算法的加密芯片设计 s i ,。= ( 0 6 s 。,。) o ( 0 d u 。) o ( 0 9 s :,) o ( o e ) s 玷) ( 2 。3 1 2 ) 4 加密钥( a d d r o u n d k e y ) a d d r o u n d k e y 变换只进行异或运算,所以它的逆交换就是它本身。 2 3 4 加解密算法的相近程度 定理1 设字节代替( b y t e s u b ) 、行移位( s h i f t r o w s ) 的逆变换分别为 i n v s u b b y t e s 、i n v s h i t l r o w s 。则组合部件s u b b y t e s - - ) s h i l t r o w s 的逆变换为 i n v s u b b y t e s - - ) i n v s h i t t r o w s 。 证明如下: 组合部件“s u b b y t e s - - ) s h i f t r o w s ”的逆变换原本为:i n v s h i f t r o w s - - ) i n v s u b b y t e s 由于字节代替( s u b b y t e s ) 是对每个字节进行相同的变换,故“i n v s h i r r o w ”与 “l n v s u b b y t e s ”两个计算部件可以交换顺序 定理2 设列混合( m i x c o l u m n s ) 的逆变换为i n v m i x c o l u m n s ,则列混合部件与加 密钥部件的组合部件m i x c o l u m n - ) a d d r o u n d k e y ( ,k e y ) 的逆变换为 i n v m i x c o l u m n s - - - ) a d d r o u n d k e y ( ,i n v k e y ) ,其中密钥i n v k e y 与k e y 的关系 为:i n v k e y = i n v m i x c o l u m n ( k e y ) 。 证明如下: 组合部件“m i x c o l u m n - - ) a d d r o u n d k e y ( ,k e y ) ”的逆变换原本为 “a d d r o u n d k e y ( ,k e y ) - - ) i n v m i x c o l u m n s ”,由于列混合( m i x c o l u m n s ) 实际上是线性 空间g f ( 2 8 ) 4 上的可逆线性变换,因此“a d d r o u n d k e y ( ,k e y ) - - ) i n v m i x c o l u m n ”= “l n v m i x c o l u m n s - ) a d d r o u n d k e y ( i n v m i x c o l u m n s ( k e y ) ) ”,由此得证。 定理3 将某一轮的后两个计算部件和下一轮的前两个计算部件组成组合部件 该组合部件的程序为: m i x c o l u m n s ( s t a t e ) a d d r o u n d k e y ( s t a t e ,k e y ( 1 ) ) s u b b y t e s ( s t a t e ) s h i r r o w s ( s t a t e ) 则该组合部件的逆变换程序为: i n v s u b b y t e s ( s t a t e ) i n v s h i r r o w s ( s t a t e ) i n v m i x c o l u m n s ( s t a t e ) 硕士论文 基于先进加霹标准( a e s ) 算法的加密芯片设计 a d d r o u n d k e y ( s t a t e ,l n v m i x c o l u m n ( k e y ( 1 ) ) ) 这是定理l 和定理2 的直接推论。 注意到定理3 所描述的的逆变换中,第二步到第四步在形状上很象加密算法的 轮函数,这将是解密算法的轮函数。注意到结尾轮只有3 个计算部件,因此我们得 到;r l i n d a e l 密码的解密算法为顺序完成以下操作:初始的密钥加;( n | _ 1 ) 轮迭 代;一个结尾轮。其中解密算法的轮函数为: i n v r o u n d ( s t a t e ,r o u n d k e y ) i n v s u b b y t e s ( s t a t e ) i n v s h i f t r o w s ( s t a t e ) i n v m i x c o l u m n s ( s t a t e ) a d d r o u n d k e y ( s t a t e ,r o u n d k e y ) ) 解密算法的结尾轮为: i n v f i n a l r o u n d ( s t a t e ,r o u n d k e y ) l n v s u b b y t e s ( s t a t e ) i n v s h i f t r o w s ( s t a t e ) a d d r o u n d k e y ( s t a t e ,r o u n d k e y ) ) 设加密算法的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中小企业人力资源经理招聘面试题库及答案
- 2025年IT企业软件开发工程师招聘考试预测题集
- 2025年内蒙古选调生面试技巧与热点模拟题解析
- 道路排水系统设计方案
- 牲畜家禽屠宰场废料与副产品处理方案
- 猪场防止猪只逃逸方案
- 生猪养殖成本优化方案
- 直播带货助力零售业转型升级:2025年市场策略与规范
- 职业教育年轻教师培养计划
- 城市建筑设计中的人文因素与社区融合研究
- 2025-2030电动船舶电池系统安全标准构建与产业链配套能力报告
- 数字时代群体冲突演变-洞察及研究
- 2025秋新部编版一年级上册语文教学计划+教学进度表
- 2025年公安辅警招聘知识考试题(附答案)
- (标准)便利店转让合同协议书带烟证
- 廉洁文化知识试题(含答案)
- 2025《地方资产管理公司监督管理暂行办法》解读课件
- 2025年中国PC工业计算机(工控机)数据监测研究报告
- 儿童学针灸启蒙课件
- 中学生健康生活方式指南
- 办公室设备领用管理制度
评论
0/150
提交评论