ECDSA(椭圆曲线数字签名算法)
AES(高级加密标准): =>对称加密
对业务数据进行加密,防止他人可以看见
ECDSA(椭圆曲线数字签名算法):=>非对称加密算法(公钥和私钥)
验证数据的真实性,防止业务数据被篡改
SHA(安全哈希算法)=>哈希算法
1. 作用:

因为ECDSA椭圆曲线数字签名算法获得公钥和私钥对是一一对应的,不存在"不同私钥但是公钥相同的情况"所有伪造ECDSA签名是根本不可能的
2. 解释ECDSA
ECDSA当中有两个词要注意:Curve(曲线)和Algorithm(算法)=>意味着ECDSA基本上是基于数学的
1. 基本原理:
假设给定一条曲线Curve、一串随机数Rand Num以及随机在曲线上取原点(Origin Point)
Private_Key=Rand_Num
Public_Key=Magic_Math(Curve,Rand_Num,Origin_Point)
=> 接下来就是要好好理解这个魔法数学Magic_Math =>(看完以下的就知道这个Magic_Math其实就是一个在已知椭圆曲线和参考点G的前提下对G进行以下运算)
P u b l i c _ K e y = R a n d _ N u m × O r i g i n _ P o i n t G ( 点 的 乘 法 ) Public\_Key=Rand\_Num \times Origin\_PointG (点的乘法) Public_Key=Rand_Num×Origin_PointG(点的乘法)
3. 解释Magic_Math:
1. 前提
ECDSA只使用整数数学,没有浮点数
=>整数范围由签名当中所采用的位数决定的,更多的位数意味着更大的数字范围,更高的安全性能
why? 因为整数范围越大,则表示的位数越大那么破解ECDSA所需要猜测的数字范围也越大,那么破解所花费的时间越长,那么安全性就越高
=>mod 模运算:就是整数求除之后的余数
2. 椭圆曲线密码学
基于以下方程:
y 2 = ( x 3 + a ∗ x + b ) m o d p y^2=(x^3+a*x+b) mod p y2=(x3+a∗x+b)modp
以上方程可以得知:
该方程所对应的曲线:对于任意的x坐标(只能取整数),你可以得到两个y的值,且曲线关于x轴对称。p是一个素数,且确保所有得到的值在规定SHA的输出长度所能够表示的范围之内.
综上所述:经过取模运算之后结果只能在0-p-1之间,
总结:

3. 椭圆曲线点加法的表示方法:

注释:这是a=-4,b=0以后的椭圆曲线,P+Q点与R点对称
P = ( x 1 , y 1 ) P + Q = ( X 2 , y 2 ) = > X 1 = X 2 且 Y 1 = − Y 2 P=(x1,y1) \quad P+Q=(X2,y2)=>X1=X2且Y1=-Y2 P=(x1,

本文深入探讨了ECDSA(椭圆曲线数字签名算法),它是非对称加密的一种,用于验证数据真实性。ECDSA基于椭圆曲线数学,其安全性依赖于点乘的单向陷门性质。算法涉及私钥(随机数)、公钥(点坐标)的生成,以及签名和验证过程。数字签名过程中,私钥用于生成签名,公钥用于验证签名的合法性。NIST和SECG提供安全的椭圆曲线参数。理解ECDSA对于保障信息安全至关重要。
最低0.47元/天 解锁文章
9373

被折叠的 条评论
为什么被折叠?



