Rust Cryptography

Open-source Rust projects categorized as Cryptography

Top 23 Rust Cryptography Projects

  • rustls

    A modern TLS library in Rust

    Project mention: Pingora: HTTP Server and Proxy Library, in Rust, by Cloudflare, Released | | 2024-02-28
  • grin

    Minimal implementation of the Mimblewimble protocol.

    Project mention: Which other cryptos do you like, and why? | /r/Monero | 2023-05-08

    Only XMR and GRIN. Everything else lacks transactional uniformity, or is centralized corpo garbage, or both!

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • Ockam

    Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.

    Project mention: How we built a Swift app that uses Rust | | 2023-12-28

    🚀 Portals for Mac – A macOS app built in Swift that uses the Ockam Rust library to privately share a service on your Mac with anyone, anywhere. The service is shared securely over an end-to-end encrypted and mutually authenticated Ockam Portal. Your friends will have access to it on their localhost! This app is a great example of the kinds of things you can build with Ockam 👉

  • snarkOS

    A Decentralized Operating System for ZK Applications

    Project mention: SnarkOS: A Decentralized Operating System for Zero-Knowledge Applications | /r/hypeurls | 2023-06-27
  • freenet-core

    Declare your digital independence

    Project mention: Social Media First Amendment Cases | | 2024-02-27

    I find that surprising, even in 2010 it was difficult to find illegal content on Freenet unless you were looking at it - and certainly in recent years it's virtually impossible, the default indexes are carefully vetted.

    In any case, the original Freenet was never going to be a general-purpose replacement for today's centralized services. For the past few years we've been working on a sequel to Freenet, you can learn about it at

  • CYFS

    CYFS is the next-generation technology to build real Web3 by upgrading the basic protocol of Web (TCP/IP+DNS+HTTP),is short for CYberFileSystem., cyfs://cyfs/index_en.html.

  • hashes

    Collection of cryptographic hash functions written in pure Rust

    Project mention: Hey Rustaceans! Got a question? Ask here (15/2023)! | /r/rust | 2023-04-10

    If found this set of crates for other algorithms : And also found this set of crates that seem to include a lot of block cyphers : Even if "des" is listed as a crate in this last link, it doesn't seem to provide the DES algorithm entirely.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • rust-crypto

    A (mostly) pure-Rust implementation of various cryptographic algorithms.

  • rust-openssl

    OpenSSL bindings for Rust

    Project mention: What are the scenarios where "Rewrite it in Rust" didn't meet your expectations or couldn't be successfully implemented? | /r/rust | 2023-06-09

    I also studied this question on FFI several weeks ago in terms of "rewrite part of the system in Rust". Unexpected results could be semantic issues (e.g., different error handling methods) or security issues (FFI could be a soundness hole). I suggest going through the issues of libraries that have started rewriting work such as rust-openssl or rustls (This is the one trying to rewrite in whole rust rather than using FFI; however, you will not be able to find the mapping function in the C version and compare them). I hope this helps!

  • exonum

    An extensible open-source framework for creating private/permissioned blockchain applications

  • mundane

    Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).

  • s2n-quic

    An implementation of the IETF QUIC protocol

    Project mention: Boletín AWS Open Source, Christmas Edition | | 2023-12-24
  • rosenpass

    Rosenpass is a post-quantum-secure VPN that uses WireGuard to transport the actual data.

  • multi-party-ecdsa

    Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).

  • snarkVM

    A Virtual Machine for Zero-Knowledge Executions

    Project mention: 2023/5/23 Community Announcements | /r/Aleo | 2023-05-22

    Core Engineering Updates Merges: snarkVM Refactors coinbase and snark in synthesizer Moves Deployment, Execution, and Fee to the block folder Moves Transaction executors to VM Migrates finalize operation to the block folder Introduce complete abstractions for Stack and Registers snarkOS Reduce maximum handshake message size Use blocking tasks for some heavy inbound operations Feature-gate jemalloc Jemalloc no default features Deduplicate peer IP in logs Enforce a 1s raw TCP connection timeout leo No substantial updates

  • lemmeknow

    The fastest way to identify anything!

    Project mention: Speeding up lemmeknow by transposing Lazy<Vec<_>> | /r/rust | 2023-05-20

    You might have heard about lemmeknow, if not, it's a tool that can identify any* text or analyze strings from file.

  • curve25519-dalek

    A pure-Rust implementation of group operations on Ristretto and Curve25519

  • ezkl

    ezkl is an engine for doing inference for deep learning models and other computational graphs in a zk-snark (ZKML). Use it from Python, Javascript, or the command line.

    Project mention: Show HN: Turn ML/AI models into zero-knowledge proofs | | 2023-10-14
  • noir

    Noir is a domain specific language for zero knowledge proofs

    Project mention: [Aztec Noir + Scroll] Crea ZK DApps fácil | | 2023-11-07

    mkdir -p $HOME/.nargo/bin && \ curl -o $HOME/.nargo/bin/nargo-x86_64-unknown-linux-gnu.tar.gz -L && \ tar -xvf $HOME/.nargo/bin/nargo-x86_64-unknown-linux-gnu.tar.gz -C $HOME/.nargo/bin/ && \ echo 'export PATH=$PATH:$HOME/.nargo/bin' >> ~/.bashrc && \ source ~/.bashrc

  • ed25519-dalek

    Fast and efficient ed25519 signing and verification in Rust.

  • tfhe-rs

    TFHE-rs: A Pure Rust implementation of the TFHE Scheme for Boolean and Integer Arithmetics Over Encrypted Data.

    Project mention: Homomorphic Encryption: Universality at a Cost | /r/privacy | 2023-06-05

    Yes, there are working FHE systems: e.g., TFHE-rs by Zama. Unfortunately, it requires a pretty low-level representation of the computation of interest (as a Boolean circuit), and the resulting performance overhead is a bit too high (e.g., comparing two 32-bit integers takes around 9 seconds on a single core), but IMO it's already in the state where a few select applications are becoming possible via FHE.

  • RustCrypto

    Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers

    Project mention: (Why) is a toy password manager a too complex summer project? | /r/rust | 2023-06-03

    I would say a toy (or personal-use-only) password manager is a relatively simple project. If we are to forget about the GUI parts, you need to determine serialization of your password database (bincode + serde should be enough) and how to encrypt it. For the latter you need only two algorithms: a password hash for deriving encryption key from password and optional salt (the latter is usually randomly generated and stored as a "key file"), and an AEAD algorithm for encrypting and decrypting serialized database. There are certain pitfalls with encryption (e.g. you should not reuse nonce with the same key, especially with modes like GCM) and with properly erasing sensitive data from memory, as well as preventing it from leaking to things like swap, but learning about those is part of the learning experience.

  • halo2

    The Halo2 zero-knowledge proving system

    Project mention: Escalando Ethereum con Halo2 [ZK ES Semana 5] | | 2023-06-24

    [package] name = "fibonacci" version = "0.1.0" edition = "2023" # See more keys and their definitions at [lib] name = "halo2_examples" path = "src/" [features] dev-graph = ["halo2_proofs/dev-graph", "plotters"] [dependencies] halo2_proofs = { git = "", rev = "a898d65ae3ad3d41987666f6a03cfc15edae01c4"} plotters = { version = "0.3.0", optional = true } tabbycat = { version = "0.1", features = ["attributes"], optional = true }


    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-28.

Rust Cryptography related posts


What are some of the best open-source Cryptography projects in Rust? This list will help you:

Project Stars
1 rustls 5,239
2 grin 5,032
3 Ockam 4,293
4 snarkOS 3,613
5 freenet-core 1,996
6 CYFS 1,980
7 hashes 1,615
8 rust-crypto 1,353
9 rust-openssl 1,280
10 exonum 1,226
11 mundane 1,066
12 s2n-quic 1,045
13 rosenpass 963
14 multi-party-ecdsa 918
15 snarkVM 879
16 lemmeknow 833
17 curve25519-dalek 807
18 ezkl 771
19 noir 755
20 ed25519-dalek 652
21 tfhe-rs 626
22 RustCrypto 616
23 halo2 608
Learn 300+ open source libraries for free using AI.
LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!