国密SM2算法的只求理解不求甚解 (1/5)前置数学知识:模运算
国密SM2算法的只求理解不求甚解 (2/5)前置数学知识:平面几何
国密SM2算法的只求理解不求甚解 (3/5)SM2算法数学模型
国密SM2算法的只求理解不求甚解 (4/5)SM2算法加解密协议
国密SM2算法的只求理解不求甚解 (5/5)SM2算法签名验签协议

  1. 公私钥定义
    令:椭圆曲线上一点为Q(xQ,yQ),且Q = mG。
    则:公钥为(xQ,yQ),私钥为m。
  2. 签名过程(私钥签名)
    1)签名数据 = 填充||数据,并计算e = SM3(填充||数据)。不完全是SM3运算,还有其他处理过程;
    2)产生随机数k,1≤k≤阶-1,并计算点kG = (x1,y1);
    3)计算r = (e + x1);
    4)计算s = (k-rm)/(1+m);
    5)返回签名结果r||s。
  3. 验签过程(公钥验签)
    1)解析签名结果:r||s
    2)签名数据 = 填充||数据,并计算e= SM3(填充||数据)。不完全是SM3运算,还有其他处理过程;
    3)计算t = (r + s) = e + x1 + (k-rm)/(1+m) = e + x1 + (k-(e+x1)m)/(1+m) = ((e+x1)(1+m))/(1+m) + (k-(e+x1)m)/(1+m) = (e+x1+me+mx1+k-me-mx1)/(1+m) = (e+x1+k)/(1+m);
    4)计算(x1,y1) = sG + tP = (k-rm)/(1+m)G + (e+x1+k)/(1+m)mG = ((k-(e+x1)m)/(1+m) + (em+x1m+km)/(1+m))G = (k-em-x1m+em+x1m+km)/(1+m)G = (k+km)/(1+m)G = kG;
    5)计算R = (e + x1);
    6)验证r与R的一致性,一致则验签通过。

国密SM2算法的只求理解不求甚解 (5/5)SM2算法签名验签协议相关推荐

  1. 国密SM2算法的只求理解不求甚解 (4/5)SM2算法加解密协议

    国密SM2算法的只求理解不求甚解 (1/5)前置数学知识:模运算 国密SM2算法的只求理解不求甚解 (2/5)前置数学知识:平面几何 国密SM2算法的只求理解不求甚解 (3/5)SM2算法数学模型 国 ...

  2. 国家医保移动支付国密算法SM2签名验签、SM4加解密DLL

    国家医保移动支付国密算法SM2签名验签.SM4加解密DLL 支持医保移动支付(国家统一版), 已知省份有广西.贵州.安徽.河北.黑龙江.湖南.吉林.江苏.四川.新疆等各地方. DLL,非.net开发, ...

  3. java 国密p7验签_go/Java 国密sm2签名验签

    近期go项目对接第三方Java服务,第三方要求使用国密sm3/sm2算法进行数据签名验签,特记录go端开发注意事项 1 关于密钥对 密钥生成可以使用openssl库,openssl版本至少是1.1.1 ...

  4. 国密SM4加解密SM2签名验签COM组件DLL

    提供给第三方软件,调用COM组件DLL方式进行实现,如delphi.PB等. 基于C#编写的COM组件DLL,可实现SM2签名验签,SM4加解密,100%适用于黑龙江省国家医保接口中进行应用. 功能包 ...

  5. 国密SM9算法C++实现之五:签名验签算法

    SM9算法C++实现系列目录: 基于JPBC的SM9算法的java实现与测试 国密SM9算法C++实现之0:源码下载地址 国密SM9算法C++实现之一:算法简介 国密SM9算法C++实现之二:测试工具 ...

  6. Openssl ECC椭圆曲线算法 - 密钥/签名/验签/加密/解密/SM2密文 - 序列化反序列化导出导入 - C源码

    . . . . 废话不多说,本代码继承自另外一位讲解Openssl ECC椭圆曲线算法大佬的源代码:https://blog.csdn.net/scuyxi/article/details/59182 ...

  7. SM2加解密、签名验签

    导论 SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,在我们国家商用密码体系中被用来替换RSA算法. 国产SM2算法,是基于ECC的,但二者在签名验签.加密解密过程中或许有些 ...

  8. 【转】C#sm2签名验签实现

    //调用 private string Sm2String(string str){//sm加密SM2Param sM2Param = new SM2Param();byte[] priKey = B ...

  9. iOS 使用 SM2 SM4 加解密,SM2 签名验签及 SM3 签名

    前言 对于开发人员,开发中加解密是经常用到的,常见的密码算法 MD5.SHA.AES.DES,RSA 等等,这些无一例外都是国外的加密算法.基于安全和宏观战略考虑,我国从 2010 年先后推出了 SM ...

  10. 密码技术应用--SM2文件签名验签

    记录一下对一些稍大文件进行SM2签名验签的实现,这里只列出了核心代码,其他不涉及的代码或者有任何疑问可以查看我之前写的密码技术专题博客 /* 函数名: sm2Signsm2 签名算法实现对文件的签名 ...

最新文章

  1. Python使用xlrd和xlwt读取和写入excel详细教程
  2. 重庆工商大学c语言实验一答案,重庆工商大学嵌入式实验考试题目答案 - 副本.doc...
  3. BigData之Spark:Spark计算引擎的简介、下载、经典案例之详细攻略
  4. python staticmethod规范_Python Staticmethod可以调用另一个本地方法吗?
  5. pycharm的编码问题
  6. 【ACC编码】基于FPGA的音频ACC编码实现
  7. 学习:通用软件滤波算法-前序
  8. MacOS与Windows快捷键对照
  9. Android Netd ndc
  10. WeWork中国实现全面本土化运营;巴黎欧莱雅沙龙专属全球首家旗舰沙龙开业 | 美通企业日报...
  11. 基于centos7.8的K8安装
  12. C盘Windows XP,D盘Windows7,双系统安装纪录
  13. 升级OSX High Sierra 10.13遇到一些问题及解决方法
  14. 雷军周鸿祎黄章,个性及扑朔迷离的关系
  15. ZUI易入门Android之Git的使用(一)本地仓库
  16. springboot启动报错 java.lang.ArrayStoreException异常解决方法
  17. 单目标跟踪算法调研(2019)
  18. ActiveMQ详解
  19. Linux环境下MySql卸载
  20. 4.4亿赎金,6800GB数据窃取,勒索病毒攻击到底怎么防?

热门文章

  1. ctfmon是什么启动项_启动项里找不到ctfmon
  2. openai_ros教程( ros gazebo 深度强化学习)
  3. 【更新】互联网公司可投之参考
  4. 抖音小程序的私域运营
  5. 思迈特软件Smartbi:最常用的五种大数据分析方法,建议收藏!
  6. php 删除服务器指定目录图片
  7. TOGAF架构体系材料
  8. Python批量压缩图片(TinyPNG)
  9. ios不能保存png_花瓣网上面的图不能下载?教你怎样快速批量提取花瓣网图片
  10. 什么软件测试情侣头像,扫图查情侣头像软件