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

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

技术编号:12311762 阅读:60 留言:0更新日期:2015-11-11 19:47
本发明专利技术属于密码学集成电路设计技术领域,具体为一种支持多工作模式的可配置3DES加解密算法电路。本发明专利技术3DES加解密算法电路由AHB总线接口、数据传输模块、执行模块以及核心加密模块等组成。本发明专利技术采用乒乓缓存的结构,使得整个电路在加解密过程中避免相邻加解密操作之间等待输入数据的时钟消耗,提高加解密效率。本发明专利技术提供总线接口,便于集成到以AMBA总线为互联机制的片上系统中。本发明专利技术实现可选的单重DES加解密或者3DES加解密,并且实现四种不同模式的DES或者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) 顶层模块DESjnode模块,用于实现数据传输接口 DES_io模块、DES_3DES执行模 块以及核心加密DES模块的信号连接。整个DESjnode模块可用于实现选择单重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-I 分别指代一轮迭代的加密数据变换模块输入的高32位和低32位;Li、Ri分别指代一轮迭 代的加密数据变换模块输出的高32位和低32位,并作为下一轮迭代的数据输入;Ki是每 轮迭代加密数据变换的所需的轮密钥;Ci-1、Di-I分别指一轮迭代中相应的轮密钥产生模 块输入的高28位和低28位;Ci、Di分别指一轮迭代中相应的轮密钥产生模块输出的高28 位和低28位,并作为下一轮迭代的输入。 把64位的中间数据分为独立的左右32位数据Li-I和Ri-I,每轮迭代变换的过程 可以归为如下公式·其中,到第二个异或运算输入之间的运算。即Ri-I首先经过扩展 置换扩展为48位数据,然后与48位的轮密钥Ki进行异或运算,结果送入S盒中,S盒的输 出再进行一次置换操作并和Li-I进行第二次的异或操作。参见图2的左半部分。 轮密钥Ki生成,把Ci、Di首先左移1位或者2位,然后进行置换压缩操作,结果即 为每轮迭代的轮密钥Ki,参见图2的右半部分。 整个迭代数据通路在图3中的加密迭代控制子模块的控制下进行。 核心加密DES模块框图如图3所示,主要子模块包括: 加密迭代控制子模块,该子模块包括密钥初始置换模块,该模块的作用是将64位的初 始密钥通过置换选择操作变换为56位的数据,并作为图2中轮密钥产生模块的输入;子密 钥生成模块,该模块的数据通路即为上述的图2中的右半部分; 数据初始置换子模块,即将原始的输入明文进行重新排列,并作为图2中加密数据变 换模块的输入; 轮函数子模块,即为上述的数据通; 数据逆初始置换子模块,与初始置换操作互逆的运算,该模块是将经过16轮加密迭代 之后的数据的输出进行置换操作,结果即为最终的密文输出。 本专利技术电路整体运算效率高,面积小,能够较好地应用于高安全性能要求的系统 中。【附图说明】 图I 3DES加密算法电路整体框图。 图2核心加密DES模炔基本迭代算法过程。图中,Li-URi-I和Li、Ri分别指一 轮迭代的数据输入和输出的高32位和低32位;Ci-1、Di-I和Ci、Di分别指一轮迭代中相 应的轮密钥输入和输出的高28位和低28位。 图3核心加密DES模块框图。 图4 DES_io模块控制寄存器字段说明。图中,start_bit :开始控制信号;endec_ bit :加密解密选择信号,低为加密,高为解密;des_tdes_bit :DES或3DES选择信号,高为 3DES,低为 DES ; mode_bits :模式选择信号,"00"为 ECB,"01"为 CBC,"10"为 CFB,"11"为 OFB0 图5兵兵缓存的结构简图。图中,寄存器data_in_reg和data_in_reg2是用来 实现交叉存储加密数据,信号cnt的目的是实现外部加密数据的存储控制信号,用来选择 加密的寄存器对象。 图6 DES_io模块调度方案图。图中,des_data_in :数据输入端口; endec :加密 还是解密运算控制信号;mode_bit :模式选择信号。 图7 DES_io模块内部状态机示意图。状态说明:IDLE :初始状态;DES :加密状 态;N0ACTIVE:加密完成状态。信号说明:start_bit :信号为1时表明加密所需的数据 准备就绪,加密开始;deS_data_valid :信号为1时表明加密完成。 图8 DES_3DES模块内部状态机示意图。状态说明:IDLE :初始状态;DESl : 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 :加密解密选择信号,低为加密,高为解密。本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/62/CN105049203.html" title="一种支持多工作模式的可配置3DES加解密算法电路原文来自X技术">支持多工作模式的可配置3DES加解密算法电路</a>

【技术保护点】
一种支持多种工作模式的可配置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。...

【技术特征摘要】

【专利技术属性】
技术研发人员:韩军谢志成曾晓洋
申请(专利权)人:复旦大学
类型:发明
国别省市:上海;31

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

1