区块链中的数学-签名过程

这篇文章主要介绍了区块链中的数学-签名过程 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/21868.html

区块链中的数学-签名过程是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-签名过程学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学-签名过程比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

区块链blockchain中的数学-签名过程

上一节我们介绍了离散域上的椭圆曲线加密和解密过程,本节继续介绍离散域上椭圆曲线进行签名和验证过程,并加以实例说明。

写在前面

上一节我们介绍了离散域上的椭圆曲线加密和解密过程,本节继续介绍离散域上椭圆曲线进行签名和验证过程,并加以实例说明。

签名过程

首先做如下符号约定: 发起签名的用户的密钥对: (d, Q);(d为私钥,Q为公钥),上一节说过d是一个秘密的大整数,D是椭圆曲线上一个点。 G:生成元[基元] 待签名的信息:M;

选择椭圆曲线点群的阶:n

签名结果:Signature(M) = ( r, s)

接下来看签名过程: 1、随机选择一个整数k, 且0 < k < n 2 计算R = k * G=() 注:1,2步骤也可以描述为:随机生成一个密钥对(k, R), R=() 3、令 r = mod n,如果r = 0,则返回步骤1 4、计算 H = Hash(M) 5、s = (H + rd) mod n,若s = 0, 则返回步骤1 6、输出的S =(r,s)即为签名。r是R的横坐标,有的文章说签名结果S =(R,s) 用R作为第一部分,也是可以的,本质上一样,只要在验证时候取出r.

验证过程

使用上面一样的符号规则,收到Signature(M) = ( r, s) 的签名结果, 验证过程如下: 1、计算 H = Hash(M) 2、计算 u1 = mod n, u2 = mod n 3、计算 R = (, ) = u1G + u2Q, 如果R = 零点,则验证该签名无效 4、令 v = mod n 5、若 v == r,则签名有效,否则, 则签名无效。

可以看到,验证过程用到了<r,s>,签名者的公钥Q,及消息M等公开信息。 为什么可以这样验证呢?下面推导一下: R=u1G + u2Q=( mod n)G + ( mod n)Q= ( mod n)G + ( mod n) dG=G((H + rd) mod n)=G*ks=kG=R

r是R的横坐标模n,到此验证结束。

实例演练

椭圆曲线方程中的参数选定为:𝑎=0, 𝑏=−4,𝑝=199,𝐺=(2,2),该椭圆曲线方程为: mod 199−4) mod 199 【注意:如果写成 −4 属于耍流氓的写法 】 此时n=217, 假设B选定的私钥为d=13,其公钥: Q=13𝐺=(165,33) 消息假设消息M经过摘要后H=58。签名过程: 随机选择k=23, 计算R = k * G=23(2,2)=(15,171) 令 r = mod n= 15 mod 217=15 计算: s = (H + rd) mod n=(58+15*13)/23 mod 217 = 11

得到签名结果:Signature(M) = ( r, s)=(15,11)

验证过程:使用上面一样的符号规则,收到Signature(M) = ( r, s)=(15,11) 的签名结果, 验证过程如下: 1、计算 H = 58 (假设内容) 2、计算 u1 = mod n=58*79 mod 217=25, (1/s 模逆:79) u2 = mod n = 1579 mod 217=100 3、计算 R = (, ) = u1G + u2Q= 25(2,2) + 100(165,33)=(160,175)+ (5,11)=(15,171) 4、令 v = mod n = 15 mod 217 =15=r 验证该签名为有效。

正如上一节所说一样, 实用的椭圆曲线算法选择是非常大的整数作为各个参数,但原理是一样的。

下一节讲迪菲赫尔曼密钥交换过程。 欢迎关注转发, 疑问请留言!!

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/21868.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学-签名过程

提供最优质的资源集合

立即查看 了解详情