A suite of cryptographic libraries and protocol implementations, written in the systems programming language Rust, for creating blazingly-fast, production-quality cryptographic applications.
A small collection of Rust traits and utility functions for writing constant-time code.
A memory-safe, fast, and efficient ed25519 signing and signature verification implementation which supports a well-designed API and friendly error management.
Elliptic curve Diffie-Hellman key exchange, made so simple-to-use you'll wonder why your application wasn't using it already. Now with adorable kittens!
dalek-cryptography is a collection of libraries providing safe, mid-level APIs for cryptographic primitives, aimed at making it faster and easier to implement cryptographic protocols such as key agreement, signatures, anonymous credentials, range proofs, and zero-knowledge proof systems.
Other libraries aim to provide well-designed APIs for protocol users, but do not aim to provide well-designed API for protocol implementers. The result is that implementing new protocols often requires using unsafe internal APIs which were never intended for reuse.
Our goal is to provide both safe, mid-level APIs aimed at implementors of cryptographic protocols, as well as implementations providing safe, high-level APIs aimed at users of cryptographic protocols.
We hope to stabilise these libraries to production-quality versions soon, but—for now—they should be used for research.