本文共 822 字,大约阅读时间需要 2 分钟。
目录
比特币采用了ECDSA数字签名算法,是一种非对称的加密方法。非对称加密的秘钥是成对出现的,即公钥与私钥。
公钥,公之于众,用于数字验签、加密; 私钥,由持有者保存,用于数字签名、解密;
以下记录一下学习该段知识的简要笔记,只讨论原理,不涉及具体加密算法的实现。
私钥 :k , 公钥 : K , 椭圆曲线基点 : G , 且满足 K = k * G , 私钥k --> 公钥 K ,过程不可逆
待加密的消息: Message
消息摘要:Digest
加密后的消息:Encryption
随机数:X
1、消息摘要: Digest = G * X
2、数字签名: Encryption = K * X + Message
3、将Digest 和 Encryption 发送给消息接收方
Message = Encryption - K * X
= Encryption - (k * G) * X
= Encryption - k * ( G * X)
= Encryption - k * Digest
私钥 :k , 公钥 : K , 椭圆曲线基点 : G , 且满足 K = k * G , 私钥k --> 公钥 K ,过程不可逆
临时随机的私钥 : r , 临时公钥 : R = r * G
待加密的消息: Message
散列后的消息: hash
消息摘要:Digest
数字签名:Signature
随机数:X
1、计算临时的公钥 :R = r * G
2、计算签名: Signature =
3、将临时公钥 R 、消息Message、Signature ,发送给消息接收方
验签的原理 就是根据公钥K 、 消息Message 、 数字签名 , 计算出 临时公钥 r *G , 与收到消息的R是否一致来验证
r * G =
=
=
转载地址:http://ykzp.baihongyu.com/