当前位置: 首页 > 专利查询>东南大学专利>正文

一种用于IPSec协议下的AES算法硬件实现装置制造方法及图纸

技术编号:12587117 阅读:60 留言:0更新日期:2015-12-24 03:51
本发明专利技术公开了一种用于IPSec协议下的AES算法硬件实现装置。该装置包括:进入控制模块、外出控制模块、时钟生成模块、密钥生成模块、AES算法模块。利用进入控制模块将输入的IPsec数据整合为满足AES运算的数据,利用外出控制模块将完成AES运算的数据拆分为IPsec数据输出,实现了IPSec协议下的AES算法应用;本发明专利技术基于模块复用的思想,利用硬件组合逻辑电路可以并行处理的特点,缩短AES运算周期,并通过提前生成子密钥来节约时钟,大幅提高了算法实现效率;本发明专利技术可通过对现有硬件AES运算模块进行简单改进即可实现,实现成本低,适用范围广。

【技术实现步骤摘要】

本专利技术涉及网络数据流加密
,尤其涉及一种用于IPSec (InternetProtocol Security)协议下的AES算法硬件实现装置。
技术介绍
密码学是一门历史非常悠久的学科。自从人类有传输信息的需求开始,加密与破解密码便成为了双方斗智的战场。现代的密码学不仅限于用于军事与金融用途,而是与我们日常生活密切相关。从个人网银转账到上网账户的账号和密码,如何保证个人信息的安全已成为一个受到广泛重视的话题。密码学已经充分融入了我们生活的点点滴滴中。为了应对DES算法暴露出的缺点,1997年的I月,美国国家标准与技术研究院(NIST)为了新算法一高速加密标准(AES)征求建议以替代旧的数据加密标准(DES)。AES算法的加密模式主要分为两种,无反馈模式和反馈模式,例如电子密码本(ECB,Electronic Code Book)模式和计算器(Counter)模式属于无反馈模式,密码分组链(CBC,Cipher Block Chaining)模式、密码反馈(CFB,Cipher Feedback)模式和输出反馈模式(0FB,Output Feedback)模式则属于反馈模式。IPSec是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与Internet的攻击。在通信中,只有发送方和接收方才是唯一必须了解IPSec保护的计算机。IPSec 协议是 IETF( Internet Engineering Task Force,Internet 工程任务组)的IPSec小组建立的一组IP安全协议集。IPSec定义了在网络层使用的安全服务,其功能包括数据加密、对网络单元的访问控制、数据源地址验证、数据完整性检查和防止重放攻击。由于IPSec协议标准要求必须使用CBC模式进行AES加、解密,所以,为了在IPSec协议下实现AES加密算法,需要一种切实可行的方案来解决这个问题,在能够适应IPSec协议的基础上,可以通过硬件实现来提升处理效率和系统可靠性。
技术实现思路
本专利技术所要解决的技术问题在于克服现有技术不足,提供一种用于IPSec协议下的AES算法硬件实现装置,在能够适应IPSec协议的基础上,大幅提升数据加密的效率和可靠性。本专利技术具体采用以下技术方案解决上述技术问题: 一种用于IPSec协议下的AES算法硬件实现装置,包括:进入控制模块、外出控制模块、时钟生成模块、密钥生成模块、AES算法模块; 所述进入控制模块用于接收外部输入的符合IPSec协议的数据包,并对所接收的数据包进行以下处理:先从第一个数据包中提取以下信息:密钥使用长度、子数据包个数、工作时钟频率以及运算模式;然后根据所提取的密钥使用长度接收相应数量的密钥子数据包,并将密钥子数据包整合成一个128?256bits长度的密钥后发送给密钥生成模块;再接收相应数量的初始化向量IV的子数据包VI,将其整合成一个128bits的数据并储存;接着依次接收相应数量的待处理数据,将其分别整合成长度为128bits的待处理数据块Pi,并将第一个待处理数据块Pl与之前储存的Vl异或得到Cl,将待处理数据块Pi与AES算法模块对C(1-l)处理后得到的数据进行异或得到Ci,将异或后数据发送给AES算法模块,其中i=2,3,…;当所接收的数据包数量达到所提取的子数据包个数后,开始下一个数据包的处理; 所述密钥生成模块用于根据进入控制模块所提取的密钥使用长度,配置相应的子密钥产生轮数; 所述时钟生成模块用于按照进入控制模块所提取的工作时钟频率为整个AES算法硬件实现装置提供相应的工作时钟; 所述AES算法模块用于根据密钥生成模块产生的子密钥对进入控制模块处理后的数据进行AES加密/解密;所述AES算法模块由可模块复用的组合逻辑电路构成,能够根据进入控制模块所所提供的密钥使用长度、工作时钟频率、运算模式,对输入数据进行可配置的AES加密/解密运算; 所述外出控制模块用于将AES算法模块输出数据传输给进入控制模块,同时将AES算法模块输出数据拆分为相应的子数据包,并为各个子数据包添加保证其完整性的数据包标志位后依次输出。所述AES算法模块包括AES加密模块和AES解密模块;AES加密模块包括依次连接的多个加密轮运算模块,每个加密轮运算模块包括依次连接的字节替换模块、行移位变换模块、列混合变换模块,在每一个加密轮运算模块的行移位变换模块与列混合变换模块之间串接有一个选择器,该选择器用于判断是否到了加密运算的最后一轮,如果是,则输出行移位变换的结果,否则,输出列混合变换之后的结果;AES解密模块包括依次连接的多个解密轮运算模块,每个解密轮运算模块包括依次连接的逆列混合变换模块、逆行移位变换模块、逆字节替换模块,在每一个解密轮运算模块的逆列混合变换模块和逆行移位变换模块之间串接有一个选择器,该选择器用于判断是否到了解密运算的最后一轮,如果是,则跳过逆列混合变换,直接进行逆行移位变换,否则先进行逆列混合变换,再进行逆行移位变换。相比现有技术,本专利技术具有以下有益效果: 本专利技术利用进入控制模块将输入的IPsec数据整合为满足AES运算的数据,利用外出控制模块将完成AES运算的数据拆分为IPsec数据输出,实现了 IPSec协议下的AES算法应用; 本专利技术基于模块复用的思想,利用硬件组合逻辑电路可以并行处理的特点,使得传统AES运算所需的周期大大缩短,以此来提高整个算法的运行速度; 由于网络数据以数据流形式传输,这使得密钥、初始化向量IV和待处理数据不能同时传入,其相互之间会间隔一定周期,本专利技术通过将接收到的密钥先传入密钥生成模块中,提前生成子密钥,等到待处理数据整合好开始传送时,子密钥正好生成完毕,以此节约了时钟,进一步提尚了算法实现效率;本专利技术可通过对现有硬件AES运算模块进行简单改进即可实现,实现成本低,适用范围广。【附图说明】图1为本专利技术AES算法硬件实现装置的结构框架示意图; 图2为进入控制模块的工作流程示意图; 图3为外出控制模块的工作流程示意图; 图4为传统AES运算模块的实现原理示意图; 图5为本专利技术AES算法硬件实现装置的实现原理示意图; 图6为本专利技术AES算法硬件实现装置中实现一轮运算的原理示意图,其中包含了轮加密和轮解密运算。【具体实施方式】下面结合附图对本专利技术的技术方案进行详细说明: 在IPSec协议下,所有数据以数据包形式流通,数据包的格式以及位数必须符合协议要求和约定,而AES算法一次只能处理128bits数据,密钥也只能是128、192、256bits长度。一般为节省带宽,IPSec数据包的位数远低于128bits,因此本专利技术加入了进入控制模块和外出控制模块,用于对数据包进入的整合以及对外出数据的分拆,以使得AES算法得以正常应用于IPSec协议中。同时IPSec协议要求AES必须使用CBC模式,该模式的实现也有赖于所添加的进入控制模块和外出控制模块,将待处理数据在进入控制模块中组包完成时,即让它与初始化向量IV或者前一次处理后的数据(可能是加密后的密文也可能是解密后的明文)异或。本专利技术根据所接收数据包中的特定的标志位,告知各个模块去配置与外界要求相匹配的密钥使用长度、子数据包个本文档来自技高网
...
一种用于IPSec协议下的AES算法硬件实现装置

【技术保护点】
一种用于IPSec协议下的AES算法硬件实现装置,其特征在于,包括:进入控制模块、外出控制模块、时钟生成模块、密钥生成模块、AES算法模块;所述进入控制模块用于接收外部输入的符合IPSec协议的数据包,并对所接收的数据包进行以下处理:先从第一个数据包中提取以下信息:密钥使用长度、子数据包个数、工作时钟频率以及运算模式;然后根据所提取的密钥使用长度接收相应数量的密钥子数据包,并将密钥子数据包整合成一个128~256bits长度的密钥后发送给密钥生成模块;再接收相应数量的初始化向量IV的子数据包V1,将其整合成一个128bits的数据并储存;接着依次接收相应数量的待处理数据,将其分别整合成长度为128bits的待处理数据块Pi,并将第一个待处理数据块P1与之前储存的V1异或得到C1,将待处理数据块Pi与AES算法模块对C(i‑1)处理后得到的数据进行异或得到Ci,将异或后数据发送给AES算法模块,其中i=2,3,…;当所接收的数据包数量达到所提取的子数据包个数后,开始下一个数据包的处理;所述密钥生成模块用于根据进入控制模块所提取的密钥使用长度,配置相应的子密钥产生轮数;所述时钟生成模块用于按照进入控制模块所提取的工作时钟频率为整个AES算法硬件实现装置提供相应的工作时钟;所述AES算法模块用于根据密钥生成模块产生的子密钥对进入控制模块处理后的数据进行AES加密/解密;所述AES算法模块由可模块复用的组合逻辑电路构成,能够根据进入控制模块所所提供的密钥使用长度、工作时钟频率、运算模式,对输入数据进行可配置的AES加密/解密运算;所述外出控制模块用于将AES算法模块输出数据传输给进入控制模块,同时将AES算法模块输出数据拆分为相应的子数据包,并为各个子数据包添加保证其完整性的数据包标志位后依次输出。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李冰涂云晶李兵郭安刘勇陈帅赵霞董乾王刚
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1