VRF
理解VRF之前,需要先理解带秘钥的哈希函数,和传统的哈希函数不同,带秘钥的哈希函数在计算HASH数值的时候引入了一个不公开的秘钥,这样为从明文到HASH数值计算之间添加了一定的难度,这个难度就是由秘钥引入的。我们简单的定义一个带秘钥的HASH函数为如下的形式:
hash_value=HASH(pri_key, message)
那么当我们拥有了计算出来的hash_value和数据message,我们需要知道pri_key才可以验证hash_value是否由message通过HASH函数生成。一般我们知道秘钥pri_key对于我们信息安全的重要性。因此现在引出来如下的问题:
- 对外只暴露pri_key对应的pub_key
- 在不暴露pri_key的情况下,验证hash_value和message之间是匹配的
为了实现上面的目的,于是就有了可验证随机函数VRF,现在我们一步一步看其实如何工作的:
step 1 : 生成一对公私钥,分别为pri_key和pub_key
step 2 :计算hash_value=VRF_HASH(pri_key, message)
step 3 :计算proof_value=VRF_PROOF(pri_key, message)
step 4 : 现在将hash_value和proof_value提供给验证者
step 5 : 验证者拿到hash_value和proof_value计算hash_value=VRF_P2H(proof_value)
step 6 : 如果step5成功,则验证者计算VRF_VERIFY(pub_key, message, proof)
step 7 : 如果step6返回true则表示验证通过,否则验证失败
梳理一下我们可以这样理解,首先验证proof是否是由message生成的,然后验证proof是否可以就散出hash_value,这样我们就可以推理出hash_value是否由message生成,并且能找到过程中proof是否出现问题。过程中三个关键函数
- VRF_HASH
- VRF_PROOF
- VRF_VERIFY
就会我们事先VRF的关键
相关阅读
原文链接:https://zhuanlan.zhihu.com/p/29429006DFINITY的阈值接力结构与可验证随机函数(VRF)密切相关,VRF算法作为一种基于密码学的
首先第一步是创建Java 接下来开始我们随机函数的代码块 package first; import java.util.StringTokenizer; public class First
随机函数指随机生成没有规律的数值,有随机小数和随机整数。在excel当中该如何使用呢?下面随seo实验室小编一起看看吧。Excel使用随
在excel中有时候会用到随机函数,其中rand函数是一个可以生成随机数的函数,成数范围是大于等于0小于1,今天,seo实验室小编就教大家在在
Excel中经常需要使用到随机函数随机生成一些数字,随机函数具体该如何使用呢?下面是seo实验室小编带来的关于excel2003随机函数的使