[APM32F4] APM32F407支持国密算法,助力国产安全可控 ——SM3

[复制链接]
 楼主| Aligagago 发表于 2022-5-6 09:33 | 显示全部楼层 |阅读模式
本帖最后由 Aligagago 于 2022-5-6 09:33 编辑

#技术资源# #申请原创#
     SM3 是由国家密码管理局于 2010年12月17日发布,相关标准为“GM/T0004-2012 《SM3 密码杂凑算法》 ”其算法公开。在商用密码体系中,SM3 主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其安全性及效率与 SHA-256 相当。
-
类型消息长度(bits)块大小(bits)单词长度(bits)消息摘要长度(bits)
SHA-1<2^6451232160
SHA-224<2^6451232224
SHA-256<2^6451232256
SM3<2^6451232256
SHA-384<2^128102464384
SHA-512<2^128102464512
SHA-512/224<2^128102464224
SHA-512/256<2^128102464256

功能特性:
功能描述
填充模式支持硬件填充和软件填充。
SM3以数据块(512bits)进行计算,
在消息末尾进行填充,使消息长度满足对512取模后余数为448。
记消息M位长L,在M后补充一位Bit1,然后补充K位Bit0。
满足:L+1+K = 448 mod 512 (余下 64bits 为 消息长度2^64)
初始化模式支持硬件初始化和软件初始化。
如果用户选择硬件初始化,硬件会自动填充第一个数据块的初始值。
如果用户选择软件初始化,则需要手动将 SM3 算法所需的初始值写入第一个数据块的 IV 寄存器中。
记消息M被分为n个数据块,摘要初始值H0与n1块计算得到H1,n次迭代后生成Hn即为消息摘要值。
端模式支持大端模式和小端模式。
Big endian:第一个字节为最高字节,按照从低位地址到高位地址的顺序存放高位字节到低位字节。
Little endian:第一个字节为最低字节...
Message: 0x616263
Write Message: 0x61626300(小端) 0x00636261(大端)

函数描述:
函数描述
SM3_Config初始化 SM3  参数, 初始化模式(IVinit),存储模式(endian)
SM3_Update更新 SM3  计算值(内部调用,仅 SM2 使用)
SM3_Final计算最后信息块(内部调用,仅 SM2  使用)
SM3_Calc输入: 消息,输出: 摘要值(32Bytes)

laocuo1142 发表于 2022-5-6 10:33 来自手机 | 显示全部楼层
什么是国密算法
 楼主| Aligagago 发表于 2022-5-6 11:35 | 显示全部楼层

你好,可以详看  “APM32F407支持国密算法,助力国产安全可控 ——简介篇” 了解国密基本内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部