CN107579811A - 一种基于sm3密码杂凑算法的硬件优化方法 - Google Patents

一种基于sm3密码杂凑算法的硬件优化方法 Download PDF

Info

Publication number
CN107579811A
CN107579811A CN201710628762.XA CN201710628762A CN107579811A CN 107579811 A CN107579811 A CN 107579811A CN 201710628762 A CN201710628762 A CN 201710628762A CN 107579811 A CN107579811 A CN 107579811A
Authority
CN
China
Prior art keywords
message
cryptographic hash
word
bits
method based
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
CN201710628762.XA
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.)
Guangzhou Xinghai Integrated Circuit Base Co Ltd
Original Assignee
Guangzhou Xinghai Integrated Circuit Base 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 Guangzhou Xinghai Integrated Circuit Base Co Ltd filed Critical Guangzhou Xinghai Integrated Circuit Base Co Ltd
Priority to CN201710628762.XA priority Critical patent/CN107579811A/zh
Publication of CN107579811A publication Critical patent/CN107579811A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于SM3密码杂凑算法的硬件优化方法,包括以下步骤:接收消息长度为l比特的消息m,对m进行填充,得到消息m′;从m′的最高比特位开始,按照512比特长度进行分组,m′=B(0),B(1),···,B(n‑1);把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15,1个动态消息扩展字Wj′和1个中间变量字WWj;将分组消息放入压缩函数进行运算得到变量Aj‑Hj与V的i次迭代值Vi;运算得到变量Aj‑Hj与V的i次迭代值Vi进行异或运算得到V(i+1);输出杂凑值V(N)。本发明不仅有效地提高了SM3密码杂凑算法的运算效率,而且较高的节约了SM3密码算法的软硬件实现成本,没有增加算法的计算量,而且保证了算法的计算效率。

Description

一种基于SM3密码杂凑算法的硬件优化方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM3密码杂凑算法的硬件优化方法。
背景技术
随着以因特网为代表的全球信息化浪潮日益高涨,物联网的应用正日益向日常生活普及和深入,应用领域从传统业务、小型业务系统逐步向大型业务、关键业务系统扩展,典型业务系统有企业商务系统、政府部门业务系统、金融业务系统等。随着物联网应用的逐步普及和深入,信息安全成为影响网络效能的重要问题,而由于网络自身所具有的开放性和自由性等特点,对信息安全提出了更高的要求。一旦网络中传输的用户信息被恶意窃取、篡改,对用户和企业都将造成不可估量的损失。无论是那些庞大服务提供商的网络,还是一个企业的某一个业务部门的局域网络,物联网安全的实施都迫在眉睫。如何使用物联网信息安全系统不受黑客及非法授权人的入侵,已成为社会信息化健康发展所要考虑的重要问题之一。
信息安全技术领域发展越来越迅速,密码学理论与技术已经成为了信息科学与技术的极其重要的研究领域,密码学的应用不仅在军事、政治和外交等领域,其社会价值和商业价值已经得到了充分的肯定。密码学的发展促使人们在使用密码算法的同时尽可能的需要考虑密码算法的运算效率、运算规模等实际问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于SM3密码杂凑算法的硬件优化方法,以解决现有技术的不足。
为实现上述目的,本发明提供了一种基于SM3密码杂凑算法的硬件优化方法,其特征在于,包括以下步骤:
步骤一、接收消息长度为l比特的消息m,对m进行填充,得到消息m′;
步骤二、从m′的最高比特位开始,按照512比特长度进行分组,
m′=B(0),B(1),···,B(n-1)
步骤三、把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15,1个动态消息扩展字W′j和1个中间变量字WWj
步骤四、计算中间变量X、Y、Z的初始值X0、Y0、Z0,将分组消息放入压缩函数进行运算得到变量Aj-Hj与V的i次迭代值Vi
步骤五、运算得到变量Aj-Hj与V的i次迭代值Vi进行异或运算得到V(i+1)
步骤六、输出杂凑值V(N)
上述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述消息长度为l小于2的64次方。
上述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤四的中间变量X、Y、Z长度为32比特。
上述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述动态消息扩展字W′j和中间变量字WWj长度均为32比特。
上述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤三把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15后,还确定32比特长度的各变量字A-1、B-1、C-1、D-1、E-1、F-1、G-1、H-1的初始值。
上述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤一的消息m′长度为N倍512比特。
本发明的有益效果是:
本发明通过设置3个32比特长度的中间变量X、Y、Z和2个32比特长度的消息扩展字Wj和WWj。使得关键路径中变量字计算A和E的一次迭代值的5次加法运算变为3次,减少了变量字的迭代过程中关键路径的串行加法运算的数量,使关键路径中串行加法运算的数量减少了40%。并且由现有技术中的SM3密码杂凑算法使用的32位寄存器存储单元从140个缩减至34个,只占了原有存储单元数量的24.3%。此次优化合理的解决了两种对立的优化冲突,不仅有效地提高了SM3密码杂凑算法的运算效率,而且较高的节约了SM3密码算法的软硬件实现成本。本次优化没有增加算法的计算量,而且保证了算法的计算效率。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术的SM3密码杂凑算法技术流程图。
图2是现有技术的SM3密码杂凑算法迭代压缩模块压缩函数运算电路图。
图3是本发明的SM3密码杂凑算法技术改进流程图。
图4是本发明的SM3密码杂凑算法改进电路图。
图5是本发明的SM3密码杂凑算法技术改进具体流程图。
具体实施方式
如图1所示,一种基于SM3密码杂凑算法的硬件优化方法,其特征在于,包括以下步骤:
步骤一、接收消息长度为l比特的消息m,对m进行填充,得到消息m′;
步骤二、从m′的最高比特位开始,按照512比特长度进行分组,
m′=B(0),B(1),···,B(n-1)
步骤三、把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15,1个动态消息扩展字W′j和1个中间变量字WWj
步骤四、计算中间变量X、Y、Z的初始值X0、Y0、Z0,将分组消息放入压缩函数进行运算得到变量Aj-Hj与V的i次迭代值Vi
步骤五、运算得到变量Aj-Hj与V的i次迭代值Vi进行异或运算得到V(i+1)
步骤六、输出杂凑值V(N)
本实施例中,所述消息长度为l小于2的64次方。
本实施例中,所述步骤四的中间变量X、Y、Z长度为32比特。
本实施例中,所述动态消息扩展字W′j和中间变量字WWj长度均为32比特。
本实施例中,所述步骤三把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15后,还确定32比特长度的各变量字A-1、B-1、C-1、D-1、E-1、F-1、G-1、H-1的初始值。
本实施例中,所述步骤一的消息m′长度为N倍512比特。
对比图1-4可见,在本发明的优化过程中,将原有的140个变量字,包括有132个32比特长度的消息扩展字W0,W1,···,W67,W′0,W′1,···,W′63,8个32比特长度的变量字A、B、C、D、E、F、G、H,8个32比特长度的中间变量字SS1、SS2、TT1、TT2、P0、P1、FF、GG,缩减为34个存储单元,包括17个32比特长度的消息扩展字存储单元W0,W1,···,W15,W′j,9个32比特长度中间变量存储单元SS1、SS2、TT1、TT2、P0、P1、FF、GG、WWj,8个32比特长度的变量字存储单元A、B、C、D、E、F、G、H,在运算规模上寄存器存储单元的个数只占现有寄存器存储单元个数的24.3%极大的缩减了寄存器存数单元的个数,缩小了SM3密码杂凑算法的运算规模,提高了算法的运算效率。并且通过引入少量的中间变量X、Y、Z,对串行加法的并行化运算,在计算A和E的过程中的一次迭代值的5次加法运算变为3次,减少了变量字的迭代过程中关键路径的串行加法运算的数量,使关键路径中串行加法运算的数量减少了40%极大的提升了算法的运算速度。
本发明的的一具体实施例如图5所示,包括以下步骤:
1:设置迭代次数i=0;设置压缩函数V的第0次迭代值V(0)
V(0)为用16进制表示的7380166f,4914b2b9,172442d7,da8a0600,a96f30bc,163138aa,e38dee4d,bOfb0e4e;
2:根据消息分组B(i)确定16个32比特长度的消息扩展字W0-W15;确定32比特长度的各变量字A-1、B-1、C-1、D-1、E-1、F-1、G-1、H-1的初始值;
在该步骤中,消息分组B(i)先存放在16个字的循环队列W0-W15中;
3:设置迭代次数j=0;
4:确定32比特长度的常量Tj;按照迭代公式,确定中间变量字SS1、SS2、TT1、TT2、X、Y、Z、消息扩展字W′0和各变量字A、B、C、D、E、F、G、H的第j次迭代值SS1j、SS2j、TT1j、TT2j、Xj、Yj、Zj、W′0、Aj、Bj、Cj、Dj、Ej、Fj、Gj、Hj
以及消息扩展字Wj
其中,中间变量字X、Y、Z初始值:X-1=E-1+(T0<<<j)、Y-1=D-1+W′0、Z-1=H-1+W0
所述公式包括:
SS1j←((Aj-1<<<12)+Xj-1)<<<7
TT1j←FFj(Aj-1,Bj-1,Cj-1)+SS2j+Yj-1
TT2j←GGj(Ej-1,Fj-1,Gj-1)+SS1j+Zj-1
Dj←Cj-1
Cj←Bj-1<<<9
Bj←Aj-1
Aj←TT1j
Hj←Gj-1
Gj←Fj-1<<<19
Fj←Ej-1
Ej←P0(TT2j)
Xj←Ej-1+(Tj+1<<<(j+1))
Yj←Cj-1+W′j+1
Zj←Gj-1+Wj+1
FFj(Aj-1,Bj-1,Cj-1)和GGj(Ej-1,Fj-1,Gj-1)均为布尔函数,其函数表达式分别为:
和P0(TT2j)为置换函数,所述置换函数的函数表达式为:
其中,<<<12、<<<j、<<<7、<<<15、<<<9、<<<19分别为循环左移12、j、7、15、9、19比特运算,为32比特异或运算,∧为32比特与运算,∨为32比特或运算,为32比特非运算;
5:判断j是否等于63,如果j等于63,执行步骤6,如果j小于63,j的值增加1,执行步骤4;
6:j的值增加1,执行步骤4;
7:将Aj、Bj、Cj、Dj、Ej、Fj、Gj、Hj的先后顺序作为比特位由高到低的排列顺序组合得到的256比特长度的变量AjBjCjDjEjFjGjHj与V的第i次迭代值进行异或运算,得到V的第i+1次迭代值V(i+1)
8:判断i是否等于N-1,如果i等于N-1,输出V(N),如果i小于N-1,i的值加1,执行步骤2;
其中,N为消息分组的数量;
9:i的值加1,执行步骤2;
10:输出V(N)
综上所述,本发明通过设置3个32比特长度的中间变量X、Y、Z和2个32比特长度的消息扩展字Wj和WWj。使得关键路径中变量字计算A和E的一次迭代值的5次加法运算变为3次,减少了变量字的迭代过程中关键路径的串行加法运算的数量,使关键路径中串行加法运算的数量减少了40%。并且由现有技术中的SM3密码杂凑算法使用的32位寄存器存储单元从140个缩减至34个,只占了原有存储单元数量的24.3%。此次优化合理的解决了两种对立的优化冲突,不仅有效地提高了SM3密码杂凑算法的运算效率,而且较高的节约了SM3密码算法的软硬件实现成本。本次优化没有增加算法的计算量,而且保证了算法的计算效率。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (6)

1.一种基于SM3密码杂凑算法的硬件优化方法,其特征在于,包括以下步骤:
步骤一、接收消息长度为l比特的消息m,对m进行填充,得到消息m′;
步骤二、从m′的最高比特位开始,按照512比特长度进行分组,m′=B(0),B(1),…,B(n-1)
步骤三、把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,…,W15,1个动态消息扩展字W′j和1个中间变量字WWj
步骤四、计算中间变量X、Y、Z的初始值X0、Y0、Z0,将分组消息放入压缩函数进行运算得到变量Aj-Hj与V的i次迭代值Vi
步骤五、运算得到变量Aj-Hj与V的i次迭代值Vi进行异或运算得到V(i+1)
步骤六、输出杂凑值V(N)
2.如权利要求1所述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述消息长度为l小于2的64次方。
3.如权利要求1所述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤四的中间变量X、Y、Z长度为32比特。
4.如权利要求1所述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述动态消息扩展字W′j和中间变量字WWj长度均为32比特。
5.如权利要求1所述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤三把已经分组的消息B(i)按照扩展方法进行扩展,生成16个32比特的扩展字W0,W1,···,W15后,还确定32比特长度的各变量字A-1、B-1、C-1、D-1、E-1、F-1、G-1、H-1的初始值。
6.如权利要求1所述的一种基于SM3密码杂凑算法的硬件优化方法,其特征在于:所述步骤一的消息m′长度为N倍512比特。
CN201710628762.XA 2017-07-28 2017-07-28 一种基于sm3密码杂凑算法的硬件优化方法 Pending CN107579811A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710628762.XA CN107579811A (zh) 2017-07-28 2017-07-28 一种基于sm3密码杂凑算法的硬件优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710628762.XA CN107579811A (zh) 2017-07-28 2017-07-28 一种基于sm3密码杂凑算法的硬件优化方法

Publications (1)

Publication Number Publication Date
CN107579811A true CN107579811A (zh) 2018-01-12

Family

ID=61035861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710628762.XA Pending CN107579811A (zh) 2017-07-28 2017-07-28 一种基于sm3密码杂凑算法的硬件优化方法

Country Status (1)

Country Link
CN (1) CN107579811A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427575A (zh) * 2018-02-01 2018-08-21 深圳市安信智控科技有限公司 全流水结构sha-2消息扩展优化方法
CN110138542A (zh) * 2019-03-25 2019-08-16 电子科技大学 一种sm3密码杂凑算法中消息填充的硬件实现方法
CN110489370A (zh) * 2019-07-15 2019-11-22 广东工业大学 一种哈希算法sha256消息预处理的硬件填充方法
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN112202546A (zh) * 2020-09-29 2021-01-08 山东华翼微电子技术股份有限公司 Sm3密码杂凑算法消息扩展串行优化系统与方法
CN112217646A (zh) * 2020-10-13 2021-01-12 天津津航计算技术研究所 用于实现sm3密码杂凑算法的装置及方法
CN113300831A (zh) * 2021-07-26 2021-08-24 苏州浪潮智能科技有限公司 一种安全散列算法的实现方法、系统、介质及设备
CN114513311A (zh) * 2022-02-25 2022-05-17 上海芯钛信息科技有限公司 一种改进消息认证码算法的方法、装置、设备和介质
CN116318660A (zh) * 2023-01-12 2023-06-23 成都海泰方圆科技有限公司 一种消息扩展与压缩方法及相关装置
CN116846543A (zh) * 2023-07-26 2023-10-03 百信信息技术有限公司 一种sm3密码杂凑算法的数据处理方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761414A (zh) * 2011-04-26 2012-10-31 航天信息股份有限公司 一种sm3密码杂凑算法及确定其中的变量字的方法
EP2787682A1 (en) * 2011-11-30 2014-10-08 China Iwncomm Co., Ltd. Key negotiation method and apparatus according to sm2 key exchange protocol
CN106603222A (zh) * 2016-09-27 2017-04-26 江冠成 一种用于实现sm3杂凑算法的系统及sm3杂凑算法实现方法
CN106850189A (zh) * 2017-02-10 2017-06-13 广东工业大学 一种减少sm3密码杂凑算法中运算量的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761414A (zh) * 2011-04-26 2012-10-31 航天信息股份有限公司 一种sm3密码杂凑算法及确定其中的变量字的方法
EP2787682A1 (en) * 2011-11-30 2014-10-08 China Iwncomm Co., Ltd. Key negotiation method and apparatus according to sm2 key exchange protocol
CN106603222A (zh) * 2016-09-27 2017-04-26 江冠成 一种用于实现sm3杂凑算法的系统及sm3杂凑算法实现方法
CN106850189A (zh) * 2017-02-10 2017-06-13 广东工业大学 一种减少sm3密码杂凑算法中运算量的方法及装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427575A (zh) * 2018-02-01 2018-08-21 深圳市安信智控科技有限公司 全流水结构sha-2消息扩展优化方法
CN108427575B (zh) * 2018-02-01 2022-03-15 深圳市安信智控科技有限公司 全流水结构sha-2消息扩展优化方法
CN110138542A (zh) * 2019-03-25 2019-08-16 电子科技大学 一种sm3密码杂凑算法中消息填充的硬件实现方法
CN110489370B (zh) * 2019-07-15 2023-05-23 广东工业大学 一种哈希算法sha256消息预处理的硬件填充方法
CN110489370A (zh) * 2019-07-15 2019-11-22 广东工业大学 一种哈希算法sha256消息预处理的硬件填充方法
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN110610105B (zh) * 2019-09-25 2020-07-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN112202546A (zh) * 2020-09-29 2021-01-08 山东华翼微电子技术股份有限公司 Sm3密码杂凑算法消息扩展串行优化系统与方法
CN112202546B (zh) * 2020-09-29 2023-06-23 山东华翼微电子技术股份有限公司 Sm3密码杂凑算法消息扩展串行优化系统与方法
CN112217646A (zh) * 2020-10-13 2021-01-12 天津津航计算技术研究所 用于实现sm3密码杂凑算法的装置及方法
CN113300831B (zh) * 2021-07-26 2021-10-29 苏州浪潮智能科技有限公司 一种安全散列算法的实现方法、系统、介质及设备
CN113300831A (zh) * 2021-07-26 2021-08-24 苏州浪潮智能科技有限公司 一种安全散列算法的实现方法、系统、介质及设备
CN114513311A (zh) * 2022-02-25 2022-05-17 上海芯钛信息科技有限公司 一种改进消息认证码算法的方法、装置、设备和介质
CN116318660A (zh) * 2023-01-12 2023-06-23 成都海泰方圆科技有限公司 一种消息扩展与压缩方法及相关装置
CN116318660B (zh) * 2023-01-12 2023-12-08 成都海泰方圆科技有限公司 一种消息扩展与压缩方法及相关装置
CN116846543A (zh) * 2023-07-26 2023-10-03 百信信息技术有限公司 一种sm3密码杂凑算法的数据处理方法及相关设备

Similar Documents

Publication Publication Date Title
CN107579811A (zh) 一种基于sm3密码杂凑算法的硬件优化方法
Hao et al. Efficient and privacy-enhanced federated learning for industrial artificial intelligence
Li et al. Privacy-preserving machine learning with multiple data providers
Gu et al. Federated doubly stochastic kernel learning for vertically partitioned data
Chenaghlu et al. A novel keyed parallel hashing scheme based on a new chaotic system
Li et al. Efficient and privacy-aware data aggregation in mobile sensing
Li et al. Cryptographic and parallel hash function based on cross coupled map lattices suitable for multimedia communication security
Xiao et al. Parallel keyed hash function construction based on chaotic neural network
CN111008406B (zh) 基于隐私数据的一致性检测进行业务处理的方法及装置
Cui et al. A data masking scheme for sensitive big data based on format-preserving encryption
Peng et al. Bflp: An adaptive federated learning framework for internet of vehicles
Luo et al. SVFL: Efficient secure aggregation and verification for cross-silo federated learning
Kohad et al. Scalability issues of blockchain technology
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
Liu et al. A distributed attack-resistant trust model for automatic modulation classification
CN102546293B (zh) 基于哈希比特串复用的高速网络流量网络地址测量方法
Yuan et al. Post quantum blockchain architecture for internet of things over NTRU lattice
Fan et al. Effects of limited computational precision on the discrete chaotic sequences and the design of related solutions
Liu et al. ESA-FedGNN: Efficient secure aggregation for federated graph neural networks
Liu et al. Constructing keyed hash algorithm using enhanced chaotic map with varying parameter
Zhao et al. A novel efficient S-box design algorithm based on a new chaotic map and permutation
Chou et al. Performance study of online batch-based digital signature schemes
Lu et al. Verifiable conjunctive dynamic searchable symmetric encryption with forward and backward privacy
Miao et al. Robust asynchronous federated learning with time-weighted and stale model aggregation
Zhang et al. A New Model for Capturing the Spread of Computer Viruses on Complex‐Networks

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180112