VRF00—Python实现 

WX20190319-165339@2x.png

        VRF基于公钥体系,从目录可以看出有RSAEC两个版本,本文带大家走一遍RSA版本的实现,由于算法持续更新,本文采用最早的00版本进行讲解,并以Python实现。

整个体系涉及如下7个函数:

1RSAFDHVRF_prove(K,alpha)

2MGF1(mgfSeed,maskLen)

3OS2IP(x)I2OSP(x)

4RSASP1(K,m)

5RSAFDHVRF_proof2hash(pi)

6RSAFDHVRF_verify((n,e),alpha,pi)

7RSAVP1((n, e), s)


  •         RSAFDHVRF_prove(K,alpha)

        可以看到函数的定义 

WX20190319-165425@2x.png


        输入:密钥和待签名的消息。注意,密钥在代码中的表现形式通常是类或对象,而不是字符串,那么该对象中哪些具体的属性参与计算呢,稍后介绍。