Rahul Sharma (Editor)

Verifiable random function

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In cryptography, the concept of a verifiable random function was introduced by Micali, Rabin, and Vadhan. It is a pseudo-random function that provides publicly verifiable proofs of its outputs' correctness. Given an input value x, the owner of the secret key SK can compute the function value y = FSK(x) and the proof pSK(x). Using the proof and the public key P K = g S K , everyone can check that the value y = FSK(x) was indeed computed correctly, yet this information cannot be used to find the secret key.

The original construction was rather inefficient. Later, an efficient and practical verifiable random function was proposed by Yevgeniy Dodis and Aleksandr Yampolskiy. In their construction,

F S K ( x ) = e ( g , g ) 1 / ( x + S K ) and p S K ( x ) = g 1 / ( x + S K ) ,

where e(·,·) is a bilinear map. To verify whether F S K ( x ) was computed correctly or not, one can check if e ( g x P K , p S K ( x ) ) = e ( g , g ) .

The proof of security relies on a new decisional bilinear Diffie-Hellman inversion assumption, which asks given ( g , g x , , g ( x q ) , R ) as input to distinguish R = e ( g , g ) 1 / x from random.

References

Verifiable random function Wikipedia