以太坊使用的数据结构与算法-ECDSA 数字签名算法

本文详细介绍了数字签名算法(DSA)的工作原理,重点讲解了DSA和基于椭圆曲线的ECDSA,包括密钥生成、签名生成和验证过程。此外,文章还讨论了ECDSA在比特币和以太坊中的应用,以及Secp256k1和Ed25519等常见曲线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是数字签名算法(DSA)

全称Digital Signature Algorithm,即数字签名算法,它主要用于数字签名的生成和验证。

只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。

一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

数字签名主要是为了完成两个目的:

(1)确认信息是由签名者发送的;

(2)确认信息自签名后到收到为止,未被修改过。

DSA算法的工作原理

主要基于离散对数问题,它包含三个阶段:密钥生成、签名生成和签名验证。

在密钥生成阶段,DSA会生成一对公钥和私钥。公钥用于验证签名,而私钥则用于生成签名。

在签名生成阶段,DSA会使用私钥和一些随机数来生成一个数字签名。这个签名是独一无二的,并且与消息内容紧密相关。

在签名验证阶段,DSA会使用公钥和原始消息来验证签名的有效性。如果签名是有效的,那么就可以确认这条消息是由私钥的持有者发送的,并且在传输过程中没有被篡改。

 DSA分类

  • RSA
  • DSA 
  • ECDSA 
  • Schnorr

什么是椭圆曲线数字签名算法(ECDSA)

椭圆曲线数字签名算法(英语:Elliptic Curve Digital Signature Algorithm,缩写作 ECDSA)是一种基于椭圆曲线密码学公开金钥加密算法。1985年,Koblitz和Miller把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值