(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf_第1页
(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf_第2页
(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf_第3页
(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf_第4页
(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(物理电子学专业论文)aes加密机制在ipsec协议中的应用研究及其硬件实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕 1 : 学位论文a e s 加密机制在 甲 5 “协议中的应用研究及j 硬件实现 ab s t i a c t alo ng 袱thth er a p i dd e v e l o pment o f th ein t e rn etanditsa p p l i c at i o ns,i ntemet 】l as a l r 砚 d ytr a n s i t ed to acon u n e r c 过 beh a v i o rfr o m i ts in i t i al p u it ” s eas a cad e m i c colnln 画c atio ns. 户n li s tr 出 招 iti on 叫u l r e s the hi ghern e 幻 刀 o rks e c u n ty,sot hat m a i n ta 川 功 9 the securityo f the hi gh月 详e d n e 幻 刀 o rka tt ra c t s 笋ata tt e nt i o n . u nde r the c o n d i ti o n o f w e l l k e e p in g the n e t w o rkty,ino r d ertop u rs uethe hi ghern et w o r k s p e e d , th e hi ghs pee d h al d w are encod l ngeq山 p m ent 幼u berequ ir e d . o n the otherl l and , 护sec p r o to col h asbee n w i delyus e din五 rew a l l ands ec面tyg at e w a y , w h i ch h o w e v erl n c r e asedthe l o ad o f th e n e 幻 刃 。 rk g a t e w a yandre sultsinabottl e n e c kof the a c 场 e vi ng the gigabi tn e t w o rk. reg ardin gthe c 住 汀 e n tsi to a t l ons m e n t i o n ed al 沁 v e , 面sthesis 别 刀 d l ed th edesi gnin g t e c h ni que and r ea1 1 zati onofa e s al g o n t 加 旧b as edonhi ghp e r fo rmanceoff p g a ,w h l ch w a s an而加比 切 t p artofips ecp r o t oc0 l . a e si s news 加 旧 d aj 心fo r d a t a en c ry p t l o n an d d e c 尽 p t i o n the rei s a l o t o f re l e v ant 肥 s e a r c h sofar,b utm o stre s earc h e s are a boutn o n 一 介 曰b ack mod e , and o 川 y s u p p 0 rtl 2 8 b its k e 醉 i n 面s thes i s , a c o r 口 p act and re l i abl e h 盯 d 、 v a e a e s e n c ry p ti onand d ecry p ti o n s y stemi s des i gned, w h ichs u p portsallti l r e e k e y 1 ength o f l 2 8 , 1 9 2 ,2 5 6 b i ts , s u p portsb o t h e c bm o de 叨dc b cm ode .the妇 刀 ok e yro undso f a e sai gori t 加 m , s u b b ytes andmi x c o l u 幻 n n , are 。 p t 而说 e d tore al i ses ubs tr u c 奴 叮 e s h 葫n g j h e d e s i gncom e s tiue b y fu l 1 y v al 1 d a t io n and it 代 d 峨 s th e n 切 旧 ber o f g ates 妙 1 8 % k e ywo rds : a e s ,助n d a e l ,ips e c ,f p g a 硕 卜 学位论文 a e s 加密机制在ips “协议中的应用研究及其硬件实现 注释表 本文中用到的一些术语及缩略语 缩略语全称中文含义 ni s t n at i o n a 】 i n s i t u teo f s c i e n c e 2) 包 含的是 发送方当 初放在其中的原 始数 据; 3) 原始数据 在传输途中 未被其他人 看过. 针对这些问题,加 t e m e t 工程任务组 ie作 于 1 994年开始着手研究制定了一套用 于保 护ip通信的ip安全协议一一 ip安 全 ( ips ec 叻ty ) 体系结构, 简称ip s ec, 并于 19 95年5 月公布了一系列关于ip s ec的协议 标准, 其主要目 的是 使需要安全措施的 用 户能够使用相应的加密安全体制。 za e s概况 1 . 2. ia e s的 前身一一 d e s 现代对 称密 码大致分为分组密码和 流密码两种。目 前, 在实 际运行的 产品 和系 统 中, 最 常使用的 对称密码是分组密 码. 从1 9 76年美国 数据加密标准算法口e s)公 布以 来, 到20世纪末, d e s 算法或其某些 变形基本上主宰了 分组密 码算法的 研究和开发 过程。 20 多 年来, d e s已 经在世界范围内 成为 事实上的 加密标准, 一直作为分 组密 码设计的标准参照 物。 学术界主要围 绕d e s 的 安全性 和破译方法这两方面进行研 究。 在 此 期 间 , 人 们 发 现d e s 至 少 有4 个 弱 密 钥, 12个 半 弱 密 钥: c aj 叮 p be n 和w i en er l 硕士学位论文 人 e s加密机制在 ips ec协议中的应用研究及其硬件实现 于19 9 2 年 证明了“ d e s 小成群”的事实:出 现了 各种各样的密码分 析方法 和思想, 其中b i ha 叨和s h an 血差分密码分析方法和m atsni的线 性密码分 析方法的 提出, 可以 说是现代分组密码分析史上的重大突破。 此外,随着芯片处理能力和计算水平的不断进步,d e s的5 6比特密钥长度己经 显得太短,已经难以抵御穷尽密钥搜索攻击。1 9 93 年 钻 阳改给出了一个密钥搜索机 的详细 设计方案,他 估计耗资 10 0 万美元制造一台 机器, 搜索一个 d e s密 钥平均大 约花3. 5 小时。1997 年 1 月 28 日, rsa数据安全公司在 r s a安全年会上悬赏一万美 金破译密 钥长度为56比 特的d e s 算法。 美国科罗 拉多州的 程序员v 比 se r 从19 97年3 月 13 日 起, 用了 % 天的时间, 在 i n t e m e t 上数万名志愿者的协助下,于 1 9 97 年 6 月 17 日用穷尽密钥搜索方法成功地找到了d e s的密钥。 这一事实表明依靠 intem et分布 式的计算 能力, 用穷尽密钥搜索攻击方法破译d e s已 经成为 可能。1 9 98 年 7月 17 日 ,电子 边境基金会正 f f) 使用一台25万美元的电 脑通过穷尽密钥 搜索方 法在 56小 时内 破解了56 比 特d e s 。19 99 年的rsa会 议期间, 穷尽密 钥搜索时间 减少到小 于 2 4 小时。 1998 年美国政府终于决定不再继续使用 d e s作为联邦加密标准,d e s将逐步退 出加密标准的舞台. 1 .2. 2a e s的制定过程 从各方来看, d e s已经走到了它生命的尽头。虽然 3 d e s可以在一定程度上解决 密钥长度的问题,但 d e s是为硬件实现设计的,其实现速度、代码大小和跨平台性 均难以满足新的应用需求。在这种形势下, 迫切需要设计一种更有生命力的算法作为 新一代分 组加密标准, 因此, a e s 应运而生。 据此, 1 997 年初美国国 家标准和技术 研究 所叩 5 刀发起并组织了全世界广泛征 集 新的 加密标 准算法( ae s)的活动。 n ls t 希望确定 一种保护敏感信息的公开的、 免费的 而且全球通用的算法作为 a e s ,以代替 d e s 。在征集公告中,ms t对算法的基本要 求是: 算法必须 是私钥密码体 制的 分组密码, 支持 12 8 比 特分组长度和1 2 8 , 19 2 , 2 56 比特密钥长度。 ae s 征 集活动开始后, 世界各国 许多 组织和机构反响强烈。19 98年 8 月, n ls t 在 美 国 加 州珑 川 汕 门 召 开了 第一 届aes 候 选 会 议 , 宣 布c a s t- 25 6 , c 乃 , to n , d e a l , d f c , ez, f m g, hpc, l o k 19 7, m a g e n ta , m 跳, r c 6, 助n ds e l , s afe r+ , s e 耳 祀 ni , t w o fi sh这 15个算法被接受为候选算法。 19 9 9 年3 月, n ls t 在意大利罗马召开第 二届a e s 会议, 提交对 巧个候选算法 的分析结奥, 讨论它们的安全性、 效率和设计灵活性等问题, 并确定了入围下一轮评 硕士学位论文 a e s 加密机制在护s ec协议中的应用研究及其硬件实现 估的5 个候选算法,分别是m 叭 只 5 , rc6 , 助n dae l , 5 盯 pe n t 和t w o fish . 随后nis t 邀 请密 码专家对这个5 个候选算法进行强化攻击, 会同 世界密码界对各算法的 安全性、 速度及其 通用性等要素进行进一步评估。 第三届a e s 会议于2 0 00年4 月 在纽约召开。 提交对5 个候选算法的 安全性、 速 度及通用性等要素的分析结果。 经过了激烈的 讨论, 最终由比利时的密码专家 jo an d aem en和v in c e n t 助men 所提出的 加密算法助n dae l 以 其简洁、 高效、 安 全等优点 脱颖而出。 2000 年 10月2日nls t初步 选定 助n da e l 为ae s算法, 此后n ls t 授 权联邦信息处 理标准出 版社为a e s制定了标准 草案用以 征集公众的 评议, 随后在公 众评议的基 础上 对草案进行修改, 于2 001 年11月26 日 发布了正式的1 97号 标准一一 a e s 标准, 并指出 标准生效的 具体时间为2 0 02年5 月26号。 至此, 经历数年的a e s 开发研究才大功告成。 以后,在本文中,对 a e s和助 n d a e l 算法将不再加以区分。 1 . 3课题的研究现状及意义 a e s 算法自2 0 0 2 年生效后就被广 泛地用于加密敏感的商业和政 府机密数据,当 前正处在 a e s算法应用的 蓬勃发展阶段, 尽管它在软件中得到了较多的 应用, 但是 相应的硬 件产品 却不是很多。 就硬件实现而言, 国 外许多公司都相继推出了自 己的商 用aes ip核, 如h el in n 技术有限公司、 d c ryp t pte 技术有限公司 及o ce an logi c pty 技术有限公司 等, 但通常 这些高 速的 实现方案 会占 用非常复杂的硬件资 源。 对国内 来 说, 虽然有关 a e s算法的 硬件产品还很少, 但越来越多的国内 公司和研究 机构己 经 把目 光投入到a e s 的硬件实 现当中, 相关的 研究项目 也 如雨 后春笋般出现。 ip sec 的多 重优势使得 ip s ec协议在电子 政务网、电 子商务网 、国防科研网、企 业网以 及移动办公等领域有着非常广泛的应用前景。 但是,网络带宽的不断提高和 ips ec协议中加 解密、消息认 证等各种计算密 集型处理任务的增加, 使得 ip s ec协议 带来了网络设备负载的明显提高和吞吐量的显著下降,导致服务器、网关、路由器和 交换机 等关键网络设备的 处理性能大大降 低。 因此, 迫切需要 用硬件处理芯片完成加 解密、消息 认证等计算密集型任务,为高 速、安全的网络 信息传 输服务提供支持. 本文 在分 析和研究ip s ec协议的 基础上, 对ip s ec协议中的a e s 加解密部分的硬 件化进行了 研究、 优化, 并 采用现场可编程门 阵列(f p g a ) 将其实 现并经过了 功能验证, 为ip s ec的 进一步硬件化提供可调 用的ip核,因 此具有非常好的实用价 值。 1 .4论文的主要工作与组织结构 本文对ae s 加密算法在ip s ec协议中 的应用 进行了 研究, 对ae s 算法进行了 优 硕 t: 学位论文a e s 加密机制在ip sec 协议中的应用研究及其 硕件实现 化,提出了一套基于f p g a的精简的a e s实现方案,并仿真验证了方案的正确性和 可行性。 预期达到的目 标:时钟频率达到50m hz: 支持密钥长度为1 28、1 92、 2 56; 支持 ecb模式和c b c模式;加解密集成在同一模块中. 本文组织结构如下: 第一章引言: 第二章主要对相关技术进行简述,包括ips ec协议体系和a e s 算法; 第三章基于对a e s 算法的学习和研究, 探讨了几个实现方案; 第四章主要介绍了f p g a的知识、设计方法和本论文所采用的仿真环境; 第五章详述了a e s加密系统的f p g a实现,包括总体方案、各个分支模块的实 现及编码实现等; 第六章是对 a e s系统的功能仿真验证及综合,进行了结果分析,然后对 ips ec 中应用a e s 提出了一些建议; 第七章进行了全文的总结并给出今后工作的展望。 在论文的最后附上致谢、参考文献及附录。 硕 上 学位论文 ae s加密机制在ips “协议中的应用研究及其硬件实现 zi p s ec安全体系和高级加密标准 a e s 2 . llp s e c 协议的体系结构 ip安全( ips ec 丽ty ) 体系结构,简称ip s ec,是ietf ip s ec工作组于1 998 年制定 的一 组基于密码学的安全的 开放网 络安全 协议. ip s ec工作在 ip层,为ip层及其上 层协议提供保护。 ips ec提供访问控制、无连接的完 整性、 数据源认证、抗重播 ( re pl ay) 保护、 保密 性、自 动密钥管理等安全服务。 ips ec独立 于算法, 并允许用户( 或系 统管理员) 控 制所 提供的安 全服务粒度。 比 如可以 在两台安全网 关之间创建一条承载所有流量的加 密隧 道,也可以在穿越这些安全网关的每对主机之间的每条 t c p连接间建立独立的加密 隧道。因为 这些服务 均在ip层提供, 所以 任何高层协议均能使用它们。例如, t c p , u d p ,i c mp ,b g p等等。 护s ec 在传输层之下,对应用程序和终端用户来说是透明的。当在路由器或防火 墙上安装ip s ec时, 无需更改用户或服务 器系统中的软件设置。即 使在终端系统中执 行 ips ec,应用程序之类的上层软件也不会受到影响。 2 . 1 。 ii p s e c 的组成 ips ec是由ie作 内ips ec工作组发布的一组安全相关协议。 rf c 2 4 01定义了ips ec 的结 构和组成构件: 验证头 ( a h ) 、 封装安 全载荷(e s p)、 i ni e rn et安 全关 联和密钥管理 协议is a k m p的玩 t e rn et护安全解释域 (d01) 、 is a k n 于 、 知 t e met 密钥交换 (i ke) 、 ip 安全文 档指南、 o a k l e y密钥确定协议 等, 它们分别发布在rfc 2 4 01一 rfc 2 4 12的 相 关文档中 17- 13 。图 2 . 1 一 1 显示了ip s ee的 体系结 构、 组件及各组件间 的相互关系. 硕 : 学位论文 人 e s加密机制在ips “协议中的应用研究及其硬件实现 印s ec安全体系 esp 协议 胡协议 加密算法 认证算法 d o i i ke协议 策略 图 2 . 1 一 i i p s e c 体系 结构 a h ( 认 证头 ) 和e s p( 封装安全载荷) :是ip s ec体系中的主体, 其中 定义了 协议的 载荷头格式以及它们所能提供的服务, 另外还定义了数据报的处理规则, 正是这两个 安全协议为数据报提供了网络层的安全服务。 两个协议在处理数据报文时都需要根据 确定的 数据变 换算法来对数据进行转 换, 以 确保数据的 安全, 其中 包括算法、 密 钥大 小、算法程序以及算法专用的任何信息。 i k 卫 ( inte m et密钥交换 ) 二 i k e 利用ls a k m p 语言 来定 义密 钥交换, 是 对安 全服务 进行协商的手段。i k e交换的最终结果是一个通过验证的密钥以及建立在通信双方同 意基础上的安全服务一一亦即所谓的 “ ips ec 安全关联” s a(安全关联) :一套专门将安全服务 / 密钥和需 要保护的通信数据联系起来的方 案。它保证了ips ec数据报封装及提取的正确性,同时将远程通信实体和要求交换密 钥的ips ec数据传输联系起来.即 s a解决的是如何保护通信数据、保护什么样的通 信数据以及由谁来实行保护的问题. 策略: 策略是一个非常重要的但又尚未成为标准的组件,它决定两个实体之间是 否能 够通 信: 如果允许通信, 又采用什么 样的 数据处理算法。 如果策略定 义不当, 可 能导 致双方不能正常通信。与策略有关的问题 分别是表示与实施。 “ 表示”负责策略 的定 义、 存储和获取, “ 实 施” 强调的则是策 略在实际通信中的 应用。 2 . 1 . zi p s e c 的工作原理 设计ip s ec是为了 给ip v4 和ip v6 数 据提供高 质量的、 可互操作的、 基于密码学 的安 全性。 ip s e 。 通过使用两 种通信安全协 议来达到这些目 标: 认证头( a h ) 和封装安 硕 卜 学位论文 人 王 5加密机制在ips e c协议中的应用研究及其硬件实现 全载荷 (es p),以及像 如 t e m e t 密钥 交换(i ke ) 协议这样的密钥管理过程和协议来 达到 这些目标。 ipa h协议提供数据源认证, 无连接的完整性,以及一个可选的抗重放服务。 e s p 协议提供数据保密性,有限的数据流保密性,数据源认证,无连接的完整性以及抗重 放服务。 对于a h和e s p 都有两种操作 模式: 传输模式和隧道模式。 i k e协议用 于协 商 川 和 e s p所使用的密码算法,并将算法所需要的密钥放在合适的位置。 ip s ec所使用的 协议被设计成与算法 无关的。 算法的选择在安全策略数据 库(s p d ) 中指定。ips ec 允许系统或网络的用户和管理员控制安全服务提供的粒度。通过使用 安全关联 (s a ) , ip s ec能够区分对不同 数据流提供的 安全服务。 ip s ec 本身是一个开 放的体系, 随着网络技术的进步和新的加密、验 证算法的出 现, 通过不断加入新的安全服务和特性, ips ec就可以满足未来对于信息安全的需要。 随着互联网络技术的不断进步,ips ec 作为网络层安全协议,也是在不断地改进和增 加新的功能。其实在 ips ec 的框架设计时就考虑过系统扩展问题。例如在 e s p 和 a h 的文 档中定义有协议、 报头的格式以 及它们提供的 服务, 还定义有数据报的处理规则, 但是没 有指定用来实现这些能力的具 体数据处理算法。 a h默认的、强制实施的 加密 m a c是 h m a c 一 m d s 和 h m a c 一 s l l a ,在实施方案中其它的加密 算法如 d e s 一 c b c, c a s 下c b c以及 3 d es一 c b c等都可以作为加密器使用。 2.1 3 i p s ec 的模式 ipse c 协议( 包括a h和e s p) 既可以 用来保护一个完整的ip载荷, 也可以 用来保 护某个ip载 荷的上 层协议。 这两个方 面的 保护分别由ip s ec两种 不同的“ 模式” 来提 供:传输模式和隧道模式。 传输模式:在传 输模式中, ip头与上 层协议 头之间 需插入一个特殊的ip s ec头。 传输模式保护的是ip包的 有效载荷或 者说 保护的 是上层协议( 如tcp, l i d p 和icm p ) , 如图 2 . 卜 2 所示.在通常情况下,传输模式只用于两台主机之间的安全通信 。 新增的保护头 受保护的内容 ip头 ip s ec 头 tc p 头 数据 图 2 . 1 一 z i p s e c 传输模 式的ip 数据报格式 隧道模式: 隧道模式为整 个 ip包 提供保护。 如图 2 . 1 一 3 所示, 要保护的整个ip 包都需封装到另一个 ip数据报中,同时在外部与内部 ip头之间插入一个 ips ec头. 、所有原 始的或内 部包通过这 个隧道从 ip 网的一端传 递到另 一端, 沿途的路由器 只检 - 硕 l 学位论文a e s加密机制在ips 代 协议中的应用研究及其硬件实现 查最外面的ip 报头, 不检查内部原来的 ip报头。 由于增加了一个新的ip报头, 因此, 新 ip报文的目的地址可能与原来的不一致。 新增的保护头受保护的内容 新i p 头 i p s e c 头 i p 头t c p 头 数据 图 2 . 1 。 3 l p s e c 隧 道模式的ip数据报格式 2. 1 .4 ip认证头( a b 协议 设计认证头( a h ) 协议的目 的是 用于增加ip数据包的安全性。 a h协议提供无连接 的完整性( 即 朋e 以 1 蒯es sin 记 ghty ) 、数据源认证(dataori咖 别 玄 h e n t ic ation) 和反 重播 ( 阴t i 一 repl ay) 攻击服务。然而, a h不提供任何保密性服务,也就是说它不加密所保护 的数据包。 a h的作用是为ip数据流提供高强度的密码认证,以确保被修改过的数据 包可以 被检查出 来。 a h使用消息认 证码( ma c)对ip进行认证。 m a c不同于 杂凑函 数, 因为 它需要密钥来产生消息摘要, 而杂凑函 数不需要密钥。 常用的m a c 是h m a c , 它与任 何迭代密码杂 凑函 数( 如m d s ,s h a 一 1) 结合使用,而不用对杂凑函数进行修改。 由于生成 ip数据包的消息摘要需要密钥, 所以 ip s ec的通信双方需要共享一个同样的 认证密钥。这个密钥就是由双方的s a信息来提供的。 因a h不提供保密服务,不是本文重点关注的,这里不再详细介绍。 2. 1 .si p 封装安全载荷俘s p)协议 e sp 协议是同a h协议一 样为了 提高i n t 。 刀 et协议的 安全性, 但e s p 协议 除了 提 供a h协议的安全保护外, 它还提 供对数据保密、 有限数 据流保密和数 据认证保护。 e s p 报文类型的值为50。 在理 v6 的 版本头或扩展报文头中 的下一个报文 字段中 用50表示 接下来的是e s p 报文 头。 在ip v4 中 的协议字段用50表示接下来的 是e s p 报文头。 护esp标准描述如何加密 企 的 装载数据伊 ay lo ad ) , 加密的范围可以 是整个 ip d a ta gr aj 刀 或者只是上层tcp, u d p , 或icm p 数 据( 完全决定在使用隧道模式或传送模 式 ) 。 ipe s p所使 用 的 加 密 技 术 是 数 据 加 密 标 准 (d ata en c 卿 p t io n s tand aj 月 : d e s) 、 tripl e 一d es 或a e s , 并 逐 步 由aes 取 代 ; 模 式 则是 加 密区 块 链 (ci ph erbi o ckc h a in, c b c) 。 除了 加 密以 外 , ipe s p 也 能 应 用 在 认 证, 完 整 性, 以 及 防 止 重 放 攻 击。 e s p 的 认证数据的认证范围是 从s pi到下一个报文头字段为止. e s p 加密的 范围 是从 初始 化向量 后的要 保护 数据起, 到下 一个报文头字段为止。 e s p 报文尖包括以 下 硕士学位论文六 卫 5 加密机制在ip s ec协议中的应用研究及其硬件实现 字段: 安 全参数 索引 (s p d : 32 位. 在建立 安 全联盟的 阶段,由 接收 节点指定. 对于 接 收节点,s pi唯一确定了一个安全联盟。 序列号字段:32位。 不可重复,单向 递增。 用于 抗重播攻击。 填充数据用于使被加密的数据具有按犯位/ 科位对齐的 特征。 为增加攻击的难度, 即使要保护的数据具有32位了 6 4 位对齐的特征, 仍然要求填充2 55个字节, 用于隐藏 数据的真实长度。 初始化向量由加密算法使用。 避免相同的数据加密出相同的密文。 增加密码分析 的难度。 e s p 报文的格式如图 2. 1 一所示. 安全参数索引 ( s pi 序列号 保 范一 . 男 祠 一 . 初始化向经 二 二二 要德薪奢 城充顶长度 下一个头 图 2 . , 4 5 尸报文格式 2.2高级加密标准a e s a e s是一种对称密钥的 分组迭代加密算法, 分组长度固定为 12 8bits, 而使用的 密钥可以分为128 bi ts ,1 9 2 bi ts或2 5 6bits三种不同的长度. 数据块要经过多次数据转换操作, 每一次转换操作产生一个中间结果, 这个中间 结果叫做状态 ( s tate)。 状态可表示为二维字节数组即 状态矩阵,它有四行, nb 列, 且nb 等于数据块长除以32, 在标准a e s 里n b 科。 密钥也可类似地表示为二维字节 数组,它有四行, n k 列, 且nk 等于密钥块长除以32。 算法转换的轮数n r 由nk 决 定, 对应于1 28,1 92和2 56位不同的密钥长度, 运算的 轮数分别为10轮,12轮和 1 4 轮。 a e s 采用的是替代/ 置换(s p)网 络结构。 每一轮由3 层组成: (l ) 非 线性层: 进行s ub b yte变换 ( 即5 盒替 换 ) , 起到 混 淆的 作 用: (2 ) 线 性混合 层: 进行s hi ft r 0 w 行变 换运 算和m 认 c ol ulnn 列 变 换运算以 确 保多 轮 9 硕士学位论文冉 e s加密机制在ips 吧 c 协议中的应用研究及其硬件实现 之上的高度扩散; (3 ) 密钥加层:子密钥简单的异或到中间 状态上. 图 2. 2 一 1 和图2 2 一 2 分别为a e s加密流程图和 a 卫 5解密流程图。 一。二2“一0 、1、.了十,夕、.1恤,leel于 一之0一州11一0乌 puno国1目口一匕 pu口。名-目口一 图 2. 2 一 i a e s 加密 流程图图 2, 2 一 z a e s 解密 流程图 由图2 . 2 一 1 和图2 一2 我们可以 得知: a e s 算 法无论 在加密和解密部 分, 主要包括四 个函数,即 a d dro un dkey、 su b b ytes 月 力 v s u bbytes 、 s hi ftro w s 八 h v s hi ft rows 以 及 mi x co l 理m 叮5 月 五v mi xco l u n l n s 。 2. 2.ia e s加密过程 当加密流程开始, 使用者输入的明文会被保存为状态矩阵的格式,经过一次 add r 0 und k e y 的运算后, 接下来就会 进行n r 个回 合的 加密运算, 除了 最后一个回 合 外, 其 余的 每个回 合均会使用到全 部的四 种函数, 称之为 轮变换, 用类c语言描述如 下: round( s 双 e , round k e y ) s ubb yt e s( s tate ) ; s hi ft r o w s ( s ta t e ) ; 硕上学位论文 人 王 5加密机制在 ips ec协议中的应用研究及其硬件实现 mix c o l u 汀 m ( 5 吐 e ) ; ad d ro朋dk e y ( s ta t e ,r o und k e y ) ; 最后 一轮稍有不同, 少了m ix c of ulnn (s 七 皿 e ) 函 数, 即为: f 1 n al ro und(s tate ,r 。 皿d k e y ) s u b b yt e s ( 5 橄e ) ; s hi ft r o w 成 5 七 戏 e ) ; ad d r o undk e y ( s ta t e ,ro und k e y ) ; 接下来我们对加密 运算所使用的四种函 数作简单的介绍。 2 . 2 . 1 . is u b b yte s s ubb ytes 实现的 就是通常所说的5 盒变换, 它 将 s ta te中每一个字节独立的非 线 性变换 为另一个字节。 将 5 盒构造成为函数9 和一 个可逆仿射变换f 的序列。 过程分 为两步。 (1 ) 对 该 字 节 求 有 限 域gf ( 25 ) 上 的 乘 法 逆 , 9: 。 峥 b = a 一 , , 不 可 约 多 项 式 使 用 m ( x ) = x s + x + x 3 + x + 1 。 特别 规定: 0 的逆元仍为0 ; ( 2) 对乘 法逆运算的结果再做一次可逆仿射变换f ( 基于gf( 2) ) : 石 一 瓦 。 气 ,一 , : 田 气 ,5) : 。 八 ,。, : 。 八 ,于,) . o c,(0 1 8 )(2 .1) 其中c = 0 1 1 0 0 0 1 1 。 变换过程用矩阵表示 如式(2 . 2) : ,.les.esweesj ,.且,二oonj11n reseseseseseseslieseses月esl 田 ,.几.呀.1 bobl气瓦气乞气瓦 厂!lwe一!一.l x 门刁川日川川门引月川别州月 ,二,卫,.通nuu 曰01 000 00 unnu 00 ( 2 2 ) nu.l,. .二,二目.月 j.且,二月.二曰.卫 ,.己uu 图 2. 2 一所示为字 节变换的变换过 程, 每个字节都做 相应的 变换。 硕士学位论文人 e s加密机制在ips ec协议中的应用研究及其硬件实现 图 2.2 一 3 5盒变换示意图 2 . 2 . 1 。 z s h i ff ro w s b i n r o w是一个字节换 位, 它将状态中的 行按照不同的 偏移量进行左循环移位。 第 0 行不动,其它行移位遵从如下法则: 5 , = 5 , + 柳 , ,肠 ) ,. ( 0 r 4 ,0 c 6 两 种情 况 。 对于nk 6 , 用类c语言描述为: key e x p ans io n ( b yt e k e y i 4 * 撇 ,w o rdw lnb * (n什1 ) ) fo r ( 1 =(); 1 n k ; 1 什) w 1 钊 k e y 【 4 * 1 ,ke y 4 * 1 + 1 1 , key 4 * 1 + 2 , key 4 * 1 + 3 ) ; fo 叹 1 = n k ; 1 6 时,用类 c语言描述为: k e y e x p 哪 i o n b yt e k e y l 4 * n k , wordw n b * 侧r 十 1 ) 1 ) 笼 fo 叹 1 司; 1 n k ; 1 料) w 1 = ( k e y 【 4 * 1 , key 4 . 1 + 1 , key 砰 * 1 +2 , key 4 * 1 + 3 ) ; 匆叹 1 = n 吸 ; 1 n 而* n 什1 ; 1 什) 沈 m p = w 1 1 ; i f ( 1 % n 吸 一0 ) t em卜s u b b 少 ( r o t b yte( t e m p ) ) 八 r con 1 加k ; 硕 1 : 学位论文 人e s加密机制在 评s ec协议中的应用研究及其硬件实现 el 哭if (i % n 吸 = =4) t e m 护s ubb 少( 记 m p ) ; w 1 =w 1 创吸 a t e m p ; 这与nk 6 的区别在于对指数满 足 1 礴是n k 的倍数的字,在异或之前对 w 卜11 进行了s ubb yte 变换。 2. 2. 2. 2 轮密钥的选择 由于在进行密钥加时,密钥长必须与分组长相等, 有关, 并且由 扩展密钥的 字w n b * 11 , w p 几 * 1+ 1 , 示出了n b =4 ,n k 二6 时的轮密钥选择情况。 因此 第1 轮的密钥与分组长度 , w nb * ( 1 + 1 ) 构成.图 2 . 2 一 7 轮密钥0轮密钥.!轮密钥2 图 2 2 一 7 当 n b =4和n k =6 时的密钥扩展和轮密钥选取 2. 2 3a e s 解密过程 a e s 的解密流程的运算原理与加密流程相似,但是所使用的函数除了 a d d round k e y 和加密 流程相同 外, 其余 三个函 数均不同,分别介 绍如下: 1 、in vsub b ytes:in vsub b 少5 为s ub b 卿5 的 逆 过 程, 先 进 行 仿 射 变 换 式 (2 .1) 的 逆 变 换, 由 式 (2.6) 给出 : 再 利 用 相 同 的 多 项 式m ( x) = 尹+ 犷+ 护十 x +l, 计 算 其 在g f ( 25 冲乘 法 逆即 可 . ( 2 . 6 ) !lweweesesesweeseseseseseseseses.esesesesj i工u10cu00n restesesee,eeies.eswe.wewe!.1.wees卫esl 由 一.,. yoyl儿儿为乃儿乃 reseseseseseseseseseseswe.l x 门日川llleeolweol,l州川jol曰 0010 00 00 j.nuntl ,二八un1 .二nun甘.且 ,.二八nn甘,1nu.1八u 10n1内“1八u0 n.nu10,.二00.二 xoxl孔凡礼毛凡朴 2 、in vshi ft r o ws: in vshi ft r o ws 是以 一行元素为单位进 行运 算, 除第一行不 动外,其余第二、第三及第四行分别向右循环移位一位、两位和三位。 硕 上 学 位 论 文 人 e s加密机制在ips ec协议中的应用研究及其硬件实现 泞亏 田 羽 。医 田 伫 丰仁曰 丝 三 奥 变巨件目日 巴 上 工 匕 匕 匹 亘 燮 黝匕上土且到 图 2 . 2 一 s l n v s h 袱 r o ws 变换示意图 in v m 议 c ol umns: in v m 议 c o l u lr ir 巧 0 变换是m i x c of umn s() 变换的 逆变换。 由于 *) 与(x+l ) 互素,因此 * ) 可逆,可得 a 一 , ( x ) = 助 x , + 毛 。 x , + 0 9 ) x + o e 卜 令5 , ( x ) = a 一 , ( x ) q s ( x ) : ,。, ) 1 0 “ 。 b o d 0 9 1 , 。, 1 一:井 卜 一嚣 嚣 嚣 嚣 :二 一 “ ” l s 3 , jl 0 b o d 0 9 0 e j l s 3.。 j 这个矩阵的计算过程如下: 5 ,。 . = ( o e . 5 o . ) 。 ( 夏ob . 5 1, ) 田 ( o d . 5 2 , ) 。 ( 夏 09 卜 5 3 .。 ) 5 ., = ( 0 9 . 5 。, ) 。 ( o e . 51 , ) 。 ( 毛 ob 卜 凡 .c ) 。 ( o d . 5 , ) 5 2 ,。 = ( o d . 5 。 。 ) 。 ( 0 9 . 5 ,。 ) 。 ( oe 卜5 2 , , 。 ( o b . 5 3,。 ) 5 3 .。 = ( o b . 5 。 ,。 ) 。( ( o d . 5 1, ) 由( 0 9 卜5 2 , : ) e( o e . 5 3 . ) 2. 2. 4等价解密流程 对比 加、 解密的流程图 可知, 解密与加密 并不是对称的。 为了 实现方便, 可以 利 用 a e s算法的几个 特性, 变换解密算法的变 换顺序,使其与 加密流 程相同 ( 变换 用 逆变换取代) ,同时要变换一下密钥扩展方法。 硕 上 学位论文 人 e s加密机制在ips ec协议中的应用研究及其硬件实现 性质如下: 1 .s u b b ytes ( ) 和s h i 欣o w s ( ) 变换是 可交换的。 因为s u b b ytes o 作用在单字节上, 而与 这些字节的位置无关:s hi n r o wso 只 对字节进行换位, 而不影响字节的值。 对于 它们的 逆变换in v s ubb 珍50和invs hi ft r 0 w s ( ) 而一 言 ,也是 成立的。 2 . m ix c ol u lnns ( ) 和invmix c ol uzlinso 对于列输入而言是呈线性关系的,这就意味 着 in v mi x c o l u n l n s ( 5 以e x o rro und k e y ) = i n v m i x c o l umns( 滋 以 e ) x o rin v m 议 c o l umns( round k e y ) . 这些特性就允许 in vsubb yte习和 i nvs hi n r 0 w s o 变换的顺序可以颠倒一下。而 a ddr o un d k eyo 和in v m ix c ol u lnns ( ) 变换的顺 序也可以 被颠倒, 只要解密密钥流程中 的 c o l u 浏 城word s ) 用in v m i x c o l uninso 变 换一下。 那么等 价的解密流程就可以 这样定义, 在用i n v m ix c ol 呼0 变换把 1 “ ro und n r-l 的 解密密钥修正过后, 将ro un d 循 环中in vsub b yt e s()和 i nvs hi ft r o w s()变换的 顺 序颠 倒, 并且add r 0 und k e y ( ) 和i nv 树x c ol umnso 变 换的 顺序也颠 倒一下, 就可以了 . 按这种方式,最开始和最后n b 个解密密钥的双字不用更改。 硕 l 学位论文 a e s加密机制在ips ec协议中的应用研究及其硬件实现 3a e s 算法的优化设计 3 . 15盒的优化 在 a e s的硬件实现方面,5 一 b o x是 a e s算法中最复杂的模块。显然,如何实现 5 一 box 对于整个 a e s 系统占用尺寸的大小, 运算速度快慢和功耗的多少有着非常重要 的影 响。因 此, 在探讨其他部分之前, 我们有必要 探寻紧凑5 一 box 硬 件实 现的方法。 5 七 。 x是整个加密系统中唯一一个包含非线性替换的 8 输入 8 输出模块,它通过 一个 简单的 查表操作进行非线性的 字节替换, 而 这个表由 所有2 56种可能的8 位数数 值排列构成。 因为每一轮都需要不停的重复这个操作而且这个替换是一种字节对字节 函数,因此字节替换是整个算法的瓶颈. 3 . l l查询表 最早的ae s s 一 b ox 大多直截了当地 使用查 询表ijs l 或硬件实现5 位布尔函数。 查 询 表可以通过使用只读存储器, 随机存储器或者可编程逻辑控制器加上一个地址译码器 实现,这种设计多见于一般 f p g a应用中。另外, 根据 8 位布尔函数的,我们可以得 到完整的 8位 5 一 box的真值表,利用 e d a工具将该真值表进行综合即可得到实现 5 位布尔函数的逻辑电路。这种直接实现布尔函数的方法通常应用在a s ic 设计中。由 于 5 . box 属于非线性设计,因此真值表中的数字排列从某种程度上说是随机生成的。 因 而其逻辑门电 路的压缩和优化是非常困 难的, 而且这 种实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论