CN112217646B - 用于实现sm3密码杂凑算法的装置及方法 - Google Patents

用于实现sm3密码杂凑算法的装置及方法 Download PDF

Info

Publication number
CN112217646B
CN112217646B CN202011092161.XA CN202011092161A CN112217646B CN 112217646 B CN112217646 B CN 112217646B CN 202011092161 A CN202011092161 A CN 202011092161A CN 112217646 B CN112217646 B CN 112217646B
Authority
CN
China
Prior art keywords
message
unit
round
compression operation
data
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
Application number
CN202011092161.XA
Other languages
English (en)
Other versions
CN112217646A (zh
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202011092161.XA priority Critical patent/CN112217646B/zh
Publication of CN112217646A publication Critical patent/CN112217646A/zh
Application granted granted Critical
Publication of CN112217646B publication Critical patent/CN112217646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于实现SM3密码杂凑算法的装置及方法,属于数字芯片设计技术领域。本发明的装置由消息读入单元、消息扩展单元、压缩运算单元、结果输出单元构成硬件结构;在不改变算法规范的前提下,通过并行消息扩展运算与压缩运算,使用65个时间周期完成一轮杂凑结果计算;通过复用消息存储空间,使用16个字的空间处理杂凑算法中132个字的扩展消息。本发明通过算法步骤优化与存储空间复用,提高了SM3密码杂凑算法的运算效率,节约了SM3密码杂凑算法的硬件成本。

Description

用于实现SM3密码杂凑算法的装置及方法
技术领域
本发明属于数字芯片设计技术领域,具体涉及一种用于实现SM3密码杂凑算法的装置及方法。
背景技术
随着信息技术的不断进步,互联网、大数据、物联网、智能生活等技术应用的普及与发展,使得信息安全的重要性日益提高,身份认证与数据保护成为整个信息安全技术的核心与基础。
国家密码管理局发布了具有自主知识产权的《SM3密码杂凑算法》等算法,实现了一套完整的安全加密与认证的算法体系,既统一规范了国内的相关领域,又保证了无国外可利用的算法后门。SM3密码杂凑算法既是身份认证算法的重要的组成部分,又可独立用于数据完整性验证,是信息安全技术中的一个重要安全算法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种基于SM3密码杂凑算法的硬件实现方式,相比原算法运算周期更短,使用资源更少。
(二)技术方案
为了解决上述技术问题,本发明提供了(三)有益效果
本发明的装置由消息读入单元、消息扩展单元、压缩运算单元、结果输出单元构成硬件结构;在不改变算法规范的前提下,通过并行消息扩展运算与压缩运算,使用65个时间周期完成一轮杂凑结果计算;通过复用消息存储空间,使用16个字的空间处理杂凑算法中132个字的扩展消息。本发明通过算法步骤优化与存储空间复用,提高了SM3密码杂凑算法的运算效率,节约了SM3密码杂凑算法的硬件成本。
附图说明
图1为本发明的硬件结构示意框图;
图2为本发明的运算结构示意框图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明提供的一种基于SM3密码杂凑算法的硬件实现方式,硬件组成包括消息读入单元、消息扩展单元、压缩运算单元与结果输出单元;
其中,所述消息读入单元连接外部消息存储地址与消息扩展单元,用于读入初始化参数并进行消息填充,同时将填充后的消息分组传输至消息扩展单元;
所述消息扩展单元连接消息读入单元与压缩运算单元,用于存储并计算扩展消息,同时将计算结果传输至压缩运算单元;
所述压缩运算单元连接消息扩展单元与结果输出单元,用于实现每轮扩展消息的压缩函数,待完成64轮计算后,将结果传输至结果输出单元;
所述结果输出单元连接压缩运算单元与外部数据存储地址,用于将每组512比特消息的计算结果传输至外部数据存储地址。
本发明的工作原理和工作流程是:
步骤1:消息读入单元根据原消息长度计算出填充消息,同时读入算法初始化参数与原消息,并在读入原消息的同时进行填充处理,当填充消息达到512比特时传输至消息扩展单元,将初始化参数传输至压缩运算单元;
步骤2:消息扩展单元使用W0—W15共16个字的空间存储512比特的填充消息,每轮运算后将结果传输至压缩运算单元并更新消息扩展单元的存储空间,经过64轮消息扩展、压缩运算完成一组消息的杂凑运算,具体运算过程如下:
第1轮:消息扩展单元使用W0—W13的数据计算出W16,使用W0与W4数据计算出W'0;同时将W0与W'0传输至压缩运算单元,压缩运算单元使用初始化参数与W0、W'0进行第1轮压缩运算,最后将W16存储至W0的空间;
第2轮:消息扩展单元使用W1—W14的数据计算出W17的数据,使用W1与W5的数据计算出W'1的数据;同时将W1与W'1传输至压缩运算单元,压缩运算单元使用上轮压缩结果与W1、W'1进行第2轮压缩运算,最后将W17的数据存储至W1的空间;
第3轮至第52轮,运算规律同第1轮与第2轮;
第53轮:消息扩展运算已完成,不再更新消息存储空间;消息扩展单元使用W52与W56的数据计算出W'52的数据;同时将W52与W'52的数据传输至压缩运算单元,压缩运算单元使用上轮压缩结果与W52、W'52的数据进行第53轮压缩运算;
第54轮至第64轮,运算规律同第53轮;
第65轮:将第64轮的压缩运算结果与初始化参数进行异或运算,该组数据的杂凑运算完成。
步骤3:结果输出单元将杂凑运算结果传输至外部数据存储地址。
步骤4:重复步骤1至步骤3直至填充消息全部处理完成。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (1)

1.一种利用用于实现SM3密码杂凑算法的装置实现SM3密码杂凑算法的方法,其特征在于,
该装置包括消息读入单元、消息扩展单元、压缩运算单元与结果输出单元;
其中,所述消息读入单元连接外部消息存储地址与消息扩展单元,用于读入初始化参数并进行消息填充,同时将填充后的消息分组传输至消息扩展单元;
所述消息扩展单元连接消息读入单元与压缩运算单元,用于存储并计算扩展消息,同时将计算结果传输至压缩运算单元;
所述压缩运算单元连接消息扩展单元与结果输出单元,用于实现每轮扩展消息的压缩函数,待完成64轮计算后,将结果传输至结果输出单元;
所述结果输出单元连接压缩运算单元与外部数据存储地址,用于将每组512比特消息的计算结果传输至外部数据存储地址;
该方法在不改变算法规范的前提下,通过并行消息扩展运算与压缩运算,使用65个时间周期完成一轮杂凑结果计算;通过复用消息存储空间,使用16个字的空间处理杂凑算法中132个字的扩展消息,具体包括以下步骤:
步骤1:消息读入单元根据原消息长度计算出填充消息,同时读入算法初始化参数与原消息,并在读入原消息的同时进行填充处理,当填充消息达到512比特时传输至消息扩展单元,将初始化参数传输至压缩运算单元;
步骤2:消息扩展单元使用W0—W15共16个字的空间存储512比特的填充消息,每轮运算后将结果传输至压缩运算单元并更新消息扩展单元的存储空间,经过64轮消息扩展、压缩运算完成一组消息的杂凑运算;
第65轮:将第64轮的压缩运算结果与初始化参数进行异或运算,该组数据的杂凑运算完成;
步骤3:结果输出单元将杂凑运算结果传输至外部数据存储地址;
步骤4:重复步骤1至步骤3直至填充消息全部处理完成;
步骤2中,经过64轮消息扩展、压缩运算完成一组消息的杂凑运算的具体运算过程如下:
第1轮:消息扩展单元使用W0—W13的数据计算出W16,使用W0与W4数据计算出W'0;同时将W0与W'0传输至压缩运算单元,压缩运算单元使用初始化参数与W0、W'0进行第1轮压缩运算,最后将W16存储至W0的空间;
第2轮:消息扩展单元使用W1—W14的数据计算出W17的数据,使用W1与W5的数据计算出W'1的数据;同时将W1与W'1传输至压缩运算单元,压缩运算单元使用上轮压缩结果与W1、W'1进行第2轮压缩运算,最后将W17的数据存储至W1的空间;
第3轮至第52轮,运算规律同第1轮与第2轮;
第53轮:消息扩展运算已完成,不再更新消息存储空间;消息扩展单元使用W52与W56的数据计算出W'52的数据;同时将W52与W'52的数据传输至压缩运算单元,压缩运算单元使用上轮压缩结果与W52、W'52的数据进行第53轮压缩运算;
第54轮至第64轮,运算规律同第53轮。
CN202011092161.XA 2020-10-13 2020-10-13 用于实现sm3密码杂凑算法的装置及方法 Active CN112217646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011092161.XA CN112217646B (zh) 2020-10-13 2020-10-13 用于实现sm3密码杂凑算法的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011092161.XA CN112217646B (zh) 2020-10-13 2020-10-13 用于实现sm3密码杂凑算法的装置及方法

Publications (2)

Publication Number Publication Date
CN112217646A CN112217646A (zh) 2021-01-12
CN112217646B true CN112217646B (zh) 2022-10-28

Family

ID=74053985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011092161.XA Active CN112217646B (zh) 2020-10-13 2020-10-13 用于实现sm3密码杂凑算法的装置及方法

Country Status (1)

Country Link
CN (1) CN112217646B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006704A (zh) * 2021-11-05 2022-02-01 湘潭大学 Sm3密码杂凑算法消息扩展方法及模块
CN116260572B (zh) * 2023-02-21 2024-01-23 成都海泰方圆科技有限公司 数据杂凑处理方法、数据验证方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632017A (zh) * 2018-04-26 2018-10-09 浪潮(北京)电子信息产业有限公司 一种sm3算法ip核及其信息处理方法、设备、介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317719B2 (en) * 2014-09-04 2016-04-19 Intel Corporation SM3 hash algorithm acceleration processors, methods, systems, and instructions
CN106685638A (zh) * 2016-11-24 2017-05-17 天津津航计算技术研究所 应用于信息安全的杂凑算法的硬件实现系统
CN107579811A (zh) * 2017-07-28 2018-01-12 广州星海集成电路基地有限公司 一种基于sm3密码杂凑算法的硬件优化方法
CN109743158A (zh) * 2019-01-04 2019-05-10 青岛方寸微电子科技有限公司 用于实现高性能sm3算法的系统及高性能sm3算法实现方法
CN110022203A (zh) * 2019-03-15 2019-07-16 深圳市纽创信安科技开发有限公司 一种sm3加速方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632017A (zh) * 2018-04-26 2018-10-09 浪潮(北京)电子信息产业有限公司 一种sm3算法ip核及其信息处理方法、设备、介质

Also Published As

Publication number Publication date
CN112217646A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
EP3758285B1 (en) Odd index precomputation for authentication path computation
CN106357701B (zh) 云存储中数据的完整性验证方法
CN112217646B (zh) 用于实现sm3密码杂凑算法的装置及方法
CN107911354B (zh) 一种复合并行数据加密方法
CN111860888B (zh) 一种输电线路无人机巡检状态实时监控搜寻系统及方法
CN110572800B (zh) 面向机器到机器环境下设备身份认证方法及装置
CN111147245A (zh) 一种区块链中使用国家密码进行加密的算法
Bahrami et al. An energy efficient data privacy scheme for IoT devices in mobile cloud computing
US20180083777A1 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
WO2014197071A1 (en) Secured embedded data encryption systems
CN117614707B (zh) 基于智能合约的区块链交易方法、系统、电子设备及介质
CN111163108A (zh) 一种电力物联网安全终端芯片复合加密系统和方法
CN117997639A (zh) 一种轻量级区块链加密认证系统及标签生成和加密方法
CN114401081A (zh) 数据加密传输方法、应用及系统
CN102957534B (zh) 一种多终端统一身份认证的方法及系统
CN117527365A (zh) 一种数据通信交互安全管理方法、设备及存储介质
CN117176742A (zh) 一种基于区块链的通用数字孪生服务接入方法及系统
CN106685638A (zh) 应用于信息安全的杂凑算法的硬件实现系统
CN108270546A (zh) 一种信息传输的方法及系统
CN113784342B (zh) 一种基于物联网终端的加密通讯方法及系统
CN103490900B (zh) 加密认证方法及设备
CN118694514B (zh) 一种元数据资产的加密通讯方法及系统
CN102546178A (zh) 一种生成密文的方法及装置
CN207691835U (zh) 一种基于FPGA的车载FlexRay数据安全传输装置
CN115567272A (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