awesome-cryptography

Cryptography resource hub

A curated collection of resources and links on cryptography concepts and tools

A curated list of cryptography resources and links.

GitHub

6k stars
184 watching
676 forks
last commit: almost 2 years ago
Linked from 13 awesome lists

awesomeawesome-listcryptocryptographyencryptionlist

Awesome Cryptography / Theory / Algorithms

3DESSymmetric-key block cipher (or Triple Data Encryption Algorithm (TDEA or Triple DEA), which applies the Data Encryption Standard (DES) cipher algorithm three times to each data block
AESSymmetric-key block cipher algorithm and U.S. government standard for secure and classified data encryption and decryption (also known as Rijndael)
BlowfishSymmetric-key block cipher, designed in 1993 by Bruce Schneier. Notable features of the design include key-dependent S-boxes and a highly complex key schedule
DHA method of exchanging cryptographic keys securely over a public channel. Unlike RSA, the Diffie-Hellman Key Exchange is not encryption, and is only a way for two parties to agree on a shared secret value. Since the keys generated are completely pseudo-random, DH key exchanges can provide forward secrecy ( )
ECCPublic-key cryptosystems based on the algebraic structure of elliptic curves over finite fields
RSAOne of the first practical public-key cryptosystems and is widely used for secure data transmission. In RSA, this asymmetry is based on the practical difficulty of factoring the product of two large prime numbers, the factoring problem
Transform Encryption (aka Proxy Re-Encryption)Transform encryption uses three mathematically related keys: one to encrypt plaintext to a recipient, a second to decrypt the ciphertext, and a third to transform ciphertext encrypted to one recipient so it can be decrypted by a different recipient
MD5Widely used hash function producing a 128-bit hash value. MD5 was initially designed to be used as a cryptographic hash function, but it has been found to suffer from extensive vulnerabilities. It can still be used as a checksum to verify data integrity, but only against unintentional corruption
SHA1Cryptographic hash function designed by the NSA. SHA-1 produces a 160-bit hash value known as a message digest. SHA-1 is no longer considered secure against well-funded opponents
SHA2Set of hash functions designed by the NSA. SHA-256 and SHA-512 are novel hash functions computed with 32-bit and 64-bit words, respectively. They use different shift amounts and additive constants, but their structures are otherwise virtually identical, differing only in the number of rounds
SHA3Cryptographic hash function that produces a fixed-size output, typically 224, 256, 384, or 512 bits, from variable-size input data. It is part of the SHA-3 family of cryptographic algorithms designed to resist attacks from quantum computers and offers security properties such as pre-image resistance, second pre-image resistance, and collision resistance

Awesome Cryptography / Theory / Articles

How to Generate Secure Random Numbers in Various Programming Languages
Password InsecurityThis article is written for everybody who is interested in password security
Secure Account Recovery Made Simple

Awesome Cryptography / Theory / Books

A Graduate Course in Applied CryptographyThe book covers many constructions for different tasks in cryptography
An Introduction to Mathematical CryptographyIntroduction to modern cryptography
Applied Cryptography: Protocols, Algorithms and Source Code in CThis cryptography classic provides you with a comprehensive survey of modern cryptography
Crypto101Crypto 101 is an introductory course on cryptography
Cryptography EngineeringLearn to build cryptographic protocols that work in the real world
Handbook of Applied CryptographyThis book is intended as a reference for professional cryptographers
Introduction to Modern CryptographyIntroductory-level treatment of cryptography written from a modern, computer science perspective
OpenSSL CookbookThe book about OpenSSL
Practical Cryptography for DevelopersDeveloper-friendly book on modern cryptography (hashes, MAC codes, symmetric and asymmetric ciphers, key exchange, elliptic curves, digital signatures) with lots of code examples
Real World CryptographyThis book teaches you applied cryptographic techniques to understand and apply security at every level of your systems and applications
Security EngineeringThere is an extraordinary textbook written by Ross Anderson, professor of computer security at University of Cambridge
Serious CryptographyA Practical Introduction to Modern Encryption by Jean-Philippe Aumasson
The Code BookThis book is a digest of the history of cryptography, covering both ancient times, and newer cryptography methods. There are exercises at the end and the solution of those was rewarded with $10.000
The Cryptoparty HandbookThis book provides a comprehensive guide to the various topics of the computer and internet security
Understanding CryptographyOften overlooked, this book is a boon for beginners to the field. It contains plenty of exercises at the end of each chapter, aimed at reinforcing concepts and cementing ideas

Awesome Cryptography / Theory / Courses

A Self-Study Course In Block-Cipher CryptanalysisThis paper attempts to organize the existing literature of block-cipher cryptanalysis in a way that students can use to learn cryptanalytic techniques and ways to break algorithms, by Bruce Schneier
Applied CryptographyCryptography is present in everyday life, from paying with a credit card to using the telephone. Learn all about making and breaking puzzles in computing
Crypto Strikes Back!This talk will cover crypto vulnerabilities in widely-deployed systems and how the smallest oversight resulted in catastrophe
CryptographyA practical oriented course in Cryptography by University of Maryland College Park
Cryptography - Stanford UniversityThis course explains the inner workings of cryptographic primitives and how to correctly use them. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications
Cryptography 101: Building BlocksThis introductory course (Fall 2024) by Alfred Menezes covers the fundamental cryptographic primitives: symmetric-key encryption, hash functions, MACs, authenticated encryption, public-key encryption, signatures, key agreement, RSA, elliptic curve cryptography
Cryptography IThe course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems
Cybrary CryptographyThis online course we will cover how cryptography is the cornerstone of security, and how through its use of different encryption methods, such as ciphers, and public or private keys, you can protect private or sensitive information from unauthorized access
Harvard's Cryptography Lecture notesAn introductory but fast-paced undergraduate/beginning graduate course on cryptography, Used for Harvard CS 127
Journey into cryptographyThe course of cryptography by Khan Academy
Practical Aspects of Modern CryptographyPractical Aspects of Modern Cryptography, Winter 2006 University of Washington CSE
Theory and Practice of CryptographyIntroduction to Modern Cryptography, Using Cryptography in Practice and at Google, Proofs of Security and Security Definitions and A Special Topic in Cryptography

Awesome Cryptography / Theory / Other lists

Awesome crypto-papers1,818almost 2 years ago– A curated list of cryptography papers, articles, tutorials and howtos
Awesome HE1,066about 2 years ago– A curated list of homomorphic encryption libraries, software and resources
TLS Cipher SuitesA list of TLS cipher suites and their security ratings

Awesome Cryptography / Tools / Standalone

BcryptCross-platform file encryption utility
blackbox6,692almost 2 years agosafely store secrets in Git/Mercurial/Subversion
certbot31,736almost 2 years agoPreviously the Let's Encrypt Client, is EFF's tool to obtain certs from Let's Encrypt, and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol
Coherence37about 2 years agoCryptographic server for modern web apps
cryptomator11,982almost 2 years agoMulti-platform transparent client-side encryption of your files in the cloud
DatabunkerAPI based personal data or PII storage service built to comply with GDPR and CCPA
gpgComplete and free implementation of the OpenPGP standard. It allows to encrypt and sign your data and communication, features a versatile key management system. GnuPG is a command line tool with features for easy integration with other applications
ironssh63over 4 years agoEnd-to-end encrypt transferred files using sftp/scp and selectively share with others. Automatic key management works with any SSH server. Encrypted files are gpg compatible
Nipe1,970almost 2 years agoNipe is a script to make Tor Network your default gateway
sops17,224almost 2 years agosops is an editor of encrypted files that supports YAML, JSON and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault and PGP
vesEnd-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss

Awesome Cryptography / Tools / Plugins

git-crypt8,448about 2 years agoTransparent file encryption in git
git-secretBash-tool to store your private data inside a git repository

Awesome Cryptography / Tools / Playgrounds

Cryptography PlaygroundA simple web tool to play and learn basic concepts of cryptography like, hashing, symmetric, asymmetric, zkp etc

Awesome Cryptography / Frameworks and Libs / C

crypto-algorithms1,847over 5 years agoBasic implementations of standard cryptography algorithms, like AES and SHA-1
libgcryptCryptographic library developed as a separated module of GnuPG
libkcapi175almost 2 years agoLinux Kernel Crypto API User Space Interface Library
libsodium12,372almost 2 years agoModern and easy-to-use crypto library
libtomcrypt1,587almost 2 years agoFairly comprehensive, modular and portable cryptographic toolkit
libVES.c37almost 2 years agoEnd-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss
milagro-crypto-c36over 2 years agoSmall, self-contained and fast open source crypto library. It supports RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3 and Pairing-Based Cryptography
monocyphersmall, portable, easy to use crypto library inspired by libsodium and TweetNaCl
NaClHigh-speed library for network communication, encryption, decryption, signatures, etc
nettle61over 3 years agois a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space
OpenSSL26,159almost 2 years agoTLS/SSL and crypto library
PolarSSLPolarSSL makes it trivially easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) products, facilitating this functionality with a minimal coding footprint
RHash589almost 2 years agoGreat utility for computing hash sums
themis1,879about 2 years agoHigh level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption). Ported on many languages and platforms, suitable for client-server infastructures
tiny-AES128-C4,329almost 2 years agoSmall portable AES128 in C
wolfSSL2,376almost 2 years agoSmall, fast, portable implementation of TLS/SSL for embedded devices to the cloud
XKCP593about 2 years ago— is a repository that gathers different free and open-source implementations of the cryptographic schemes defined by the Keccak team
xxHash9,262almost 2 years agoExtremely fast hash algorithm

Awesome Cryptography / Frameworks and Libs / C++

=nil; Crypto381almost 2 years agoModern Cryptography Suite in C++17 (complete applied cryptography suite starting with block ciphers and ending with threshold cryptography, zk proof systems, etc)
BotanCryptography library written in
cryptopp4,939about 2 years agoCrypto++ Library is a free C++ class library of cryptographic schemes
HElib15almost 3 years agoSoftware library that implements homomorphic encryption (HE)
NettleLow-level cryptographic library
s2n4,544almost 2 years agoImplementation of the TLS/SSL protocols

Awesome Cryptography / Frameworks and Libs / C-sharp

Bouncy CastleAll-purpose cryptographic library
libsodium-netSecure cryptographic library, port of libsodium for .NET
Microsoft .NET Framework Cryptography ModelThe .NET Framework implementations of many standard cryptographic algorithms
PCLCrypto229over 2 years agoProvides cryptographic APIs over algorithms implemented by the platform, including exposing them to portable libraries
SecurityDriven.Inferno582almost 2 years ago.NET crypto done right
StreamCryptor131over 9 years agoStream encryption & decryption with libsodium and protobuf

Awesome Cryptography / Frameworks and Libs / Clojure

buddy-coreCryptographic Api
clj-crypto29almost 10 years agoWrapper for Bouncy Castle
pandect222about 2 years agoFast and easy-to-use Message Digest, Checksum and HMAC library for Clojure
secrets.clj93over 2 years agoA Clojure library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets

Awesome Cryptography / Frameworks and Libs / Common Lisp

crypto-shortcuts25almost 2 years agoCollection of common cryptography functions
ironcladCollection of common crypto shortcuts
trivial-ssh43over 5 years agoSSH client library for Common Lisp (Built on libssh2)

Awesome Cryptography / Frameworks and Libs / Delphi

DelphiEncryptionCompendium258over 2 years agoCryptographic library for Delphi
LockBoxLockBox 3 is a Delphi library for cryptography
SynCrypto792almost 2 years agoFast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed
TForgeTForge is open-source crypto library written in Delphi, compatible with FPC

Awesome Cryptography / Frameworks and Libs / Elixir

cipher61over 5 years agoElixir crypto library to encrypt/decrypt arbitrary binaries
cloak586over 2 years agoCloak makes it easy to use encryption with Ecto
comeonin1,303almost 2 years agoPassword authorization (bcrypt) library for Elixir
elixir-rsa35almost 7 years agocryptography wrapper for Elixir
elixir_tea3over 11 years agoTEA implementation in Elixir
ex_crypto150about 2 years agoElixir wrapper for Erlang and modules. Provides sensible defaults for many crypto functions to make them easier to use
exgpg19about 8 years agoUse gpg from Elixir
pot238almost 3 years agoErlang library for generating one time passwords compatible with Google Authenticator
siphash-elixir19about 5 years agoElixir implementation of the SipHash hash family

Awesome Cryptography / Frameworks and Libs / Erlang

cryptoFunctions for computation of message digests, and functions for encryption and decryption
public_keyProvides functions to handle public-key infrastructure

Awesome Cryptography / Frameworks and Libs / Go

cryptoOfficial Website Resources
dkeyczar112over 6 years agoPort of Google's Keyczar cryptography library to Go
gocrypto153almost 7 years agoExample source code for the Practical Crypto with Go book
goThemis1,879about 2 years agoGo wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)
kyber646almost 2 years agoAdvanced crypto library for the Go language

Awesome Cryptography / Frameworks and Libs / Haskell

CryptographyCollaborative Hackage list
Cryptography & HashingOfficial Website of Haskell
cryptol1,139almost 2 years agoThe Language of Cryptography
CryptoniteHaskell repository of cryptographic primitives
HsOpenSSL20over 6 years agoOpenSSL binding for Haskel
scrypt18almost 3 years agoHaskell bindings to Colin Percival's scrypt implementation

Awesome Cryptography / Frameworks and Libs / Haxe

haxe-cryptoHaxe Cryptography Library

Awesome Cryptography / Frameworks and Libs / JavaScript

asmCrypto661over 3 years agoJavaScript implementation of popular cryptographic utilities with performance in mind
bcrypt-Node.jsNative implementation of bcrypt for Node.js
cifre123about 13 years agoFast crypto toolkit for modern client-side JavaScript
closure-library4,889about 2 years agoGoogle's common JavaScript library
cryptico1,181over 5 years agoEasy-to-use encryption system utilizing RSA and AES for JavaScript
crypto-js15,912about 2 years agoJavaScript library of crypto standards
cryptojs328about 14 years agoProvide standard and secure cryptographic algorithms for Node.js
forge5,099about 2 years agoNative implementation of TLS in JavaScript and tools to write crypto-based and network-heavy webapps
IronNodeTransform encryption library, a variant of proxy re-encryption, for encrypting to users or groups, and easily adding strong data controls to Node.js apps
IronWebTransform encryption library, a variant of proxy re-encryption, for easily managing end-to-end encryption securely in the browser
javascript-crypto-library287over 10 years agoJavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions
js-nacl493over 4 years agoPure-JavaScript High-level API to Emscripten-compiled libsodium routines
jsencrypt6,706over 2 years agoJavaScript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation
JShashes724over 4 years agoFast and dependency-free cryptographic hashing library for Node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)
jsrsasign3,284over 2 years agoThe 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation
jsThemis1,879about 2 years agoJavaScript wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)
libsodium.js999about 2 years agolibsodium compiled to pure JavaScript, with convenient wrappers
libVES.js9about 3 years agoEnd-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss
milagro-crypto-js19over 2 years agoMCJS is a standards compliant JavaScript cryptographic library with no external dependencies except for the random seed source. Compatible for Node.js and browser. It supports RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3, Pairing-Based Cryptography and New Hope

Awesome Cryptography / Frameworks and Libs / JavaScript / noble

noble-ciphers222almost 2 years ago— cryptographic ciphers, including AES-SIV, Salsa20, ChaCha, Poly1305 and FF1
noble-curves708almost 2 years ago— elliptic curve cryptography, including Weierstrass, Edwards, Montgomery curves, pairings, hash-to-curve, poseidon hash, schnorr, secp256k1, ed25519, ed448, p521, bn254, bls12-381 and others. Also 4kb ,
noble-hashes608almost 2 years ago— SHA2, SHA3, RIPEMD, BLAKE2/3, HMAC, HKDF, PBKDF2 & Scrypt

Awesome Cryptography / Frameworks and Libs / JavaScript

node.bcrypt.js7,517about 2 years agobcrypt for Node.js
OpenPGP.js5,701almost 2 years agoOpenPGP implementation for JavaScript
PolyCrypt266over 11 years agoPure JS implementation of the WebCrypto API
rusha278over 2 years agoHigh-performance pure-javascript SHA1 implementation suitable for large binary data, reaching up to half the native speed
sjcl7,199over 4 years agoStanford JavaScript Crypto Library
TweetNaCl.js1,796about 2 years agoA port of TweetNaCl / NaCl for JavaScript for modern browsers and Node.js
URSA618over 7 years agoRSA public/private key OpenSSL bindings for Node

Awesome Cryptography / Frameworks and Libs / Java

Apache ShiroPerforms authentication, authorization, cryptography and session management
Bouncy CastleAll-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations
FlexiproviderPowerful toolkit for the Java Cryptography Architecture
GDH32almost 7 years agoGeneralized Diffie-Hellman key exchange Java library for multiple parties built on top of the Vert.x framework
Google Tink140almost 2 years agoA small crypto library that provides a safe, simple, agile and fast way to accomplish some common crypto tasks
Java Themis1,879about 2 years agoJava/Android wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)
jbcryptjBCrypt is an implementation the OpenBSD Blowfish password hashing algorithm
Keycloak24,091almost 2 years agoOpen Source Identity and Access Management For Modern Applications and Services
pac4j2,438almost 2 years agoSecurity engine
Password4j361about 2 years agoA Java user-friendly cryptographic library for hashing and checking passwords with different Key derivation functions (KDFs) and Cryptographic hash functions (CHFs)
Project KaliumJava binding to the Networking and Cryptography (NaCl) library with the awesomeness of libsodium
scrypt428almost 6 years agoPure Java implementation of the scrypt key derivation function and a JNI interface to the C implementations, including the SSE2 optimized version
securitybuilder46about 5 years agoFluent Builder API for JCA/JSSE objects

Awesome Cryptography / Frameworks and Libs / Julia

Crypto.jl10over 5 years agoLibrary that wraps OpenSSL, but also has pure Julia implementations for reference
MbedTLS.jl41over 2 years agoWrapper around the mbed TLS and cryptography C libary
Nettle.jl51about 4 years agoJulia wrapper around nettle cryptographic hashing/ encryption library providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption
SHA.jl48almost 2 years agoPerformant, 100% native-julia SHA1, SHA2-{224,256,384,512} implementation

Awesome Cryptography / Frameworks and Libs / Lua

lua-lockbox362over 2 years agoCollection of cryptographic primitives written in pure Lua
LuaCrypto101about 7 years agoLua bindings to OpenSSL

Awesome Cryptography / Frameworks and Libs / OCaml

Digestif87over 2 years agois a toolbox that implements various cryptographic primitives in C and OCaml
ocaml-tls305almost 2 years agoTLS in pure OCaml

Awesome Cryptography / Frameworks and Libs / Objective-C

CocoaSecurity1,136over 6 years agoAES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex
ObjC Themis1,879about 2 years agoObjC wrapper on Themis for iOS and macOS. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)
ObjectivePGP670over 2 years agoObjectivePGP is an implementation of OpenPGP protocol for iOS and macOS. OpenPGP is the most widely used email encryption standard
RNCryptor3,355over 2 years agoCCCryptor (AES encryption) wrappers for iOS and Mac

Awesome Cryptography / Frameworks and Libs / PHP

haliteSimple library for encryption using
libsodium-laravel22over 10 years agoLaravel Package Abstraction using
PHP Encryption3,806over 2 years agoLibrary for encrypting data with a key or password in PHP
PHP Themis1,879about 2 years agoPHP wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)
TCrypto61about 10 years agoTCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library

Awesome Cryptography / Frameworks and Libs / Python

bcrypt1,286almost 2 years agoModern password hashing for your software and your servers
charm565about 2 years agoFramework for rapidly prototyping cryptosystems
Crypto-Vinaigrette21over 7 years agoQuantum resistant asymmetric key generation tool for digital signatures
cryptographyPython library which exposes cryptographic recipes and primitives
cryptopyPure python implementation of cryptographic algorithms and applications
django-cryptography385almost 2 years agoEasily encrypt data in Django
ecdsa921almost 2 years agoAn easy-to-use implementation of ECC with support for ECDSA and ECDH
hashids1,413about 3 years agoImplementation of in Python
paramikoPython implementation of the SSHv2 protocol, providing both client and server functionality
Privy253almost 8 years agoAn easy, fast lib to correctly password-protect your data
pycryptodome2,876almost 2 years agoSelf-contained Python package of low-level cryptographic primitives
PyElliptic132over 9 years agoPython OpenSSL wrapper. For modern cryptography with ECC, AES, HMAC, Blowfish
pynacl1,079almost 2 years agoPython binding to the Networking and Cryptography (NaCl) library
pythemis1,879about 2 years agoPython wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)

Awesome Cryptography / Frameworks and Libs / R

rscrypt34over 4 years agoPackage for a collection of scrypt cryptographic functions

Awesome Cryptography / Frameworks and Libs / Ruby

bcrypt-ruby1,933almost 2 years agoRuby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords
RbNaCl983almost 2 years agoRuby binding to the Networking and Cryptography (NaCl) library
Ruby Themis1,879about 2 years agoRuby wrapper on Themis. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)

Awesome Cryptography / Frameworks and Libs / Rust

AEADs733almost 2 years agoAuthenticated Encryption with Associated Data Algorithms: high-level encryption ciphers
BLAKE35,271almost 2 years agois official Rust and C implementations of the BLAKE3 cryptographic hash function
botan-rs34about 2 years agoBotan bindings for Rust
cryptoballot222about 2 years agoCryptographically secure online voting
dalek cryptographyFast yet safe mid-level API for ECC, Bulletproofs, and more
dryoc294almost 2 years agoA pure-Rust, general purpose crypto library that implements libsodium primitives
elliptic-curves694almost 2 years agoCollection of pure Rust elliptic curve implementations: NIST P-224, P-256, P-384, P-521, secp256k1, SM2
formats253almost 2 years agoCryptography-related format encoders/decoders: DER, PEM, PKCS, PKIX
hashes1,913almost 2 years agoCollection of cryptographic hash functions written in pure Rust
mundane1,069about 3 years agois a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant
ockam4,488almost 2 years agois a Rust library for end-to-end encryption and mutual authentication
octavo142over 8 years agoHighly modular & configurable hash & crypto library
orion631almost 2 years agois a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe code
password-hashes688almost 2 years agoCollection of password hashing algorithms, otherwise known as password-based key derivation functions, written in pure Rust
proteus421about 2 years agoAxolotl protocol implementation, without header keys, in Rust
rage2,717almost 2 years agois a simple, modern, and secure file encryption tool, using the age format
recrypt150almost 2 years agoA pure-Rust library that implements cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption
ring3,787almost 2 years agoSafe, fast, small crypto using Rust & BoringSSL's cryptography primitives
ronkathon192almost 2 years agoEducational, mathematically transparent, well documentated cryptography in rust
rust-crypto1,400over 3 years agoMostly pure-Rust implementation of various cryptographic algorithms
rust-openssl1,419almost 2 years agoOpenSSL bindings for Rust
rustls6,315almost 2 years agoRustls is a new, modern TLS library written in Rust
signatures478almost 2 years agoCryptographic signature algorithms: DSA, ECDSA, Ed25519
snow906about 2 years agoPure Rust implementation of Trevor Perrin’s
sodiumoxide643about 4 years agoSodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
suruga125over 10 years agoTLS 1.2 implementation in Rust
webpki465over 2 years agoWeb PKI TLS X.509 certificate validation in Rust

Awesome Cryptography / Frameworks and Libs / Scala

recrypt34almost 2 years agoTransform encryption library for Scala
scrypto201almost 2 years agoCryptographic primitives for Scala
tsec350almost 5 years agoA type-safe, functional, general purpose security and cryptography library

Awesome Cryptography / Frameworks and Libs / Scheme

chicken-sodium4over 9 years agoBindings to libsodium crypto library for Chicken Scheme
crypto-toolsUseful cryptographic primitives for Chicken Scheme
guile-gnutlsGnuTLS bindings for GNU Guile
guile-ssh65almost 2 years agolibssh bindings for GNU Guile
industriaMotley assortment of cryptographic primitives, OpenSSH, DNS

Awesome Cryptography / Frameworks and Libs / Swift

CryptoSwift10,217almost 2 years agoCrypto related functions and helpers for Swift implemented in Swift programming language
IDZSwiftCommonCrypto478almost 3 years agoWrapper for Apple's library written in Swift
OpenSSL41almost 10 years agoSwift OpenSSL for macOS and Linux
SweetHMAC38almost 10 years agoTiny and easy to use Swift class to encrypt strings using HMAC algorithms
Swift-Sodium522almost 2 years agoSwift interface to the Sodium library for common crypto operations for iOS and macOS
SwiftSSLElegant crypto toolkit in Swift
SwiftThemis1,879about 2 years agoSwift wrapper on Themis for iOS and macOS. High level crypto library for storing data (AES), secure messaging (ECC + ECDSA / RSA + PSS + PKCS#7) and session-oriented, forward secrecy data exchange (ECDH key agreement, ECC & AES encryption)

Awesome Cryptography / Resources / Blogs

A Few Thoughts on Cryptographic EngineeringSome random thoughts about crypto
Bristol Cryptography BlogOfficial blog for the University of Bristol cryptography research group. It's a group blog, primarily targeted towards cryptographers and crypto students
Charles Engelke's BlogWebCrypto Blog Posts
Root Labs rdistNate Lawson and his co-authors write on a variety of topics including hardware implementation, cryptographic timing attacks, DRM, and the Commodore 64
Salty HashCovers topics on encryption, data control, privacy, and security
Schneier on securityOne of the oldest and most famous security blogs. Bruce covers topics from block cipher cryptanalysis to airport security

Awesome Cryptography / Resources / Mailing lists

metzdowd.com"Cryptography" is a low-noise moderated mailing list devoted to cryptographic technology and its political impact
Modern CryptoForums for discussing modern cryptographic practice
randombit.netList for general discussion of cryptography, particularly the technical aspects

Awesome Cryptography / Resources / Web-tools

BoxentriqEasy to use tools for analysis and code-breaking of the most frequent ciphers, including Vigenère, Beaufort, Keyed Caesar, Transposition Ciphers, etc
Cryptolabis a set of cryptography related tools
CrypToolGreat variety of ciphers, encryption methods and analysis tools are introduced, often together with illustrated examples
CyberChefa web app for encryption, encoding, compression, and data analysis
factordb.comFactordb.com is tool used to store known factorizations of any number
keybase.ioKeybase maps your identity to your public keys, and vice versa

Awesome Cryptography / Resources / Web-sites

Applied Crypto HardeningA lot ready to use best practice examples for securing web servers and more
Cryptocurrencies DashboardA dashboard of most active cryptocurrencies discussed on Reddit
Cryptography StackexchangeCryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography
CryptohackA platform with lots of interactive cryptography challenges, similar to Cryptopals
Cryptopals Crypto ChallengesA series of applied cryptography challenges, starting from very basic challenges, such as hex to base 64 challanges, and gradually increasing the difficulty up to abstract algebra
Eliptic Curve Calculatorsimple form that allows to calculate elliptic curve public keys and signatures. Features include ability to create custom curves and different signature types
Garykessler CryptoAn Overview of Cryptography
IACRThe International Association for Cryptologic Research is a non-profit scientific organization whose purpose is to further research in cryptology and related fields
Learn CryptographyDedicated to helping people understand how and why the cryptographic systems they use everyday without realizing work to secure and protect their privacy
Subreddit of CryptographyThis subreddit is intended for links and discussions surrounding the theory and practice of strong cryptography
TikZ for CryptographersA collection of block diagrams of common cryptographic functions drawn in TikZ to be used in research papers and presentations written in LaTeX
WebCryptoAPIThis specification describes a JavaScript API for performing basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption

Backlinks from these awesome lists:

More related projects: