Introduction | Library purposes | Dependencies | Deterministic RNG| Support | License
Welcome to Virgil Pythia Library!
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.
Pythia Library allows developers to implement Pythia service and client flows using the supplied functions.
- Multithread:
- openmp (optional)
- pthread (optional)
-
when TIMER eqals CYCLE (optional)
- intitialization occurs within function
arch_init()
- intitialization occurs within function
-
random number generator
CryptGenRandom
on Windows/dev/random
on Unix/Linux/dev/urandom
on Unix/Linuxlibc rand()/random()
is crossplatform (insecure!)zero seed
is a crossplatform (insecure!)custom
can be defined on a client side for any platform
This library is released under the AGPL-3.0 license.
Our developer support team is here to help you. Find out more information on our Help Center.
You can find us on Twitter or send us email support@VirgilSecurity.com.
Also, get extra help from our support team on Slack.