CN113630236A - 一种sm3的数据加密方法及相关装置 - Google Patents

一种sm3的数据加密方法及相关装置 Download PDF

Info

Publication number
CN113630236A
CN113630236A CN202110825204.9A CN202110825204A CN113630236A CN 113630236 A CN113630236 A CN 113630236A CN 202110825204 A CN202110825204 A CN 202110825204A CN 113630236 A CN113630236 A CN 113630236A
Authority
CN
China
Prior art keywords
data
ahead adder
carry
adder
calculation
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
Application number
CN202110825204.9A
Other languages
English (en)
Inventor
孙旭
周玉龙
宋琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202110825204.9A priority Critical patent/CN113630236A/zh
Publication of CN113630236A publication Critical patent/CN113630236A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种SM3的数据加密方法,包括:将接收到的明文数据进行填充分组处理,得到多组数据;根据所述多组数据进行分组扩展处理,得到消息字;采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。通过采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,也就是在迭代压缩计算的过程中采用超前进位加法器进行计算,避免了异或移位操作中加法器存在的进位延时,提高加法器的操作效率,降低延时,提高SM3算法加密的适用性。本申请还公开了一种SM3的加密数据装置、计算设备以及计算机可读存储介质,具有以上有益效果。

Description

一种SM3的数据加密方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种SM3的数据加密方法、加密数据装置、计算设备以及计算机可读存储介质。
背景技术
SM3算法作为密码杂凑算法,输出消息摘要值长度为256bit,消息分组长度512bit,迭代压缩次数64次。在算法的硬件实现中,数据一般需要经过消息分组和填充、扩展生成消息字和64轮函数迭代压缩等过程,其中函数迭代压缩过程计算复杂,资源消耗最多,耗时也最多,需要进行相应的优化。
相关技术中,基于流水线的SM3算法,在进行64轮的函数迭代压缩时使用流水线方式,即将SM3算法中的迭代压缩进行循环展开,将每一轮计算的输出作为下一轮的输入,继续计算,直到当前哈希值无剩下的内容需要继续计算,输出计算的最终哈希值。但是,在硬件实现时会额外消耗大量的电路资源,无法很好的应用于小面积的芯片,降低适用性。
因此,如何提高SM3算法的电路资源利用率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种SM3的数据加密方法、加密数据装置、计算设备以及计算机可读存储介质,提高电路资源的利用率和计算的效率。
为解决上述技术问题,本申请提供一种SM3的数据加密方法,包括:
将接收到的明文数据进行填充分组处理,得到多组数据;
根据所述多组数据进行分组扩展处理,得到消息字;
采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。
可选的,采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据,包括:
采用在关键路径设置的超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据;其中,所述超前进位加法器为在所述迭代压缩计算的关键路径设置的加法器,所述关键路径为所述迭代压缩计算中运算量最大的计算路径。
可选的,所述超前进位加法器为32bit超前进位加法器;
相应的,所述关键路径为根据所述32bit超前进位加法器设置的两组并行计算的计算路径。
可选的,所述32bit超前进位加法器包括11组级联的3bit超前进位加法器。
可选的,所述3bit超前进位加法器包括第一超前进位加法器、第二超前进位加法器以及第三超前进位加法器;
其中,所述第一超前进位加法器至所述第三超前进位加法器依次输出所述3bit超前进位加法器的输出值的三个bit位的值。
本申请还提供一种SM3的数据加密装置,包括:
填充分组模块,用于将接收到的明文数据进行填充分组处理,得到多组数据;
分组扩展模块,用于根据所述多组数据进行分组扩展处理,得到消息字;
迭代压缩计算模块,用于采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。
可选的,所述迭代压缩计算模块,具体用于采用在关键路径设置的超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据;其中,所述超前进位加法器为在所述迭代压缩计算的关键路径设置的加法器,所述关键路径为所述迭代压缩计算中运算量最大的计算路径。
可选的,所述超前进位加法器为32bit超前进位加法器;
相应的,所述关键路径为根据所述32bit超前进位加法器设置的两组并行计算的计算路径。
本申请还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的加密数据方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的加密数据方法的步骤。
本申请所提供的一种SM3的数据加密方法,包括:将接收到的明文数据进行填充分组处理,得到多组数据;根据所述多组数据进行分组扩展处理,得到消息字;采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。
通过采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,也就是在迭代压缩计算的过程中采用超前进位加法器进行计算,避免了异或移位操作中加法器存在的进位延时,提高加法器的操作效率,降低延时,提高SM3算法加密的适用性。
本申请还提供一种SM3的加密数据装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种SM3的数据加密方法的结构示意图;
图2为本申请实施例所提供的一种SM3算法压缩函数的示意图;
图3为本申请实施例所提供的一种A’寄存器计算过程的示意图;
图4为本申请实施例所提供的3bit-LCA的结构示意图(一);
图5为本申请实施例所提供的3bit-LCA的结构示意图(二);
图6为本申请实施例所提供的3bit-LCA的结构示意图(三);
图7为本申请实施例所提供的一种SM3的数据加密装置的结构示意图。
具体实施方式
本申请的核心是提供一种SM3的数据加密方法、加密数据装置、计算设备以及计算机可读存储介质,提高电路资源的利用率和计算的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,基于流水线的SM3算法,在进行64轮的函数迭代压缩时使用流水线方式,即将SM3算法中的迭代压缩进行循环展开,将每一轮计算的输出作为下一轮的输入,继续计算,直到当前哈希值无剩下的内容需要继续计算,输出计算的最终哈希值。但是,在硬件实现时会额外消耗大量的电路资源,无法很好的应用于小面积的芯片,降低适用性。
因此,本申请提供一种SM3的数据加密方法,通过采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,也就是在迭代压缩计算的过程中采用超前进位加法器进行计算,避免了异或移位操作中加法器存在的进位延时,提高加法器的操作效率,降低延时,提高SM3算法加密的适用性。
以下通过一个实施例,对本申请提供的一种SM3的数据加密方法进行说明。
请参考图1,图1为本申请实施例所提供的一种SM3的数据加密方法的结构示意图。
本实施例中,该方法可以包括:
S101,将接收到的明文数据进行填充分组处理,得到多组数据;
本步骤旨在将接收到的明文数据进行填充分组处理,得到多组数据。
其中,明文数据就是需要通过SM3算法进行数据加密的数据。
将输入的明文数据按照规则填充,并分成512bit一组的模块,是SM3杂凑算法的基础组成部分。在接收到端口的有效数据后,首先将其同时缓存到7个相同的32bit位宽,深度为64的双口RAM(Random Access Memory,随机存取存储器)中,记为RAM_A,RAM_B,RAM_C,RAM_D,RAM_E,RAM_F,RAM_G。当接收完一组512bit的数据时,仍然没有收到Data_in_last信号,说明此数据组个数多于512bit,不需要做填充处理;当没有接收完一组512bit数据即存在Data_in_last时,此时需要做填充处理,首先将比特“1”添加到消息的末尾,再添加“0”直到达到512bit。
S102,根据多组数据进行分组扩展处理,得到消息字;
在S101的基础上,本步骤旨在根据多组数据进行分组扩展处理,得到消息字;
可见,本步骤主要是产生算法计算过程中需要的消息字Wj和Wj’,并将压缩函数需要的消息字送入到指定位置,该部分是SM3算法硬件结构中的重要模块。由于在后续迭代计算中需要使用消息字参与计算,为降低迭代压缩的操作时间,需要提前生成消息字,在设定节拍送入迭代压缩模块。在消息填充分组中,512bit数据已经按照32bit位宽写入了16组数据,记为W0-W15。分组扩展模块就是通过计算产生其他的116组数据。
首先计算Wj,计算公式可以如下:
Figure BDA0003173329320000051
通过RAM将各组数据同时读出,具体的通过RAM_A将Wj-16读出,RAM_B将Wj-9读出,RAM_C将Wj-3读出,RAM_D将Wj-13读出,RAM_E将Wj-6读出。读出后的数据根据算法的计算公式进行相应的循环移位和异或操作,进而计算Wj并将其写入7组RAM中。
计算Wj’,计算公式可以如下:
Figure BDA0003173329320000052
通过RAM_F将Wj读出,RAM_G将Wj+4读出,按照公式进行按位异或操作,并将计算结果写回RAM_G。
S103,采用超前进位加法器对多组数据和消息字进行迭代压缩计算,得到加密数据。
在S102的基础上,本步骤旨在采用超前进位加法器对多组数据和消息字进行迭代压缩计算,得到加密数据。可见,本步骤中就是对分组得到的多组数据和消息字进行迭代压缩计算,最终得到的加密数据。
其中,在迭代压缩计算的过程中存在较多的加法器相关的运算,但是加法器中的存在一定的进位延时,会导致进行运算时出现延时,降低数据加密的效率。因此,本步骤中采用超前进位加法器替换迭代压缩计算中原有的加法器,避免出现加法器的进位延时,降低加法器计算的整体延时,提高计算效率。
其中,超前进位加法器是对普通的全加器进行改良而设计成的并行加法器,主要是针对普通全加器串联时互相进位产生的延迟进行了改良。也就是说,通过超前进位加法器在本实施例中实现了并行的加法操作。
进一步的,为了提高本步骤中进行迭代压缩计算的效率,降低延时。本步骤可以包括:
采用在关键路径设置的超前进位加法器对多组数据和消息字进行迭代压缩计算,得到加密数据;其中,超前进位加法器为在迭代压缩计算的关键路径设置的加法器,关键路径为迭代压缩计算中运算量最大的计算路径。
可见,通过本可选方案中主要是对迭代压缩计算中的关键路径中的加法器设置为超前进位加法器,然后进行计算。且其中的关键路径为迭代压缩算法中计算量最大的计算路径。
在迭代压缩计算的过程中,每个寄存器均对应了一条进行计算的计算路径。其中,第一个寄存器也就是A寄存器对应的计算路径最为复杂,相应的运算量也是最大的。
进一步的,上一可选的超前进位加法器为32bit超前进位加法器;
相应的,关键路径为根据32bit超前进位加法器设置的两组并行计算的计算路径。
可见,本可选方案中主要是说明采用的超前进位加法器为32bit超前进位加法器。可以知道的是,在迭代压缩计算的过程将每个加法器均替换为32bit超前进位加法器,或将关键路径中的加法器替换为32bit超前进位加法器,该关键路径中可以包括多个32bit超前进位加法器。
进一步的,上一可选方案中32bit超前进位加法器包括11组级联的3bit超前进位加法器。
可见,本可选方案中的32bit超前进位加法器由11组3bit超前进位加法器级联而成。
进一步的,上一可选方案中的3bit超前进位加法器包括第一超前进位加法器、第二超前进位加法器以及第三超前进位加法器;
其中,第一超前进位加法器至第三超前进位加法器依次输出3bit超前进位加法器的输出值的三个bit位的值。
可见,本可选方案中主要是说明3bit超前进位加法器包括第一超前进位加法器、第二超前进位加法器以及第三超前进位加法器。每个超前进位加法器以此输出对应的三个bit位的值。
综上,本实施例通过采用超前进位加法器对多组数据和消息字进行迭代压缩计算,也就是在迭代压缩计算的过程中采用超前进位加法器进行计算,避免了异或移位操作中加法器存在的进位延时,提高加法器的操作效率,降低延时,提高SM3算法加密的适用性。
以下通过一个具体的实施例,对本申请提供的一种SM3的数据加密方法做进一步说明。
本实施例中,SM3算法模块在硬件实现时可分为三个部分:消息填充分组、分组扩展、压缩函数。其中,该SM3算法模块的接口信号说明如表1。
表1 SM3算法模块接口信号
Figure BDA0003173329320000071
Figure BDA0003173329320000081
基于此,本实施例的方法可以包括:
步骤1,消息填充分组。
此模块是将输入的明文数据按照规则填充,并分成512bit一组的模块,是SM3杂凑算法的基础组成部分。在接收到端口的有效数据后,首先将其同时缓存到7个相同的32bit位宽,深度为64的双口RAM中,记为RAM_A,RAM_B,RAM_C,RAM_D,RAM_E,RAM_F,RAM_G。当接收完一组512bit的数据时,仍然没有收到Data_in_last信号,说明此数据组个数多于512bit,不需要做填充处理;当没有接收完一组512bit数据即存在Data_in_last时,此时需要做填充处理,首先将比特“1”添加到消息的末尾,再添加“0”直到达到512bit。
步骤2,分组扩展。
分组扩展用来产生算法计算过程中需要的消息字Wj和Wj’,并将轮函数需要的消息字送入到指定位置,该部分是SM3算法硬件结构中的重要模块。由于在后续迭代计算中需要使用消息字参与计算,为降低迭代压缩的操作时间,需要提前生成消息字,在设定节拍送入迭代压缩模块。在消息填充分组中,512bit数据已经按照32bit位宽写入了16组数据,记为W0-W15。分组扩展模块就是通过计算产生其他的116组数据。
首先计算Wj
Figure BDA0003173329320000082
首先通过RAM将各组数据同时读出,具体的通过RAM_A将Wj-16读出,RAM_B将Wj-9读出,RAM_C将Wj-3读出,RAM_D将Wj-13读出,RAM_E将Wj-6读出。读出后的数据根据算法的计算公式进行相应的循环移位和异或操作,进而计算Wj并将其写入7组RAM中。
计算Wj’:
首先通过RAM_F将Wj读出,RAM_G将Wj+4读出,按照公式进行按位异或操作,并将计算结果写回RAM_G。
Figure BDA0003173329320000083
步骤3,迭代压缩。
首先进行关键路径划分。
请参考图2,图2为本申请实施例所提供的一种SM3算法压缩函数的示意图。
从图2中可以看出,在单轮压缩函数实现中,寄存器A’的计算过程最复杂,涉及的运算量也最大,在硬件实现为关键路径,也就是提高算法性能的关键部分。
其计算公式为:
SS1=((A<<12)+E+(Tj<<j))<<7;
Figure BDA0003173329320000091
TT1=FFj(A;B;C)+D+SS2+Wj’;
A’=TT1。
相比于异或移位操作,加法器中存在进位延时,因此制约路径延时的关键点是加法器,函数中的加法器。
然后,采用超前进位加法器进行A’寄存器计算。
请参考图3,图3为本申请实施例所提供的一种A’寄存器计算过程的示意图。
可见,在计算寄存器A’时使用两输入32bit-LCA(Lookahead Carry Adder,超前进位加法器)进行计算。将多个表达式的加法运算优化拆解为多个两输入的加法运算。其中,可以按照LCA的运算位数,将多个表达式中的加法运算拆解为符合32bit位计算的加法运算。
其中,超前进位加法器的思想在于并行计算每一位的进位,在某种情况下,到达第i位的进位无需等待第i-1位进位。在常用的32比特RCA中,最长的进位链为c0->c1->c2->…->c32,也就是说,每一位全加器都有进位,这条路径也是最长的关键路径。
在SM3算法中,所有涉及的加法运算都是32bit的数据加运算,因此需要实现32bit-LCA,本实施例使用11组3bit-LCA级联的方式生成,使用这种方法可以降低设计难度,同时大量并行计算的方式可以优化时序,提高整体性能。
请参考图4,图4为本申请实施例所提供的3bit-LCA的结构示意图(一)。
请参考图5,图5为本申请实施例所提供的3bit-LCA的结构示意图(二)。
请参考图6,图6为本申请实施例所提供的3bit-LCA的结构示意图(三)。
本提案只有一种3bit LCA,3个图都是这个LCA的一部分
附图4表示的是3bit-LCA中输出值s的第0个bit位的值和进位c的第0个bit位的值,附图5表示的是3bit-LCA中输出值s的第1个bit位的值和进位c的第1个bit位的值,附图6表示的是3bit-LCA中输出值s的第2个bit位的值和进位c的第2个bit位的值。
其中:
Figure BDA0003173329320000101
G0=A0&B0,P1=A1&B1,P2=A2&B2。
由附图4-6可以看到,进位值c的每一个bit位只与最低进位c0有关,并不依赖于前一位的进位值,因此可以并行的将每一位进位值计算出,减小了关键路径的长度。同时,随着数据位数的增加,LCA的计算复杂度也明显的增加,逻辑层级也随之增加,电路扇入扇出增大,这对时序优化是不利的。因此,最终选择使用3bit-LCA,在算法性能方面可以取得较高性能。
可见,本实施例通过采用超前进位加法器对多组数据和消息字进行迭代压缩计算,也就是在迭代压缩计算的过程中采用超前进位加法器进行计算,避免了异或移位操作中加法器存在的进位延时,提高加法器的操作效率,降低延时,提高SM3算法加密的适用性。
下面对本申请实施例提供的SM3的数据加密装置进行介绍,下文描述的SM3的数据加密装置与上文描述的SM3的数据加密方法可相互对应参照。
请参考图7,图7为本申请实施例所提供的一种SM3的数据加密装置的结构示意图。
本实施例中,该装置可以包括:
填充分组模块100,用于将接收到的明文数据进行填充分组处理,得到多组数据;
分组扩展模块200,用于根据多组数据进行分组扩展处理,得到消息字;
迭代压缩计算模块300,用于采用超前进位加法器对多组数据和消息字进行迭代压缩计算,得到加密数据。
可选的,该迭代压缩计算模块,具体用于采用在关键路径设置的超前进位加法器对多组数据和消息字进行迭代压缩计算,得到加密数据;其中,超前进位加法器为在迭代压缩计算的关键路径设置的加法器,关键路径为迭代压缩计算中运算量最大的计算路径。
可选的,该超前进位加法器为32bit超前进位加法器;
相应的,关键路径为根据32bit超前进位加法器设置的两组并行计算的计算路径。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种SM3的数据加密方法、加密数据装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种SM3的数据加密方法,其特征在于,包括:
将接收到的明文数据进行填充分组处理,得到多组数据;
根据所述多组数据进行分组扩展处理,得到消息字;
采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。
2.根据权利要求1所述的加密数据方法,其特征在于,采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据,包括:
采用在关键路径设置的超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据;其中,所述超前进位加法器为在所述迭代压缩计算的关键路径设置的加法器,所述关键路径为所述迭代压缩计算中运算量最大的计算路径。
3.根据权利要求2所述的加密数据方法,其特征在于,所述超前进位加法器为32bit超前进位加法器;
相应的,所述关键路径为根据所述32bit超前进位加法器设置的两组并行计算的计算路径。
4.根据权利要求2所述的加密数据方法,其特征在于,所述32bit超前进位加法器包括11组级联的3bit超前进位加法器。
5.根据权利要求4所述的加密数据方法,其特征在于,所述3bit超前进位加法器包括第一超前进位加法器、第二超前进位加法器以及第三超前进位加法器;
其中,所述第一超前进位加法器至所述第三超前进位加法器依次输出所述3bit超前进位加法器的输出值的三个bit位的值。
6.一种SM3的数据加密装置,其特征在于,包括:
填充分组模块,用于将接收到的明文数据进行填充分组处理,得到多组数据;
分组扩展模块,用于根据所述多组数据进行分组扩展处理,得到消息字;
迭代压缩计算模块,用于采用超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据。
7.根据权利要求6所述的加密数据装置,其特征在于,所述迭代压缩计算模块,具体用于采用在关键路径设置的超前进位加法器对所述多组数据和所述消息字进行迭代压缩计算,得到加密数据;其中,所述超前进位加法器为在所述迭代压缩计算的关键路径设置的加法器,所述关键路径为所述迭代压缩计算中运算量最大的计算路径。
8.根据权利要求7所述的加密数据装置,其特征在于,所述超前进位加法器为32bit超前进位加法器;
相应的,所述关键路径为根据所述32bit超前进位加法器设置的两组并行计算的计算路径。
9.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的加密数据方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的加密数据方法的步骤。
CN202110825204.9A 2021-07-21 2021-07-21 一种sm3的数据加密方法及相关装置 Pending CN113630236A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110825204.9A CN113630236A (zh) 2021-07-21 2021-07-21 一种sm3的数据加密方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110825204.9A CN113630236A (zh) 2021-07-21 2021-07-21 一种sm3的数据加密方法及相关装置

Publications (1)

Publication Number Publication Date
CN113630236A true CN113630236A (zh) 2021-11-09

Family

ID=78380611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110825204.9A Pending CN113630236A (zh) 2021-07-21 2021-07-21 一种sm3的数据加密方法及相关装置

Country Status (1)

Country Link
CN (1) CN113630236A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664849A (zh) * 2022-12-13 2023-01-31 苏州浪潮智能科技有限公司 Bmc及其加密数据生成系统、方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274317A (ja) * 1993-03-22 1994-09-30 Mitsubishi Electric Corp 乗算回路及び除算回路
KR19980020042A (ko) * 1996-09-05 1998-06-25 구자홍 가상캐리를 이용한 고속가산기
CN106603222A (zh) * 2016-09-27 2017-04-26 江冠成 一种用于实现sm3杂凑算法的系统及sm3杂凑算法实现方法
CN110688094A (zh) * 2019-09-12 2020-01-14 无锡江南计算技术研究所 一种基于并行循环压缩的余数运算电路及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274317A (ja) * 1993-03-22 1994-09-30 Mitsubishi Electric Corp 乗算回路及び除算回路
KR19980020042A (ko) * 1996-09-05 1998-06-25 구자홍 가상캐리를 이용한 고속가산기
CN106603222A (zh) * 2016-09-27 2017-04-26 江冠成 一种用于实现sm3杂凑算法的系统及sm3杂凑算法实现方法
CN110688094A (zh) * 2019-09-12 2020-01-14 无锡江南计算技术研究所 一种基于并行循环压缩的余数运算电路及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
苗佳: "杂凑算法 SM3/SHA256/SHA3 的硬件设计与实现", 《中国优秀硕士论文全文库》, pages 2 - 3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664849A (zh) * 2022-12-13 2023-01-31 苏州浪潮智能科技有限公司 Bmc及其加密数据生成系统、方法、设备及存储介质
WO2024125187A1 (zh) * 2022-12-13 2024-06-20 苏州元脑智能科技有限公司 Bmc及其加密数据生成系统、方法、设备及存储介质

Similar Documents

Publication Publication Date Title
Xie et al. Special session: The recent advance in hardware implementation of post-quantum cryptography
CN115622684B (zh) 基于全同态加密的隐私计算异构加速方法及装置
CN108959168B (zh) 基于片上内存的sha512全流水电路及其实现方法
KR20070008012A (ko) 멱지수를 숨기는 dpa 대책의 고속 계산을 위한 암호화장치 및 방법
Koppermann et al. 18 seconds to key exchange: Limitations of supersingular isogeny Diffie-Hellman on embedded devices
CN115801244A (zh) 用于资源受限处理器的后量子密码算法实现方法及系统
Elkhatib et al. Accelerated RISC-V for post-quantum SIKE
CN113630236A (zh) 一种sm3的数据加密方法及相关装置
CN104572012A (zh) 一种基于aop的多项式基gf(2227)高速模乘法器
Noor et al. Resource shared galois field computation for energy efficient AES/CRC in IoT applications
US20240235810A1 (en) Cryptographic processor for fully homomorphic encryption (fhe) applications
CN112491543B (zh) 基于改进的蒙哥马利模幂电路的ic卡解密方法
CN115664849B (zh) Bmc及其加密数据生成系统、方法、设备及存储介质
Mazonka et al. Fast and compact interleaved modular multiplication based on carry save addition
WO2023000577A1 (zh) 一种数据压缩方法、装置及电子设备和存储介质
Rachh et al. Efficient implementations of S-box and inverse S-box for AES algorithm
Peng et al. FPGA implementation of AES encryption optimization algorithm
Seo et al. SIKE in 32-bit ARM processors based on redundant number system for NIST level-II
CN114826560A (zh) 一种轻量级分组密码cref实现方法及系统
JP2004078053A (ja) 暗号化装置
CN114510450A (zh) 加密算法的加速计算方法、装置和阵列单元算子系统
CN116155481A (zh) 一种sm3算法的数据加密实现方法和装置
Baik et al. A High-Throughput and Energy-Efficient SHA-256 Design using Approximate Arithmetic
CN112487448B (zh) 一种加密信息处理装置、方法及计算机设备
JP5179933B2 (ja) データ処理装置

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