Track Awesome Cryptography Updates Daily
A curated list of cryptography resources and links.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 sobolevn/awesome-cryptography · ⭐ 5.5K · 🏷️ Computer Science
Jul 01, 2024
Rust / Git
- ronkathon (⭐125) - Educational, mathematically transparent, well documentated cryptography in rust.
Jun 25, 2024
Other lists / Hash functions
- TLS Cipher Suites - A list of TLS cipher suites and their security ratings.
May 17, 2024
Rust / Git
- AEADs (⭐666) - Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers.
- dryoc (⭐247) - A pure-Rust, general purpose crypto library that implements libsodium primitives.
- elliptic-curves (⭐622) - Collection of pure Rust elliptic curve implementations: NIST P-224, P-256, P-384, P-521, secp256k1, SM2.
- formats (⭐227) - Cryptography-related format encoders/decoders: DER, PEM, PKCS, PKIX.
- hashes (⭐1.7k) - Collection of cryptographic hash functions written in pure Rust.
- password-hashes (⭐602) - Collection of password hashing algorithms, otherwise known as password-based key derivation functions, written in pure Rust.
- signatures (⭐439) - Cryptographic signature algorithms: DSA, ECDSA, Ed25519.
- snow (⭐861) - Pure Rust implementation of Trevor Perrin’s Noise Protocol.
Feb 29, 2024
Java / Git
- Google Tink (⭐95) - A small crypto library that provides a safe, simple, agile and fast way to accomplish some common crypto tasks.
Jan 01, 2024
Scheme / Git
- industria - Motley assortment of cryptographic primitives, OpenSSH, DNS.
Dec 27, 2023
Scheme / Git
- chicken-sodium (⭐3) - Bindings to libsodium crypto library for Chicken Scheme.
- crypto-tools - Useful cryptographic primitives for Chicken Scheme.
Dec 25, 2023
Scheme / Git
- guile-gnutls - GnuTLS bindings for GNU Guile.
- guile-ssh (⭐58) - libssh bindings for GNU Guile.
Oct 31, 2023
Rust / Git
- botan-rs (⭐29) - Botan bindings for Rust.
Jul 27, 2023
Algorithms / Hash functions
- SHA3 - Cryptographic 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.
Jul 17, 2023
JavaScript / Git
- noble - high-security, easily auditable set of contained cryptographic libraries and tools. Zero dependencies each.
- noble-ciphers (⭐160) — cryptographic ciphers, including AES-SIV, Salsa20, ChaCha, Poly1305 and FF1
- noble-curves (⭐610) — 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-secp256k1 (⭐713), noble-ed25519 (⭐400)
- noble-hashes (⭐507) — SHA2, SHA3, RIPEMD, BLAKE2/3, HMAC, HKDF, PBKDF2 & Scrypt
Web-sites / Git
- Eliptic Curve Calculator - simple form that allows to calculate elliptic curve public keys and signatures. Features include ability to create custom curves and different signature types
Jul 15, 2022
Go / Git
- kyber (⭐615) - Advanced crypto library for the Go language.
Jun 11, 2022
Rust / Git
- orion (⭐536) - is a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe code.
May 25, 2022
Books / Hash functions
- Applied Cryptography: Protocols, Algorithms and Source Code in C - This cryptography classic provides you with a comprehensive survey of modern cryptography.
Jan 25, 2022
C++ / Git
- =nil; Crypto3 (⭐70) - Modern Cryptography Suite in C++17 (complete applied cryptography suite starting with block ciphers and ending with threshold cryptography, zk proof systems, etc).
Jan 21, 2022
OCaml / Git
- Digestif (⭐86) - is a toolbox that implements various cryptographic primitives in C and OCaml.
- ocaml-tls (⭐292) - TLS in pure OCaml.
Dec 31, 2021
Books / Hash functions
- Handbook of Applied Cryptography - This book is intended as a reference for professional cryptographers.
Rust / Git
- BLAKE3 (⭐4.7k) - is official Rust and C implementations of the BLAKE3 cryptographic hash function.
- rage (⭐2.4k) - is a simple, modern, and secure file encryption tool, using the age format.
Dec 27, 2021
C / Git
- libkcapi (⭐161) - Linux Kernel Crypto API User Space Interface Library.
- nettle (⭐56) - is 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.
Dec 24, 2021
C / Git
- XKCP (⭐568) — is a repository that gathers different free and open-source implementations of the cryptographic schemes defined by the Keccak team.
Dec 11, 2021
Python / Git
- ecdsa (⭐902) - An easy-to-use implementation of ECC with support for ECDSA and ECDH.
Nov 09, 2021
Rust / Git
- ockam (⭐4.4k) - is a Rust library for end-to-end encryption and mutual authentication.
Aug 16, 2021
Java / Git
- Password4j (⭐336) - A Java user-friendly cryptographic library for hashing and checking passwords with different Key derivation functions (KDFs) and Cryptographic hash functions (CHFs).
Aug 08, 2021
Courses / Hash functions
- Harvard's Cryptography Lecture notes - An introductory but fast-paced undergraduate/beginning graduate course on cryptography, Used for Harvard CS 127.
Jul 06, 2021
JavaScript / Git
- TweetNaCl.js (⭐1.7k) - A port of TweetNaCl / NaCl for JavaScript for modern browsers and Node.js.
Jun 19, 2021
Courses / Hash functions
- A Self-Study Course In Block-Cipher Cryptanalysis - This 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.
JavaScript / Git
- bcrypt-Node.js - Native implementation of bcrypt for Node.js.
- cryptico (⭐1.2k) - Easy-to-use encryption system utilizing RSA and AES for JavaScript.
- cryptojs (⭐324) - Provide standard and secure cryptographic algorithms for Node.js.
- forge (⭐5k) - Native implementation of TLS in JavaScript and tools to write crypto-based and network-heavy webapps.
- IronNode - Transform encryption library, a variant of proxy re-encryption, for encrypting to users or groups, and easily adding strong data controls to Node.js apps.
- js-nacl (⭐492) - Pure-JavaScript High-level API to Emscripten-compiled libsodium routines.
- jsencrypt (⭐6.6k) - JavaScript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.
- JShashes (⭐719) - Fast and dependency-free cryptographic hashing library for Node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC).
- jsThemis (⭐1.8k) - JavaScript 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).
- milagro-crypto-js (⭐17) - MCJS 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.
- node.bcrypt.js (⭐7.4k) - bcrypt for Node.js.
- sjcl (⭐7.2k) - Stanford JavaScript Crypto Library.
Objective-C / Git
- ObjC Themis (⭐1.8k) - ObjC 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).
Swift / Git
- OpenSSL (⭐39) - Swift OpenSSL for macOS and Linux.
- Swift-Sodium (⭐508) - Swift interface to the Sodium library for common crypto operations for iOS and macOS.
- SwiftThemis (⭐1.8k) - Swift 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).
Jun 08, 2021
Algorithms / Asymmetric encryption
- ECC - Public-key cryptosystems based on the algebraic structure of elliptic curves over finite fields.
- RSA - One 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.
Web-sites / Git
- Cryptocurrencies Dashboard - A dashboard of most active cryptocurrencies discussed on Reddit.
Apr 24, 2021
Algorithms / Asymmetric encryption
- DH - A 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 (https://en.wikipedia.org/wiki/Forward_secrecy).
Feb 25, 2021
Web-sites / Git
- TikZ for Cryptographers - A collection of block diagrams of common cryptographic functions drawn in TikZ to be used in research papers and presentations written in LaTeX.
Feb 12, 2021
Standalone / Hash functions
- Databunker - API based personal data or PII storage service built to comply with GDPR and CCPA.
Dec 17, 2020
Rust / Git
- mundane (⭐1.1k) - is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant.
Oct 08, 2020
Clojure / Git
- secrets.clj (⭐90) - A Clojure library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets.
Jul 28, 2020
Playgrounds / Git
- Cryptography Playground - A simple web tool to play and learn basic concepts of cryptography like, hashing, symmetric, asymmetric, zkp etc.
Jun 22, 2020
Articles / Hash functions
- Password Insecurity - This article is written for everybody who is interested in password security.
Python / Git
- django-cryptography (⭐367) - Easily encrypt data in Django.
Web-sites / Git
- Applied Crypto Hardening - A lot ready to use best practice examples for securing web servers and more.
Apr 10, 2020
Web-sites / Git
- Cryptohack - A platform with lots of interactive cryptography challenges, similar to Cryptopals.
Feb 16, 2020
C / Git
- monocypher - small, portable, easy to use crypto library inspired by libsodium and TweetNaCl.
Feb 03, 2020
Books / Hash functions
- The Code Book - This 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.
Oct 15, 2019
Web-tools / Git
- factordb.com - Factordb.com is tool used to store known factorizations of any number.
Jul 16, 2019
Books / Hash functions
- Real World Cryptography - This book teaches you applied cryptographic techniques to understand and apply security at every level of your systems and applications.
Jul 03, 2019
C / Git
- milagro-crypto-c (⭐35) - Small, self-contained and fast open source crypto library. It supports RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3 and Pairing-Based Cryptography.
Jun 10, 2019
Web-tools / Git
- Boxentriq - Easy to use tools for analysis and code-breaking of the most frequent ciphers, including Vigenère, Beaufort, Keyed Caesar, Transposition Ciphers, etc.
Jan 29, 2019
Python / Git
- Crypto-Vinaigrette (⭐20) - Quantum resistant asymmetric key generation tool for digital signatures.
Jan 25, 2019
Standalone / Hash functions
- ves - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
C / Git
- libVES.c (⭐35) - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
JavaScript / Git
- libVES.js (⭐7) - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
Jan 03, 2019
Standalone / Hash functions
- Coherence (⭐33) - Cryptographic server for modern web apps.
Dec 20, 2018
Java / Git
- jbcrypt - jBCrypt is an implementation the OpenBSD Blowfish password hashing algorithm.
- Keycloak (⭐21k) - Open Source Identity and Access Management For Modern Applications and Services.
- Project Kalium - Java binding to the Networking and Cryptography (NaCl) library with the awesomeness of libsodium.
Nov 30, 2018
Rust / Git
- dalek cryptography - Fast yet safe mid-level API for ECC, Bulletproofs, and more.
Nov 29, 2018
Algorithms / Transform Encryption
- 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.
JavaScript / Git
- IronWeb - Transform encryption library, a variant of proxy re-encryption, for easily managing end-to-end encryption securely in the browser.
Rust / Git
- recrypt (⭐142) - A pure-Rust library that implements cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption.
Scala / Git
- recrypt (⭐33) - Transform encryption library for Scala.
Blogs / Git
- Salty Hash - Covers topics on encryption, data control, privacy, and security.
Nov 27, 2018
Books / Hash functions
- Practical Cryptography for Developers - Developer-friendly book on modern cryptography (hashes, MAC codes, symmetric and asymmetric ciphers, key exchange, elliptic curves, digital signatures) with lots of code examples.
Oct 23, 2018
Standalone / Hash functions
- sops (⭐16k) - sops 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.
Java / Git
- securitybuilder (⭐43) - Fluent Builder API for JCA/JSSE objects.
Aug 08, 2018
Other lists / Hash functions
- Awesome HE (⭐978) – A curated list of homomorphic encryption libraries, software and resources.
Jul 30, 2018
Other lists / Hash functions
- Awesome crypto-papers (⭐1.7k) – A curated list of cryptography papers, articles, tutorials and howtos.
Jul 26, 2018
Books / Hash functions
- Serious Cryptography - A Practical Introduction to Modern Encryption by Jean-Philippe Aumasson.
Jun 30, 2018
C-sharp / Git
- Microsoft .NET Framework Cryptography Model - The .NET Framework implementations of many standard cryptographic algorithms.
Jun 21, 2018
Standalone / Hash functions
- ironssh (⭐62) - End-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.
Feb 18, 2018
Java / Git
- GDH (⭐31) - Generalized Diffie-Hellman key exchange Java library for multiple parties built on top of the Vert.x framework.
Feb 12, 2018
Scala / Git
- tsec (⭐349) - A type-safe, functional, general purpose security and cryptography library.
Nov 15, 2017
Rust / Git
- proteus (⭐420) - Axolotl protocol implementation, without header keys, in Rust.
Nov 07, 2017
Objective-C / Git
- ObjectivePGP (⭐661) - ObjectivePGP is an implementation of OpenPGP protocol for iOS and macOS. OpenPGP is the most widely used email encryption standard.
Oct 01, 2017
C / Git
- themis (⭐1.8k) - 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). Ported on many languages and platforms, suitable for client-server infastructures.
Go / Git
- goThemis (⭐1.8k) - Go 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).
Java / Git
- Java Themis (⭐1.8k) - Java/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).
PHP / Git
- PHP Themis (⭐1.8k) - PHP 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).
Python / Git
- pythemis (⭐1.8k) - Python 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).
Ruby / Git
- Ruby Themis (⭐1.8k) - Ruby 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).
Sep 19, 2017
Python / Git
- Privy (⭐250) - An easy, fast lib to correctly password-protect your data.
Aug 07, 2017
Algorithms / Symmetric encryption
- 3DES - Symmetric-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.
Jul 14, 2017
Standalone / Hash functions
- Nipe (⭐1.9k) - Nipe is a script to make Tor Network your default gateway.
Jul 12, 2017
Clojure / Git
- clj-crypto (⭐27) - Wrapper for Bouncy Castle.
PHP / Git
- libsodium-laravel (⭐21) - Laravel Package Abstraction using
libsodium
.
Dec 05, 2016
Web-tools / Git
- CyberChef - a web app for encryption, encoding, compression, and data analysis.
Nov 06, 2016
Web-sites / Git
- Cryptopals Crypto Challenges - A 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.
Oct 21, 2016
Courses / Hash functions
- Cryptography - A practical oriented course in Cryptography by University of Maryland College Park.
Oct 04, 2016
Articles / Hash functions
Oct 03, 2016
Swift / Git
- IDZSwiftCommonCrypto (⭐477) - Wrapper for Apple's CommonCrypto library written in Swift.
Oct 02, 2016
Haskell / Git
- cryptol (⭐1.1k) - The Language of Cryptography.
JavaScript / Git
- jsrsasign (⭐3.2k) - The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation.
Rust / Git
- rustls (⭐5.7k) - Rustls is a new, modern TLS library written in Rust.
Sep 08, 2016
Articles / Hash functions
Aug 16, 2016
Books / Hash functions
- Introduction to Modern Cryptography - Introductory-level treatment of cryptography written from a modern, computer science perspective.
Aug 13, 2016
Algorithms / Symmetric encryption
- AES - Symmetric-key block cipher algorithm and U.S. government standard for secure and classified data encryption and decryption (also known as Rijndael).
- Blowfish - Symmetric-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.
Algorithms / Hash functions
- MD5 - Widely 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.
- SHA1 - Cryptographic 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.
- SHA2 - Set 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.
Books / Hash functions
- An Introduction to Mathematical Cryptography - Introduction to modern cryptography.
Standalone / Hash functions
- Bcrypt - Cross-platform file encryption utility.
- certbot (⭐31k) - Previously 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.
- gpg - Complete 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.
Plugins / Git
- git-secret - Bash-tool to store your private data inside a git repository.
C / Git
- libgcrypt - Cryptographic library developed as a separated module of GnuPG.
- libsodium (⭐12k) - Modern and easy-to-use crypto library.
- libtomcrypt (⭐1.5k) - Fairly comprehensive, modular and portable cryptographic toolkit.
- NaCl - High-speed library for network communication, encryption, decryption, signatures, etc.
- wolfSSL (⭐2.2k) - Small, fast, portable implementation of TLS/SSL for embedded devices to the cloud.
C++ / Git
- Botan - Cryptography library written in
C++20
.
- HElib (⭐7) - Software library that implements homomorphic encryption (HE).
- Nettle - Low-level cryptographic library.
- s2n (⭐4.5k) - Implementation of the TLS/SSL protocols.
C-sharp / Git
- libsodium-net - Secure cryptographic library, port of libsodium for .NET.
- PCLCrypto (⭐227) - Provides cryptographic APIs over algorithms implemented by the platform, including exposing them to portable libraries.
Common Lisp / Git
- trivial-ssh (⭐40) - SSH client library for Common Lisp (Built on libssh2).
Elixir / Git
- elixir-rsa (⭐34) -
:public_key
cryptography wrapper for Elixir.
- ex_crypto (⭐136) - Elixir wrapper for Erlang
:crypto
and:public_key
modules. Provides sensible defaults for many crypto functions to make them easier to use.
Erlang / Git
- crypto - Functions for computation of message digests, and functions for encryption and decryption.
- public_key - Provides functions to handle public-key infrastructure.
Haskell / Git
- Cryptography - Collaborative Hackage list.
- Cryptonite - Haskell repository of cryptographic primitives.
JavaScript / Git
- javascript-crypto-library (⭐286) - JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions.
- PolyCrypt (⭐265) - Pure JS implementation of the WebCrypto API.
Java / Git
- Flexiprovider - Powerful toolkit for the Java Cryptography Architecture.
- scrypt (⭐426) - Pure Java implementation of the scrypt key derivation function and a JNI interface to the C implementations, including the SSE2 optimized version.
Julia / Git
- Crypto.jl (⭐9) - Library that wraps OpenSSL, but also has pure Julia implementations for reference.
- MbedTLS.jl (⭐41) - Wrapper around the mbed TLS and cryptography C libary.
- SHA.jl (⭐46) - Performant, 100% native-julia SHA1, SHA2-{224,256,384,512} implementation.
Lua / Git
- lua-lockbox (⭐355) - Collection of cryptographic primitives written in pure Lua.
PHP / Git
- halite - Simple library for encryption using
libsodium
.
- PHP Encryption (⭐3.8k) - Library for encrypting data with a key or password in PHP.
Python / Git
- charm (⭐534) - Framework for rapidly prototyping cryptosystems.
- cryptography - Python library which exposes cryptographic recipes and primitives.
- cryptopy - Pure python implementation of cryptographic algorithms and applications.
- paramiko - Python implementation of the SSHv2 protocol, providing both client and server functionality.
- pycryptodome (⭐2.7k) - Self-contained Python package of low-level cryptographic primitives.
R / Git
- rscrypt (⭐33) - Package for a collection of scrypt cryptographic functions.
Ruby / Git
- bcrypt-ruby (⭐1.9k) - Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.
Rust / Git
- rust-crypto (⭐1.4k) - Mostly pure-Rust implementation of various cryptographic algorithms.
Swift / Git
- SweetHMAC (⭐37) - Tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
- SwiftSSL - Elegant crypto toolkit in Swift.
Blogs / Git
- Bristol Cryptography Blog - Official blog for the University of Bristol cryptography research group. It's a group blog, primarily targeted towards cryptographers and crypto students.
Web-tools / Git
- CrypTool - Great variety of ciphers, encryption methods and analysis tools are introduced, often together with illustrated examples.
Web-sites / Git
- Learn Cryptography - Dedicated to helping people understand how and why the cryptographic systems they use everyday without realizing work to secure and protect their privacy.
Jul 22, 2016
Blogs / Git
- A Few Thoughts on Cryptographic Engineering - Some random thoughts about crypto.
- Charles Engelke's Blog - WebCrypto Blog Posts.
- Root Labs rdist - Nate Lawson and his co-authors write on a variety of topics including hardware implementation, cryptographic timing attacks, DRM, and the Commodore 64.
- Schneier on security - One of the oldest and most famous security blogs. Bruce covers topics from block cipher cryptanalysis to airport security.
Mailing lists / Git
- metzdowd.com - "Cryptography" is a low-noise moderated mailing list devoted to cryptographic technology and its political impact.
- Modern Crypto - Forums for discussing modern cryptographic practice.
- randombit.net - List for general discussion of cryptography, particularly the technical aspects.
Jul 06, 2016
Haskell / Git
- scrypt (⭐16) - Haskell bindings to Colin Percival's scrypt implementation.
Python / Git
- bcrypt (⭐1.2k) - Modern password hashing for your software and your servers.
Jun 26, 2016
Python / Git
- PyElliptic (⭐127) - Python OpenSSL wrapper. For modern cryptography with ECC, AES, HMAC, Blowfish.
Web-sites / Git
- IACR - The International Association for Cryptologic Research is a non-profit scientific organization whose purpose is to further research in cryptology and related fields.
Jun 25, 2016
Haskell / Git
- HsOpenSSL (⭐19) - OpenSSL binding for Haskel.
JavaScript / Git
- asmCrypto (⭐657) - JavaScript implementation of popular cryptographic utilities with performance in mind.
- cifre (⭐121) - Fast crypto toolkit for modern client-side JavaScript.
- closure-library (⭐4.8k) - Google's common JavaScript library.
- libsodium.js (⭐950) - libsodium compiled to pure JavaScript, with convenient wrappers.
- OpenPGP.js (⭐5.6k) - OpenPGP implementation for JavaScript.
- URSA (⭐621) - RSA public/private key OpenSSL bindings for Node.
Jun 24, 2016
Books / Hash functions
- Understanding Cryptography - Often 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.
Standalone / Hash functions
- cryptomator (⭐11k) - Multi-platform transparent client-side encryption of your files in the cloud.
Plugins / Git
- git-crypt (⭐8.1k) - Transparent file encryption in git.
C / Git
- OpenSSL (⭐25k) - TLS/SSL and crypto library.
- PolarSSL - PolarSSL 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.
C++ / Git
- cryptopp (⭐4.6k) - Crypto++ Library is a free C++ class library of cryptographic schemes.
C-sharp / Git
- SecurityDriven.Inferno (⭐568) - .NET crypto done right.
Go / Git
- dkeyczar (⭐111) - Port of Google's Keyczar cryptography library to Go.
JavaScript / Git
- crypto-js (⭐16k) - JavaScript library of crypto standards.
- rusha (⭐275) - High-performance pure-javascript SHA1 implementation suitable for large binary data, reaching up to half the native speed.
Julia / Git
- Nettle.jl (⭐50) - Julia wrapper around nettle cryptographic hashing/ encryption library providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption.
Web-sites / Git
- Subreddit of Cryptography - This subreddit is intended for links and discussions surrounding the theory and practice of strong cryptography.
Jun 22, 2016
Scala / Git
- scrypto (⭐202) - Cryptographic primitives for Scala.
Jun 21, 2016
Books / Hash functions
- A Graduate Course in Applied Cryptography - The book covers many constructions for different tasks in cryptography.
Courses / Hash functions
- Journey into cryptography - The course of cryptography by Khan Academy.
C / Git
- crypto-algorithms (⭐1.8k) - Basic implementations of standard cryptography algorithms, like AES and SHA-1.
Jun 03, 2016
Standalone / Hash functions
- blackbox (⭐6.6k) - safely store secrets in Git/Mercurial/Subversion.
Web-tools / Git
- keybase.io - Keybase maps your identity to your public keys, and vice versa.
Jun 02, 2016
Courses / Hash functions
- Applied Cryptography - Cryptography 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.
- Cryptography - Stanford University - This 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 I - The 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 Cryptography - This 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.
- Practical Aspects of Modern Cryptography - Practical Aspects of Modern Cryptography, Winter 2006 University of Washington CSE.
- Theory and Practice of Cryptography - Introduction to Modern Cryptography, Using Cryptography in Practice and at Google, Proofs of Security and Security Definitions and A Special Topic in Cryptography.
Web-tools / Git
- Cryptolab - is a set of cryptography related tools.
Web-sites / Git
- Cryptography Stackexchange - Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography.
- Garykessler Crypto - An Overview of Cryptography.
- WebCryptoAPI - This specification describes a JavaScript API for performing basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption.
May 25, 2016
Books / Hash functions
- Crypto101 - Crypto 101 is an introductory course on cryptography.
- Cryptography Engineering - Learn to build cryptographic protocols that work in the real world.
- OpenSSL Cookbook - The book about OpenSSL.
- Security Engineering - There is an extraordinary textbook written by Ross Anderson, professor of computer security at University of Cambridge.
- The Cryptoparty Handbook - This book provides a comprehensive guide to the various topics of the computer and internet security.
C / Git
- RHash (⭐556) - Great utility for computing hash sums.
- tiny-AES128-C (⭐4.1k) - Small portable AES128 in C.
- xxHash (⭐8.7k) - Extremely fast hash algorithm.
C-sharp / Git
- Bouncy Castle - All-purpose cryptographic library.
- StreamCryptor (⭐130) - Stream encryption & decryption with libsodium and protobuf.
Clojure / Git
- buddy-core - Cryptographic Api.
- pandect (⭐219) - Fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure.
Common Lisp / Git
- crypto-shortcuts (⭐20) - Collection of common cryptography functions.
- ironclad - Collection of common crypto shortcuts.
Delphi / Git
- DelphiEncryptionCompendium (⭐248) - Cryptographic library for Delphi.
- LockBox - LockBox 3 is a Delphi library for cryptography.
- SynCrypto (⭐780) - Fast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed.
- TForge - TForge is open-source crypto library written in Delphi, compatible with FPC.
Elixir / Git
- cipher (⭐60) - Elixir crypto library to encrypt/decrypt arbitrary binaries.
- cloak (⭐546) - Cloak makes it easy to use encryption with Ecto.
- comeonin (⭐1.3k) - Password authorization (bcrypt) library for Elixir.
- elixir_tea (⭐2) - TEA implementation in Elixir.
- exgpg (⭐18) - Use gpg from Elixir.
- pot (⭐235) - Erlang library for generating one time passwords compatible with Google Authenticator.
- siphash-elixir (⭐18) - Elixir implementation of the SipHash hash family.
Go / Git
- crypto - Official Website Resources.
- gocrypto (⭐151) - Example source code for the Practical Crypto with Go book.
Haskell / Git
- Cryptography & Hashing - Official Website of Haskell.
Haxe / Git
- haxe-crypto - Haxe Cryptography Library.
Java / Git
- Apache Shiro - Performs authentication, authorization, cryptography and session management.
- Bouncy Castle - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
- pac4j (⭐2.4k) - Security engine.
Lua / Git
- LuaCrypto (⭐95) - Lua bindings to OpenSSL.
Objective-C / Git
- CocoaSecurity (⭐1.1k) - AES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex.
- RNCryptor (⭐3.4k) - CCCryptor (AES encryption) wrappers for iOS and Mac.
PHP / Git
- TCrypto (⭐60) - TCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library.
Python / Git
- hashids (⭐1.4k) - Implementation of hashids in Python.
- pynacl (⭐1k) - Python binding to the Networking and Cryptography (NaCl) library.
Ruby / Git
- RbNaCl (⭐981) - Ruby binding to the Networking and Cryptography (NaCl) library.
Rust / Git
- cryptoballot (⭐219) - Cryptographically secure online voting.
- octavo (⭐140) - Highly modular & configurable hash & crypto library.
- ring (⭐3.6k) - Safe, fast, small crypto using Rust & BoringSSL's cryptography primitives.
- rust-openssl (⭐1.3k) - OpenSSL bindings for Rust.
- sodiumoxide (⭐639) - Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium).
- suruga (⭐124) - TLS 1.2 implementation in Rust.
- webpki (⭐456) - Web PKI TLS X.509 certificate validation in Rust.
Swift / Git
- CryptoSwift (⭐10k) - Crypto related functions and helpers for Swift implemented in Swift programming language.