Jump to content

Verifiable random function

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Pomme.de.lait (talk | contribs) at 19:24, 23 January 2014 (Added link for Micali.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In cryptography, the concept of a verifiable random function was introduced by Micali, Rabin, and Vadhan.[1] 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 , 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. Recently, an efficient and practical verifiable random function was proposed by Yevgeniy Dodis and Aleksandr Yampolskiy.[2] In their construction,

where e(·,·) is a bilinear map. To verify whether was computed correctly or not, one can check if .

The proof of security relies on a new decisional bilinear Diffie-Hellman inversion assumption, which asks given as input to distinguish from random.

References

  1. ^ Micali, Silvio (1999). "Verifiable random functions". Proceedings of the 40th IEEE Symposium on Foundations of Computer Science. pp. 120–130. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  2. ^ Dodis, Yevgeniy (2005). "A Verifiable Random Function With Short Proofs and Keys". 8th International Workshop on Theory and Practice in Public Key Cryptography. pp. 416–431. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)