Awesome
Pythia Library
Introduction | Library purposes | Dependencies | Deterministic RNG| Support | License
Introduction
<a href="https://developer.virgilsecurity.com/docs"><img width="230px" src="https://cdn.virgilsecurity.com/assets/images/github/logos/virgil-logo-red.png" align="left" hspace="10" vspace="6"></a> 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.
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()
- 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
License
This library is released under the AGPL-3.0 license.
Support
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.