牛卧堂MCU技术交流

标题: M2354开发板,SM2算法的用户ID [打印本页]

作者: 匿名    时间: 2022-9-14 18:11
标题: M2354开发板,SM2算法的用户ID
BSP代码和开发板手册TRM_M2354_Series_EN_Rev1.01.pdf,都没有看到SM2算法的签名和验签接口,关于用户ID的设置和默认值的说明???
硬件方式计算的签名结果,使用第三方工具验签失败,怀疑是用户ID不一致导致的。

作者: 匿名    时间: 2022-9-14 18:13
第三方工具使用的用户ID是:31323334353637383132333435363738
作者: 匿名    时间: 2022-9-15 09:40
使用同样的SM2密钥对,第三方工具的签名结果,使用M2354的BSPdmeo代码进行验签,也是失败。应该就是二者的用户ID不同,只是不知道M2354的用户ID默认值是多少,是否可以设置?
作者: admin    时间: 2022-9-15 12:26
不知道您说的用户ID指的是什么?我们芯片有UID,每颗芯片的UID是唯一的。可以参考FMC_CRC32例程里读PID的方法,  读UID调用FMC_ReadUID函数
作者: admin    时间: 2022-9-15 12:27


作者: 匿名    时间: 2022-9-15 15:01
admin 发表于 2022-9-15 12:27

用户ID就是:为用户身份标识,具体见下面SM2算法预处理的第一步,主要是不知道这个值在SM2算法寄存器里面是多少或者是怎么设置的?
另外,上一个关于SM2加密和解密的疑问,恳请回复下,目前在做项目需要使用SM2的硬件加解密。
谢谢!

4. sm2 签名算法
4.1 预处理1
预处理1是指使用签名方的用户身份标识和签名方公钥,通过运算得到Z值的过程。Z值用于预处理2。
输入:
ID:字符串,用户身份标识
Q:SM2PublicKey,用户的公钥
输出:
Z:字节串,预处理1的输出
计算公式:Z = S M 3 ( E N T L ∣ ∣ I D ∣ ∣ a ∣ ∣ b ∣ ∣ x G ∣ ∣ y G ∣ ∣ x A ∣ ∣ y A )

参数说明:
ENTL:为由2个字节标识的ID的比特长度;
ID:为用户身份标识。无特殊约定的情况下,用户身份标识ID的长度为16字节,其默认值从左至右依次为:0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38。
a,b:为系统曲线参数;
x G ,   y G \displaystyle x_G,\ y_G xG​, yG​ 为基点;
x A ,   y A \displaystyle x_A,\ y_A xA​, yA​ 为用户的公钥。
作者: admin    时间: 2022-9-16 09:59
您的问题有点复杂 建议您来电 021-6236-5999 转技术支持  
作者: 匿名    时间: 2022-9-19 08:56
admin 发表于 2022-9-16 09:59
您的问题有点复杂 建议您来电 021-6236-5999 转技术支持

好的,非常感谢您的回复
作者: 匿名    时间: 2022-9-19 08:59
admin 发表于 2022-9-16 09:59
您的问题有点复杂 建议您来电 021-6236-5999 转技术支持

能否提供一个技术支持的邮箱呢,问题描述有点复杂,先邮件沟通然后电话沟通清晰些。
作者: admin    时间: 2022-9-20 13:40
游客 223.104.20.x 发表于 2022-9-19 00:59
能否提供一个技术支持的邮箱呢,问题描述有点复杂,先邮件沟通然后电话沟通清晰些。 ...

您直接来电吧 技术这边会给您邮箱的




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2