CN110034918B - 一种sm4加速方法和装置 - Google Patents
一种sm4加速方法和装置 Download PDFInfo
- Publication number
- CN110034918B CN110034918B CN201910196233.6A CN201910196233A CN110034918B CN 110034918 B CN110034918 B CN 110034918B CN 201910196233 A CN201910196233 A CN 201910196233A CN 110034918 B CN110034918 B CN 110034918B
- Authority
- CN
- China
- Prior art keywords
- round key
- calculation
- message
- expansion
- processing
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- 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
-
- 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
Abstract
本发明实施例涉及一种SM4加速方法与装置。方法包括:在计算装置原有内部寄存器的基础上,增设辅助寄存器,对加密密钥进行轮密钥扩展计算以生成轮密钥,以轮密钥处理输入的消息;轮密钥扩展计算和以所述轮密钥处理输入的消息中的至少其中之一,通过扩展指令实现;将所述计算产生的轮密钥和处理结果存入预设寄存器。实施本发明实施例,通过软硬结合的方式提升SM4运算的效率并兼顾成本,达到资源的更佳配置。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种SM4加速方法和装置。
背景技术
SM4是国家密码管理局发布的一种分组密码算法(GMT 0002-2012),该算法的分组长度和密钥长度均为128比特。加密算法和密钥扩展算法都采用32轮非线性迭代结构。加密和解密的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。对于某些计算装置,如通用处理器,使用纯软件进行SM4杂凑运算时,往往出现效率低下以及长时间占用该装置的缺点,由此导致系统资源分配紧张和功耗的增加。而一些硬件解决方案,纯硬件实现SM4杂凑运算,又过多的增加了硬件成本。如何提升SM4运算的效率并兼顾成本,达到资源的更佳配置,是本领域亟待解决的问题。
发明内容
本发明实施例提供一种SM4加速方法和装置,可有效提升SM4运算的效率并兼顾成本,达到资源的更佳配置。
第一方面,本发明实施例提供一种SM4加速方法,应用于设有内部寄存器的计算装置,方法包括:为所述装置增加预设数量的辅助寄存器;对加密密钥进行轮密钥扩展计算以生成轮密钥;以所述轮密钥处理输入的消息;所述轮密钥扩展计算和以所述轮密钥处理输入的消息中的至少其中之一,通过扩展指令实现;将所述计算产生的轮密钥和处理结果存入预设寄存器。
可选的,输入的消息具体为消息明文或消息密文;所述以所述轮密钥处理输入的消息,具体为以所述轮密钥加密消息明文的计算或以所述轮密钥解密消息密文的计算。
可选的,扩展指令既调用所述内部寄存器,也调用所述辅助寄存器。
可选的,扩展指令包括6个操作数,其中2个操作数由所述装置内部寄存器赋值,其中4个操作数由所述辅助寄存器赋值。
可选的,所述装置为32位宽的装置。
另一方面,本发明实施例还提供一种SM4加速装置,设有内部寄存器,包括:预设数量的辅助寄存器;扩展指令计算单元,用于对加密密钥进行轮密钥扩展计算以生成轮密钥,以及,以所述轮密钥处理输入的消息;所述扩展指令计算单元,对所述轮密钥扩展计算的执行和以所述轮密钥处理输入的消息的执行中的至少其中之一,通过扩展指令实现;存储单元,用于将所述计算产生的轮密钥和处理结果存入预设寄存器。
可选的,输入的消息具体为消息明文或消息密文;以所述轮密钥处理输入的消息,具体为以所述轮密钥加密所述消息明文的计算或以所述轮密钥解密所述消息密文的计算。
可选的,扩展指令既调用所述内部寄存器,也调用所述辅助寄存器。
可选的,扩展指令包括6个操作数,其中2个操作数由所述装置内部寄存器赋值,其中4个操作数由所述辅助寄存器赋值。
可选的,所述装置为32位宽的装置。
本发明实施例中,在计算装置原有内部寄存器的基础上,增设辅助寄存器,对加密密钥进行轮密钥扩展计算以生成轮密钥,以轮密钥处理输入的消息;轮密钥扩展计算和以所述轮密钥处理输入的消息中的至少其中之一,通过扩展指令实现;将所述计算产生的轮密钥和处理结果存入预设寄存器,实施本发明实施例。通过软硬结合的方式提升SM4运算的效率并兼顾成本,达到资源的更佳配置。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图对应的是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的SM4加速方法实施例的流程图;
图2为本发明实施例提供的SM4轮密钥扩展示意图;
图3为本发明实施例提供的SM4以轮密钥加密输入消息的示意图;
图4为本发明实施例提供的SM4加速装置示意图;
图5为本发明实施例提供的SM4加速装置结合执行流程的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
SM4杂凑算法的主要流程包括:消息填充,消息扩展和压缩函数。
请参阅图1,为本发明提供的SM4加速方法实施例的流程图;本实施例的方法应用于设有内部寄存器的计算装置,例如32位宽的通用处理器,包括步骤:
S101、为所述装置增加预设数量的辅助寄存器;
可选的,增加的辅助寄存器为4个,此处分别命名为smau40、smau41、smau42、smau43。这些命名是示例性的,且先后顺序不做限定;可以理解的是,增加辅助寄存器的数量可以根据实际需要做调整,在本发明实施例构思的基础上,对辅助寄存器的数量进行任何的调整均应属于本发明保护范围。
S102、对加密密钥进行轮密钥扩展计算以生成轮密钥;
SM4是一种基于128比特长度分组的密码运算,加密密钥长度是128比特。SM4密码运算需要进行32轮,每一轮均需要一个不同的轮密钥。轮密钥是由加密密钥通过密钥扩展算法产生的。轮密钥扩展如图2所示。
图中为异或运算;
MK0、MK1、MK2、MK3为128比特加密密钥的分解,均为32比特;
FK0、FK1、FK2、FK3均为固定常数,用十六进制表示为:
FK0=A3B1BAC6,FK1=56AA3350,FK2=677D9197,FK3=B27022DC。
CKn也是固定常数,n为≥0且≤31的整数,在32轮中,每一轮数值都不同,CK0、CK1、……CK31用十六进制表示分别为:
00070e15,1c232a31,383f464d,545b6269,70777e85,8c939aa1,a8afb6bd,c4cbd2d9,e0e7eef5,fc030a11,181f262d,343b4249,50575e65,6c737a81,888f969d,a4abb2b9,c0c7ced5,dce3eaf1,f8ff060d,141b2229,30373e45,4c535a61,686f767d,848b9299,a0a7aeb5,bcc3cad1,d8dfe6ed,f4fb0209,10171e25,2c333a41,484f565d,646b7279。
X0、X1、X2、X3、X4、……X32、X33、X34、X35为计算过程中产生的32比特变量。
S为S盒,其实质为非线性变换,可通过查找表的方式实现,本发明实施例不再一一列举,具体可见GMT 0002-2012标准。
标记为A的矩形框,之前的计算结果是32比特的,标记为A的矩形框表示将32比特的数分成四个8比特的数,然后分别输入S盒中。
L′-Layer为线性变换,满足公式:L′(X)=X XOR(X<<<13)XOR(X<<<23),其中,XOR为异或运算,<<<为循环左移运算。
每经过一轮计算,会产生一个轮密钥,比如第一轮计算完成后,产生的X4即第一轮的轮密钥rk0,第二轮计算完成后,产生的X5即为第二轮的轮密钥rk1,以此类推,第32轮计算完成后,产生的X35即为第32轮的轮密钥rk31。
本实施例中,轮密钥扩展计算可通过扩展指令实现,该扩展指令命名为SM4CRPT。SM4CRPT一共有六个操作数,其中两个可用该计算装置的内部寄存器赋值,其他四个操作数需借助前述四个辅助寄存器smau40、smau41、smau42、smau43。初始化完这四个辅助寄存器后,可使用以下方式调用SM4CRPT:SM4CRPT%R0,%R1,%R2;其中R1和R2为源寄存器,R1=128+n,因n为≥0且≤31的整数,n即为轮数;R2=0,R0为目标寄存器,即轮密钥会放在R0中;
轮密钥的计算可表述如下:
smau40=MK0
smau41=MK1
smau42=MK2
smau43=MK3
FOR n=0 TO 31
SM4CPR%r0,128+n,0
rkn=r0
S103、以所述轮密钥处理输入的消息;
可以理解的是,输入的消息具体为消息明文或消息密文;所述以所述轮密钥处理输入的消息,具体为以所述轮密钥加密消息明文的计算或以所述轮密钥解密消息密文的计算。因为解密与加密流程相同,解密的轮密钥是加密轮密钥的逆序,即解密第一轮的轮密钥为加密第32轮的轮密钥,所以,以下仅以加密为例做阐述。
请参见图3,为本发明实施例提供的SM4以轮密钥加密输入消息的示意图;输入消息为128比特明文,故在图3中,P0,P1,P2,P3为128比特明文的分解,均为32比特。L-Layer为线性变换,满足公式:
L(X)=X XOR(X<<<2)XOR(X<<<10)XOR(X<<<18)XOR(X<<<24)
S为S盒,其实质为非线性变换,可通过查找表的方式实现,本发明实施例不再一一列举,具体可见GMT 0002-2012标准。
标记为A的矩形框,之前的计算结果是32比特的,标记为A的矩形框表示将32比特的数分成四个8比特的数,然后分别输入S盒中。
经过32轮计算后,产生的X32、X33、X34、X35即作为密文C3、C2、C1、C0输出。
加密所输入消息的计算也可通过前述扩展指令SM4CRPT来实现,再加密所述输入消息的计算过程中,可使用以下方式调用SM4CRPT:SM4CRPT%R0,%R1,%R2;其中R1和R2为源寄存器,R1=n,因n为≥0且≤31的整数,n即为轮数;R2=rkn,即轮密钥,R0为目标寄存器,即加密结果会存入R0中。
对一个128比特的输入消息块,32轮的加密计算可表述如下:
smau40=P0
smau41=P1
smau42=P2
smau43=P3
FOR n=0 TO 27
SM4CPR%r0,n,rkn
SM4CPR%r0,28,rk28
C3=r0
SM4CPR%r0,29,rk29
C2=r0
SM4CPR%r0,30,rk30
C1=r0
SM4CPR%r0,31,rk31
C0=r0
S104、将所述计算产生的轮密钥和处理结果存入预设寄存器。
在S102和S103的描述中,已经描述过将轮密钥和加密结果存入目标寄存器R0中,此处不再赘述。在本实施例中,目标寄存器R0即预设寄存器。
需要说明的是,在本发明实施例中,在轮密钥计算和输入消息处理过程中均通过扩展指令实现,是为了详尽的描述扩展指令实现的方式,在具体实施中,技术人员可根据需要或具体情况选择在轮密钥计算和输入消息处理过程中择一选择通过扩展指令实现的方式,均应属于本发明实施例的保护范围。
在本发明实施例中,可扩展指令SM4CRPT复用计算装置原有的流水线,完成取指、译码、访存,执行、写回等操作,并且可以使用原有的内部寄存器作为操作数,在操作数超过两个时,会增加相应的辅助寄存器,协助完成指令操作,有效提升SM4运行效率。
通过本发明实施例,在计算装置原有内部寄存器的基础上,增设辅助寄存器,对加密密钥进行轮密钥扩展计算以生成轮密钥,以轮密钥处理输入的消息;轮密钥扩展计算和以所述轮密钥处理输入的消息中的至少其中之一,通过扩展指令实现;将所述计算产生的轮密钥和处理结果存入预设寄存器。通过软硬结合的方式提升SM4运算的效率并兼顾成本,达到资源的更佳配置。
请参阅图4,为本发明实施例提供的SM4加速装置示意图。
SM4加速装置40,为32位宽的装置,设有内部寄存器,还包括:预设数量的辅助寄存器401,用以支持扩展指令,扩展指令命名为SM4CRPT。SM4CRPT一共有六个操作数,其中两个可用该计算装置的内部寄存器赋值,其他四个操作数需借助前述四个辅助寄存器smau40、smau41、smau42、smau43。图4中列出的一个辅助寄存器401是示例性的,具体实施中,辅助寄存器401的数量可以根据需要调整。
扩展指令计算单402,用于对加密密钥进行轮密钥扩展计算以生成轮密钥,以及,以所述轮密钥处理输入的消息;扩展指令计算单402在进行轮密钥扩展计算的执行和以轮密钥处理输入消息的执行中的至少其中之一,通过扩展指令SM4CRPT实现。输入的消息具体为所述输入的消息具体为消息明文或消息密文;对应的,以所述轮密钥处理输入的消息,具体为以所述轮密钥加密所述消息明文的计算或以所述轮密钥解密所述消息密文的计算。正如前面所述的,扩展指令SM4CRPT既调用内部寄存器,也调用辅助寄存器。扩展指令SM4CRPT一共有六个操作数,其中两个可用该计算装置的内部寄存器赋值,其他四个操作数需借助前述四个辅助寄存器smau40、smau41、smau42、smau43。
存储单元403,用于将扩展指令计算单元计算产生的轮密钥和处理结果存入预设寄存器。本装置实施例中个单元工作过程中执行的方法在前述方法实施例中已有详细描述,此处不再赘述。
可以理解的是,本实施例中SM4加速装置40中的单元是为举例,以说明本发明实施例的主要特征,这些单元并非穷举,在具体实现中,还可能根据需要有其他的单元参与工作,也可根据需要将部分单元删减,比如存储单元403,为功能性的描述,在一些实施方式中,其具体可以指寄存器或外部存储器。
在本发明实施例中,扩展指令SM4CRPT复用计算装置原有的流水线,完成取指、译码、访存,执行、写回等操作,并且可以使用原有的内部寄存器作为操作数,在操作数超过两个时,会增加相应的辅助寄存器,协助完成指令操作,有效提升SM4运行效率。
通过以上实施例,在轮密钥扩展计算和以轮密钥处理输入的消息这两个阶段均通过可扩展指令和辅助寄存器对SM4运算进行了加速,也可根据具体情况择一进行加速,采取这种软硬件结合的方式,有效提升了SM4运算的效率并兼顾了成本,达到资源的更佳配置。
请再参阅图5,为本发明实施例提供的SM4加速装置结合执行流程的示意图,以进一步阐明本发明实施例的工作方式。
在本发明实施例中,SM4加速装置包括取指控制单元501、指令译码单元502、内部寄存器503、,辅助寄存器504、外部存储器505、计算单元506、扩展指令计算单元507。在取指阶段,取指控制单元501取得指令;指令译码单元502在译码阶段对取指控制单元501取得的指令进行译码;在执行阶段,计算单元506执行其他的计算;而扩展指令计算单元507则通过前述实施例中描述的扩展指令SM4CRPT,调用内部寄存器503和辅助寄存器504,对SM4的轮密钥扩展计算和输入消息的处理加速执行;在写回过程中,将轮密钥扩展计算产生的轮密钥以及对输入的消息进行处理后的结果(指明文或密文)写回至外部存储器505、内部寄存器503或辅助寄存器504。
可以理解的是,本发明中实施例附图中的内部寄存器503和辅助寄存器504的展示是为示意,并非是数量的限制。
图5中的梯形是为了示意步骤执行或数据的汇合,并非代表特别的模块或单元;下部带有三角形的矩形是为隔开方案执行的不同阶段,也并非代表特别的模块或单元。在本发明实施例中,可扩展指令SM4CRPT复用装置原有的流水线,完成取指、译码、访存,执行、写回等操作,并且可以使用原有的内部寄存器作为操作数,在操作数超过两个时,会增加相应的辅助寄存器,协助完成指令操作,有效提升SM4运行效率。
通过以上实施例,在轮密钥扩展计算和以轮密钥处理输入的消息这两个阶段均通过可扩展指令和辅助寄存器对SM4运算进行了加速,也可根据具体情况择一进行加速,采取这种软硬件结合的方式,有效提升了SM4运算的效率并兼顾了成本,达到资源的更佳配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
本发明实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减,且顺序不作为限制,对本发明方法实施例、系统实施例中步骤顺序的调整、步骤的合并或删减均应属于本发明的保护范围。
可以理解的是,本发明实施例装置中的单元描述是为举例,但具体实现方式可以根据实际需要进行整合、进一步划分或删减,任何整合、划分或删减均应属于本发明保护范围。
以上对本发明实施例公开的SM4加速方法和装置进行了详细的介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,而不是对本发明的范围的限制。同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均可能会有改变之处,亦应属本发明保护范围。
Claims (4)
1.一种SM4加速方法,应用于设有内部寄存器的计算装置,其特征在于,所述装置为32位宽的装置,所述方法包括:
为所述装置增加预设数量的辅助寄存器;
对加密密钥进行轮密钥扩展计算以生成轮密钥;
以所述轮密钥处理输入的消息;
所述轮密钥扩展计算和以所述轮密钥处理输入的消息,均通过一条扩展指令实现;
将所述计算产生的轮密钥和处理结果存入预设寄存器;
所述扩展指令既调用所述内部寄存器,也调用所述辅助寄存器;
所述扩展指令包括6个操作数,其中2个操作数由所述装置内部寄存器赋值,其中4个操作数由所述辅助寄存器赋值;所述扩展指令复用所述装置的计算过程。
2.根据权利要求1所述的方法,其特征在于,
所述输入的消息具体为消息明文或消息密文;
所述以所述轮密钥处理输入的消息,具体为以所述轮密钥加密消息明文的计算或以所述轮密钥解密消息密文的计算。
3.一种SM4加速装置,设有内部寄存器,其特征在于,包括:所述装置为32位宽的装置;
预设数量的辅助寄存器;
扩展指令计算单元,用于对加密密钥进行轮密钥扩展计算以生成轮密钥,以及,以所述轮密钥处理输入的消息;
所述扩展指令计算单元,对所述轮密钥扩展计算的执行和以所述轮密钥处理输入的消息,均通过一条扩展指令实现;
存储单元,用于将所述计算产生的轮密钥和处理结果存入预设寄存器;
所述扩展指令既调用所述内部寄存器,也调用所述辅助寄存器;
所述扩展指令包括6个操作数,其中2个操作数由所述装置内部寄存器赋值,其中4个操作数由所述辅助寄存器赋值;所述扩展指令复用所述装置的计算过程。
4.根据权利要求3所述的装置,其特征在于,
所述输入的消息具体为消息明文或消息密文;
所述以所述轮密钥处理输入的消息,具体为以所述轮密钥加密所述消息明文的计算或以所述轮密钥解密所述消息密文的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196233.6A CN110034918B (zh) | 2019-03-15 | 2019-03-15 | 一种sm4加速方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196233.6A CN110034918B (zh) | 2019-03-15 | 2019-03-15 | 一种sm4加速方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110034918A CN110034918A (zh) | 2019-07-19 |
CN110034918B true CN110034918B (zh) | 2023-10-20 |
Family
ID=67235990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910196233.6A Active CN110034918B (zh) | 2019-03-15 | 2019-03-15 | 一种sm4加速方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110034918B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110880967B (zh) * | 2019-12-24 | 2023-04-07 | 北京炼石网络技术有限公司 | 采用分组对称密钥算法对多消息并行加解密方法 |
CN112583573B (zh) * | 2020-11-19 | 2022-01-14 | 北京智芯微电子科技有限公司 | Sm4防故障攻击方法及sm4防故障攻击装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密系统 |
CN102624520A (zh) * | 2012-05-02 | 2012-08-01 | 西安电子科技大学 | 基于aes的192比特位密钥扩展系统及方法 |
CN103812641A (zh) * | 2012-11-07 | 2014-05-21 | 中国科学院微电子研究所 | 一种实现sm4分组对称密码算法的系统 |
CN105306195A (zh) * | 2014-07-22 | 2016-02-03 | 英特尔公司 | Sm4加速处理器、方法、系统和指令 |
CN106575215A (zh) * | 2014-09-04 | 2017-04-19 | 英特尔公司 | Sm3哈希算法加速处理器、方法、系统和指令 |
CN106796641A (zh) * | 2014-10-02 | 2017-05-31 | 微软技术许可有限责任公司 | 针对运行已验证软件的硬件的端到端安全性 |
CN106788974A (zh) * | 2016-12-22 | 2017-05-31 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
CN107209661A (zh) * | 2014-09-26 | 2017-09-26 | 英特尔公司 | 用于提供simd sm4加密块密码功能性的指令和逻辑 |
CN108123792A (zh) * | 2017-12-19 | 2018-06-05 | 武汉瑞纳捷电子技术有限公司 | 一种sm4算法电路的功耗加扰方法 |
CN109150497A (zh) * | 2018-07-26 | 2019-01-04 | 南京航空航天大学 | 一种高性能小面积的xts-sm4加密电路 |
CN109299614A (zh) * | 2018-10-30 | 2019-02-01 | 天津津航计算技术研究所 | 一种采用流水线方式实现sm4密码算法的系统及方法 |
CN109446829A (zh) * | 2018-11-09 | 2019-03-08 | 青岛方寸微电子科技有限公司 | 实现数据高速加密的加解密ip核和数据高速加解密方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361106B2 (en) * | 2013-12-27 | 2016-06-07 | Intel Corporation | SMS4 acceleration processors, methods, systems, and instructions |
US9996708B2 (en) * | 2015-06-26 | 2018-06-12 | Intel Corporation | SMS4 acceleration processors having encryption and decryption mapped on a same hardware |
-
2019
- 2019-03-15 CN CN201910196233.6A patent/CN110034918B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密系统 |
CN102624520A (zh) * | 2012-05-02 | 2012-08-01 | 西安电子科技大学 | 基于aes的192比特位密钥扩展系统及方法 |
CN103812641A (zh) * | 2012-11-07 | 2014-05-21 | 中国科学院微电子研究所 | 一种实现sm4分组对称密码算法的系统 |
CN105306195A (zh) * | 2014-07-22 | 2016-02-03 | 英特尔公司 | Sm4加速处理器、方法、系统和指令 |
US9513913B2 (en) * | 2014-07-22 | 2016-12-06 | Intel Corporation | SM4 acceleration processors, methods, systems, and instructions |
CN106575215A (zh) * | 2014-09-04 | 2017-04-19 | 英特尔公司 | Sm3哈希算法加速处理器、方法、系统和指令 |
CN107209661A (zh) * | 2014-09-26 | 2017-09-26 | 英特尔公司 | 用于提供simd sm4加密块密码功能性的指令和逻辑 |
CN106796641A (zh) * | 2014-10-02 | 2017-05-31 | 微软技术许可有限责任公司 | 针对运行已验证软件的硬件的端到端安全性 |
CN106788974A (zh) * | 2016-12-22 | 2017-05-31 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
CN108123792A (zh) * | 2017-12-19 | 2018-06-05 | 武汉瑞纳捷电子技术有限公司 | 一种sm4算法电路的功耗加扰方法 |
CN109150497A (zh) * | 2018-07-26 | 2019-01-04 | 南京航空航天大学 | 一种高性能小面积的xts-sm4加密电路 |
CN109299614A (zh) * | 2018-10-30 | 2019-02-01 | 天津津航计算技术研究所 | 一种采用流水线方式实现sm4密码算法的系统及方法 |
CN109446829A (zh) * | 2018-11-09 | 2019-03-08 | 青岛方寸微电子科技有限公司 | 实现数据高速加密的加解密ip核和数据高速加解密方法 |
Non-Patent Citations (2)
Title |
---|
Adapting the reconfigurable spacecube processing system for multiple mission applications;David Petrick ect.;《2014 IEEE Aerospace Conference》;全文 * |
SM4的快速软件实现技术;郎欢;张蕾;吴文玲;;中国科学院大学学报(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110034918A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10263769B2 (en) | Flexible architecture and instruction for advanced encryption standard (AES) | |
EP2356771B1 (en) | Low latency block cipher | |
US9503256B2 (en) | SMS4 acceleration hardware | |
US8301905B2 (en) | System and method for encrypting data | |
AU2017341251B2 (en) | Cipher message with authentication instruction | |
CN107133018B (zh) | 执行groestl散列的指令 | |
EP3839788A1 (en) | Bit-length parameterizable cipher | |
US8605894B2 (en) | Cryptographic process execution protecting an input value against attacks | |
US20070237324A1 (en) | Cryptographic processing | |
Gueron | Advanced encryption standard (AES) instructions set | |
US10536264B2 (en) | Efficient cryptographically secure control flow integrity protection | |
TW201812637A (zh) | 低成本之密碼加速器 | |
EP3272060B1 (en) | Datastream block encryption | |
CN110034918B (zh) | 一种sm4加速方法和装置 | |
CN110659505A (zh) | 用于对机密数据和附加认证数据进行加密或解密的加速器 | |
US9571269B2 (en) | Encryption device, encryption method and program | |
JPWO2009090689A1 (ja) | 暗号化装置及び暗号処理方法 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
WO2022125337A1 (en) | High-speed circuit combining aes and sm4 encryption and decryption | |
CN110224829B (zh) | 基于矩阵的后量子加密方法及装置 | |
US11101824B2 (en) | Encryption device and decryption device, and operation method thereof | |
JP2011081594A (ja) | データ処理装置及びデータ処理プログラム | |
KR100788902B1 (ko) | 믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법 | |
Anderson | Random Access Counter (RAC) |
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 |