ECC数字签名过程

签名定义

Sig=Fsig(Fhash(m),dA)

  • dA是私钥
  • m是待签名信息
  • Fhash是哈希函数
  • Fsig是签名算法
  • Sig是签名结果
  • Sig = (R,S)

签名过程

  1. 生成随机数k,作为临时私钥
  2. 临时公钥P = k*G
  3. R是P的x坐标
  4. S = k-1(Hash(m) + dA * R) mod p
  • k是步骤1中的临时私钥
  • R是步骤2中临时公钥的x坐标值
  • dA是私钥
  • m是带签名数据
  • p是椭圆曲线的素数阶
    公钥生成方法见这篇文章

验证签名过程

验证签名是生成签名的反过程,使用R,S和公钥计算P
P = S-1 * Hash(m) * G + S-1 * R * Qa

  • R和S是签名值
  • Qa是签名私钥对应的公钥
  • m是源数据
  • G是椭圆曲线的预置生成点
    如果最终计算出来P和R是相等的,那么签名通过
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每个人都可能以某种形式听说过ECDSA。当我说“数字签名”时,有些哥们会更好地认识到这一点,当然有些哥们根本不知道...
    wolf4j阅读 1,728评论 2 2
  • Po.et概念及区块链的基础解释 什么是Po.et?什么是区块链?为什么这些概念很重要? 对于在去中心化经济体系和...
    Poet基金会阅读 988评论 0 0
  • 人很奇怪 有时候喜欢安静 那种可以听见自己喘息的安静 有时候喜欢喧嚣 那种可以忘记自己是谁的喧嚣 人很奇怪 有时候...
    潋滟波光阅读 110评论 1 1
  • 过自己想要的生活,就不能随意将就。你喜 欢在职场上拼出自己的一席之地那就准备好 忍受孤独和压力,你喜欢在小城市安安...
    雪上阳光阅读 407评论 2 3
  • 大学时期,苦逼我的教室和宿舍在6楼,每天要往返好几次,尤其是在打水的时候,简直是要命,也怪自己的身体机能不行。教学...
    青果果说阅读 238评论 2 5