区块链技术浅析:交易脚本中的椭圆曲线加密算法

一、重新审视rsa rsa之所以能作为非对称加密算法,其实有两点:
1. 基于大整数质数分解这个数学难题。这个难题,求解出来很困难,但是验证它很简单
2. 私钥签名之后,利用公钥进行验证的还原公式,rsa里面就是欧拉定理。
在比特币中,非对称加密使用的数学难题是离散对数问题。
二、椭圆曲线算法的数学难题 在阅读本节之前,可以先阅读ecc加密算法入门介绍,什么是椭圆曲线呢,并不是我们高中所学的在连续实数域二维平面上的椭圆曲线,而是定义在有限域(有限个离散的值组成的集合)射影平面上的曲线。
先不考虑有限域和射影平面,假设还是在连续实数域二维平面上,就像二维平面上其他曲线都有方程一样,椭圆曲线的方程是:
y2+ a1xy + a3y = x3+ a2x2+ a4x + a6
且曲线上的每个点都是非奇异(或光滑)的,也就是都有切线。
(下面都只讨论实数域和二维平面上的情况,理解了这部分,剩下的仅仅是扩展的问题,非常容易理解)
根据参数不同,曲线形状不同,比如
在这条曲线上定义了加法:就像上图,先定义一点g,然后过g做该椭圆曲线的切线,和椭圆曲线相交于另外一点,称为点-2g,找到点-2g关于x轴的点2g,该点在椭圆曲线上,因为比特币选定的椭圆曲线是关于x轴对称的。(根据参数不同,有很多椭圆曲线,有些不关于x轴对称,有一些关于x轴对称,比特币选定的关于x轴对称的曲线叫secp256k1)。点2g称为点g + 点g的加法。如果g做k次加法,也就是 点2g + 点g = 点3g,点3g + 点g = 点4g,一直加k次,得到点kg。
那么数学难题是什么呢?数学难题是:已知k和g,得出k = kg,是容易的,有公式直接得出,但是由kg的结果k,和点g,得出k是困难的。你看,这也是一个验证很简单,但是求解很困难的事情。为什么求解很困难?其实是相对于从k和g得出k而言的。首先需要明确的是,一步一步的计算,从k和g能得出k(正向),从k和g也能得出k(逆向),时间复杂度也就是o(k),但是如果正向计算能使用一些方法快速求出来,而这个方法对逆向计算不适用,那么就构成了计算的非对称性。椭圆曲线加密算法正是这样的,正向计算可以使用比如 倍数-和 的方法(如果加法看成是乘法,那么就叫 平方-乘 的方法),但是逆向计算仍然没有找到合适的快速的方法。该部分可以参见《密码学原理与实践》的第六章。
三、椭圆曲线算法的还原方法的设计 下面只是一个例子,还有很多其他的方法。
1. 加密签名的过程:
a. 选择一条椭圆曲线和基点gb. 选择私有密钥k,利用基点g计算公开密钥k = kgc. 产生一个随机整数r,计算点r = rgd. 将明文m和点r的坐标值x, y作为参数,计算sha值,即hash = sha(m, x, y)e. 计算sn = r – hash * kf. 将sn和hash作为密文
2. 对应的验证过程如下
(公开的信息有:基点g,公开密钥k,sn,m和hash)a. 计算点r(x, y) = sn * g + hash * k
b. 计算h = sha(m, x, y)
c. 如果h和hash值相同,则验证成功。
因为:sn = r – hash * k则验证公式为:sn * g + hash * k= (r – hash * k) * g + hash * k= r * g – hash * k * g + hash * k= r * g – hash * k + hash * k= rg = r
(以上计算都是基于模的运算)
其实可以思考一下为啥需要一个随机数r,因为如果没有随机数,那么给出的密文是sn = hash * k,因为hash是已知的,所以这样暴露了k * hash以及k * g,安全性会降低。
四、椭圆曲线算法和rsa的比较 1. 椭圆曲线算法的优点
安全性能更高
160位ecc与1024位rsa、dsa有相同的安全强度
处理速度更快
在私钥的处理速度上,ecc远 比rsa、dsa快得多
带宽要求更低
存储空间更小
ecc的密钥尺寸和系统参数与rsa、dsa相比要小得多
2. 椭圆曲线算法的缺点
设计困难,实现复杂
如果序列号设计过短,那么安全性并没有想象中的完善

一款100Mhz双通道示波器设计案例
半导体业库存问题缓解,明年迎来良好转机
鸿蒙HarmonyOS 2.0打造简化版的家庭KTV
iOS11最新消息:后悔升级iOS11?一键叫你如何降级到iOS10.3.3
为什么LED灯珠价格有着天壤之别
区块链技术浅析:交易脚本中的椭圆曲线加密算法
小公举?华为荣耀V9这对红蓝CP告诉我们:颜值即正义!
4G新技术—LTE SON
英飞凌AURIX™ TC4x微控制器赋能TERAKI雷达检测软件,提高自动驾驶的安全性
赛灵思解读异构计算
一加首款智能手表:圆形表盘支持eSIM独立通话
气密性测试仪,洗衣机进水阀气密性检测密封性检测过程-希立仪器
开关电源的种类与应用方向
英特尔正式发布了全新一代的内存和存储产品
vivox9s真机图曝光:背面刻有业务专用机字样,将同步推出vivox9splus
Android是基于Linux的开源操作系统
苹果此时推出AirPods Max的意义是什么?
无源电子标记定位系统介绍
如何处理SMT贴片加工印刷厚度不良?
FLIR光学气体热像仪的系列产品可用于检测各种气体