SM2算**能简述(二) 验签流程
SM2推荐椭圆曲线参数如下:使用素数域256位椭圆曲线椭圆曲线方程:y2 = x3 + ax + b p= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF a= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC b= 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93 n= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF 7203DF6B 21C6052B 53BBF409 39D54123 Gx= 32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7 Gy= BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0 验签流程:签名验证推导:sG+PA=sG+(r+s)PA=sG+(r+s)dAG (公钥PA=GdA)=sG+sdAG+rdAG=(1+dA)sG+rdAG (s=((1+dA)-1 *(k-r*dA)) )=(1+dA)(1+dA)−1(k−rdA)G+rdAG =(k−rdA)G+rdAG=kG−rdAG+rdAG=kG=(x1,y1)因为R= (e′ + x′1) mod n,r= ( e + x1 ) mod n,e′和e相等,x′1和x1相等,所以推导出R= r′。
验签流程看似很复杂,是不是验签时间长、速度慢? 非对称加密算法通常比较慢 SM2对比RSA有什么优点呢?安全度那个更高? SM2为非对称加密,基于ECC。故其签名速度与秘钥生成速度都快于RSA。 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在安全性能、速度性能等方面都优于RSA算法,在我国商用密码体系中被用来替换RSA算法。 非对称算法本身计算速度就较慢,如果将算法移植到我的嵌入式设备上岂不是很耽误效率
好复杂,楼主能给出验签的程序代码吗? 上面SM2签名验签的流程并不是对消息本身签名,而是对消息的摘要值进行签名,这是因为非对称加密算法通常比较慢,而且校验摘要值可以保证消息没有篡改。 签名和验签,公钥和私钥哪个用于签名,哪个用于验签呢? pinbo2008 发表于 2023-3-31 08:57
签名和验签,公钥和私钥哪个用于签名,哪个用于验签呢?
私钥主要用于签名;公钥主要用于验签 这个推导写的好,简单明了,之前一直没太看明白是怎么个流程。 国密算法验签速度快吗? Nic浩 发表于 2023-3-31 11:21
国密算法验签速度快吗?
对的,主要是速度要快一点,现在这国密验签用在好多终端设备上,把服务器传输过来的数据做一次验签,太慢的话会影响体验的,还是要做到稳准狠的 楼上说的对,要是买芯片的最好是带协处理器的,速度快有准确,好多公司的国密都是软算法的慢的要死,踩过坑的友情提醒 SM2签名速度快,验签速度慢,这点和RSA算法的特性正好相反。另外,加解密速度和验签速度相当。 验签速度快慢要看硬件设备,国密算法还是比较复杂的。如果终端使用的话基本都是选带国密算法硬件协处理器的安全芯片 有可靠的安全芯片推荐一下 xuanzhuandemuou 发表于 2023-4-4 15:26
有可靠的安全芯片推荐一下
LKT的安全加密芯片不错,可以度娘搜索一下 我们公司最近正在在搞一款产品需要加密 刚好看见这篇文章 楼上说的LKT芯片, 之前听合作客户说过,性价比不错 我去咨询下
页:
[1]
2