I received a Ph.D. in 2008 under the direction of Prof. Serge Vaudenay , head of the Cryptography and Security Laboratory (LASEC) at EPFL, Switzerland. My main research areas cover block ciphers and their cryptanalysis. I then spent some time in Belgium where I worked as a consultant and researcher for Smals.
Platform58 - 58 rue de la Victoire
75009, Paris, France
|first.last @ olvid.io|
A longstanding problem in cryptography is the generation of publicly verifiable randomness. In particular, public verifiability allows to generate parameters for a cryptosystem in a way people can legitimately trust. There are many examples of standards using arbitrary constants which are now challenged and criticized for this reason, some of which even being suspected of containing a trap. Several sources of public entropy have already been proposed such as lotteries, stock market prices, the bitcoin blockchain, board games, or even Twitter and live webcams.
In this article, we propose a way of combining lotteries from several different countries that requires an adversary to manipulate several independent draws in order to introduce a trap in the generated cryptosystem. Each and every time a new source of public entropy is suggested, it receives its share of criticism for being “easy to manipulate”. We do not expect our solution to be an exception on this aspect, and will gladly receive any suggestion allowing to increase the confidence in the cryptosystem parameters we generate.
Our method allows to build what we call a Publicly verifiable RNG, from which we extract a seed that is used to instantiate and initialize a Blum-Blum-Shub random generator. We then use the binary stream produced by this generator as an input to a filtering function which deterministically outputs secure and uniformly distributed parameters from uniform bitstreams.
We apply our methodology to the ECDH cryptosystem, and propose the Million Dollar Curve as an alternative to curves P-256 and Curve25519.
Have a look at the Million Dollar Curve website for details!