CN113741972B - 一种sm3算法的并行处理方法及电子设备 - Google Patents
一种sm3算法的并行处理方法及电子设备 Download PDFInfo
- Publication number
- CN113741972B CN113741972B CN202110962056.5A CN202110962056A CN113741972B CN 113741972 B CN113741972 B CN 113741972B CN 202110962056 A CN202110962056 A CN 202110962056A CN 113741972 B CN113741972 B CN 113741972B
- Authority
- CN
- China
- Prior art keywords
- value
- register variable
- data compression
- bits
- variable
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种SM3算法的并行处理方法及电子设备,本发明通过对SM3密码杂凑算法公式进行化简,将运算中不必要的中间变量进行替代,并对化简后的公式进行循环展开、并行处理,从而达到简化运算过程,节约了计算资源,提高了运算速度。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种SM3算法的并行处理方法及电子设备。
背景技术
SM3密码杂凑算法是一种基于分组迭代结构的杂凑算法,是我国采用的一种密码散列函数标准,针对长度为L(L<264)的报文消息,SM3算法经过填充、迭代压缩,生成长度为256bit的杂凑值,它在消息认证完整性保护数字签名中有重要的应用。但是现有的SM3算法在数据压缩过程中需要进行64轮迭代,会消耗大量的计算资源,拖慢运行速度。
发明内容
针对现有技术中的上述不足,本发明提供的一种SM3算法的并行处理方法及电子设备解决了SM3算法进行64轮迭代消耗计算资源大的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种SM3算法的并行处理方法,其包括以下步骤:
S1、将长度为L比特的消息m的结尾处添加数字1,并在添加的数字1后添加64比特的数值为L的二进制数值,得到第一次填充后的消息;
S2、判断第一次填充后的消息长度是否为512的整数倍,若是则直接进入步骤S4;否则进入步骤S3;
S3、在添加的数字1与添加的二进制数值之间添加数字0直至消息长度为512的整数倍,得到第二次填充后的消息并进入步骤S4;
S4、将当前消息按照512比特进行分组,分组后的每个个体包括16个字W0,W1,…,W15;W0为个体的最高的32比特,W15为个体的最低的32比特;
S5、基于分组后的每个个体的16个字进行扩展得到52个字的Wj和64个字的Wk’,即得到与每个个体对应的共132字的数据;其中j=16,17,…,67;k=0,1,2,…,63;
S6、构建中间变量SS1n、SS2n、TT1n和TT2n;
S7、将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;
S8、基于简化后的寄存器变量的计算公式,将SM3算法的压缩迭代的每相邻两轮迭代合并为一次计算,完成SM3算法的并行处理。
进一步地,步骤S5的具体方法包括以下子步骤:
S5-1、将字Wj-16循环左移15位的结果、Wj-9循环左移15位的结果和Wj-3循环左移15位的结果进行三者异或操作,得到值Q0;其中16≤j≤67;
S5-2、将值Q0、值Q0进行循环左移15位的结果和值Q0进行循环左移23位的结果进行三者异或操作,得到值Q1;
S5-3、将值Q1、Wj-13循环左移7位和Wj-6进行三者异或操作,将操作结果记为Wj;
S5-4、将Wk和Wk+4进行异或操作,将操作结果记为Wk’。
进一步地,步骤S6的具体方法为:
分别根据公式:
构建中间变量SS1n、SS2n、TT1n和TT2n;其中每个中间变量的长度均为32比特;n为常数,表示数据压缩过程的迭代次数,n=1,2,…,64;An-1表示数据压缩过程中第n-1次迭代时寄存器变量A的值,当n=1时An-1为寄存器变量的初始值7380166f;En-1表示数据压缩过程中第n-1次迭代时寄存器变量E的值,当n=1时En-1为寄存器变量的初始值a96f30bc;Tn为固定值,当n≤16时,Tn=0x79cc4519;当17≤n≤64时,Tn=0x7a879d8a;表示32比特异或运算;FFn(·)表示布尔函数;Bn-1表示数据压缩过程中第n-1次迭代时寄存器变量B的值,当n=1时Bn-1为寄存器变量的初始值4914b2b9;Cn-1表示数据压缩过程中第n-1次迭代时寄存器变量C的值,当n=1时Cn-1为寄存器变量的初始值172442d7;Dn-1表示数据压缩过程中第n-1次迭代时寄存器变量D的值,当n=1时Dn-1为寄存器变量的初始值da8a0600;GGn(·)表示布尔函数;Fn-1表示数据压缩过程中第n-1次迭代时寄存器变量F的值,当n=1时Fn-1为寄存器变量的初始值163138aa;Gn-1表示数据压缩过程中第n-1次迭代时寄存器变量G的值,当n=1时Gn-1为寄存器变量的初始值e38dee4d;Hn-1表示数据压缩过程中第n-1次迭代时寄存器变量H的值,当n=1时Hn-1为寄存器变量的初始值b0fb0e4e。
进一步地,步骤S7的具体方法为:
分别根据公式:
Br=Ar-1
Cr=Ar-2<<<9
Dr=Ar-3<<<9
Er=P0(TT2r)=P0(GGr(Er-1,Er-2,Er-3<<<9)+(Er-4<<<19)+((Ar-1<<<12)+Er-1+(Tr<<<r))<<<7+Wr)
Fr=Er-1
Gr=Er-1<<<19
Hr=Er-3<<<19
将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;其中r为整数,表示数据压缩过程的迭代次数,4≤r≤64;FFr(·)和GGr(·)均表示布尔函数;P0(·)表示置换函数,置换过程为将置换对象、置换对象循环左右9位后的结果、置换对象循环左移17位后的结果进行三者异或;Ar、Br、Cr、Dr、Er、Fr、Gr和Hr均为第r次迭代后的寄存器变量。
进一步地,步骤S8的具体方法为:
将与每个个体对应的共132字的数据进行数据压缩,在数据压缩过程中并行计算寄存器变量Ar和Er的值,通过简化后的寄存器变量计算公式获取数据压缩过程中每次迭代后的寄存器变量值,并将最后一次迭代后的寄存器变量值作为输出,完成SM3算法的并行处理。
提供SM3算法的并行处理电子设备,其特征在于,包括:
存储器,存储有可执行指令;以及
处理器,被配置为执行存储器中可执行指令以实现权利要求1-5中任一项所述的方法。
本发明的有益效果为:本发明通过对SM3密码杂凑算法公式进行化简,将运算中不必要的中间变量进行替代,并对化简后的公式进行循环展开、并行处理,从而达到简化运算过程,节约计算资源,提高运算速度。
附图说明
图1为本方法的流程示意图;
图2为本申请的SM3算法结构图;
图3为本申请的SM3算法的压缩过程示意图;
图4为本申请的SM3算法的压缩过程时序示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该SM3算法的并行处理方法包括以下步骤:
S1、将长度为L比特的消息m的结尾处添加数字1,并在添加的数字1后添加64比特的数值为L的二进制数值,得到第一次填充后的消息;
S2、判断第一次填充后的消息长度是否为512的整数倍,若是则直接进入步骤S4;否则进入步骤S3;
S3、在添加的数字1与添加的二进制数值之间添加数字0直至消息长度为512的整数倍,得到第二次填充后的消息并进入步骤S4;
S4、将当前消息按照512比特进行分组,分组后的每个个体包括16个字W0,W1,…,W15;W0为个体的最高的32比特,W15为个体的最低的32比特;
S5、基于分组后的每个个体的16个字进行扩展得到52个字的Wj和64个字的Wk’,即得到与每个个体对应的共132字的数据;其中j=16,17,…,67;k=0,1,2,…,63;
S6、构建中间变量SS1n、SS2n、TT1n和TT2n;
S7、将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;
S8、基于简化后的寄存器变量的计算公式,将SM3算法的压缩迭代的每相邻两轮迭代合并为一次计算,完成SM3算法的并行处理。
步骤S5的具体方法包括以下子步骤:
S5-1、将字Wj-16循环左移15位的结果、Wj-9循环左移15位的结果和Wj-3循环左移15位的结果进行三者异或操作,得到值Q0;其中16≤j≤67;
S5-2、将值Q0、值Q0进行循环左移15位的结果和值Q0进行循环左移23位的结果进行三者异或操作,得到值Q1;
S5-3、将值Q1、Wj-13循环左移7位和Wj-6进行三者异或操作,将操作结果记为Wj;
S5-4、将Wk和Wk+4进行异或操作,将操作结果记为Wk’。
步骤S6的具体方法为:分别根据公式:
构建中间变量SS1n、SS2n、TT1n和TT2n;其中每个中间变量的长度均为32比特;n为常数,表示数据压缩过程的迭代次数,n=1,2,…,64;An-1表示数据压缩过程中第n-1次迭代时寄存器变量A的值,当n=1时An-1为寄存器变量的初始值7380166f;En-1表示数据压缩过程中第n-1次迭代时寄存器变量E的值,当n=1时En-1为寄存器变量的初始值a96f30bc;Tn为固定值,当n≤16时,Tn=0x79cc4519;当17≤n≤64时,Tn=0x7a879d8a;表示32比特异或运算;FFn(·)表示布尔函数;Bn-1表示数据压缩过程中第n-1次迭代时寄存器变量B的值,当n=1时Bn-1为寄存器变量的初始值4914b2b9;Cn-1表示数据压缩过程中第n-1次迭代时寄存器变量C的值,当n=1时Cn-1为寄存器变量的初始值172442d7;Dn-1表示数据压缩过程中第n-1次迭代时寄存器变量D的值,当n=1时Dn-1为寄存器变量的初始值da8a0600;GGn(·)表示布尔函数;Fn-1表示数据压缩过程中第n-1次迭代时寄存器变量F的值,当n=1时Fn-1为寄存器变量的初始值163138aa;Gn-1表示数据压缩过程中第n-1次迭代时寄存器变量G的值,当n=1时Gn-1为寄存器变量的初始值e38dee4d;Hn-1表示数据压缩过程中第n-1次迭代时寄存器变量H的值,当n=1时Hn-1为寄存器变量的初始值b0fb0e4e。
步骤S7的具体方法为:分别根据公式:
Br=Ar-1
Cr=Ar-2<<<9
Dr=Ar-3<<<9
Er=P0(TT2r)=P0(GGr(Er-1,Er-2,Er-3<<<9)+(Er-4<<<19)+((Ar-1<<<12)+Er-1+(Tr<<<r))<<<7+Wr)
Fr=Er-1
Gr=Er-1<<<19
Hr=Er-3<<<19
将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;其中r为整数,表示数据压缩过程的迭代次数,4≤r≤64;FFr(·)和GGr(·)均表示布尔函数;P0(·)表示置换函数,置换过程为将置换对象、置换对象循环左右9位后的结果、置换对象循环左移17位后的结果进行三者异或;Ar、Br、Cr、Dr、Er、Fr、Gr和Hr均为第r次迭代后的寄存器变量。
当j值不同时,Tj的值和FFj(X,Y,Z)的公式不同,将其带入可得:
当j为0-15时,Tj为79cc4519,
当j为16-63时,Tj为7a879d8a,FFj(X,Y,Z)=(X∧Y)∨(X∧Z)∨(Y∧Z)
当j值不同,Tj的值和GGj(X,Y,Z)的公式不同,将其带入可得:
当j为0-15时,Tj为79cc4519,
当j为16-63时,Tj为7a879d8a,
其中∧为32比特与运算,∨为32比特或运算,为32比特非运算。
步骤S8的具体方法为:将与每个个体对应的共132字的数据进行数据压缩,在数据压缩过程中并行计算寄存器变量Ar和Er的值,通过简化后的寄存器变量计算公式获取数据压缩过程中每次迭代后的寄存器变量值,并将最后一次迭代后的寄存器变量值作为输出,完成SM3算法的并行处理。
该SM3算法的并行处理电子设备,其特征在于,包括:
存储器,存储有可执行指令;以及
处理器,被配置为执行存储器中可执行指令以实现权利要求1-5中任一项所述的方法。
在本申请的一个实施例中,如图2所示,逐次对每个数据分组M(i)(M(i)为扩展得到的132个字Wj和Wj’)进行数据压缩,有压缩函数V(i+1)=CF(V(i),M(i))(0<=i<=n-1),将上一次压缩的结果值作为下一次输入再次重复计算,CF表示压缩函数。压缩函数的计算过程为:设A、B、C、D、E、F、G、H为寄存变量,SS1、SS2、TT1、TT2为中间变量,变量长度均为32比特。
压缩第一个分组且扩展后的数据M(i)时,即i=0:将IV(压缩函数寄存器)的初始值:7380166f 4914b2b9 172442d7 da8a0600 a96f30bc 163138aa e38dee4d b0fb0e4e赋值给寄存器变量A、B、C、D、E、F、G和H,如果非第一次运算即i>0,则需要将上一次计算的结果V(i-1)赋值给A、B、C、D、E、F、G和H。
在具体实施过程中,经过公式简化后可以看出,8个寄存器变量都只需要Ar和Er就可以计算出来,由于Ar和Er计算情况一致,因此以计算Ar为例进行说明:
如图3所示,图中F表示进行运算的函数,采用二合一的方法,第一个时钟周期计算A0(需要用到初值A)和A1(需要用到A0和初值A),第二个时钟周期计算A2(需要用到A1和A0和初值A)和A3(需要用到A2,A1,A0和初值A),第三个时钟周期计算A4(需要用到A3,A2,A1和A0)和A5(需要用到A4,A3,A2,A1),以此类推,可以发现在计算Aj+1时,既要用到上一轮的值又要用到当前一轮的值。因此在计算Aj时,需要用到6个寄存器,即用reg_A0、reg_A1、reg_A2、reg_A3、reg_A4、reg_A5、这6个寄存器可算出算A0-A63的值。
如图4所示,图中F表示进行运算的函数,第一个时钟周期算出A0和A1,让其保持三个时钟周期,第二个时钟周期算出A2和A3,让其保持三个时钟周期,第三个时钟周期算出A4和A5,让其保持三个时钟周期;当A0和A1保持完三个时钟周期,后续的计算就不会再用到A0和A1了,此时reg_A0和reg_A1寄存器可以计算A6和A7,以此类推,最终算出所有的值。
由以上过程可以看出,本发明将这一部分结构采用循环迭代展开法,将每两轮函数合并为一个函数实现,那么一个时钟周期可以实现两次压缩计算,分组的处理周期由64减小到32。
综上所述,本发明通过对SM3密码杂凑算法公式进行化简,将运算中不必要的中间变量进行替代,并对化简后的公式进行循环展开、并行处理,从而达到简化运算过程,节约计算资源,提高运算速度。
Claims (4)
1.一种SM3算法的并行处理方法,其特征在于,包括以下步骤:
S1、将长度为L比特的消息m的结尾处添加数字1,并在添加的数字1后添加64比特的数值为L的二进制数值,得到第一次填充后的消息;
S2、判断第一次填充后的消息长度是否为512的整数倍,若是则直接进入步骤S4;否则进入步骤S3;
S3、在添加的数字1与添加的二进制数值之间添加数字0直至消息长度为512的整数倍,得到第二次填充后的消息并进入步骤S4;
S4、将当前消息按照512比特进行分组,分组后的每个个体包括16个字W0,W1,…,W15;W0为个体的最高的32比特,W15为个体的最低的32比特;
S5、基于分组后的每个个体的16个字进行扩展得到52个字的Wj和64个字的Wk’,即得到与每个个体对应的共132字的数据;其中j=16,17,…,67;k=0,1,2,…,63;
S6、构建中间变量SS1n、SS2n、TT1n和TT2n;
S7、将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;
S8、基于简化后的寄存器变量的计算公式,将SM3算法的压缩迭代的每相邻两轮迭代合并为一次计算,完成SM3算法的并行处理;
步骤S5的具体方法包括以下子步骤:
S5-1、将字Wj-16循环左移15位的结果、Wj-9循环左移15位的结果和Wj-3循环左移15位的结果进行三者异或操作,得到值Q0;其中16≤j≤67;
S5-2、将值Q0、值Q0进行循环左移15位的结果和值Q0进行循环左移23位的结果进行三者异或操作,得到值Q1;
S5-3、将值Q1、Wj-13循环左移7位和Wj-6进行三者异或操作,将操作结果记为Wj;
S5-4、将Wk和Wk+4进行异或操作,将操作结果记为Wk’;
步骤S6的具体方法为:
分别根据公式:
构建中间变量SS1n、SS2n、TT1n和TT2n;其中每个中间变量的长度均为32比特;n为常数,表示数据压缩过程的迭代次数,n=1,2,…,64;表示数据压缩过程中第n-1次迭代时寄存器变量A的值,当n=1时/>为寄存器变量的初始值7380166f;/>表示数据压缩过程中第n-1次迭代时寄存器变量E的值,当n=1时/>为寄存器变量的初始值a96f30bc;/>为固定值,当n≤16时,/>;当17≤n≤64时,/>;/>表示32比特异或运算;/>表示布尔函数;/>表示数据压缩过程中第n-1次迭代时寄存器变量B的值,当n=1时/>为寄存器变量的初始值4914b2b9;/>表示数据压缩过程中第n-1次迭代时寄存器变量C的值,当n=1时/>为寄存器变量的初始值172442d7;/>表示数据压缩过程中第n-1次迭代时寄存器变量D的值,当n=1时/>为寄存器变量的初始值da8a0600;/>表示布尔函数;/>表示数据压缩过程中第n-1次迭代时寄存器变量F的值,当n=1时/>为寄存器变量的初始值163138aa;/>表示数据压缩过程中第n-1次迭代时寄存器变量G的值,当n=1时为寄存器变量的初始值e38dee4d;/>表示数据压缩过程中第n-1次迭代时寄存器变量H的值,当n=1时/>为寄存器变量的初始值b0fb0e4e。
2.根据权利要求1所述的SM3算法的并行处理方法,其特征在于,步骤S7的具体方法为:
分别根据公式:
将中间变量带入寄存器变量的计算过程,得到简化后的寄存器变量在数据压缩过程中的计算公式;其中r为整数,表示数据压缩过程的迭代次数,4≤r≤64;和/>均表示布尔函数;/>表示置换函数,置换过程为将置换对象、置换对象循环左右9位后的结果、置换对象循环左移17位后的结果进行三者异或;/>、/>、/>、/>、/>、/>、/>和/>均为第r次迭代后的寄存器变量。
3.根据权利要求2所述的SM3算法的并行处理方法,其特征在于,步骤S8的具体方法为:
将与每个个体对应的共132字的数据进行数据压缩,在数据压缩过程中并行计算寄存器变量和/>的值,通过简化后的寄存器变量计算公式获取数据压缩过程中每次迭代后的寄存器变量值,并将最后一次迭代后的寄存器变量值作为输出,完成SM3算法的并行处理。
4.一种SM3算法的并行处理电子设备,其特征在于,包括:
存储器,存储有可执行指令;以及
处理器,被配置为执行所述存储器中可执行指令以实现权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962056.5A CN113741972B (zh) | 2021-08-20 | 2021-08-20 | 一种sm3算法的并行处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962056.5A CN113741972B (zh) | 2021-08-20 | 2021-08-20 | 一种sm3算法的并行处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741972A CN113741972A (zh) | 2021-12-03 |
CN113741972B true CN113741972B (zh) | 2023-08-25 |
Family
ID=78732050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110962056.5A Active CN113741972B (zh) | 2021-08-20 | 2021-08-20 | 一种sm3算法的并行处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741972B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116846543A (zh) * | 2023-07-26 | 2023-10-03 | 百信信息技术有限公司 | 一种sm3密码杂凑算法的数据处理方法及相关设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761414A (zh) * | 2011-04-26 | 2012-10-31 | 航天信息股份有限公司 | 一种sm3密码杂凑算法及确定其中的变量字的方法 |
WO2013169450A1 (en) * | 2012-05-10 | 2013-11-14 | Dolby Laboratories Licensing Corporation | Multistage iir filter and parallelized filtering of data with same |
CN106301761A (zh) * | 2016-08-09 | 2017-01-04 | 北京智芯微电子科技有限公司 | 一种基于密码杂凑算法的压缩方法及装置 |
CN106452769A (zh) * | 2016-09-13 | 2017-02-22 | 杭州华为数字技术有限公司 | 一种数据处理方法、数据处理装置以及处理器 |
CN106533657A (zh) * | 2016-12-22 | 2017-03-22 | 广东工业大学 | 一种sm3杂凑加密系统 |
CN106850189A (zh) * | 2017-02-10 | 2017-06-13 | 广东工业大学 | 一种减少sm3密码杂凑算法中运算量的方法及装置 |
CN107094369A (zh) * | 2014-09-26 | 2017-08-25 | 英特尔公司 | 用于提供simd sm3密码散列函数的指令和逻辑 |
CN108510975A (zh) * | 2017-02-24 | 2018-09-07 | 百度(美国)有限责任公司 | 用于实时神经文本转语音的系统和方法 |
CN108809626A (zh) * | 2018-05-30 | 2018-11-13 | 北京安如山文化科技有限公司 | 一种白盒sm4密码算法方案与系统 |
CN109547192A (zh) * | 2018-11-08 | 2019-03-29 | 北京大学 | Sm3密码杂凑算法的并行化优化方法 |
-
2021
- 2021-08-20 CN CN202110962056.5A patent/CN113741972B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761414A (zh) * | 2011-04-26 | 2012-10-31 | 航天信息股份有限公司 | 一种sm3密码杂凑算法及确定其中的变量字的方法 |
WO2013169450A1 (en) * | 2012-05-10 | 2013-11-14 | Dolby Laboratories Licensing Corporation | Multistage iir filter and parallelized filtering of data with same |
CN107094369A (zh) * | 2014-09-26 | 2017-08-25 | 英特尔公司 | 用于提供simd sm3密码散列函数的指令和逻辑 |
CN106301761A (zh) * | 2016-08-09 | 2017-01-04 | 北京智芯微电子科技有限公司 | 一种基于密码杂凑算法的压缩方法及装置 |
CN106452769A (zh) * | 2016-09-13 | 2017-02-22 | 杭州华为数字技术有限公司 | 一种数据处理方法、数据处理装置以及处理器 |
CN106533657A (zh) * | 2016-12-22 | 2017-03-22 | 广东工业大学 | 一种sm3杂凑加密系统 |
CN106850189A (zh) * | 2017-02-10 | 2017-06-13 | 广东工业大学 | 一种减少sm3密码杂凑算法中运算量的方法及装置 |
CN108510975A (zh) * | 2017-02-24 | 2018-09-07 | 百度(美国)有限责任公司 | 用于实时神经文本转语音的系统和方法 |
CN108809626A (zh) * | 2018-05-30 | 2018-11-13 | 北京安如山文化科技有限公司 | 一种白盒sm4密码算法方案与系统 |
CN109547192A (zh) * | 2018-11-08 | 2019-03-29 | 北京大学 | Sm3密码杂凑算法的并行化优化方法 |
Non-Patent Citations (1)
Title |
---|
K-means for parallel architectures using all-prefix-sum sorting and updating steps;Kohlhoff K J;《IEEE Transactions on Parallel and Distributed Systems》;1602-1612 * |
Also Published As
Publication number | Publication date |
---|---|
CN113741972A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791517B (zh) | 保护并行乘法运算免受外部监测攻击 | |
US20080307024A1 (en) | Mixed Radix Number Generator with Chosen Statistical Artifacts | |
US10833847B2 (en) | Cryptographic hash generated using data parallel instructions | |
KR102697307B1 (ko) | 추계학적 반올림 로직 | |
CN113741972B (zh) | 一种sm3算法的并行处理方法及电子设备 | |
Lunglmayr et al. | Design and analysis of efficient maximum/minimum circuits for stochastic computing | |
CN109933304B (zh) | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 | |
CN108183790B (zh) | 一种aes加密装置、芯片及系统 | |
CN109375897B (zh) | 伪随机序列的生成方法 | |
CN106330424B (zh) | 基于sm3算法的密码模块的防攻击方法及装置 | |
CN106301761B (zh) | 一种基于密码杂凑算法的压缩方法及装置 | |
US8909510B2 (en) | LFSR emulation | |
CN107885486B (zh) | 一种基于查找树的复合有限域求逆装置 | |
CN117560140A (zh) | 一种基于risc-v的sm3密码算法优化方法 | |
CN117692126A (zh) | 一种基于低复杂度模乘算法的Paillier同态加密方法及系统 | |
CN109936437B (zh) | 一种基于d+1阶掩码的抗功耗攻击方法 | |
CN110336658B (zh) | 基于aes算法的加密方法、用户设备、存储介质及装置 | |
CN108768615B (zh) | 散列算法在同一框架下的asic芯片实现方法 | |
CN116155481A (zh) | 一种sm3算法的数据加密实现方法和装置 | |
CN113485751B (zh) | 执行伽罗瓦域乘法的方法、运算单元和电子装置 | |
CN108023661B (zh) | 一种获取伪随机序列的方法和装置 | |
CN114826560A (zh) | 一种轻量级分组密码cref实现方法及系统 | |
Jiang et al. | Research on pseudo-random characteristics of new random components | |
CN116820394B (zh) | 一种面向椭圆曲线加密算法的标量乘电路 | |
CN111857651B (zh) | 用多比特加法器并行进行多个少比特加法的方法及应用 |
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 |