CN107241183A - 用于aes和rsa混合算法硬件电路的可配置乘法装置 - Google Patents
用于aes和rsa混合算法硬件电路的可配置乘法装置 Download PDFInfo
- Publication number
- CN107241183A CN107241183A CN201710395686.2A CN201710395686A CN107241183A CN 107241183 A CN107241183 A CN 107241183A CN 201710395686 A CN201710395686 A CN 201710395686A CN 107241183 A CN107241183 A CN 107241183A
- Authority
- CN
- China
- Prior art keywords
- multiplier
- aes
- multiplication
- rsa
- input
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种硬件实现可用于AES和RSA混合算法硬件电路的可配置乘法装置,属于密码算法硬件实现领域。和以往的基于普通乘法器的实现方案相比,该装置电路通过设计特殊的电路架构,采用了大量可配置电路,复用了面积比较大的乘法器和加法器,在额外消耗少量选择器的基础上,能够在一套运算电路中实现AES列混合和RSA乘法两种功能,比单独实现两种运算所消耗的电路面积和使用的逻辑要少。
Description
技术领域
本发明涉及网络数据安全领域,具体属于密码算法硬件实现领域。
背景技术
AES(Advanced Encryption Standard,AES)密码算法,也被称为Rijndael算法,是由美国国家标准技术委员会(National Institute of Standards and Technology,NIST)于2001年提出,用于替代当时已经被攻破的DES(Data Encryption Standard,DES)密码算法。AES是一种被广泛使用的对称密码算法,其加密和解密采用同一个密钥。
RSA(Rivest Shamir Adleman,RSA)算法于1977年由Ron Rivest,Adi Shamir和Leonard Adleman提出,并以三个人的名字命名。RSA是一种非对称密码算法,其加密和解密采用不同的密钥。
基于AES和RSA的混合密码算法,结合了AES和RSA两种密码的优点,现已被应用于互联网安全协议(Internet Protocol Security,IPSec)、应用于传输层的安全套接协议(Secure Sockets Layer,SSL)与传输层安全协议(Transport Layer Security,TLS)等网络安全协议中。
随着互联网技术的不断发展,对于网络安全的需求日益增强。基于AES和RSA算法的混合密码算法被广泛应用,对于两种算法的运算电路,如果简单的集成两种算法的专用电路,那将耗费比较多的电路面积和逻辑。
发明内容
为了减小AES和RSA混合密码算法电路模块的面积,本发明基于AES算法中的列混合运算和RSA算法中的乘法运算的共性,提出一种可用于AES和RSA混合算法硬件电路的可配置乘法装置,该装置电路既可实现AES算法的列混合运算,也可实现RSA算法的64bit乘法运算,并且通过设计特殊的电路架构,大量复用两种运算所共同使用的乘法器和加法器,使得本发明所设计的电路要比单独实现两种运算的所消耗的电路面积和使用的逻辑要少。
本发明所采用的技术方案是:
一种用于AES和RSA混合算法硬件电路的可配置乘法装置,其特征在于包括乘法器阵列,加法器阵列和输入切换电路三部分;
本发明利用64个8bit双域乘法器(Dual-field Multiplier,DMUL),采用特殊的乘法器和加法器阵列,实现AES列混合运算和RSA 64bit乘法运算。AES列混合运算是把输入128bit数据看作一个4×4字节的矩阵,然后与一个固定的4×4的转换矩阵相乘,整个矩阵乘法一共要使用64个8bit有限域乘法器和16个有限域加法器。RSA 64bit实数域乘法器可以根据乘法规则将其分拆为4个32bit乘法和1个64bit加法器实现,而1个32bit乘法器可以分拆为4个16bit乘法器和1个32bit加法器实现,而1个32bit乘法器一样可以分拆为4个8bit乘法器,这样1个RSA所用的64bit的复杂乘法器就被分拆为64个8bit乘法器、16个32bit加法器、4个64bit加法器和1个128bit加法器组成的乘法器加法器阵列。可以看出,采用如上方案实现的两种运算电路,具有很多相同的逻辑。于是本发明基于支持有限域乘法和实数域乘法的双域乘法器和双域加法器(Dual-field Adder,DADD)构建的,复用了上述相同的逻辑,在同一套电路中实现了可配置的AES列混合和RSA 64bit乘法。本发明所提出的装置包含三部分:输入切换电路,乘法器阵列和加法器阵列。
所述乘法器阵列,由64个8bit双域乘法器搭建而成,是本装置的核心电路,是AES的列混合和RSA的64bit乘法器所必须的电路结构,用于实现AES列混合或RSA 64bit乘法所需的乘法操作;
所述加法器阵列,由16个32bit双域4-2压缩器和双域超前进位加法器、4个64bit双域4-2压缩器和双域超前进位加法器以及1个128bit双域4-2压缩器和双域超前进位加法器搭建而成,用于将乘法器阵列输出的64个乘法结果按AES列混合或RSA乘法规范组织相加,形成最后的AES列混合或RSA64bit的乘法结果。
所述输入切换电路,由多个多路选择器构成,用于组织乘法装置的128bit输入数据,根据乘法装置的工作模式,按照AES列混合或RSA乘法的输入方式组织输入数据并提供给乘法器阵列。
具体地,所述的输入切换电路是将AES的列混合128bit输入接口和RSA 64bit乘法器两个64bit乘数共128bit的输入接口,与64个8bit双域乘法器合计1024bit的输入接口相对接,并可实现两种对接方案切换的电路。
和现有混合密码芯片中AES列混合和RSA乘法的实现方案相比,该装置内部大量采用了可配置电路,复用了消耗电路面积较大的乘法器和加法器,在一套运算电路中实现AES列混合和RSA乘法两种功能,使得本发明所设计的电路要比单独实现两种运算所消耗的电路面积和使用的逻辑要少。
附图说明
以下结合附图和具体实施方式来进一步说明。
图1为本发明的内部结构框图。
图2为本发明的内部所使用的8bit双域乘法器电路结构图。
具体实施方式
图1所示为本发明一种可用于AES和RSA混合算法硬件电路的可配置乘法装置的内部结构框图。该装置按照特殊的结构将乘法器和加法器组织组织搭建,实现可配置AES列混合和RSA 64bit乘法运算。图中利用4个8bit双域乘法器、1个32bit双域4-2压缩器和1个32bit双域超前进位加法器实现了16bit双域乘法器;然后再以4个16bit双域乘法器、1个64bit双域4-2压缩器和1个64bit双域超前进位加法器实现了32bit双域乘法器;4个32bit双域乘法器、1个128bit双域4-2压缩器和1个128bit双域超前进位加法器实现了64bit双域乘法器。所以图中所示实现方案一共包括如下4部分:1.64个8bit乘法器组成的乘法器阵列;2.16个32bit双域4-2压缩器和双域超前进位加法器、4个64bit双域4-2压缩器和双域超前进位加法器以及1个128bit双域4-2压缩器和双域超前进位加法器组成的加法器阵列;3.输入切换电路。
乘法器阵列是本装置的核心电路,AES的列混合和RSA的64bit乘法器所必须的电路结构。通过前文所述的方案,AES列混合和RSA乘法都需要64个8bit乘法器,两种运算的区别在于64个8bit双域乘法器的输入不同:实现AES列混合时,需要按照AES列混合矩阵乘法的规则将两个矩阵的元素输入到乘法器的乘数端口;而实现RSA乘法时,需要按照64bit乘法拆分为8bit乘法的拆分方案确定各个8bit双域乘法器的输入。将输入数据组织起来根据不同的模式导入乘法器阵列,这一功能在输入切换电路中实现。
图2所示为乘法器阵列中关键部件8bit双域乘法器的结构,该结构基于普通乘法器电路所修改而成,分两条链路实现有限域乘法和实数域乘法的部分积,然后使用双域4-2压缩器(图中4-2DCOM 16b)和双域超前进位加法器(图中DCLA 16b)求得最终的乘法结果。图2中“>>”为实数域乘2(即1bit左移)电路,“×2”为有限域乘2(即1bit左移再约简)电路。在进行乘法运算时,双域乘法器首先将8bit的输入乘数a按照实数域乘法规则连续进行8次移位操作,每次移位生成一个结果,共产生8个实数域移位结果;同时也按照有限域乘法规则连续进行8次移位约简操作,每次移位约简操作生成一个结果,共产生8个有限域移位约简结果。在计算出乘数a的8个实数域移位结果和有限域移位结果后,乘法器需要经过两次选择操作生成部分积:1.根据乘数b的值来生成乘法的部分积(乘数b的对应bit的数值为1则部分积为该移位结果,为0则部分积也为0);2.根据乘法器的工作模式,确定生成部分积时采用8个有限域移位约简结果还是8个实数域移位结果。这两个选择操作利用图中所示多路选择器实现。生成部分积后,在实数域乘法模式下,由双域4-2压缩器和双域超前进位加法器按照实数域乘法规则计算最终的实数域乘法结果,在有限域乘法模式下,则由双域4-2压缩器和双域超前进位加法器按照实数域乘法规则计算最终的有限域乘法结果。
输入切换电路是将AES的列混合128bit输入接口和RSA 64bit乘法器两个64bit乘数共128bit的输入接口,与64个8bit双域乘法器合计1024bit的输入接口相对接的电路。AES列混合的矩阵乘法和采用上述方案分拆后的RSA 64bit乘法,虽然都用到了64个8bit双域乘法器,但是在两种运算时每个8bit双域乘法器的乘数都不相同。输入切换电路内部包含多路选择器,使得在乘法装置配置为AES列混合工作模式时,输入切换电路将AES列混合的输入数据和转换矩阵中所有乘法参数都导入到64bit乘法器阵列输入端,而当乘法装置工作在RSA 64bit乘法模式时,输入切换电路将RSA乘法输入的两个64bit乘数,分拆并导入到乘法器阵列输入端。
加法器阵列将64个8bit乘法器输出的结果按照AES列混合或RSA 64bit乘法器的运算规范相加,形成最后的AES列混合或RSA 64bit乘法的结果。加法器阵列中有两种结构的加法器:一种是双域4-2压缩器,将4个加数压缩为2个;一种是双域超前进位加法器,将双域4-2压缩器压缩后的2个输入相加为一个结果输出。
按照图1所示结构设计的可配置乘法装置,有两种模式,模式0为AES列混合模式,在电路装置列混合输入端配置128bit的列混合输入,然后在输出口输出128bit列混合输出。模式1为RSA 64bit乘法模式,在电路装置乘法输入端配置64bit乘数A和64bit乘数B,然后在输出口输出乘法器的输出。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (3)
1.一种用于AES和RSA混合算法硬件电路的可配置乘法装置,其特征在于包括乘法器阵列,加法器阵列和输入切换电路三部分;
所述乘法器阵列,由64个8bit双域乘法器搭建而成,用于实现AES列混合或RSA64bit乘法所需的乘法操作;
所述加法器阵列,由16个32bit双域4-2压缩器和双域超前进位加法器、4个64bit双域4-2压缩器和双域超前进位加法器以及1个128bit双域4-2压缩器和双域超前进位加法器搭建而成,用于将乘法器阵列输出的64个乘法结果按AES列混合或RSA乘法规范组织相加,形成最后的AES列混合或RSA64bit的乘法结果;
所述输入切换电路,由多个多路选择器构成,用于组织乘法装置的128bit输入数据,根据乘法装置的工作模式,按照AES列混合或RSA乘法的输入方式组织输入数据并提供给乘法器阵列。
2.如权利要求1所述的用于AES和RSA混合算法硬件电路的可配置乘法装置,其特征在于,所述8bit双域乘法器分两条链路实现有限域乘法和实数域乘法的部分积,使用双域4-2压缩器和双域超前进位加法器求得最终的乘法结果。
3.如权利要求1所述的用于AES和RSA混合算法硬件电路的可配置乘法装置,其特征在于,所述输入切换电路将AES的列混合128bit输入接口和RSA 64bit乘法器两个64bit乘数共128bit的输入接口,与64个8bit双域乘法器合计1024bit的输入接口相对接,在乘法装置配置为AES列混合工作模式时,输入切换电路将AES列混合的输入数据和转换矩阵中所有乘法参数都导入到64bit乘法器阵列输入端,当乘法装置工作在RSA64bit乘法模式时,输入切换电路将RSA乘法输入的两个64bit乘数,分拆并导入到乘法器阵列输入端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710395686.2A CN107241183B (zh) | 2017-05-27 | 2017-05-27 | 用于aes和rsa混合算法硬件电路的可配置乘法装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710395686.2A CN107241183B (zh) | 2017-05-27 | 2017-05-27 | 用于aes和rsa混合算法硬件电路的可配置乘法装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241183A true CN107241183A (zh) | 2017-10-10 |
CN107241183B CN107241183B (zh) | 2020-08-25 |
Family
ID=59984735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710395686.2A Active CN107241183B (zh) | 2017-05-27 | 2017-05-27 | 用于aes和rsa混合算法硬件电路的可配置乘法装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241183B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049013A (zh) * | 2019-03-14 | 2019-07-23 | 广东工业大学 | 一种基于sm2和rsa加密算法的加解密系统及工作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119355A1 (en) * | 2007-11-01 | 2009-05-07 | Hitachi, Ltd. | Arithmetic logical unit, computation method and computer system |
CN103793199A (zh) * | 2014-01-24 | 2014-05-14 | 天津大学 | 一种支持双域的快速rsa密码协处理器 |
CN104020980A (zh) * | 2008-04-28 | 2014-09-03 | 阿尔特拉公司 | 可配置的混合加法器电路 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
-
2017
- 2017-05-27 CN CN201710395686.2A patent/CN107241183B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119355A1 (en) * | 2007-11-01 | 2009-05-07 | Hitachi, Ltd. | Arithmetic logical unit, computation method and computer system |
CN104020980A (zh) * | 2008-04-28 | 2014-09-03 | 阿尔特拉公司 | 可配置的混合加法器电路 |
CN103793199A (zh) * | 2014-01-24 | 2014-05-14 | 天津大学 | 一种支持双域的快速rsa密码协处理器 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
Non-Patent Citations (3)
Title |
---|
GOKHAN SAYILAR: "High throughput reconfigurable cryptographic processor", 《ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN》 * |
刘兵: "统一架构的 ECC 与 RSA 密码处理器", 《硕士学位论文》 * |
王瑞: "基于AES、RSA算法的多模混合加密系统设计", 《硕士学位论文》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049013A (zh) * | 2019-03-14 | 2019-07-23 | 广东工业大学 | 一种基于sm2和rsa加密算法的加解密系统及工作方法 |
CN110049013B (zh) * | 2019-03-14 | 2021-04-06 | 广东工业大学 | 一种基于sm2和rsa加密算法的加解密系统及工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107241183B (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gutub et al. | Hybrid crypto hardware utilizing symmetric-key and public-key cryptosystems | |
Chaves et al. | Reconfigurable memory based AES co-processor | |
CN207184503U (zh) | 可重构s盒电路结构 | |
CN106921487A (zh) | 可重构s盒电路结构 | |
CN107181586A (zh) | 可重构s盒电路结构 | |
CN106992852A (zh) | 应用于AES与Camellia密码算法的可重构S盒电路结构 | |
Rajasekar et al. | Design and implementation of power and area optimized AES architecture on FPGA for IoT application | |
CN106998249A (zh) | 应用于SM4与Camellia密码算法的可重构S盒电路结构 | |
CN109033892A (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
Zhang et al. | High-performance implementation of SM2 based on FPGA | |
CN107241183A (zh) | 用于aes和rsa混合算法硬件电路的可配置乘法装置 | |
CN109150495A (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN108933652A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
Modugu et al. | Design and performance measurement of efficient IDEA (International Data Encryption Algorithm) crypto-hardware using novel modular arithmetic components | |
CN103914277B (zh) | 一种基于改进的Montgomery模乘算法的可扩展模乘器电路 | |
CN207010694U (zh) | 应用于AES与Camellia密码算法的可重构S盒电路结构 | |
CN109033893A (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
TWI630545B (zh) | 非模數乘法器、用於非模數乘法的方法及計算裝置 | |
CN108566271A (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
CN108809627A (zh) | 轮变换复用电路及aes解密电路 | |
CN207184502U (zh) | 应用于SM4与Camellia密码算法的可重构S盒电路结构 | |
Chaves et al. | SCA-Resistance for AES: How Cheap Can We Go? | |
Li et al. | Parallel point-addition and point-double for cryptosystem on conic curves over ring Zn | |
El-Hadedy et al. | Reco-Pi: a reconfigurable cryptoprocessor for π-cipher | |
Guo et al. | Hardware architecture for RSA cryptography based on residue number system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |