awesome-cryptography-rust
Collect libraries and packages about cryptography in Rust.
https://github.com/rust-cc/awesome-cryptography-rust
Last synced: 18 days ago
JSON representation
Cryptography
Asymmetric Cryptography
Attack Defense
- subtle-encoding - time(ish).
- Zeroize
- subtle - Rust traits and utilities for constant-time cryptographic implementations.
Collection library
- libsm
- mesalink - compatible TLS library.
- rage - style composability.
- ring - gcm, sha-256, sha-384, sha-512, hmac, hkdf, pbkdf2, p-256, p-384, x25519, chacha20-poly1305, ed25519).
- rust-crypto - Rust implementation of various cryptographic algorithms.
- sodiumoxide
- rustls
- orion - Rust crypto.
Digital Signature
- bls
- bls-signatures
- ed25519-dalek
- milagro_bls - 381 cryptography using Apache Milagro.
- signatures
- multiproof-rs
- threshold_crypto - based threshold cryptosystem for collaborative decryption and signatures.
- nisty - 256 signatures for Cortex-M4 microcontrollers.
- multi-party-ecdsa - threshold ECDSA (elliptic curve digital signature algorithm).
- multi-party-schnorr - party Schnorr signatures over elliptic curves.
Hash Function
- BLAKE3
- hashes - 160, RIPEMD-320, GOST94, Grøstl, Streebog, Whirlpool).
- tiny-keccak - 3, SHAKE, Keccak, and sha3sum in rust.
- poseidon252
Homomorphic Encryption
Message Authentication Code
Others
- Double Ratchet
- KDFs
- librustzcash - language assets for Zcash. (bellman-zk-SNARK, pairing-elliptic curves).
- PAKEs - Authenticated Key Agreement protocols. (SRP, spake2).
- rcmixed
- RustySecrets
- schnorrkel
- vdf
- Ronkathon
- opaque-ke - krawczyk-cfrg-opaque/) PAKE.
- cryptography.rs - quality cryptography libraries developed by contributors of the Rust Community.
- kms-secp256k1
- MLSAG
- password-hashing - based key derivation functions. (PBKDF2, scrypt).
Rseudo Random Number Generator
- rand
- tempest-rng - 17.7 Gbit/s CSPRNG with provable security
Secure Multi-party Computation
Symmetric cryptography
Theorem
- k256
- p256 - 256 implementation using complete Weierstrass formulas
- fiat-crypto
- num
- rust-decimal
- BLS12-381 - 381 pairing-friendly elliptic curve group.
- bn - hackworks/bn) Pairing cryptography library in Rust. Barreto-Naehrig (BN).
- curve25519-dalek
- Jubjub
- rust-secp256k1 - bitcoin).
- nalgebra
- ultrafast-secp256k1-sys - capable builds.
- libsecp256k1-rs
Zero Knowledge Proofs
- bellman - SNARK library. (zcash - librustzcash).
- bellman (matter-labs)
- bulletproofs (Dalek) - Rust implementation of Bulletproofs using Ristretto.
- Dusk-Zerocaf - friendly cryptographic operations.
- halo (prototype)
- merlin - coin arguments of knowledge.
- OpenZKP - Knowledge Proof systems.
- rust-secp256k1-zkp - secp256k1, adds wrappers for range proofs, pedersen commitments, etc.
- sonic - knowledge proofs of arbitrary computations.
- Spartan - speed zkSNARKs without trusted setup.
- ZoKrates
- Protocol - scheme decomposition) and a Freivalds-style audit, as the compute layer of a Proof-of-Useful-Work consensus.
- bellman (filecoin-project)
- bulletproofs (KZen-networks)
- marlin
- zexe