找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[BSP] M2354的ECC/SM2加密和解密疑问

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2022-9-8 21:35:57 回帖奖励 |倒序浏览 |阅读模式
M2354开发包BSP的demo,只有ECC和SM2的签名验签代码,为什么没有加密和解密的? 是开发板不支持该功能吗?而且,在开发板的手册上,也没有加密和解密的操作流程介绍。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

沙发
chrishu 发表于 2022-9-9 11:10:12 | 只看该作者
请看bsp里下《Readme.pdf》文档的P33~P34页
回复 支持 反对

使用道具 举报

板凳
匿名  发表于 2022-9-9 13:23:10
chrishu 发表于 2022-9-9 11:10
请看bsp里下《Readme.pdf》文档的P33~P34页

看了,Readme.pdf里面也没有ECC/SM2的加密和解密。
CRYPTO_ECC_Demo……CRYPTO_ECC_SM2,只有产生密钥对,协商密钥,签名和验签。
回复 支持 反对

使用道具

地板
匿名  发表于 2022-9-22 15:02:00
SM2签名和验签的驱动函数,是错误的!其走的是ECC的流程,只是曲线参数为SM2的而已。

SM2算法正确的流程是:
6.1 数字签名的生成算法
设待签名的消息为M,为了获取消息M的数字签名(r,s),作为签名者的用户A应实现以下运算步
骤:
A1:置M=Z A ∥ M;
A2:计算e = H v (M),按本文本第1部分4.2.3和4.2.2给出的细节将e的数据类型转换为整数;
A3:用随机数发生器产生随机数k ∈[1,n-1];
A4:计算椭圆曲线点(x 1 ,y 1 )=[k]G,按本文本第1部分4.2.7给出的细节将x 1 的数据类型转换为整
数;
A5:计算r=(e+x 1 ) modn,若r=0或r+k=n则返回A3;
A6:计算s = ((1 + d A ) −1 · (k − r · d A )) modn,若s=0则返回A3;
A7:按本文本第1部分4.2.1给出的细节将r、s的数据类型转换为字节串,消息M 的签名为(r,s)。
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU