107 Repositories
Rust cryptography Libraries
Mine Bitcoin Addresses ⛏️🅰️🅱️🅾️
Bitcoin Address Miner Mine Bitcoin Addresses ⛏️ 🅰️ 🅱️ 🅾️ Overview The Bitcoin Address Miner is a utility written in Rust that generates random BIP-
A boringssl-based rustls crypto provider
boring-rustls-provider This is supposed to be the start to a boringssl-based rustls crypto provider. Status This is just a dump of me figuring out how
Flexible secp256k1 curve math library.
secp A flexible and secure secp256k1 elliptic curve math library, with constant-time support, and superb ergonomics. secp takes full advantage of Rust
Lockbox is a command-line tool for generating and managing passwords
Lockbox is a command-line tool for generating and managing passwords. It uses strong encryption algorithms to securely store your passwords, so you can be sure that your data is safe.
Harness the power of signify(1) to sign arbitrary git objects
git-signify A tool to sign arbitrary objects in a git repository. Generating keys Signing keys can be generated with signify, from the OpenBSD project
CYFS:Next Generation Protocol Family to Build Web3
CYFS is the next-generation technology to build real Web3 by upgrading the basic protocol of Web (TCP/IP+DNS+HTTP). It has a subversive architectural design that everyone brings their own OOD (Owner Online Device) to form a truly decentralized network.
Wordle, but with ZK proofs!
Zordle: ZK Wordle Zordle is Wordle, but with zero-knowledge proofs. Zordle uses ZK proofs to prove that a player knows words that map to their shared
gRPC client/server for zero-knowledge proof authentication Chaum Pederson Zero-Knowledge Proof in Rust
gRPC client/server for zero-knowledge proof authentication Chaum Pederson Zero-Knowledge Proof in Rust. Chaum Pederson is a zero-knowledge proof proto
Ethereum key tool - Lightweight CLI tool to deal with ETH keys written in rust
ekt - Etherum Key Tool ekt is a lightweight tool to generate ethereum keys and addresses. Installation Either clone it and run it with cargo or instal
DKG using BLS12-381
DKG This library is an implementation of the distributed key generator required for blind DKG. Overview dkg-core: supports both std and no-std. When b
A simple self-contained CLI tool that makes it easy to efficiently encrypt/decrypt your files.
cryptic A simple self-contained CLI tool that makes it easy to efficiently encrypt/decrypt your files. Contents Features Building Usage License Featur
Arkworks circuits for verifiable time-lock encryption
zk-timelock This repo contains arithmetic circuits for verifiable time-lock encryption made using arkworks-rs toolkit. For more details on such an enc
The Zenotta Network Protocol (ZNP), the network that supports the Zenotta blockchain
Zenotta Network Protocol A repo for the development of the Zenotta Network Protocol (ZNP). We will regularly be updating links and easter eggs inside
Rust encryption library for practical time-lock encryption.
tlock_age: Hybrid Timelock Encryption/Decryption in Rust tlock_age is a library to encrypt and decrypt age filekey using tlock scheme. It provides an
Rosenpass is a formally verified, post-quantum secure VPN that uses WireGuard to transport the actual data.
Rosenpass README This repository contains A description of the Rosenpass protocol The reference implementation of the protocol – the rosenpass tool A
Elliptic curve cryptography on Soroban.
Elliptic Curve Cryptography on Soroban Contract examples and reusable primitives. Groth 16 verifier. This crate provides a SorobanGroth16Verifier obje
Zero Knowledge Light Client Implementation by Zpoken team.
zkp for chain state Prerecusites This project requires using the nightly Rust toolchain, which can be used by default in this way: rustup default nigh
Rust library for practical time-lock encryption using `drand` threshold network
tlock-rs: Practical Timelock Encryption/Decryption in Rust This repo contains pure Rust implementation of drand/tlock scheme. It provides time-based e
Simple to use CLI tool that makes encryption easy! Written in Rust.
🔒 eme: Encryption Made Easy an extremely simple AES-256 encryption tool written in Rust Usage: # To encrypt: eme --encrypt secret.png # To decrypt: e
A down-to-the-metal ongoing cryptography challenge designed by Radical Semiconductor.
woodpecker 🪶 [NOTE: scoreboard will now be updated weekends, starting the weekend of 12/10/2022--sorry for delays! I'll also be merging in pull reque
A general solution for commonly used crypt in rust, collection of cryptography-related traits and algorithms.
Crypto-rs A general solution for commonly used crypt in rust, collection of cryptography-related traits and algorithms. This is a Rust implementation
Lockstitch is an incremental, stateful cryptographic primitive for symmetric-key cryptographic operations in complex protocols.
Lockstitch is an incremental, stateful cryptographic primitive for symmetric-key cryptographic operations (e.g. hashing, encryption, message authentication codes, and authenticated encryption) in complex protocols.
MD5/SHA256 HASH ATTACK IN RUST
hashraccoon Installation Install cargo curl https://sh.rustup.rs -sSf | sh Install the hashraccoon crate cargo install hashraccoon Download the rockyo
An ECDSA threshold signature algorithm implemented in Rust.
Open TSS This project is a Rust implementation of multi-party {t,n}-threshold signature scheme(TSS). The current version of this library supports ECDS
Authenticate a tarball through a signed tag in a git repository (with reproducible builds)
auth-tarball-from-git Authenticate a tarball through a signed tag in a git repository (with reproducible builds). The signed git tag contains a hash o
Steggy CLI Tool - hides data within the least significant bit of an image
Written in Rust, features a simple cli and a client-side webapp. This tool hides data within the least significant bit of an image. Obfuscation techniques are utilized to make the
Usable, easy and safe pure-Rust crypto
orion About Orion is a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe
A modern TLS library in Rust
Rustls is a modern TLS library written in Rust. It uses ring for cryptography and libwebpki for certificate verification. Status Rustls is ready for u
RISC Zero is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture.
RISC Zero WARNING: This software is still experimental, we do not recommend it for production use (see Security section). RISC Zero is a zero-knowledg
User-friendly secure computation engine based on secure multi-party computation
CipherCore If you have any questions, or, more generally, would like to discuss CipherCore, please join the Slack community. See a vastly extended ver
Generates a unique hash/identifier for a system given a set of parameters.
uniqueid 🔍 Generates a unique hash/identifier for a system given a set of parameters. Example usage use uniqueid; pub fn main() { let data = vec
A blazingly fast, ShareX uploader coded in Rust (using actix web) which utilizes AES-256-GCM-SIV to securely store uploaded content.
Magnesium Oxide ❔ What is this? Magnesium-Oxide (MGO) is a secure file uploader with support for ShareX. 🌠 Features 🔥 Blazingly fast uploads and enc
Rustcoin - A LightWeight SDK For Bitcoin, Ethernum
Rustcoin - A LightWeight SDK For Bitcoin, Ethernum
Rust NACL Wrapper API
Rust NACL Wrapper API NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, sig
Rust FFI bindings for StarkWare's crypto-cpp library
starkware-crypto-rs Rust FFI bindings for StarkWare's crypto-cpp library Note that currently target x86_64-pc-windows-msvc is not supported. If you're
Rust implementation of the i2p client/server/router protocols
ri2p Rust implementation of the i2p client/server/router protocols Status Common Commands cargo build: Builds the ri2p binary cargo run: Runs the ri2p
Collect libraries and packages about cryptography in Rust.
Awesome Cryptography Rust Collect libraries and packages about cryptography in Rust. Collection Library Symmetric Public-key / Asymmetric One-way Hash
An experimental rust zksnarks compiler with embeeded bellman-bn128 prover
Za! An experimental port of the circom zk-SNARK compiler in Rust with embedded bellman-bn128 prover. I created it as a PoC port of the existing JavaSc
Noir is a domain specific language for zero knowledge proofs
The Noir Programming Language Noir is a Domain Specific Language for SNARK proving systems. It has been designed to use any ACIR compatible proving sy
A Rust Library of China's Standards of Encryption Algorithms (SM2/3/4)
Libsm Libsm is an open source pure rust library of China Cryptographic Algorithm Standards. It is completed by a collaborative effort between the Cryp
Traits - Collection of cryptography-related traits
RustCrypto: Traits Collection of traits which describe functionality of cryptographic primitives. Crates Name Algorithm Crates.io Docs MSRV aead Authe
Ursa - Hyperledger Ursa is a shared cryptography library
HYPERLEDGER URSA Introduction Features Libursa Libzmix Dependencies Building from source Contributing Introduction Ursa was created because people in
R1cs-tutorial - Tutorial for writing constraints in the `arkworks` framework
Introduction to SNARK Development with `arkworks` In this tutorial, we will learn how to write applications for use with state-of-the-art zkSNARKs usi
Meta-repository for Miscreant: misuse-resistant symmetric encryption library with AES-SIV (RFC 5297) and AES-PMAC-SIV support
The best crypto you've never heard of, brought to you by Phil Rogaway A misuse resistant symmetric encryption library designed to support authenticate
A set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption.
recrypt A pure-Rust library that implements a set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform
A minimalistic encryption protocol for rust async streams/packets, based on noise protocol and snow.
Snowstorm A minimalistic encryption protocol for rust async streams / packets, based on noise protocol and snow. Quickstart Snowstorm allows you to se
A Rust port of the password primitives used in Django Project.
Rust DjangoHashers A Rust port of the password primitives used in Django Project. Django's django.contrib.auth.models.User class has a few methods to
Collection of stream cipher algorithms
RustCrypto: stream ciphers Collection of stream cipher algorithms written in pure Rust. ⚠️ Security Warning: Hazmat! Crates in this repository do not
BLS12-381 cryptography using Apache Milagro
BLS12-381 Aggregate Signatures in Rust using Apache Milagro WARNING: This library is a work in progress and has not been audited. Do NOT consider the
Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
Multi-party ECDSA This project is a Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm). Threshold ECDSA include
Rust implementation of multi-party Schnorr signatures over elliptic curves.
Multi Party Schnorr Signatures This library contains several Rust implementations of multi-signature Schnorr schemes. Generally speaking, these scheme
Zerocaf: A library built for EC operations in Zero Knowledge.
Dusk-Zerocaf WARNING: WIP Repo. Fast, efficient and bulletproof-friendly cryptographic operations. This repository contains an implementation of the S
A Rust library for the Marlin preprocessing zkSNARK
Marlin marlin is a Rust library that implements a preprocessing zkSNARK for R1CS with universal and updatable SRS This library was initially developed
Spartan: High-speed zkSNARKs without trusted setup
Spartan: High-speed zkSNARKs without trusted setup Spartan is a high-speed zero-knowledge proof system, a cryptographic primitive that enables a prove
Interfaces for Relations and SNARKs for these relations
SNARK and Relation Traits The arkworks ecosystem consists of Rust libraries for designing and working with zero knowledge succinct non-interactive arg
Pairing cryptography library in Rust
bn This is a pairing cryptography library written in pure Rust. It makes use of the Barreto-Naehrig (BN) curve construction from [BCTV2015] to provide
Pairing cryptography library in Rust
bn This is a pairing cryptography library written in pure Rust. It makes use of the Barreto-Naehrig (BN) curve construction from [BCTV2015] to provide
Pure-Rust traits and utilities for constant-time cryptographic implementations.
subtle Pure-Rust traits and utilities for constant-time cryptographic implementations. It consists of a Choice type, and a collection of traits using
Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures.
Key Management System (KMS) for curve Secp256k1 Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures. Introdu
Multilayered Linkable Spontaneous Anonymous Group - Implemented as is from paper. Not Monero specific
MLSAG This is a pure Rust implementation of the Multilayered Linkable Spontaneous Anonymous Group construction. This implementation has not been revie
🔑 Threshold Shamir's secret sharing in Rust
Rusty Secrets Rusty Secrets is an implementation of a threshold Shamir's secret sharing scheme. Documentation (latest) Documentation (master) Design g
A pure-Rust implementation of various threshold secret sharing schemes
Threshold Secret Sharing Efficient pure-Rust library for secret sharing, offering efficient share generation and reconstruction for both traditional S
Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).
Mundane Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order). Issues and
Secure storage for cryptographic secrets in Rust
secrets secrets is a library to help Rust programmers safely held cryptographic secrets in memory. It is mostly an ergonomic wrapper around the memory
Fuzzer to automatically find side-channel (timing) vulnerabilities
SideFuzz: Fuzzing for side-channel vulnerabilities SideFuzz is an adaptive fuzzer that uses a genetic-algorithm optimizer in combination with t-statis
Implementation of Yao's Millionare problem in Rust
Yao's Millionaire Problem Two millionaires wish to know who is richer; however, they do not want to find out inadvertently any additional information
Multi-threaded Padding Oracle attacks against any service. Written in Rust.
rustpad is a multi-threaded successor to the classic padbuster, written in Rust. It abuses a Padding Oracle vulnerability to decrypt any cypher text or encrypt arbitrary plain text without knowing the encryption key!
STARK-based virtual machine
Polygon Miden A STARK-based virtual machine. WARNING: This project is in an alpha stage. It has not been audited and may contain bugs and security fla
Cryptography-oriented big integer library with constant-time, stack-allocated (no_std-friendly) implementations of modern formulas
RustCrypto: Cryptographic Big Integers Pure Rust implementation of a big integer library which has been designed from the ground-up for use in cryptog
Generate or convert random bytes into passphrases. A Rust port of niceware.
niceware My blog post: Porting Niceware to Rust A Rust port of niceware. Sections of this README have been copied from the original project. This libr
Scalable and encrypted embedded database with 3-tier caching
Infinitree is a versioned, embedded database that uses uniform, encrypted blobs to store data.
Pure Rust implementation of the Leighton Micali Signature scheme.
Leighton-Micali Hash-Based Signatures LMS implementation in Rust according to the IETF RFC 8554. This implementation is binary compatible with the ref
Implementation of Plonk by Hand in rust
plonk-by-fingers This is a toy implementation of the excellent Joshua Fitzgerald Plonk by hand (part2) (part3) tutorial all written from scratch, do n
Cross-platform Secure TUI Secret Locker
SafeCloset keeps your secrets in password protected files. SafeCloset is designed to be convenient and avoid common weaknesses like external editing or temporary files written on disk.
Implementation of the Web Cryptography specification in Rust.
[wip] webcrypto Implementation of the Web Cryptography specification in Rust. This crate hopes to ease interoperability between WASM and native target
Cryptography-related format encoders/decoders: PKCS, PKIX
RustCrypto: Formats Cryptography-related format encoders/decoders: PKCS, PKIX. Crates Name crates.io Docs Description base64ct Constant-time encoder a
Cross-platform Secure TUI Secret Locker
SafeCloset keeps your secrets in password protected files. SafeCloset is designed to be convenient and avoid common weaknesses like external editing o
FS-DKR: One Round Distributed Key Rotation
FS-DKR: One Round Distributed Key Rotation Intro In this note we aim to re-purpose the Fouque-Stern Distributed Key Generation (DKG) to support a secu
Manage secret values in-repo via public key cryptography
amber Manage secret values in-repo via public key cryptography. See the announcement blog post for more motivation. Amber provides the ability to secu
The fastest way to identify any mysterious text or analyze strings from a file, just ask `lemmeknow` !
The fastest way to identify anything lemmeknow ⚡ Identify any mysterious text or analyze strings from a file, just ask lemmeknow. lemmeknow can be use
Ruo is a dictionary-based password cracker written in rust 🦀 .
Ruo is a dictionary-based password cracker written in rust 🦀 . The primary purpose is to crack weak hashes/commonly used passwords.
A modern, portable, easy to use crypto library.
Sodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, i
A pure-Rust implementation of various threshold secret sharing schemes
Threshold Secret Sharing Efficient pure-Rust library for secret sharing, offering efficient share generation and reconstruction for both traditional S
Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).
Mundane Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order). Issues and
Secure storage for cryptographic secrets in Rust
secrets secrets is a library to help Rust programmers safely held cryptographic secrets in memory. It is mostly an ergonomic wrapper around the memory
Fuzzer to automatically find side-channel (timing) vulnerabilities
SideFuzz: Fuzzing for side-channel vulnerabilities SideFuzz is an adaptive fuzzer that uses a genetic-algorithm optimizer in combination with t-statis
A safe implementation of the secure remote password authentication and key-exchange protocol (SRP), SRP6a and legacy are as features available.
Secure Remote Password (SRP 6 / 6a) A safe implementation of the secure remote password authentication and key-exchange protocol (SRP version 6a). Ver
Terminal UI implementation and types for the Dark Forest game
dark-forest.rs Terminal UI implementation and types for the Dark Forest game Development We use the standard Rust toolchain cargo check
Example implementation for Biscuit tokens cryptography
example implementation for Biscuit token cryptography To aid in the implementation of Biscuit tokens in various languages, this repository contains an
Minimal implementation of the Mimblewimble protocol.
Grin Grin is an in-progress implementation of the Mimblewimble protocol. Many characteristics are still undefined but the following constitutes a firs
Modern Cryptographic Firmware
Trussed® Modern Cryptographic Firmware Status Very much WIP. Actively developed. Unstable APIs.
JSON Web Token implementation in Rust.
Frank JWT Implementation of JSON Web Tokens in Rust. Algorithms and features supported HS256 HS384 HS512 RS256 RS384 RS512 ES256 ES384 ES512 Sign Veri
A Rust port of the password primitives used in Django Project.
Rust DjangoHashers A Rust port of the password primitives used in Django Project. Django's django.contrib.auth.models.User class has a few methods to
rabe is an Attribute Based Encryption library, written in Rust
Rabe rabe is a rust library implementing several Attribute Based Encryption (ABE) schemes using a modified version of the bn library of zcash (type-3
Master Password in Pure Rust
Master Password •••| This is the Rust version of the original found here. This can be used as a drop-in replacement for the reference C version, offer
Collection of cryptographic hash functions written in pure Rust
RustCrypto: hashes Collection of cryptographic hash functions written in pure Rust. All algorithms reside in the separate crates and implemented using
An extensible open-source framework for creating private/permissioned blockchain applications
Exonum Status: Project info: Community: Exonum is an extensible open-source framework for creating blockchain applications. Exonum can be used to crea
Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
sodiumoxide |Crate|Documentation|Gitter| |:---:|:-----------:|:--------:|:-----:|:------:|:----:| |||| NaCl (pronounced "salt") is a new easy-to-use h
An implementation of Keccak derived functions specified in FIPS-202, SP800-185 and KangarooTwelve
tiny-keccak An implementation of Keccak derived functions specified in FIPS-202, SP800-185 and KangarooTwelve. Documentation The Keccak-f[1600] permut
X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
x25519-dalek A pure-Rust implementation of x25519 elliptic curve Diffie-Hellman key exchange, with curve operations provided by curve25519-dalek. This