CN117560140A - 一种基于risc-v的sm3密码算法优化方法 - Google Patents
一种基于risc-v的sm3密码算法优化方法 Download PDFInfo
- Publication number
- CN117560140A CN117560140A CN202311836613.4A CN202311836613A CN117560140A CN 117560140 A CN117560140 A CN 117560140A CN 202311836613 A CN202311836613 A CN 202311836613A CN 117560140 A CN117560140 A CN 117560140A
- Authority
- CN
- China
- Prior art keywords
- instruction
- risc
- message
- sm3p0
- sm3p1
- 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.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 title claims abstract description 16
- 238000007906 compression Methods 0.000 claims abstract description 27
- 238000013461 design Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 51
- 230000006835 compression Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000004088 simulation Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
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/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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种基于RISC‑V的SM3密码算法优化方法,该方法基于RISC‑V密码学扩展指令中的sm3p0和sm3p1指令,用Verilog代码描述生成对应的逻辑电路,设计SM3指令功能单元,然后将其集成到开源RISC‑V处理器,使得处理器硬件面积大约增加10%,SM3算法的吞吐量至少提高1倍。在消息扩展过程使用SM3指令功能单元执行sm3p1指令,n个消息分组能减少364×n条指令;在迭代压缩过程使用SM3指令功能单元执行sm3p0指令,n个消息分组能减少448×n条指令。
Description
技术领域
本发明属于信息安全领域,具体是一种基于RISC-V的SM3密码算法优化方法。
背景技术
国家商用密码算法是由我国自主研制的一系列数据加密、认证算法,包括SM2、SM3、SM4和SM9等算法。这些密码算法在网络与信息安全系统中发挥着越来越重要的作用。SM3密码杂凑算法于2012年由国家密码管理局发布为密码行业标准,2016年转化为国家标准,2018年正式成为国际标准。SM3算法适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。随着我国信息技术产业的技术升级,SM3算法的高速实现受到工业界高度关注。
RISC-V是一种新兴的开源精简指令集架构,由加州大学伯克利分校在2010年首次发布,具有开源、免费、开放的特点,支持第三方的扩展。RISC-V预留了大量的指令编码空间用于用户的自定义扩展,用户可以扩展自己的指令子集。近年来,对于RISC-V的研究已成为学术界和工业界的一大热点。目前,如何将RISC-V与国密算法相结合受到人们的广泛关注。
国家正在大力发展RISC-V产业,将国家商用密码算法应用在RISC-V架构上对国家商用密码算法的推广应用起到了积极的作用。2019年,Stoffelen用RV32I指令集在RISC-V上首次优化汇编实现基于查找表的AES、比特切片AES、ChaCha和Keccak-f三个密码算法[1]。2020年,Marshall等人探索了现有的指令集扩展(ISE)设计,在32位和64位的RISC-VCPU内核上实现并评估了五种不同的AES ISE,并介绍了一种使用象限填充状态表示的ISE设计,还探讨了如何利用RISC-V的标准位操作扩展来有效实现AES-GCM[2]。2021年,Marshall等人提出一种轻量级ISE来支持RISC-V架构上的ChaCha,提出的ISE旨在加速ChaCha块函数的计算[3]。陈锐等人在开源RISC-V指令集的基础上,增加了两条自定义指令以实现密钥扩展和加解密算法中的轮函数;设计了一款低开销的SM4指令功能单元硬件电路结构,提出了以软硬件协同设计的方式实现SM4算法,降低延时和资源开销,提升吞吐率[4]。孙子婷等人针对SM2算法在有限域上大数运算结构复杂、运算开销大的问题,通过研究SM2算法在二元扩域下的椭圆曲线点乘运算及其相关基础运算,设计了一种基于RISC-V指令集的椭圆曲线点乘运算加速协处理器。该协处理器采用三级流水线结构,内部集成9条自定义指令,可协助支持RISC-V的主处理器快速完成SM2密码算法[5]。2023年,王汉宁等人充分挖掘了SM3算法在FPGA平台的可并行性,通过增加少量的寄存器,降低了算法关键路径的逻辑深度,并通过消息扩展与压缩函数并行执行的方法对SM3算法进行优化[6]。郑佳乐等人分析了SM3密码杂凑算法基本流程,基于FPGA平台,采用16个寄存器构成寄存器组作为生成132个字的缓存区,设计进位保留加法器进行关键路径的压缩,完成一次压缩函数中关键路径计算所需的时钟周期明显减少[7]。2020年,方轶等人为了提高SM3算法的吞吐量,减少运算资源占用,对关键运算路径进行并行计算设计;同时采用进位保留加法器(CSA)进行关键路径的压缩,完成一次压缩函数中关键路径计算所需的时钟周期明显减少[8]。2018年,陈博宇等人采用64级轮计算分级模式和多个算法核并行复用对SM3算法进行了硬件的优化实现;通过优化关键计算路径和64级轮计算的分级设计,大大降低了时延并提高了性能[9]。尽管上述方法提高了SM3算法实现速度,但是其硬件实现占用面积消耗较大。
目前硬件实现SM3算法需要付出较高的成本,而软件实现的速度较慢,且吞吐率低。相对于单独的软件或硬件优化,两者的协同优化往往会带来更好的适用性和扩展性,能在有限的硬件代价中最大化对软件的加速。这种协同优化通常被应用于硬件与软件间的桥梁——指令集。RISC-V在工业界和学术界是研究热点之一,但是缺少SM3算法在RISC-V上实现的数据,因此如何在RISC-V上使用密码学扩展指令实现SM3算法是现在需要解决的问题。
参考文献:
[1]Stoffelen K.Efficient cryptography on the RISC-V architecture[C].International Conference on Cryptology and Information Security in LatinAmerica.Cham:Springer,2019:323-340;
[2]Marshall B,Newell G R,Page D,et al.The design of scalar AESInstruction Set Extensions for RISC-V[J].IACR Transactions on CryptographicHardware and Embedded Systems,2020,2021(1):109-136;
[3]Marshall B,Page D,Pham T H.Alightweight ISE for ChaCha on RISC-V[C].2021IEEE 32nd International Conference on Application-specific Systems,Architectures and Processors(ASAP),2021:25-32;
[4]陈锐,李冰,刘向东.基于RSIC-V指令扩展的低开销SM4算法设计与实现[J].电子器件,2021,44(1):108-113;
[5]孙子婷,韩跃平,唐道光.基于RISC-V的SM2点乘运算协处理器设计[J].单片机与嵌入式系统应用,2023,23(8):28-31;
[6]王汉宁,孙浩,邓辰辰等.面向SM3算法的高性能FPGA实现[J/OL].微电子学与计算机,2023(07):105-110[2023-12-15].https://doi.org/10.19304/J.ISSN1000-7180.2022.0664;
[7]郑佳乐,韩跃平,唐道光.FPGA平台SM3密码杂凑算法的优化设计[J].单片机与嵌入式系统应用,2023,23(05):33-36,39;
[8]方轶,丛林虎,邓建球等.基于FPGA的SM3算法快速实现方案[J].计算机应用与软件,2020,37(06):259-262;
[9]陈博宇,王宏.基于FPGA的SM3算法的优化实现[J].信息技术,2018,42(07):143-147。
发明内容
本发明的目的是提供一种基于RISC-V的SM3密码算法优化方法,旨在解决SM3密码算法硬件实现时资源开销大,软件实现时速度慢的问题。
实现本发明目的的技术方案是:
一种基于RISC-V的SM3密码算法优化方法,包括如下步骤:
(1)设计SM3指令功能单元
SM3密码算法产生杂凑值的处理过程包括消息填充、消息扩展和迭代压缩;在消息扩展过程中用到置换函数在迭代压缩过程中用到置换函数/>其中X为32位字,<<<表示循环左移,/>表示异或运算;
RISC-V密码学扩展指令中有sm3p0和sm3p1指令,sm3p0指令实现置换函数P0(X)的功能,sm3p1指令实现置换函数P1(X)的功能;
根据和/> 用Verilog HDL(Hardware Description Language,硬件描述语言)来描述两个置换函数的功能,生成对应的硬件电路结构,即SM3指令功能单元;
(2)集成SM3指令功能单元到开源RISC-V处理器
市面上的商业级RISC-V开发板不支持密码学扩展指令中的sm3p0和sm3p1指令,只有将这两条指令对应的硬件逻辑电路,即SM3指令功能单元集成到开源RISC-V处理器中,该处理器才能支持指令的使用;
处理器通常应用五阶流水线结构,包括取值、译码、执行、访存和写回阶段,将开源RISC-V处理器配置成五阶流水线结构,然后将SM3指令功能单元集成到执行阶段,同时在译码阶段对指令译码器进行修改,允许它正确地向指令功能单元提供输入操作数,控制指令功能单元进行计算,并接受来自指令功能单元的输出操作数;
(3)在消息扩展过程使用SM3指令功能单元执行sm3p1指令
在进行消息填充时,将消息的长度填充成512的倍数后,再按照512比特进行消息分组,即每个消息分组为512比特;
在消息扩展过程中先把512比特的消息分组分为16个字,然后使用SM3指令功能单元执行sm3p1指令参与计算产生第17到第68个字;
(4)在迭代压缩过程使用SM3指令功能单元执行sm3p0指令
将256比特压缩函数的值V(i)加载到8个32位寄存器,其与经过消息扩展后的数据参与压缩函数的计算过程,在压缩函数的计算过程使用SM3指令功能单元执行sm3p0指令;
(5)使用.insn模板添加sm3p0和sm3p1指令到RISC-V GCC
根据sm3p0和sm3p1的指令编码,使用.insn模板添加sm3p0和sm3p1指令到RISC-VGCC;
sm3p0指令编码:
sm3p1指令编码:
(6)使用RISC-V GCC交叉编译器编译:
用C语言编写代码软件实现SM3算法,采用内联汇编的方式调用sm3p0和sm3p1指令,然后用RISC-V GCC交叉编译器编译成Hex文件,加载到Vivado仿真平台进行测试。
本发明基于RISC-V的SM3密码算法优化方法,只需要将SM3指令功能单元对应的逻辑电路,即sm3p0和sm3p1指令对应的逻辑电路,添加到开源RISC-V处理器中,使得处理器的硬件面积大约增加10%,SM3算法的吞吐率至少提升1倍。纯硬件实现SM3算法,需要用Verilog HDL去描述算法的全部实现过程,需要占用较大的硬件面积,而本发明方法只增加SM3指令功能单元对应的逻辑电路,因此占用的硬件面积较小。SM3算法消息扩展过程中实现置换函数需要8条指令,而本发明方法只需要1条指令,能减少7条指令;在消息扩展过程中,一个消息分组要进行52轮迭代计算,需要416条指令,本发明方法只需要使用52条指令,能减少364条指令,n个消息分组能减少364×n条指令。迭代压缩过程中实现置换函数/>需要8条指令,本发明方法只需要1条指令;一个消息分组参与迭代压缩计算需要进行64轮计算,因此需要512条指令,本发明方法只需要64条指令,能减少448条指令,n个消息分组经过迭代压缩,能减少448×n条指令。
附图说明
图1为本发明方法的流程图;
图2为本发明SM3指令功能单元执行sm3p1指令的流程图;
图3为本发明SM3指令功能单元执行sm3p0指令的流程图。
具体实施方式
下面结合附图和实施例对本发明内容作进一步的详细说明,但不是对本发明的限定。
实施例
参照图1,一种基于RISC-V的SM3算法优化方法,包括如下步骤:
(1)设计SM3指令功能单元
SM3算法产生杂凑值的处理过程包括消息填充、消息扩展和迭代压缩;根据和/> 用Verilog HDL来描述其功能,生成对应的硬件电路结构,即SM3指令功能单元。
(2)集成SM3指令功能单元到开源RISC-V处理器
将开源RISC-V处理器配置成五阶流水线结构,然后将SM3指令功能单元集成到执行阶段,同时在译码阶段对指令译码器进行修改,允许它正确地向指令功能单元提供输入操作数,控制指令功能单元进行计算,并接受来自指令功能单元的输出操作数。
(3)在消息扩展过程使用SM3指令功能单元执行sm3p1指令参照图2,具体步骤如下:
(3.1)把512比特的消息分组分为16个32比特的字W0,W1,…,W15;
(3.2)设j=16,j为32比特字的下标;
(3.3)使用SM3指令功能单元执行sm3p1指令参与计算,参与一次得到一个新的32比特的字,将计算结果写入数据存储器;
(3.4)判断j是否小于68,如果是,令j=j+1,执行步骤(3.3),循环结束后得到第17到第68个字W16,W17,…,W67;
否则执行步骤(3.5);
(3.5)计算其中j={0,1,…,63},得到W′0,W′1,…,W′63,将计算结果写入数据存储器。
(4)在迭代压缩过程使用SM3指令功能单元执行sm3p0指令参照图3,具体步骤如下:
(4.1)设i=0,j=0,其中i为消息分组的上标,0≤i≤n-1,n为消息分组的个数,j为32比特字的下标,j={0,1,…,63};
(4.2)将256比特压缩函数的值V(i)加载到8个32位寄存器,V(0)为给定的初始值;
(4.3)使用SM3指令功能单元执行sm3p0指令参与计算,更新寄存器的值;
(4.4)判断j是否小于64;如果是,令j=j+1,执行步骤(4.3);否则执行步骤(4.5);
(4.5)将更新后的寄存器的值与V(i)进行异或,得到压缩函数V(i+1)的值;
(4.6)判断i是否小于n-1(n是消息分组的个数),如果是,令i=i+1,执行步骤(4.2);否则执行步骤(4.7);
(4.7)最后一个消息分组经过压缩函数计算后得到杂凑值,即V(i+1)。
(5)使用.insn模板添加sm3p0和sm3p1指令到RISC-V GCC
根据sm3p0和sm3p1的指令编码,使用.insn模板添加sm3p0和sm3p1指令到RISC-VGCC;
sm3p0指令编码:
sm3p1指令编码:
(6)使用RISC-V GCC交叉编译器编译
用C语言编写代码软件实现SM3算法,采用内联汇编的方式调用sm3p0和sm3p1指令,然后用RISC-V GCC交叉编译器编译成Hex文件,加载到Vivado仿真平台进行测试。
Claims (3)
1.一种基于RISC-V的SM3密码算法优化方法,其特征在于,所述方法包括如下步骤:
(1)设计SM3指令功能单元
SM3密码算法产生杂凑值的处理过程包括消息填充、消息扩展和迭代压缩;RISC-V密码学扩展指令中有sm3p0和sm3p1指令,sm3p0指令实现置换函数P0(X)的功能,sm3p1指令实现置换函数P1(X)的功能;
根据和/>其中X为32位字,<<<表示循环左移,/>表示异或运算,用Verilog HDL来描述两个置换函数功能,生成对应的硬件电路结构,即SM3指令功能单元;
(2)集成SM3指令功能单元到开源RISC-V处理器
处理器通常应用五阶流水线结构,包括取值、译码、执行、访存和写回阶段,将开源RISC-V处理器配置成五阶流水线结构,然后将SM3指令功能单元集成到执行阶段,同时在译码阶段对指令译码器进行修改,允许它正确地向指令功能单元提供输入操作数,控制指令功能单元进行计算,并接受来自指令功能单元的输出操作数;
(3)在消息扩展过程使用SM3指令功能单元执行sm3p1指令
在进行消息填充时,将消息的长度填充成512的倍数后,再按照512比特进行消息分组,即每个消息分组为512比特;
在消息扩展过程中先把512比特的消息分组分为16个字,然后使用SM3指令功能单元执行sm3p1指令参与计算产生第17到第68个字;
(4)在迭代压缩过程使用SM3指令功能单元执行sm3p0指令
将256比特压缩函数的值V(i)加载到8个32位寄存器,其与经过消息扩展后的数据参与压缩函数的计算过程,在压缩函数的计算过程使用SM3指令功能单元执行sm3p0指令;
(5)使用.insn模板添加sm3p0和sm3p1指令到RISC-V GCC
根据sm3p0和sm3p1的指令编码,使用.insn模板添加sm3p0和sm3p1指令到RISC-V GCC;
sm3p0指令编码:
sm3p1指令编码:
(6)使用RISC-V GCC交叉编译器编译
用C语言编写代码软件实现SM3算法,采用内联汇编的方式调用sm3p0和sm3p1指令,然后用RISC-V GCC交叉编译器编译成Hex文件,加载到Vivado仿真平台进行测试。
2.根据权利要求1所述的基于RISC-V的SM3密码算法优化方法,其特征在于,步骤(3)所述在消息扩展过程使用SM3指令功能单元执行sm3p1指令,具体过程如下:
(3.1)把512比特的消息分组分为16个32比特的字W0,W1,…,W15;
(3.2)设j=16,j为32比特字的下标;
(3.3)使用SM3指令功能单元执行sm3p1指令参与计算,参与一次得到一个新的32比特的字,将计算结果写入数据存储器;
(3.4)判断j是否小于68,如果是,令j=j+1,执行步骤(3.3),循环结束后得到第17到第68个字W16,W17,…,W67;
否则执行步骤(3.5);
(3.5)计算其中j={0,1,…,63},得到W0 ′,W1 ′,…,W6 ′ 3,将计算结果写入数据存储器。
3.根据权利要求1所述的基于RISC-V的SM3密码算法优化方法,其特征在于,步骤(4)所述在迭代压缩过程使用SM3指令功能单元执行sm3p0指令,具体过程如下:
(4.1)设i=0,j=0,其中i为消息分组的上标,0≤i≤n-1,n为消息分组的个数,j为32比特字的下标,j={0,1,…,63};
(4.2)将256比特压缩函数的值V(i)加载到8个32位寄存器,V(0)为给定的初始值;
(4.3)使用SM3指令功能单元执行sm3p0指令参与计算,更新寄存器的值;
(4.4)判断j是否小于64;如果是,令j=j+1,执行步骤(4.3);否则执行步骤(4.5);
(4.5)将更新后的寄存器的值与V(i)进行异或,得到压缩函数V(i+1)的值;
(4.6)判断i是否小于n-1,n是消息分组的个数,如果是,令i=i+1,执行步骤(4.2);否则执行步骤(4.7);
(4.7)最后一个消息分组经过压缩函数计算后得到杂凑值,即V(i+1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311836613.4A CN117560140A (zh) | 2023-12-28 | 2023-12-28 | 一种基于risc-v的sm3密码算法优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311836613.4A CN117560140A (zh) | 2023-12-28 | 2023-12-28 | 一种基于risc-v的sm3密码算法优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117560140A true CN117560140A (zh) | 2024-02-13 |
Family
ID=89812957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311836613.4A Pending CN117560140A (zh) | 2023-12-28 | 2023-12-28 | 一种基于risc-v的sm3密码算法优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117560140A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118550590A (zh) * | 2024-07-29 | 2024-08-27 | 山东多次方半导体有限公司 | 一种低功耗的密码算法处理器微架构及其工作方法 |
-
2023
- 2023-12-28 CN CN202311836613.4A patent/CN117560140A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118550590A (zh) * | 2024-07-29 | 2024-08-27 | 山东多次方半导体有限公司 | 一种低功耗的密码算法处理器微架构及其工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | A pure hardware implementation of CRYSTALS-KYBER PQC algorithm through resource reuse | |
Zhu et al. | LWRpro: An energy-efficient configurable crypto-processor for module-LWR | |
Jung et al. | Accelerating fully homomorphic encryption through architecture-centric analysis and optimization | |
CN115622684B (zh) | 基于全同态加密的隐私计算异构加速方法及装置 | |
Su et al. | Fpga-based hardware accelerator for leveled ring-lwe fully homomorphic encryption | |
CN111464308A (zh) | 一种实现多种哈希算法可重构的方法和系统 | |
Dong et al. | Ec-ecc: Accelerating elliptic curve cryptography for edge computing on embedded gpu tx2 | |
CN112152782A (zh) | 用于可重配置电路装置的后量子公钥签名操作 | |
EP1766854A1 (en) | Apparatus and method for performing md5 digesting | |
CN115525342A (zh) | 一种sm3密码杂凑算法的加速方法及指令集处理器 | |
Choi et al. | Fast implementation of SHA-3 in GPU environment | |
Paul et al. | A resource efficient software-hardware co-design of lattice-based homomorphic encryption scheme on the FPGA | |
He et al. | Compact coprocessor for KEM saber: Novel scalable matrix originated processing | |
Xie et al. | Hardware Circuits and Systems Design for Post-Quantum Cryptography–A Tutorial Brief | |
Han et al. | A heterogeneous multicore crypto-processor with flexible long-word-length computation | |
CN117560140A (zh) | 一种基于risc-v的sm3密码算法优化方法 | |
CN116155481A (zh) | 一种sm3算法的数据加密实现方法和装置 | |
Hu et al. | Low-power reconfigurable architecture of elliptic curve cryptography for IoT | |
Wu et al. | Efficient High-Radix GF (p) Montgomery Modular Multiplication Via Deep Use Of Multipliers | |
Gauri et al. | Design and Implementation of a Fully Pipelined and Parameterizable Hardware Accelerator for BLAKE2 Cryptographic Hash Function in FPGA | |
WO2023107775A1 (en) | Computation of xmss signature with limited runtime storage | |
CN114826560A (zh) | 一种轻量级分组密码cref实现方法及系统 | |
Pan et al. | Design and implementation of SM3 algorithm based on a ternary optical computer | |
Abozaid et al. | A scalable multiplier for arbitrary large numbers supporting homomorphic encryption | |
Zhao et al. | Enhancing RISC-V Vector Extension for Efficient Application of Post-Quantum Cryptography |
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 |