Virgil Pythia is a C library which implements all required cryptographic functions and primitives to perform an implementation of Pythia, the most advanced protocol of protecting passwords and generating keys based on passwords.
Pythia’s originators are: Adam Everspaugh and Rahul Chaterjee, University of Wisconsin—Madison; Samuel Scott, University of London; Ari Juels and Thomas Ristenpart, Cornell Tech.
Library purposes
Pythia Library allows developers to implement Pythia service and client flows using the supplied functions.
Dependencies
Libraries
Multithread:
openmp (optional)
pthread (optional)
Platform dependent features
when TIMER eqals CYCLE (optional)
intitialization occurs within function arch_init()
random number generator
CryptGenRandom on Windows
/dev/random on Unix/Linux
/dev/urandom on Unix/Linux
libc rand()/random() is crossplatform (insecure!)
zero seed is a crossplatform (insecure!)
custom can be defined on a client side for any platform