前言
今天来聊聊椭圆曲线,加密货币中的加密一半是指哈希,一半是指椭圆曲线,不懂椭圆曲线就不要说懂加密货币。椭圆曲线是实现钱包支付和匿名交易的技术基础,我们一站式把他搞透彻。请大家关注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,