太阳城集团

  • / 11
  • 下载费用:30 金币  

一种支持多工作模式的可配置3DES加解密算法电路.pdf

摘要
申请专利号:

CN201510336965.2

申请日:

2015.06.17

公开号:

太阳城集团CN105049203A

公开日:

2015.11.11

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):H04L 9/18申请日:20150617|||公开
IPC分类号: H04L9/18; G06F21/60(2013.01)I 主分类号: H04L9/18
申请人: 复旦大学
发明人: 韩军; 谢志成; 曾晓洋
地址: 200433上海市杨浦区邯郸路220号
优先权:
专利代理机构: 上海正旦专利代理有限公司31200 代理人: 陆飞; 盛志范
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201510336965.2

授权太阳城集团号:

||||||

法律状态太阳城集团日:

太阳城集团2018.06.29|||2015.12.23|||2015.11.11

法律状态类型:

太阳城集团授权|||实质审查的生效|||公开

摘要

本发明属于密码学集成电路设计技术领域,具体为一种支持多工作模式的可配置3DES加解密算法电路。本发明3DES加解密算法电路由AHB总线接口、数据传输模块、执行模块以及核心加密模块等组成。本发明采用乒乓缓存的结构,使得整个电路在加解密过程中避免相邻加解密操作之间等待输入数据的时钟消耗,提高加解密效率。本发明提供总线接口,便于集成到以AMBA总线为互联机制的片上系统中。本发明实现可选的单重DES加解密或者3DES加解密,并且实现四种不同模式的DES或者3DES的加解密,这四种模式为电码本、密码分组链接、密码反馈、输出反馈。本发明整体运算效率高,面积小,能够较好地应用于高安全性能要求的系统中。

权利要求书

1.一种支持多种工作模式的可配置3DES加解密算法电路,其特征在于包括如下模块:(1)AHB总线接口DES_ahb模块,用于集成到以AMBA总线为互联机制的片上系统中;(2)顶层模块DES_mode模块,用于实现数据传输接口DES_io模块、DES_3DES执行模块以及核心加密DES模块的信号连接;整个DES_mode用于实现选择单重DES加解密或者3DES加解密;并且实现四种不同模式的DES或者3DES的加解密,四种模式为:电码本、密码分组链接、密码反馈、输出反馈;(3)数据传输接口DES_io模块,其主要实现的功能是,与外部模块以32比特为单位进行数据传输,将数据存放在寄存器内,再根据需要的模式进行不同的调度,以64比特为单位将需要加解密的数据传入DES_3DES模块;(4)DES_3DES执行模块,其根据控制寄存器实现DES和3DES两种加解密方式;(5)核心加密DES模块,此模块的基本迭代算法过程如下:设Li-1、Ri-1分别指代一轮迭代的加密数据变换模块输入的高32位和低32位;Li、Ri分别指代一轮迭代的加密数据变换模块输出的高32位和低32位,并作为下一轮迭代的数据输入;Ki是每轮迭代加密数据变换的所需的轮密钥;Ci-1、Di-1分别指一轮迭代中相应的轮密钥产生模块输入的高28位和低28位;Ci、Di分别指一轮迭代中相应的轮密钥产生模块输出的高28位和低28位,并作为下一轮迭代的输入;把64位的中间数据分为独立的左右32位数据Li-1和Ri-1,每轮迭代变换的过程归为如下公式:其中,到第二个异或运算输入之间的运算,即Ri-1首先经过扩展置换扩展为48位数据,然后与48位的轮密钥Ki进行异或运算,结果送入S盒中,S盒的输出再进行一次置换操作并和Li-1进行第二次的异或操作;轮密钥Ki生成:把Ci、Di首先左移1位或者2位,然后进行置换压缩操作,结果即为每轮迭代的轮密钥Ki。2.根据权利要求1所述的支持多种工作模式的可配置3DES加解密算法电路,其特征在于所述数据传输接口DES_io模块包括软件配置的控制信号的控制寄存器,该控制寄存器用于实现不同加解密方式和不同工作模式配置调度。3.根据权利要求2所述的支持多种工作模式的可配置3DES加解密算法电路,其特征在于所述数据传输接口DES_io模块采用乒乓缓存的结构,其包括一个控制状态机、一个数据处理和存储模块、一个计数器、两个寄存器data_in_reg和data_in_reg2,两个寄存器data_in_reg和data_in_reg2用于来交叉存储加密数据;数据处理和存储模块在控制状态机的控制下选通不同的数据通路来实现对不同的加密数据进行处理和结果的存储;计数器在控制状态机的控制下产生信号cnt,信号cnt是实现外部加密数据的存储控制信号,用来选择加密的寄存器对象。4.根据权利要求3所述的支持多种工作模式的可配置3DES加解密算法电路,其特征在于所述DES_3DES执行模块的内部状态机执行流程为:初始状态为IDLE,当triple_active为高,表明加密开始,进入DES1状态;DES1状态:将single_active置高,single_endec=triple_endec,密钥为triple_key1,开始一次DES加密;直至single_data_valid为高,第一轮加密结束;若des_tdes为低,说明只是需要单重des加解密,进入下一个状态为IDLE状态;若des_tdes为高,说明需要triple_des加解密,进入下一个状态为DES2;DES2状态:将single_active置高,single_endec=!triple_endec,密钥为triple_key2,开始一次DES加密;直至single_data_valid为高,第二轮加密结束;进入下一个状态为DES3;DES3状态:将single_active置高,single_endec=triple_endec,密钥为triple_key3,开始一次DES加密,直至single_data_valid为高,第三轮加密结束;进入下一个状态为IDLE。

说明书

一种支持多工作模式的可配置3DES加解密算法电路

技术领域

本发明属于密码学集成电路设计技术领域,具体涉及一种支持多工作模式的可配置3DES加解密算法电路。

背景技术

近几年来,随着计算机和太阳城集团技术的迅猛发展和普及应用,各个行业的应用系统的规模迅速扩大,随着而产生的应用数据呈现出爆炸式增长。大数据量的产生和传输在促进行业发展的同时无疑将更多的应用太阳城集团暴露于网络之上。为了保障产生和传输的数据的安全性,各个行业都在自家的应用系统中研究行之有效的加解密模块的软硬件实现。

太阳城集团DES加密算法是应用最为广泛的对称密码,其使用64位的分组和56位的密钥。DES在穷举攻击之下相对比较脆弱,一种改进的方案是采用多重加密技术,如三重DES(3DES)加密算法。3DES加密算法是在三个阶段使用DES算法,通过使用不同的密钥分别在DES加密,DES解密和DES加密阶段对数据进行加密处理。这种技术扩大了密钥的使用宽度,大大降低了尝试采取暴力破解加密算法的可能性。到目前为止,3DES加密算法在抗暴力破解上被认为是安全的。因此,在需要保证高的安全性能的应用中,3EDS加密算法已被广泛接受。如若数据对数据安全性要求不高,可以采用二重DES或者DES加密算法来降低实现代价,提高运算速度。

发明内容

本发明的目的是提供一种支持多种工作模式的可配置3DES加解密算法电路,能够广泛应用于需要保障安全性能的系统中。

太阳城集团本发明提供的支持多种工作模式的可配置3DES加解密算法电路,采用一种乒乓缓存的结构,使得整个电路在加解密过程中避免相邻加解密操作之间等待输入数据的时钟消耗,提高加解密效率。

本发明提供的3DES加密算法电路,整体框图如图1所示,包括如下模块:

太阳城集团(1)AHB总线接口DES_ahb模块,用于集成到以AMBA总线为互联机制的片上系统中;

太阳城集团(2)顶层模块DES_mode模块,用于实现数据传输接口DES_io模块、DES_3DES执行模块以及核心加密DES模块的信号连接。整个DES_mode模块可用于实现选择单重DES加解密或者3DES加解密;并且实现四种不同模式的DES或者3DES的加解密,四种模式为:电码本(ECB)、密码分组链接(CBC)、密码反馈(CFB)、输出反馈(OFB);

太阳城集团(3)数据传输接口DES_io模块,此模块主要实现的功能是,与外部模块以32比特为单位进行数据传输,将数据存放在寄存器内,再根据需要的模式进行不同的调度,以64比特为单位将需要加解密的数据传入DES_3DES模块;

(4)DES_3DES执行模块,可以根据控制寄存器实现DES和3DES两种加解密方式;

(5)核心加密DES模块,此模块的基本迭代算法过程如图2所示。其中,设Li-1、Ri-1分别指代一轮迭代的加密数据变换模块输入的高32位和低32位;Li、Ri分别指代一轮迭代的加密数据变换模块输出的高32位和低32位,并作为下一轮迭代的数据输入;Ki是每轮迭代加密数据变换的所需的轮密钥;Ci-1、Di-1分别指一轮迭代中相应的轮密钥产生模块输入的高28位和低28位;Ci、Di分别指一轮迭代中相应的轮密钥产生模块输出的高28位和低28位,并作为下一轮迭代的输入。

把64位的中间数据分为独立的左右32位数据Li-1和Ri-1,每轮迭代变换的过程可以归为如下公式:

其中,到第二个异或运算输入之间的运算。即Ri-1首先经过扩展置换扩展为48位数据,然后与48位的轮密钥Ki进行异或运算,结果送入S盒中,S盒的输出再进行一次置换操作并和Li-1进行第二次的异或操作。参见图2的左半部分。

太阳城集团轮密钥Ki生成,把Ci、Di首先左移1位或者2位,然后进行置换压缩操作,结果即为每轮迭代的轮密钥Ki,参见图2的右半部分。

整个迭代数据通路在图3中的加密迭代控制子模块的控制下进行。

核心加密DES模块框图如图3所示,主要子模块包括:

加密迭代控制子模块,该子模块包括密钥初始置换模块,该模块的作用是将64位的初始密钥通过置换选择操作变换为56位的数据,并作为图2中轮密钥产生模块的输入;子密钥生成模块,该模块的数据通路即为上述的图2中的右半部分;

太阳城集团数据初始置换子模块,即将原始的输入明文进行重新排列,并作为图2中加密数据变换模块的输入;

轮函数子模块,即为上述的数据通路;

太阳城集团数据逆初始置换子模块,与初始置换操作互逆的运算,该模块是将经过16轮加密迭代之后的数据的输出进行置换操作,结果即为最终的密文输出。

本发明电路整体运算效率高,面积小,能够较好地应用于高安全性能要求的系统中。

附图说明

图13DES加密算法电路整体框图。

太阳城集团图2核心加密DES模块基本迭代算法过程。图中,Li-1、Ri-1和Li、Ri分别指一轮迭代的数据输入和输出的高32位和低32位;Ci-1、Di-1和Ci、Di分别指一轮迭代中相应的轮密钥输入和输出的高28位和低28位。

图3核心加密DES模块框图。

太阳城集团图4DES_io模块控制寄存器字段说明。图中,start_bit:开始控制信号;endec_bit:加密解密选择信号,低为加密,高为解密;des_tdes_bit:DES或3DES选择信号,高为3DES,低为DES;mode_bits:模式选择信号,“00”为ECB,“01”为CBC,“10”为CFB,“11”为OFB。

图5乒乓缓存的结构简图。图中,寄存器data_in_reg和data_in_reg2是用来实现交叉存储加密数据,信号cnt的目的是实现外部加密数据的存储控制信号,用来选择加密的寄存器对象。

图6DES_io模块调度方案图。图中,des_data_in:数据输入端口;endec:加密还是解密运算控制信号;mode_bit:模式选择信号。

图7DES_io模块内部状态机示意图。状态说明:IDLE:初始状态;DES:加密状态;NOACTIVE:加密完成状态。信号说明:start_bit:信号为1时表明加密所需的数据准备就绪,加密开始;des_data_valid:信号为1时表明加密完成。

图8DES_3DES模块内部状态机示意图。状态说明:IDLE:初始状态;DES1:DES加密状态或者3DES加密状态的第一次加密状态;DES2:3DES加密状态的解密状态;DES3:3DES加密状态的第二次加密状态。

太阳城集团信号说明:triple_active:信号为1时表明加密有效;des_tdes:信号为1时表明是3DES加密模式,为0表明是DES加密模式;single_data_valid:信号为1时表明单轮加解密完成。

具体实施方式

太阳城集团数据传输接口DES_io模块主要实现的功能是,与外部模块以32比特为单位进行数据传输,将数据存放在寄存器内,再根据需要的模式进行不同的调度,以64比特为单位将需要加解密的数据传入DES_3DES模块。

太阳城集团数据传输接口DES_io模块存放软件配置的控制信号的控制寄存器,如图4所示,该寄存器用于实现不同加解密方式和不同工作模式配置调度。不同的控制字段如下:

start_bit:开始控制信号。

endec_bit:加密解密选择信号,低为加密,高为解密。

太阳城集团des_tdes_bit:DES或3DES选择信号,高为3DES,低为DES。

mode_bits:模式选择信号,“00”为ECB,“01”为CBC,“10”为CFB,“11”为OFB。

busy_bit:忙信号,当为高时,说明这轮加解密还没完成;为低,表示完成。

该模块中采用乒乓缓存的结构,使得整个电路在加解密过程中避免了相邻加解密操作之间等待输入数据的时钟消耗,提高了加解密效率。该模块结构框图如图5所示。其包括一个控制状态机、一个数据处理和存储模块、一个计数器、两个寄存器data_in_reg和data_in_reg2,两个寄存器data_in_reg和data_in_reg2用于来交叉存储加密数据;数据处理和存储模块在控制状态机的控制下选通不同的数据通路来实现对不同的加密数据进行处理和结果的存储;计数器在控制状态机的控制下产生信号cnt,信号cnt是实现外部加密数据的存储控制信号,用来选择加密的寄存器对象。该结构通过增加一组寄存器(data_in_reg2)来实现交叉存储加密数据,通过增加很小的硬件开销来提高整个加解密的效率。

太阳城集团在DES加解密方式下,加密时钟利用率(加密时钟利用率是指整个加解密过程中加解密执行所占有的时钟周期数与加解密数据输入到加解密完成之间的整个过程占有的时钟周期数之比)由82%提升为92%;在3DES加解密方式下,加密时钟利用率由93%提升为97%。

太阳城集团数据传输接口DES_io模块调度方案如图6所示,其内部的状态机如图7所示。

当外部将start_bit置为高后,说明外部已经把需要加密的数据放入data_in_reg中,将加密需要的密钥放入key_reg中了。状态机进入DES状态,设置des_active为高,启动DES_3DES开始工作。

当检测到des_data_valid为高时,表明加密结束,状态机进入NOACTIVE状态,将des_active置为低,一次加密结束。

太阳城集团DES_3DES执行模块可以根据控制寄存器实现DES和3DES两种加解密方式。

DES_3DES执行模块的内部状态机如图8所示。其执行流程为:

初始状态为IDLE。当triple_active为高,表明加密开始,进入DES1状态。

太阳城集团DES1状态:将single_active置高,single_endec=triple_endec,密钥为triple_key1,开始一次DES加密。直至single_data_valid为高,第一轮加密结束。若des_tdes为低,说明只是需要单重des加解密,下一个状态为IDLE状态。若des_tdes为高,说明需要triple_des加解密,下一个状态为DES2。

太阳城集团DES2状态:将single_active置高,single_endec=!triple_endec,密钥为triple_key2,开始一次DES加密。直至single_data_valid为高,第二轮加密结束。下一个状态为DES3。

太阳城集团DES3状态:将single_active置高,single_endec=triple_endec,密钥为triple_key3,开始一次DES加密。直至single_data_valid为高,第三轮加密结束。下一个状态为IDLE。

其中,由于每次triple_des加解密的三次中间有一些的过程转换时钟,所以每次加解密的结果需要保存,为了节省64比特的寄存器。当每一次DES加密完之后,将结果通过端口triple_data_out[63:0]输出到DES_io模块,暂时存储在寄存器des_data_out[63:0]中,当下一次加密开始时,通过端口triple_des_in[63:0]输入。

整个3DES加解密算法电路用VerilogHDL设计,在SMIC65nmCMOS工艺综合下,得到相应的面积为0.01429mm2,工作在500MHz时的功耗为2.688mW。该3DES加解密算法电路能够很好地用于高安全性能要求、低成本、低功耗的应用场合。

关 键 词:
一种 支持 工作 模式 配置 DES 解密 算法 电路
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种支持多工作模式的可配置3DES加解密算法电路.pdf
链接地址:http://zh228.com/p-6401723.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');