椭圆曲线数字签名算法

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

前言

今天来聊聊椭圆曲线,加密货币中的加密一半是指哈希,一半是指椭圆曲线,不懂椭圆曲线就不要说懂加密货币。椭圆曲线是实现钱包支付和匿名交易的技术基础,我们一站式把他搞透彻。请大家关注gitcoins抖音频道,我们将会分享有趣的、高质量的、加密货币相关的视频。

在这里插入图片描述

椭圆曲线签名算法

上期视频我们讨论过非对称加密模型的应用场景,非对称加密算法有很多包括RSA、DSS和ECDSA等,在加密货币中用的是椭圆曲线数字签名算法。

在这里插入图片描述

椭圆曲线

像这样的式子 y² = x³+ax+b 在a和b的关系(4a³+27b² ≠ 0)约束下, 通常画出来是个椭圆曲线,我们以a等于-1,b等于9为例,y² = x³ - x + 9 来说清楚椭圆曲线,当x固定时,y等于正负开根号这个式子(y= ± √x³ - x + 9 ),也就是说任意一个X,都会有两个Y,一正一负,使等式成立。如果这个关系用横坐标表示X,用纵坐标表示Y时,画出来是一个以X轴对称的椭圆曲线图形。
在这里插入图片描述

椭圆曲线需要简单的高中数学知识,如果你对刚才的内容还是不理解,请查查资料,在坐标系上手动画画,就有一副美丽的曲线呈现在你的面前。y² = x³ - x + 9 这个椭圆曲线当X为0时,Y得到正负3,同样当X为1时,Y等于正负3。 我们把(-1,-3)称之为P点,(1,3)称之为Q点,画一条直线,因为是椭圆曲线,只要直线不与Y轴平行,那他们必会有第三个交点,我们称之为R点。
在这里插入图片描述

两点定一直线

那R点究竟是什么?我们通过P和Q点可以确定一条直线,直线的斜率是(Y2 - Y1)/(X2 - X1) 得到3,与Y轴的焦点是负3,所以P和Q确定的直线是 Y等于3X (y=3x)

在这里插入图片描述

直线和曲线相交

那这条直线与椭圆曲线的交点有几个?
我们把直线方程带入到曲线方程中就可以得到

(3x)² = x³ - x + 9
x³ - 9x² -x + 9 = 0

这个等式一共有三个解

x = 0, 1, 9

把X带入直线公式
那么与椭圆曲线相交的点为

P(0, -3) Q(1, 3) R(9, 27)

也就是第是三个点为(9, 27)

算法2_非对称加密算法之ECDSA(椭圆曲线数字签名算法) ECDSA(椭圆曲线数字签名算法) AES(高级加密标准): =>对称加密 ​ 对业务数据进行加密,防止他人可以看见 ECDSA(椭圆曲线数字签名算法):=>非对称加密算法(公钥和私钥) ​ 验证数据的真实性,防止业务数据被篡改 SHA(安全哈希算法)=>哈希算法 1. 作用: 因为ECDSA椭圆曲线数字签名算法获得公钥和私钥对是一一对应的,不存在"不同私钥但是公钥相同的情况"所有伪造ECDSA签名是根本不可能的 2. 解释ECDSA ECDSA当中有两个词要注意:Curve(曲线 阅读详情

相关推荐

深入理解ECDSA:椭圆曲线数字签名算法的原理与应用

ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)是一种基于椭圆曲线密码学(Elliptic Curve Cryptography, ECC)的数字签名算法。它与传统的数字签名算法(如RSA、DSA)相比,具有更高的安全性和较小的密钥尺寸,因此在很多现代加密协议中得到了广泛的应用,例如SSL/TLS、比特币等。ECDSA(椭圆曲线数字签名算法)提供了一种高效、安全的方式来验证消息的完整性和来源的真实性。

yoona333的博客 4851

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

一. 椭圆曲线加密算法 简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全,RSA加密算法也是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密(有待考证) 二. 什么是椭圆曲线 Wolfram MathWorld给出了个准确非凡的定义椭圆曲线。椭圆曲线可以暂时简单的理解为描述了特定点的集合的公式:

weixin_43586667的博客 2万+

如何把字符串哈希成椭圆曲线上的点

朴素方法 注: t就是字符串哈希(sha256)后的值,同时作为椭圆曲线点的x值,但是y值即s\sqrt{s}s​不一定是整数,因此构造x的过程中需要引入i,令x=t+ix=t+ix=t+i,不断地尝试。 更先进的哈希方法和分析 ...

jason_cuijiahui的博客 1939

【区块链】椭圆曲线数字签名算法(ECDSA)

椭圆曲线数字签名算法的原理。

qq_64585761的博客 9723

基于 ECDSA(椭圆曲线数字签名算法)生成 JWT Token

ECDSA(椭圆曲线数字签名算法)生成 JWT Token

Crg的博客 541

深入理解Copenhagen项目中的ECDSA椭圆曲线数字签名算法

深入理解Copenhagen项目中的ECDSA椭圆曲线数字签名算法 什么是ECDSA ECDSA(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法。它使用密钥对消息进行签名,同时使用对应的公钥来验证签名的有效性。ECDSA在区块链、SSL/TLS证书、数字身份验证等领域有着广泛应用。 ECDSA签名过程详解 在Copenh...

gitblog_00603的博客 887

JAVA实现ECDSA椭圆曲线数字签名算法

在本文中,我们将使用Java编程语言来实现ECDSA算法,并提供相应的源代码。通过以上的代码实现和解析,我们成功地使用Java实现了ECDSA椭圆曲线数字签名算法。常用的椭圆曲线有多种参数集,例如NIST提供的P-256、P-384和P-521等曲线。ECDSA算法涉及到一系列的数学运算,包括点的加法、点的乘法、点的压缩等操作。请注意,在实际应用中,我们还需要考虑密钥的安全存储、证书管理等问题。以上代码中,我们通过BouncyCastle提供的API进行了密钥对的生成、数字签名和验证等操作。

CyberLynxX的博客 844

深入解析ECDSA:椭圆曲线数字签名算法的数学原理与安全实践

本文深入解析了椭圆曲线数字签名算法(ECDSA)的数学原理与安全实践。作为高效的非对称加密算法,ECDSA以其短密钥长度提供高安全性,广泛应用于区块链、TLS证书和软件验证等场景。文章详细拆解了其基于椭圆曲线离散对数问题的密钥生成、签名与验证流程,并强调了随机数安全、哈希函数选择等关键实践,以规避常见陷阱。

sky77的博客 670

【数字赛道命题二】椭圆曲线数字签名算法的高性能硬件实现

一、 赛题简介1985年,Victor Miller和Neal Koblitz分别提出了椭圆曲线密码体制(Elliptic Curve Cryptography,ECC)。椭圆曲线密码算法...

weixin_42905573的博客 986

简单理解椭圆曲线数字签名算法(ECDSA)

Elliptic Curve Digital Signature Algorithm通俗化的理解:1、一条曲线方程2、在曲线上随机选择一个起始点(私钥)3、利用起始点做一些变化,获得曲线上的第二个点(公钥)4、利用私钥与文件hash值进行运算得到数字签名,40字节5、数字签名由两部分构成R与S,各160位6、用公钥可验证签名的正确性,利用公钥和S运算可得到R,相等即正确细节:1、整数运算,数字区间...

ywy19930523的博客 7948

C#实现椭圆曲线数字签名算法

数字签名算法是信息安全领域中的重要技术,它可以保证数据的完整性、不可抵赖性和认证性。椭圆曲线数字签名算法(ECDSA)是一种基于椭圆曲线的数字签名算法,其安全性已经得到广泛认可。为了方便起见,我们采用了Bouncy Castle加密算法库,该算法库提供了丰富的加密算法和密码学实现。在签名的过程中,需要先读取私钥,并计算消息的哈希值。在实现数字签名时,需要注意数据的安全性和保密性,避免私钥和签名数据泄露。需要读取公钥并计算哈希值,然后使用ECDSA算法对签名进行验证,判断签名是否合法。下面是签名的代码实现。

DarcyCode的博客 335

Fabric 1.0源代码分析(46)ECDSA(椭圆曲线数字签名算法

# Fabric 1.0源代码笔记 之 ECDSA(椭圆曲线数字签名算法)## 1、椭圆曲线算法概述### 1.1、无穷远点、无穷远直线、射影平面* 平行线相交于无穷远点;* 直线上有且只有一个无穷远点;* 一组相互平行的直线有公共的无穷远点;* 平面上任何相交的两直线,有不同的无穷远点;* 全部无穷远点沟通一条无穷远直线;* 平面上全部无穷远点和全部普通点构成射影平面。### 1.2、射影平面点...

尹成的技术博客 3434

Go 实现:椭圆曲线数字签名算法ECDSA

椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。它基于椭圆曲线离散对数问题(ECDLP)的难解性,具有密钥短、速度快和安全性高的优点。

Shinobi_Jack的博客 1045

**ECDSA** 的全称是 **椭圆曲线数字签名算法**

ECDSA(椭圆曲线数字签名算法)是一种利用椭圆曲线密码学创建数字签名的算法,具有身份验证、完整性和不可否认性三大功能。它通过私钥签名、公钥验证,流程包括哈希处理、随机数生成和数学计算。相较于RSA,ECDSA安全性更高(基于椭圆曲线离散对数问题)、效率更高、签名更短,广泛应用于加密货币、SSL/TLS等领域。关键安全点在于随机数必须唯一不可预测,且需严格保护私钥。ECDSA已成为现代密码学中高效安全的核心数字签名标准。

rockmelodies的博客 667

sa数字签名算法c语言,椭圆曲线数字签名算法(ECDSA).pdf

摘要椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟。ECDSA 于 1999 年成为 ANSI 标准,并于 2000 年成为 IEEE 和 NIST 标准。它在 1998年既已为 ISO 所接受,并且包含它的其他一些标准亦在 ISO 的考虑之中。与普通的离散对数问题(discrete logarithm problem DLP )和大数分解问题(integer fa...

weixin_29116255的博客 614

SM2算法椭圆曲线数字签名算法

SM2算法椭圆曲线数字签名算法椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,简称ECDSA)是一种常用于保护数据完整性和验证身份的密码学算法。SM2算法是中国国家密码管理局发布的一种基于椭圆曲线密码学的数字签名算法,具有高度的安全性和效率。本文将详细介绍SM2算法的原理,并提供Python代码示例来实现SM2算法的数字签名功能。

code88888的博客 2039
上一篇: 非对称加密原理 - 公钥和私钥是天生的一对
下一篇: Web3.0
gitcoins
博客等级 码龄4年 8粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值