2020-12-30 ECDSA算法原理理解

2022-04-22 18:52:59 浏览数 (2)

研读了两篇文章,《什么是数字签名?区块链共识指的是啥?用物理学理解共识机制》,《一文读懂 ECDSA 算法如何保护数据》 基本上理解了ECDSA算法的公私钥生成,签名和验签的原理,这里按自己的理解整理如下:

私钥和公钥的关系

1、先在椭圆曲线上随便选一个点,叫G点 2、然后随机生成一个大整数,就是私钥Ka 3、公钥Pa就是Ka个G在曲线上相加得到,因此

签名的过程

1、假设alice的公私钥是Ka和Pa,需要验证的消息m 2、随机生成新的公私钥对,K和P 3、那么r就是P的x坐标值,记作

4、计算

输出(r,s)就是签名的结果

验签的过程

1、计算

2、计算

3、计算

由于在签名的第四步我们得到了

在公式的两边同时乘以

,可以得到:

因此第三步继续化简:

我们只需要验证这个计算出来的P的x坐标是否和r一样,就证明验签通过了

0 人点赞