Collect libraries and packages about cryptography in Rust.
- Collection Library
- Symmetric
- Public-key / Asymmetric
- One-way Hash Function
- Message Authentication Code (MAC)
- Digital Signature
- Rseudo Random Number Generator (PRNG)
- Zero-Knowledge Proofs (ZKP)
- Homomorphic Encryption (HE)
- Secure Multi-party Computation (MPC)
- Theorem
- Attack Defense
- Others Wait to List
- libsm A Rust Library of China's Standards of Encryption Algorithms (SM2/3/4).
- mesalink MesaLink is a memory safe and OpenSSL-compatible TLS library.
- orion Usable, easy and safe pure-Rust crypto.
- rage age implementation. A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability.
- ring Safe, fast, small crypto using Rust. (curve25519, aes-gcm, sha-256, sha-384, sha-512, hmac, hkdf, pbkdf2, p-256, p-384, x25519, chacha20-poly1305, ed25519).
- rust-crypto A (mostly) pure-Rust implementation of various cryptographic algorithms.
- rustls A modern TLS library in Rust.
- sodiumoxide Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium).
- aeads: Collection of Authenticated Encryption with Associated Data algorithms written in pure Rust.
- block-ciphers Collection of block cipher algorithms written in pure Rust. (AES, Blowfish, DES + 3DES, Kuznyechik, Magma, RC2, Twofish).
- stream-ciphers Collection of stream cipher algorithms.
- RSA RSA implementation in pure Rust. (PKCS1v1.5: Encryption & Decryption, Sign & Verify).
- x25519-dalek Fast and efficient ed25519 signing and verification in Rust.
- BLAKE3 Official implementations of the BLAKE3 cryptographic hash function.
- hashes Collection of cryptographic hash functions written in pure Rust. (sha1, sha2, sha3, md4, md5, BLAKE2, RIPEMD-160, RIPEMD-320, GOST94, Grøstl, Streebog, Whirlpool).
- tiny-keccak A tiny implementation of SHA-3, SHAKE, Keccak, and sha3sum in rust.
- poseidon252 Starkad and Poseidon: New Hash Functions for Zero Knowledge Proof Systems.
- MACs Message authentication code algorithms written in pure Rust. (CMAC, DAA, HMAC, PMAC).
- bls Aggregatable BLS sigantures. (w3f).
- bls-signatures BLS Signatures in Rust.
- ed25519-dalek Fast and efficient ed25519 signing and verification in Rust. (dalek)
- milagro_bls BLS12-381 cryptography using Apache Milagro.
- nisty NIST P-256 signatures for Cortex-M4 microcontrollers.
- signatures Cryptographic signature algorithms (e.g. ECDSA, Ed25519).
- multi-party-ecdsa Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
- multi-party-schnorr Rust implementation of multi-party Schnorr signatures over elliptic curves.
- multiproof-rs A rust implementation of Alexey Akhunov's multiproof algorithm.
- threshold_crypto A pairing-based threshold cryptosystem for collaborative decryption and signatures.
- rand A Rust library for random number generation.
- bellman zk-SNARK library. (zcash - librustzcash).
- bellman (matter-labs) Bellman zkSNARK library for community with Ethereum's BN256 support.
- bellman (filecoin-project) GPU parallel acceleration to the FFT and Multiexponentation algorithms in the groth16 prover.
- bulletproofs (Dalek) A pure-Rust implementation of Bulletproofs using Ristretto.
- bulletproofs (KZen-networks) Bulletproof Rust implementation for Aggregated Range Proofs over multiple elliptic curves.
- Dusk-Zerocaf Fast, efficient and bulletproof-friendly cryptographic operations.
- halo (prototype) a zkp system.
- marlin A Rust library for the Marlin preprocessing zkSNARK.
- merlin Composable proof transcripts for public-coin arguments of knowledge.
- OpenZKP pure Rust implementations of Zero-Knowledge Proof systems.
- rust-secp256k1-zkp ZKP fork for rust-secp256k1, adds wrappers for range proofs, pedersen commitments, etc.
- sonic a protocol for quickly verifiable, compact zero-knowledge proofs of arbitrary computations.
- Spartan High-speed zkSNARKs without trusted setup.
- zexe Rust library for decentralized private computation.
- ZoKrates A toolbox for zkSNARKs on Ethereum.
- Concrete Zama's implementation of fully homomorphic encryption - Enables computations over encrypted data.
- TFHE-rs Pure Rust implementation of the TFHE scheme for boolean and integers FHE arithmetics.
white-city Network layer for MPC protocols.(include use Tendermint/TokioServer/RocketServer).
- fiat-crypto Formally verified arithmetic implementations for several elliptic curves and word sizes, extracted to Rust from specifications written using in the Coq theorem prover.
- nalgebra Linear algebra library for Rust.
- num A collection of numeric types and traits for Rust. (Bigint).
- rust-decimal A Decimal Implementation written in pure Rust suitable for financial calculations.
- BLS12-381 Implementation of the BLS12-381 pairing-friendly elliptic curve group.
- bn Fork from zcash Pairing cryptography library in Rust. Barreto-Naehrig (BN).
- curve25519-dalek Group operations on Ristretto and Curve25519..
- Jubjub Implementation of the Jubjub elliptic curve group.
- k256 Pure Rust implementation of secp256k1 using complete Weierstrass formulas
- libsecp256k1-rs Pure Rust Implementation of secp256k1. (Wei Tang).
- p256 Pure Rust NIST P-256 implementation using complete Weierstrass formulas
- rust-secp256k1 Rust language bindings for Bitcoin secp256k1 library. (rust-bitcoin).
- subtle Pure-Rust traits and utilities for constant-time cryptographic implementations.
- subtle-encoding Hex, Bech32, and Base64 in constant-time(ish).
- Zeroize Securely zero memory while avoiding compiler optimizations.
- Double Ratchet Pure Rust implementation of the Double Ratchet algorithm. (communicate securely).
- kms-secp256k1 Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures.
- KDFs Collection of Key Derivation Functions written in pure Rust.
- librustzcash Rust-language assets for Zcash. (bellman-zk-SNARK, pairing-elliptic curves).
- molasses A Rust implementation of the Message Layer Security group messaging protocol.
- MLSAG Multilayered Linkable Spontaneous Anonymous Group, This particular version leverages Ristretto255.
- password-hashing Password-based key derivation functions. (PBKDF2, scrypt).
- opaque-ke A pure Rust implementation of the recent OPAQUE PAKE.
- PAKEs Password-Authenticated Key Agreement protocols. (SRP, spake2).
- rcmixed Mixed cryptosystem. inspired by PGP.
- RustySecrets A Rust implementation of threshold Shamir's secret sharing.
- schnorrkel Schnorr VRFs and signatures on the Ristretto group.
- vdf An implementation of Verifiable Delay Functions in Rust.
- Ronkathon A number of mathematically transparent well documented implementations of many cryptographic primitives including elliptic curve pairings, KZG proofs, hashes, symmetric, and asymmetric primitive
Contributions are most welcome. Not so many constraints, only lowercase > uppercase, symbols > letters.
This work is licensed under a Creative Commons Attribution 4.0 International License.