区块链中的数学-VRF基于ECC公钥体制的证明验证过程
这篇文章主要介绍了区块链中的数学-VRF基于ECC公钥体制的证明验证过程 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。
https://www.interchains.cc/17919.html
区块链中的数学-VRF基于ECC公钥体制的证明验证过程是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-VRF基于ECC公钥体制的证明验证过程学习起来其实是很简单的,
不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学-VRF基于ECC公钥体制的证明验证过程比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难
区块链blockchain中的数学-VRF基于ECC公钥体制的证明验证过程
- 区块链blockchain中的数学
- VRF
- 椭圆曲线
本文主要介绍了VRF基于ECC公钥体制的证明验证过程, 基于前一文的基础,本篇顺理成章地说明了验证的内在逻辑,别的地方很难有这样的内在分析!
写在前面
上一节说了基于椭圆曲线的VRF证明生成,利用了椭圆曲线的性质。
本文继续讲基于椭圆曲线秘钥体制的VRF证明验证的过程,关于椭圆曲线算法的知识如果不熟悉,可先参考文末“相关阅读”部分。
本文中用到的符号含义同上篇,不再解释。
ECVRF验证
验证方法如下:
方法: ECVRF_verify(Y, pi_string, alpha_string)
参数: Y – 公钥
pi_string – VRF 生成的证明, 长度 ptLen + n + qLen
alpha_string – 原始输入消息
返回值:
valid – 是否验证通过
执行主要过程:
-
还原证明结构,D = ECVRF_decode_proof(pi_string)
-
检验 D 合法性,如非法则停止
-
解构D内容, (Gamma, c, s) = D
-
映射曲线上的点H = ECVRF_hash_to_curve(suite_string, Y, alpha_string)
-
计算U = s B – c Y
-
计算 V = s H – c Gamma
-
令c’ = ECVRF_hash_points(H, Gamma, U, V),对若干点做散列
-
检验c == c’ 则合法, 否则返回非法 (Optional:如果合法同时计算出proof散列:ECVRF_proof_to_hash(pi_string))
过程总体比较清晰,涉及到的方法在上一文中进行了简要说明,不懂的可以回头看。
事出必有因,为什么这样验证是正确的做法?得从原理上分析。
原理说明
由于c’ = ECVRF_hash_points(H, Gamma, U, V), 只要参数H, Gamma, U, V与证明生成过程是一样的值,自然就能满足c == c’。
首先, 容易得到H,Gamma在证明生成和验证期间值是相同的,因为计算方式和参数完全一致。 再次,需要证明U = k B, V = k H。
验证过程中:
U = s B – c Y = s B – c x B = (s – c x)* B
由生成过程知 s = (k + c x ) –> s – c x = k
代入得 U = k * B 得证。
V = s H – c Gamma = s H – c x H = (s – c x) H = k H
全部得证。
小结
本文主要介绍了VRF基于ECC公钥体制的证明验证过程, 基于前一文的基础,本篇顺理成章地说明了验证的内在逻辑,别的地方很难有这样的内在分析!还是那句话:
知其然知其所以然,是我们一贯坚持的原则!
具体实现中还会有不少细节, 如如何将任意字符串映射到曲线上的point等。 好在已有成熟的实现库了,例如libsodium中的ECVRF-EDWARDS25519-SHA512-Elligator2, Google实现的ECVRF-P256-SHA256-TAI等,可自行查阅。
到此我们已经介绍了椭圆曲线基本性质,原理和两种实例:SM2&secp256k1具体算法,但是远未结束。
下一篇继续说椭圆曲线类别中的爱德华曲线(Edwards curve),这在一些区块链blockchain项目中已经被采用!
欢迎关注公众号:blocksight
相关阅读:
区块链blockchain中的数学-基于椭圆曲线的VRF证明生成
区块链blockchain中的数学-基于RSA的VRF实现)
区块链blockchain中的数学-RSA签名过程!
区块链blockchain中的数学-RSA加解密原理
区块链blockchain中的数学-VRF(随机可验证函数)概述
区块链blockchain中的数学-射影平面与椭圆曲线方程
区块链blockchain中的数学-椭圆曲线上的群及代数运算
区块链blockchain中的数学-离散域模素数上的加法&椭圆曲线中离散对数问题
区块链blockchain中的数学-椭圆曲线加密原理和实例演练
区块链blockchain中的数学-椭圆曲线进行签名和验证过程
区块链blockchain中的数学-Uniwap核心算法解析-完结篇
区块链blockchain中的数学-Uniwap核心算法解析(下)
区块链blockchain中的数学-Uniwap核心算法解析(中)
区块链blockchain中的数学-Uniwap自动化做市商核心算法解析(上)
部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/17919.html
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学-VRF基于ECC公钥体制的证明验证过程