SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust Cryptography Projects
-
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.
-
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.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
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).
-
multi-party-ecdsa
Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
-
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.
-
tfhe-rs
TFHE-rs: A Pure Rust implementation of the TFHE Scheme for Boolean and Integer Arithmetics Over Encrypted Data.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Pingora: HTTP Server and Proxy Library, in Rust, by Cloudflare, Released | news.ycombinator.com | 2024-02-28
Only XMR and GRIN. Everything else lacks transactional uniformity, or is centralized corpo garbage, or both!
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.
Project mention: SnarkOS: A Decentralized Operating System for Zero-Knowledge Applications | /r/hypeurls | 2023-06-27
I just picked Dioxus to build a decentralized homepage for Freenet[1], it will be the first decentralized website people see when they get Freenet set up. It reminds me a bit of my Kotlin web framework called Kweb[2] that I've been working on on-and-off for a few years now, particularly the way it handles state and the DSL that maps from code to HTML. So far I like what I see.
[1] https://freenet.org/
[2] https://kweb.io/
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-09I 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!
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
Project mention: Speeding up lemmeknow by transposing Lazy<Vec<_>> | /r/rust | 2023-05-20You might have heard about lemmeknow, if not, it's a tool that can identify any* text or analyze strings from file.
Project mention: Show HN: Turn ML/AI models into zero-knowledge proofs | news.ycombinator.com | 2023-10-14
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
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.
[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 }
Project mention: (Why) is a toy password manager a too complex summer project? | /r/rust | 2023-06-03I 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.
Rust Cryptography related posts
-
Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
-
Alt to Ngrok, Written in Rust
-
Pingora: HTTP Server and Proxy Library, in Rust, by Cloudflare, Released
-
Social Media First Amendment Cases
-
AWS Libcrypto for Rust
-
How we built a Swift app that uses Rust
-
Boletín AWS Open Source, Christmas Edition
-
A note from our sponsor - SaaSHub
www.saashub.com | 1 May 2024
Index
What are some of the best open-source Cryptography projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | rustls | 5,456 |
2 | grin | 5,041 |
3 | Ockam | 4,352 |
4 | snarkOS | 3,859 |
5 | freenet-core | 2,024 |
6 | CYFS | 1,987 |
7 | hashes | 1,673 |
8 | rust-crypto | 1,357 |
9 | rust-openssl | 1,320 |
10 | exonum | 1,228 |
11 | mundane | 1,069 |
12 | s2n-quic | 1,066 |
13 | rosenpass | 992 |
14 | snarkVM | 959 |
15 | multi-party-ecdsa | 940 |
16 | lemmeknow | 855 |
17 | ezkl | 829 |
18 | curve25519-dalek | 827 |
19 | noir | 792 |
20 | tfhe-rs | 761 |
21 | ed25519-dalek | 657 |
22 | halo2 | 649 |
23 | RustCrypto | 641 |
Sponsored