区块链中的数学-VRF基于ECC公钥体制的证明验证过程

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

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

区块链中的数学-VRF基于ECC公钥体制的证明验证过程是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-VRF基于ECC公钥体制的证明验证过程学习起来其实是很简单的,

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

区块链blockchain中的数学-VRF基于ECC公钥体制的证明验证过程

本文主要介绍了VRF基于ECC公钥体制的证明验证过程, 基于前一文的基础,本篇顺理成章地说明了验证的内在逻辑,别的地方很难有这样的内在分析!

写在前面

上一节说了基于椭圆曲线的VRF证明生成,利用了椭圆曲线的性质。

本文继续讲基于椭圆曲线秘钥体制的VRF证明验证的过程,关于椭圆曲线算法的知识如果不熟悉,可先参考文末“相关阅读”部分。

本文中用到的符号含义同上篇,不再解释。

ECVRF验证

验证方法如下:

方法: ECVRF_verify(Y, pi_string, alpha_string)

参数: Y – 公钥

pi_string – VRF 生成的证明, 长度 ptLen + n + qLen

alpha_string – 原始输入消息

返回值:

valid – 是否验证通过

执行主要过程:

  1. 还原证明结构,D = ECVRF_decode_proof(pi_string)

  2. 检验 D 合法性,如非法则停止

  3. 解构D内容, (Gamma, c, s) = D

  4. 映射曲线上的点H = ECVRF_hash_to_curve(suite_string, Y, alpha_string)

  5. 计算U = s B – c Y

  6. 计算 V = s H – c Gamma

  7. 令c’ = ECVRF_hash_points(H, Gamma, U, V),对若干点做散列

  8. 检验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/17920.html

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

提供最优质的资源集合

立即查看 了解详情