CN101431405B - Des加密方法及其硬件电路实现方法 - Google Patents
Des加密方法及其硬件电路实现方法 Download PDFInfo
- Publication number
- CN101431405B CN101431405B CN2008102191351A CN200810219135A CN101431405B CN 101431405 B CN101431405 B CN 101431405B CN 2008102191351 A CN2008102191351 A CN 2008102191351A CN 200810219135 A CN200810219135 A CN 200810219135A CN 101431405 B CN101431405 B CN 101431405B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- des
- des encryption
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出一种DES加密方法及其硬件电路实现方法,采用移位寄存器代替连线方便地实现初始置换和逆初始置换;通过两级循环及二级流水线结构,使加密电路面积与速度获得优化;在循环结构中的扩展/置换和P置换采用连线的方式设计,以进一步减少芯片面积;该硬件电路比目前其他DES硬件加密电路,更适合在普通加密场合上的产业化。
Description
技术领域
本发明涉及密码学领域,具体涉及DES加密方法及其硬件电路实现方法。
背景技术
数据加密标准(Data Encryption Standard,DES)是目前最广泛使用的加密算法,特别在金融领域,曾经是对称密码体制事实上的世界标准。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,从而实现了关键数据的保密。
目前的穷举搜索攻击使DES的安全性受到很大的威胁,然而这只是由于DES算法的密钥过短造成,并不是DES算法本身存在重大的缺陷。只要增加密钥的长度,由DES算法实现的加密电路仍然是安全的。如果更换新的密码算法,必然要淘汰许多旧设备,造成巨大的浪费。因此,在保留原有设备基础上,采用密钥更长、安全性更高的DES加密改良电路,必然有很大的产业化空间和应用前景。
目前,DES硬件实现的加密电路,或者由于片面追求面积最小化而使用多级循环技术,导致需要多个直至16个时钟周期才能完成明文加密或密文解密;或者由于片面追求速度而采用多级直至16级流水线技术,从而导致硬件电路面积过大。
发明内容
本发明的目的在于克服现有技术的上述缺点和不足,提供一种DES加密方法,本发明提出的DES加密方法,通过两级循环及二级流水线结构,使加密电路面积与速度获得最优化,比目前其他DES硬件加密电路,更适合在普通加密场合上的产业化应用。
本发明的另一目的在于提供上述DES加密方法的硬件电路实现方法。
本发明目的通过下述技术方案实现:DES加密电路包括:
用于实现整个DES加密电路的状态控制、状态译码、模式选择等功能并控制密钥模块、运算模块的主控制模块;
用于接收来自外部电路的初始密钥,产生加密或者解密时所需要的子密钥并将子密钥向运算模块传输的密钥模块;
用于接收来自外部电路的明文或者密文数据,利用密钥模块产生的子密钥对数据进行初始置换、循环迭代、逆初始循环,产生最终的密文或者明文的运算模块;
其中,所述密钥模块、运算模块、主控制模块两两信号连接。
上述DES加密电路的加密方法,包括下述步骤:
a、主控模块设置DES加密电路的工作模式,DES加密电路有四种工作模式,分别是3DES加密工作模式、3DES解密工作模式、DES加密工作模式、DES解密工作模式;
b、输入初始信号,要求DES加密电路的密钥模块开始接收密钥,DES加密电路开始工作,主控模块激活;
c、输入初始脉冲信号后,每个周期密钥模块接收8位的初始密钥数据,连续输入8次,共64位,表示初始密钥K1;如果DES加密电路处于DES加密模式或DES解密模式,则只输入64位密钥;若DES加密电路处于3DES加密工作模式或3DES解密工作模式,则连续24次输入8位的初始密钥数据,即K2和K3。密钥模块根据输入的初始密钥数据产生子密钥;
d、从初始信号脉冲出现后的第三个工作周期开始,连续8次输入8位的明文数据或密文数据到运算模块,运算模块接收明文数据或密文数据,最后得到共64位的明文数据或密文数据;
e、运算模块接收来自密钥模块的子密钥,对明文数据进行DES运算或对密文数据进行DES解密运算;
f、若干个工作周期运算完毕后,运算模块在8个周期内的每个周期输出8位数据即共输出64位加密或的密文数据或解密运算后的明文数据。上述DES加密电路的硬件电路实现方法,包括下述步骤:
h、用移位寄存器实现初始置换和逆初始置换,接收与初始置换逻辑单元在接收明文数据或密文数据的同时进行初始置换,逆初始置换与发送逻辑单元在逆初始置换的同时发送加密后的密文数据或解密后的明文数据;
i、采用两次循环结构展开与二级流水线相结合的循环结构;
j、在循环结构中的扩展/置换和P置换采用连线的方式设计;
k、S盒设计为ROM的形式。
上述硬件电路实现方法中,步骤i所述采用两次循环结构展开与二级流水线相结合的循环结构具体为:使DES加解密经过输入初始脉冲信号到连续输入8次8位的密钥数据共9个周期,使3DES加解密经过输入初始脉冲信号到连续输入24次8位的密钥数据共25个周期。
上述硬件电路实现方法中,步骤k所述S盒中的每一个盒子的6位输入数据为寻址地址,最高位和最低位数据构成S盒子的行地址,中间4个数据构成列地址,按照行列地址寻址的数值为S盒子的输出结果,共8个ROM用于存放S盒子的数值。该ROM形式的S盒采用6位输入为寻址地址,其行地址和列地址的位数以及存放位置可以随意设计,不需固定为最高位和最低位数据构成S盒子的行地址,中间4个数据构成列地址的形式。
本发明相对于现有技术具有以下优点:
(1)本发明采用移位寄存器代替连线的设计方法,方便地实现初始置换和逆初始置换,不仅使电路系统的设计变得容易,而且减少了完成初始置换和逆初始置换所需电路模块在芯片中所占的面积。
(2)采用两次循环结构展开与二级流水线相结合的方式设计循环结构。两次循环结构展开既可缩短一次加密过程的执行周期数,又可缩短电路的时序关键路径;二级流水线方式可使循环结构子密钥的生成和循环结构的操作实现了并行处理,保证了在面积与速度的平衡上取得优化;
(3)本发明采用ROM方式设计可避免使用大量触发器或锁存器暂存数值,从而减少了电路模块在芯片中的面积,并降低了电路功耗。
附图说明
图1为本发明DES加密电路的功能模块结构图;
图2为本发明DES加密电路的硬件电路实现方法;
图3为初始置换电路图;
图4为逆初始置换电路图;
图5为两级循环和二级流水线结构;
图6为密钥产生的电路模块;
图7为3DES加密电路的结构;
图8为DES加密电路接口;
图9为CFB模式的加密流程;
图10为CFB模式的DES解密流程。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,本发明DES加密电路包括以下功能模块:
用于实现整个DES加密电路的状态控制、状态译码、模式选择等功能并控制密钥模块、运算模块的主控制模块,其中,该主控制模块接收Initialstart信号;
用于接收来自外部电路的初始密钥,产生加密或者解密时所需要的子密钥并将子密钥向运算模块传输的密钥模块;
用于接收来自外部电路的明文或者密文数据,利用密钥模块产生的子密钥对数据进行初始置换、循环迭代、逆初始循环,产生最终的密文或者明文的运算模块;
其中,所述密钥模块、运算模块、主控制模块两两信号连接。
上述DES加密电路的加密方法,包括下述步骤:
a、主控模块设置DES加密电路的工作模式,DES加密电路有四种工作模式,分别是3DES加密工作模式、3DES解密工作模式、DES加密工作模式、DES解密工作模式;
b、输入初始信号,要求DES加密电路的密钥模块开始接收密钥,DES加密电路开始工作,主控模块激活;
c、输入初始脉冲信号后,每个周期密钥模块接收8位的初始密钥数据,连续输入8次,共64位,表示初始密钥K1;如果DES加密电路处于DES加密模式或DES解密模式,则只输入64位密钥;若DES加密电路处于3DES加密工作模式或3DES解密工作模式,则连续24次输入8位的初始密钥数据,即K2和K3。密钥模块根据输入的初始密钥数据产生子密钥;
d、从初始信号脉冲出现后的第三个工作周期开始,连续8次输入8位的明文数据或密文数据到运算模块,运算模块接收明文数据或密文数据,最后得到共64位的明文数据或密文数据;
e、运算模块接收来自密钥模块的子密钥,对明文数据进行DES运算或对密文数据进行DES解密运算;
f、若干个工作周期运算完毕后,运算模块在8个周期内的每个周期输出8位数据即共输出64位加密或的密文数据或解密运算后的明文数据。
图2所示为该DES加密电路的硬件电路实现方法,包括下述步骤:
h、用移位寄存器实现初始置换和逆初始置换,接收与初始置换逻辑单元在接收明文数据或密文数据的同时进行初始置换,逆初始置换与发送逻辑单元在逆初始置换的同时发送加密后的密文数据或解密后的明文数据;
i、采用两次循环结构展开与二级流水线相结合的循环结构;
j、在循环结构中的扩展/置换和P置换采用连线的方式设计;
k、S盒设计为ROM的形式。
上述硬件电路实现方法中,步骤i所述采用两次循环结构展开与二级流水线相结合的循环结构具体为:使DES加解密经过输入初始脉冲信号到连续输入8次8位的密钥数据共9个周期,使3DES加解密经过输入初始脉冲信号到连续输入24次8位的密钥数据共25个周期。
上述硬件电路实现方法中,步骤k所述S盒中的每一个盒子的6位输入数据为寻址地址,最高位和最低位数据构成S盒子的行地址,中间4个数据构成列地址,按照行列地址寻址的数值为S盒子的输出结果,共8个ROM用于存放S盒子的数值。ROM形式的S盒采用6位输入为寻址地址,其行地址和列地址的位数以及存放位置可以随意设计,不需固定为最高位和最低位数据构成S盒子的行地址,中间4个数据构成列地址的形式。
下面以实现逻辑密码反馈(简称CFB)模式的DES算法为例,具体说明该DES加密电路的硬件电路实现方法。
如图8所示为DES加/解密电路接口结构,用以实现CFB模式下的DES算法加/解密,该接口由输入接口和输出接口组成。输入接口包括主时钟CLK,复位信号RST_P,8bits加/解密输入数据DATAINPUT,输入数据有效表示信号DATAVALID,输入范围表示信号RANGEINPUT,输入8bits密钥KEY,密钥初始信号KEYINITIALSTART和请求信号REQ。输出接口包括8bits加/解密输出数据DATAOUTPUT,输出数据有效表示信号VALIDOUTPUT,输出范围表示信号RANGEOUTPUT和空闲信号IPREADY。
图9所示为该DES加密电路的硬件电路的具体加密流程:CFB模式的明文每次被处理64bits,前边的密文被用作加密电路的输入以产生伪随机输出B,B再和明文异或产生下一个单元的密文。假设明文数据为P,密钥为K,IV为存储在移位寄存器中的初始向量。其运算过程如下:
如图8所示,当空闲信号IPRAEDY有效,如果接收到的KEYINITIALSTART信号为高电平,则REQ信号为高,DES加密电路开始运算,在图9中输入数据为8×8bits的初始向量IV,输入数据在接收与初始置换逻辑单元中进行初始置换,如图3所示)。并输入密钥为64bits的KEY,KEY通过密钥产生的电路模块(如图5所示)生成扩展密钥;
数据通过两级循环和二级流水线结构(图4所示),经过9个时钟周期,DES加密电路产生64bits的伪随机输出B1;
将明文分为若干个64bits的数据流P1、P2、...、Pn,将B1与P1进行异或,得到所需的密文C1;
密文C1被用作加密电路的输入以产生伪随机输出B2,使B2与P2异或,得到C2。
依此类推,最后一轮得到的密文为Cn,最终得到所需的完整密文为C=C1C2...Cn。最后通过发送逻辑单元电路(图3所示)逆初始置换输出密文。
本发明实施的具体解密流程的核心结构与加密流程基本一致,差别仅是将密文与伪随机输出进行异或,以产生明文,其流程如图10所示。
如需进一步提高安全性,可以将上述加/解密流程分别实施于图6的3DES加密电路中。只需先后采用三种不同的密钥进行加/解密便方便实现了3DES算法。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.DES加密方法,其特征在于,实现本方法的DES加密电路包括:
用于实现整个DES加密电路的状态控制、状态译码、模式选择并控制密钥模块、运算模块的主控制模块;
用于接收来自外部电路的初始密钥,产生加密或者解密时所需要的子密钥并将子密钥向运算模块传输的密钥模块;
用于接收来自外部电路的明文或者密文数据,利用密钥模块产生的子密钥对数据进行初始置换、循环迭代、逆初始循环,产生最终的密文或者明文的运算模块;
其中,所述密钥模块、运算模块、主控制模块两两信号连接;
本DES加密方法包括下述步骤:
a、主控制模块设置DES加密电路的工作模式,DES加密电路有四种工作模式,分别是3DES加密工作模式、3DES解密工作模式、DES加密工作模式、DES解密工作模式;
b、输入初始信号,要求DES加密电路的密钥模块开始接收密钥,DES加密电路开始工作,主控制模块激活;
c、输入初始脉冲信号后,每个周期密钥模块接收8位的初始密钥数据,连续输入8次,共64位,表示初始密钥K1;如果DES加密电路处于DES加密模式或DES解密模式,则只输入64位密钥;若DES加密电路处于3DES加密工作模式或3DES解密工作模式,则连续24次输入8位的初始密钥数据,即K2和K3,密钥模块根据输入的初始密钥数据产生子密钥;
d、从初始信号脉冲出现后的第三个工作周期开始,连续8次输入8位的明文数据或密文数据到运算模块,运算模块接收明文数据或密文数据,最后得到共64位的明文数据或密文数据;
e、运算模块接收来自密钥模块的子密钥,对明文数据进行DES运算或对密文数据进行DES解密运算;
f、若干个工作周期运算完毕后,运算模块在8个周期内的每个周期输出8位数据即共输出64位加密或的密文数据或解密运算后的明文数据。
2.一种利用权利要求1所述DES加密方法的硬件电路实现方法,其特征在于,包括下述步骤:
h、用移位寄存器实现初始置换和逆初始置换,接收与初始置换逻辑单元在接收明文数据或密文数据的同时进行初始置换,逆初始置换与发送逻辑单元在逆初始置换的同时发送加密后的密文数据或解密后的明文数据;
i、采用两次循环结构展开与二级流水线相结合的循环结构;
j、在循环结构中的扩展/置换和P置换采用连线的方式设计;
k、S盒设计为ROM的形式。
3.根据权利要求2所述DES加密方法的硬件电路实现方法,其特征在于:步骤i所述采用两次循环结构展开与二级流水线相结合的循环结构具体为:使DES加解密经过输入初始脉冲信号到连续输入8次8位的密钥数据共9个周期,使3DES加解密经过输入初始脉冲信号到连续输入24次8位的密钥数据共25个周期。
4.根据权利要求3所述DES加密方法的硬件电路实现方法,其特征在于:步骤k所述S盒中的每一个盒子的6位输入数据为寻址地址,最高位和最低位数据构成S盒子的行地址,中间4个数据构成列地址,按照行列地址寻址的数值为S盒子的输出结果,共8个ROM用于存放S盒子的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102191351A CN101431405B (zh) | 2008-11-17 | 2008-11-17 | Des加密方法及其硬件电路实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102191351A CN101431405B (zh) | 2008-11-17 | 2008-11-17 | Des加密方法及其硬件电路实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431405A CN101431405A (zh) | 2009-05-13 |
CN101431405B true CN101431405B (zh) | 2011-09-14 |
Family
ID=40646587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102191351A Expired - Fee Related CN101431405B (zh) | 2008-11-17 | 2008-11-17 | Des加密方法及其硬件电路实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431405B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341230A (zh) * | 2015-07-08 | 2017-01-18 | 吴清山 | 无条件安全密码体制 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103874060B (zh) * | 2012-12-13 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 数据的加/解密方法和装置 |
CN105356996B (zh) * | 2015-12-14 | 2018-11-09 | 联想(北京)有限公司 | 一种密文处理方法、电子设备及密文处理装置 |
CN106230580A (zh) * | 2016-08-31 | 2016-12-14 | 福州福大海矽微电子有限公司 | 一种可变密钥多重加密方法 |
CN106357389A (zh) * | 2016-10-15 | 2017-01-25 | 北海益生源农贸有限责任公司 | 一种des加密算法的实现方法 |
CN106877999B (zh) * | 2017-01-17 | 2020-05-22 | 中国科学院信息工程研究所 | 一种des加解密密钥生成器及密钥生成方法 |
CN106789056A (zh) * | 2017-02-03 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种硬件加密系统和方法 |
CN112787820B (zh) * | 2021-01-02 | 2022-02-11 | 浙江大学 | 一种适用于硬件实现的轻量级认证加密解密实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502185A (zh) * | 2000-05-01 | 2004-06-02 | �Ҵ���˾ | 改进短操作的des硬件吞吐量 |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
-
2008
- 2008-11-17 CN CN2008102191351A patent/CN101431405B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502185A (zh) * | 2000-05-01 | 2004-06-02 | �Ҵ���˾ | 改进短操作的des硬件吞吐量 |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
Non-Patent Citations (1)
Title |
---|
张洁,朱丽娟.DES加密算法分析与实现.《软件导刊》.2007,(第3期),第1-2页. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341230A (zh) * | 2015-07-08 | 2017-01-18 | 吴清山 | 无条件安全密码体制 |
CN106341230B (zh) * | 2015-07-08 | 2020-08-21 | 吴清山 | 通过缩短密文长度来实现现代密码体制无条件安全的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101431405A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431405B (zh) | Des加密方法及其硬件电路实现方法 | |
Shahbazi et al. | Area-efficient nano-AES implementation for Internet-of-Things devices | |
US7659837B2 (en) | Operation processing apparatus, operation processing control method, and computer program | |
CN105049194B (zh) | 一种流水线结构的sm4算法实现系统 | |
CN101478392B (zh) | 利用vlsi实现128位密钥长度aes算法的装置 | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
CN102223228A (zh) | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 | |
Mane et al. | High speed area efficient FPGA implementation of AES algorithm | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN112398639B (zh) | 一种Fountain轻量级加密算法的实现装置、方法及应用 | |
CN103684749B (zh) | 一种基于面积与性能平衡优化的klein加密实现方法 | |
KR101139011B1 (ko) | 패킷 암호 알고리즘에 기초하는 엔크립션 처리 방법 | |
CN101702709B (zh) | 一种适用于mips处理器的aes加密单元 | |
CN109450632B (zh) | 基于白盒分组密码clefia分析的密钥恢复方法 | |
WO2007098687A1 (en) | Encryption and decryption processing method of achieving sms4 cryptographic algorithm and system thereof | |
CN110120867A (zh) | 一种基于量子可逆线路的aes硬件加密系统的实现方法 | |
CN108933653A (zh) | 一种基于大规模数据的aes加解密系统及方法 | |
CN104219045B (zh) | Rc4 流密码生成器 | |
CN105049203B (zh) | 一种支持多工作模式的可配置3des加解密算法电路 | |
KR20050087271A (ko) | 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치 | |
WO2020186125A1 (en) | Ultra low power core for lightweight encryption | |
CN112350819B (zh) | 一种全流水线sms4加解密方法及系统 | |
CN103051443B (zh) | Aes密钥扩展的方法 | |
CN109039608B (zh) | 一种基于双S核的8-bitAES电路 | |
CN104539417A (zh) | 一种基于流密码的加密设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110914 Termination date: 20171117 |