https://github.com/virgilsecurity/virgil-pythia
Virgil Pythia Library
https://github.com/virgilsecurity/virgil-pythia
library password-protection pythia pythia-library virgil-pythia
Last synced: 6 months ago
JSON representation
Virgil Pythia Library
- Host: GitHub
- URL: https://github.com/virgilsecurity/virgil-pythia
- Owner: VirgilSecurity
- License: agpl-3.0
- Created: 2018-03-11T21:31:39.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-28T09:40:41.000Z (over 6 years ago)
- Last Synced: 2025-03-24T09:05:19.845Z (7 months ago)
- Topics: library, password-protection, pythia, pythia-library, virgil-pythia
- Language: C++
- Homepage: https://virgilsecurity.com/
- Size: 239 KB
- Stars: 4
- Watchers: 7
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pythia Library
[](https://travis-ci.org/VirgilSecurity/pythia)
[](https://github.com/VirgilSecurity/virgil/blob/master/LICENSE)[Introduction](#introduction) | [Library purposes](#library-purposes) | [Dependencies](#dependencies) | [Deterministic RNG](#deterministic-rng)| [Support](#support) | [License](#license)
## Introduction
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](http://pages.cs.wisc.edu/~ace/papers/pythia-full.pdf), 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## License
This library is released under the [AGPL-3.0 license](LICENSE).
## Support
Our developer support team is here to help you. Find out more information on our [Help Center](https://help.virgilsecurity.com/).You can find us on [Twitter](https://twitter.com/VirgilSecurity) or send us email support@VirgilSecurity.com.
Also, get extra help from our support team on [Slack](https://virgilsecurity.com/join-community).