手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > 自动量化交易机器人软件 > 文章 当前位置: 自动量化交易机器人软 > 文章

椭圆曲线加密算法的加密原理

时间:2022-01-11    点击: 次    来源:网络    作者:佚名 - 小 + 大

应用于比特币系统中的椭圆曲线加密算法,在上述数学原理的基础上,充分应用了椭圆曲线加密算法的单向特性,从私钥可以产生出公钥,而反过来要想从公钥推算出私钥则不可能;用公钥加密的信息,可以用私钥来解密;而用私钥签名的信息,则由公钥来验证,验证通过后说明该信息确实为私钥持有人所发布。

在椭圆曲线加密算法中,对于椭圆曲线y2=x3+ax+b,规定a,b都取自质数域F,,且满足4a'+27b20(modp),这条曲线上的点P=(x,y)的集合组成了基于有限域(即质数域)F,的椭圆曲线域。公钥就是该曲线上的某个点Q的二进制表示,对于给定的点P,再选取曲线上任意一点k,计算出Q=kP,则可以由kP计算出Q,而在椭圆曲线的计算规则中无法从Q点、P点计算出k(即私钥)来。

为描述特定的椭圆曲线域,需明确6个参数:

T=(p,a,b,G,n,h)

p:代表有限域F,的那个质数

a,b:椭圆曲线方程的参数

G:在椭圆曲线上任意选取的一个基点G=(xo,yc)

n:GF,中规定的序号,它是一个质数

h:余因式,控制选取点的密度,h=椭圆曲线上点的总数/n

在比特币系统选用的SECP256K1中,各参数的具体值为:

p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F

=2562322928_2726241

a=0,b=7

G=0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

(G点用压缩形式表示时,其值为0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798)


n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141(比特币系统中规定,私钥的取值范围不能超过n)

h=01

具体的加密和解密过程是这样的:

(1)用户A先选出一条椭圆曲线E(a,b),然后在这条椭圆曲线上选取任意一点G,称为基点(basepoint);

(2)在椭圆曲线上选取任意一点kk为小于n的整数,同时把k作为用户A的私钥,且根据椭圆曲线的代数算法,可以找到一点QQ=kG,Q即为公开密钥;

(3)用户AEp(a,b)和点KG传给用户B;

(4)用户B收到用户A发来的公钥等信息后,将待传输的明文编码到Ep(a,b)上一点M,并产生一个随机整数r;

(5)用户B计算点C=M+rK;C;=rG;

(6)用户BCC2传给用户A;

(7)用户A接到信息后,计算CkC,

CkC,=M+rKk(rG)=M+rKr(kG)=M,

再对点M进行解码就可以得到信息原文,完成了一次加密通信过程。其保密性体现在:如果有一个偷窥者H截取了用户AB之间的通信息,他只能截获到Ep(a,b)KGCC2,但根据椭圆曲线算法的计算规则,通过KGk或通过CG/都是无法完成的。因此,H无法得到AB间传送的信息原文。过程如图3.13所示。

以上内容由量化机器人软件提供!

上一篇:Merkle根

下一篇:尚持云资产平台作为个人与公司的区别

备案ICP编号  |   标题:炒数字虚拟加密货币-自动炒币量化交易机器人软件-免费测试  |  地址:自动炒币量化交易机器人软件  |  电话:12345678910  |