现在我们经常在区块链中看到数字签名这一术语是非常常见的。在发送交易时,无论是比特币、Ethereum、Hyperledger Fabric还是任何其他平台,都在使用数字签名进行签名和验证。
区块链中的数字签名
ECDSA算法
从A点到B点在椭圆曲线上的切线
根据wiki ECDSA为:
椭圆曲线密码体制是一种基于有限域椭圆曲线代数结构的公钥密码体制。与非对称密码学相比,ECC需要更小的密钥来提供同等的安全性。椭圆曲线适用于密钥协议、数字签名、伪随机发生器等任务。通过将密钥协议与对称加密方案相结合,它们可以间接用于加密。它们也被用于一些基于椭圆曲线的整数分解算法中,这些算法在密码学中有广泛的应用,例如Lenstra椭圆曲线分解。
简单来说,ECDSA算法可以使用公钥密码学方法生成公钥/私钥集合,用于签名和验证签名。让我们看看公钥密码学是什么样子的。
公钥和私钥由加密算法生成,如RSA,ECDSA。发件人通过收件人公钥加密邮件并发送。在另一端,收件人通过自己的私钥解密消息并获取消息。
现在回过头来看看ECDSA,利用椭圆曲线在给定的源点G上画切线,生成密钥。p是一个具有很大值的有限模。
椭圆曲线上的切线
椭圆曲线上的切线定义为
Y²mod p=(x³+7)mod p
G:来源点
p:为椭圆曲线定义范围。
生成数字签名的私钥和公钥:
从一个随机生成的数字为dA的私钥开始,我们将它乘以曲线上的一个预定点,称为生成点G,在曲线的另一个地方产生另一个点,也就是对应的公钥Qa。生成点被指定为secp256k1标准的一部分,对所有键都是相同的。
从私钥dA生成公钥Qa
使用ECDSA算法生成数字签名

利用私钥dA生成签名
验证签名
验证是签名生成函数的逆值,使用R、S值和公钥计算一个值P,这是椭圆曲线上的一个点(创建签名时使用的临时公钥P)。

总结
数字签名可以使用自己的私钥签名,并且可以使用公钥独立进行验证。公开签名在任何情况下都不会导致获取用户的私钥。因此,ECDSA算法在保证私钥安全的同时生成签名。

相关热词:#区块链
RS485基本知识介绍
时间:2026-04-18
什么是激光雷达?激光雷达的构成与分类
时间:2026-04-18
Excelpoint - 一文了解SiC MOS的应用
时间:2026-04-18
什么是磁电阻器?磁电阻特性及应用
时间:2026-04-18
什么是电场?电场在电容器中的应用
时间:2026-04-18
什么是ARM64?
时间:2026-04-17
vga和hdmi的区别
时间:2026-04-17
什么是ESD?ESD及TVS的原理和应用
时间:2026-04-17
开关电源原理与维修完整版 (10)_标清视频
时间:2026-04-16
开关电源原理与维修完整版 (11)_标清视频
时间:2026-04-16
GoKit3的硬件电路原理
时间:2026-03-06
基于N32G457和RT-Thread打造的私有化定制家...
时间:2026-03-06
如何搭建一个私有云平台
时间:2026-03-06
物联网的前世今生:什么是物联网?实现物联...
时间:2026-03-06
基于 STM32和机智云物联网平台的农作物需水...
时间:2026-03-06
xG22E SoC以能量采集技术实现“环境物联网”...
时间:2026-03-06
物联网的发展历程及技术特征
时间:2026-03-06
朗骏智能推出四款全新的可联网智能光控产品
时间:2026-03-06
物联网中常用指令——AT命令
时间:2026-03-06
为什么使用MQTT而不是HTTP?
时间:2026-03-06