【数字签名】ECDSA签名
2022-3-17
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:44 AM
Parent item
领域

签名

签名本质是构造一对新的随机秘钥对,和原秘钥对进行组合运算,将原文和随机公钥计算得到一个混合hash,签名结果是私钥和随机私钥的组合,组合系数就是混合hash
  1. 椭圆曲线可以表示为为模,为曲线参数;
  1. 选定一个基点坐标,根据私钥计算得到公钥坐标
  1. 将这3个参数公开;
  1. 产生一个随机秘钥,计算随机公钥
  1. 计算一个随机系数。将签名数据坐标计算一个;
  1. 计算签名结果:。其实就是2个私钥进行组合。 注意这里是线性变换
  1. 公开,即签名数据。

验证签名

  1. 计算, 结果是的坐标值,因为,加上后就是
  1. 签名数据和坐标值进行哈希:,得到,检查和原是否一致;

以太坊使用的签名和验签算法

以太坊中使用的签名和验证方法是得到随机秘钥对后:
  1. 计算
  1. 签名结果
  1. 公开,和签名数据;注意:如果,那么需要更新再计算一次
以太坊使用的签名算法中。签名返回的中,其中
注意:v值在早前的版本中,根据Rx的奇偶性取值27或28。在EIP-155之后,为了防范重放攻击,V被调整为,确保不同的链中V值不相同。
验证方法为:
因为
只要验证得到的结果是否等于。其中是签名者的公钥
注意:在验证过程中需要用到,即签名者的公钥,而以太坊未传输公钥, 需要眼前这个从签名中恢复出公钥。

公钥恢复

恢复的公式是
关键是求,而是已知的,只要根据公式求得即可。
 
密码学
  • 密码学算法
  • 数字签名
  • 【数字签名】国密SM2签名【数字签名】DSA签名
    目录