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 | news.ycombinator.com | 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!

  • 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.

  • Ockam

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

    Project mention: Tunnelmole, an ngrok alternative (open source) | news.ycombinator.com | 2024-03-21

    disclosure: I work at Ockam.

    The Portals for Mac app is an example of the type of thing you could build using the open source stack of protocols. The README (linked by parent) links out to all of the relevant parts of the protocol documentation to explain how these work together. The NAT Traversal (https://github.com/build-trust/ockam/blob/develop/examples/a...) part of the README is probably the best explanation of why the free relay you get via Ockam Orchestrator is a useful part of this demo.

    As for why would anyone trust this: The protocols are designed so you absolutely don't have to trust the relay. Trust is pushed out to the edges that you control and so you're not susceptible to a MITM attack if something like a relay is compromised. The protocol design for all of this is open and documented, and was independently audited by (IMO) some of the best in the business, Trail of Bits: https://docs.ockam.io/reference/protocols.

  • 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 | news.ycombinator.com | 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 https://freenet.org/.

  • 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. https://www.cyfs.com/, 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 : https://github.com/RustCrypto/hashes And also found this set of crates that seem to include a lot of block cyphers : https://github.com/RustCrypto/block-ciphers Even if "des" is listed as a crate in this last link, it doesn't seem to provide the DES algorithm entirely.

  • WorkOS

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

  • 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 | dev.to | 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 https://github.com/AleoHQ/snarkVM/pull/1543: Refactors coinbase and snark in synthesizer https://github.com/AleoHQ/snarkVM/pull/1544: Moves Deployment, Execution, and Fee to the block folder https://github.com/AleoHQ/snarkVM/pull/1545: Moves Transaction executors to VM https://github.com/AleoHQ/snarkVM/pull/1546: Migrates finalize operation to the block folder https://github.com/AleoHQ/snarkVM/pull/1547: Introduce complete abstractions for Stack and Registers snarkOS https://github.com/AleoHQ/snarkOS/pull/2391: Reduce maximum handshake message size https://github.com/AleoHQ/snarkOS/pull/2392: Use blocking tasks for some heavy inbound operations https://github.com/AleoHQ/snarkOS/pull/2393: Feature-gate jemalloc https://github.com/AleoHQ/snarkOS/pull/2395: Jemalloc no default features https://github.com/AleoHQ/snarkOS/pull/2396: Deduplicate peer IP in logs https://github.com/AleoHQ/snarkOS/pull/2397: 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 | news.ycombinator.com | 2023-10-14
  • noir

    Noir is a domain specific language for zero knowledge proofs

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

    mkdir -p $HOME/.nargo/bin && \ curl -o $HOME/.nargo/bin/nargo-x86_64-unknown-linux-gnu.tar.gz -L https://github.com/noir-lang/noir/releases/download/v0.17.0/nargo-x86_64-unknown-linux-gnu.tar.gz && \ 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

  • 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.

  • ed25519-dalek

    Fast and efficient ed25519 signing and verification in Rust.

  • halo2

    The Halo2 zero-knowledge proving system

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

    [package] name = "fibonacci" version = "0.1.0" edition = "2023" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "halo2_examples" path = "src/lib.rs" [features] dev-graph = ["halo2_proofs/dev-graph", "plotters"] [dependencies] halo2_proofs = { git = "https://github.com/zcash/halo2.git", rev = "a898d65ae3ad3d41987666f6a03cfc15edae01c4"} plotters = { version = "0.3.0", optional = true } tabbycat = { version = "0.1", features = ["attributes"], optional = true }

  • 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.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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-03-21.

Rust Cryptography related posts

Index

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

Project Stars
1 rustls 5,375
2 grin 5,038
3 Ockam 4,323
4 snarkOS 3,746
5 freenet-core 2,013
6 CYFS 1,984
7 hashes 1,640
8 rust-crypto 1,357
9 rust-openssl 1,303
10 exonum 1,229
11 mundane 1,070
12 s2n-quic 1,056
13 rosenpass 982
14 multi-party-ecdsa 930
15 snarkVM 925
16 lemmeknow 843
17 curve25519-dalek 813
18 ezkl 798
19 noir 759
20 tfhe-rs 718
21 ed25519-dalek 656
22 halo2 630
23 RustCrypto 627
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com