User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Cryptography

A curated list of cryptography resources and links.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: June 26, 2022, 6:13 p.m.

Thank you sobolevn & contributors
View Topic on GitHub:
sobolevn/awesome-cryptography

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Symmetric encryption

Asymmetric encryption

Transform Encryption

Hash functions

Articles

Books

Courses

Other lists

A curated list of cryptography papers, articles, tutorials and howtos.

1.11K
105
1y 7m
n/a

✨ Awesome - A curated list of amazing Homomorphic Encryption libraries, software and resources

393
28
1y 2d
n/a

Standalone

Safely store secrets in Git/Mercurial/Subversion

5.99K
342
1y 43d
MIT

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

28.43K
3.14K
7m
n/a

Coherence is cryptographic server for modern web apps

23
4
9m
GPL-3.0

Multi-platform transparent client-side encryption of your files in the cloud

6.94K
592
4m
GPL-3.0

Secure end-to-end encrypted file sharing over ssh; forked from openssh.

62
9
2y 11m
n/a

An engine to make Tor network your default gateway

1.17K
255
1y 34d
n/a

Simple and flexible tool for managing secrets

8.52K
494
8m
MPL-2.0

Git

Transparent file encryption in git

5.99K
371
8m
GPL-3.0

Playgrounds

C

Basic implementations of standard cryptography algorithms, like AES and SHA-1.

1.26K
562
1y 6m
n/a

Linux Kernel Crypto API User Space Interface Library

99
44
6m
n/a

A modern, portable, easy to use crypto library.

9.92K
1.54K
4m
n/a

LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.

1.21K
376
1y 23d
Unlicense

VESvault End-to-End Encryption API: Encrypt Everything Without Fear of Losing the Key

26
3
9m
GPL-3.0

Apache milagro (Incubating)

22
11
1y 4m
Apache-2.0

A mirror of the nettle repository

28
20
6m
LGPL-3.0

TLS/SSL and crypto library

17.59K
7.7K
4m
Apache-2.0

Great utility for computing hash sums

393
100
7m
0BSD

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

Small portable AES128/192/256 in C

2.77K
1.03K
9m
Unlicense

The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!

1.31K
512
7m
GPL-2.0

eXtended Keccak Code Package

446
164
7m
n/a

Extremely fast non-cryptographic hash algorithm

5.62K
548
8m
n/a

C++

C++ Modern Cryptography Suite

14
0
5m
MIT

free C++ class library of cryptographic schemes

3.24K
976
4m
n/a

An Implementation of homomorphic encryption

210
65
1y 9m
Apache-2.0

s2n : an implementation of the TLS/SSL protocols

4.05K
612
4m
Apache-2.0

C-sharp

libsodium for .NET - A secure cryptographic library

345
99
4y 7m
MIT

Platform crypto for portable libraries

221
54
1y 5m
MS-PL

.NET crypto done right. Professionally audited.

527
44
7m
n/a

Stream encryption & decryption with libsodium and protobuf

119
28
5y 110d
MIT

Clojure

Clj-crypto is a wrapper for Bouncy Castle which allows you to easily use cryptography in your clojure app.

27
14
5y 7m
n/a

Fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure

219
11
1y 4m
MIT

A Clojure library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets.

62
0
5m
MIT

Common Lisp

Collection of common cryptography functions

19
0
1y 8m
Zlib

An SSH client library for Common Lisp (Built on libssh2)

36
7
2y 7m
n/a

Delphi

Cryptographic library for Embarcadero Delphi and potentially for FPC as well

134
33
7m
Apache-2.0

Synopse mORMot ORM/SOA/MVC framework

679
293
4m
n/a

[Delphi][FPC]` Open-source crypto library written in Delphi, compatible with Free Pascal Compiler. MD5, SHA1, SHA256, CRC32, Jenkins-One-At-Time, HMAC, PBKDF1, PBKDF2, AES, DES, RC4, RC5, Salsa20.

Elixir

Elixir crypto library to encrypt/decrypt arbitrary binaries

57
26
1y 23d
MIT

Elixir encryption library designed for Ecto

464
53
1y 22d
MIT

Password hashing specification for the Elixir programming language

1.21K
67
1y 5m
n/a

Erlang public_key cryptography wrapper for Elixir

31
1
2y 7m
MIT

TEA implementation in Elixir

2
1
7y 54d
MIT

Wrapper around the Erlang crypto module for Elixir.

109
40
4m
MIT

gpg interface

17
4
6y 7m
MIT

POT is an Erlang library for generating Google Authenticator compatible one time passwords

211
30
10m
MIT

An Elixir implementation of the SipHash cryptographic hash family

15
1
9m
MIT

Erlang

Go

cryptographically secure online voting

200
27
9m
n/a

Advanced crypto library for the Go language

451
118
1y 62d
MPL-2.0

Port of Google's Keyczar cryptography library to Go

112
16
2y 43d
n/a

Example source code for the Practical Crypto with Go book.

142
32
2y 6m
ISC

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

Haskell

Cryptol: The Language of Cryptography

980
108
8m
n/a

OpenSSL binding for Haskell

20
43
2y 5m
n/a

Haskell bindings to Colin Percival's scrypt implementation.

17
6
6y 9m
n/a

Haxe

JavaScript

JavaScript Cryptographic Library with performance in mind.

610
189
10m
MIT

Fast crypto toolkit for modern client-side JavaScript

120
9
8y 11m
n/a

Google's common JavaScript library

4.26K
1.01K
7m
Apache-2.0

An easy-to-use encryption system utilizing RSA and AES for javascript.

1.14K
345
1y 5m
n/a

JavaScript library of crypto standards.

11.96K
1.79K
8m
n/a

Following googlecode project crypto-js, provide standard and secure cryptographic algorithms for NodeJS. Support MD5, SHA-1, SHA-256, RC4, Rabbit, AES, DES, PBKDF2, HMAC, OFB, CFB, CTR, CBC, Base64

308
72
9y 11m
n/a

A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps

4.15K
670
8m
n/a

The JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions. The library aims to obtain maximum execution speed while preserving modularity and reusability. The library is released as open source under a BDS license.

283
46
6y 5m
BSD-3-Clause

Pure-Javascript High-level API to Emscripten-compiled libsodium routines.

468
61
3y 38d
n/a

A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.

5.46K
1.8K
9m
n/a

Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)

657
141
11m
BSD-3-Clause

The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES JSON Web Signature/Token in pure JavaScript.

2.73K
569
8m
n/a

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

libsodium compiled to Webassembly and pure JavaScript, with convenient wrappers.

722
117
9m
n/a

VESvault End-to-End Encryption API: Encrypt Everything Without Fear of Losing the Key

5
1
1y 102d
GPL-3.0

Apache milagro

11
6
2y 8m
Apache-2.0

Fastest implementation of BLS12-381 in a scripting language. High-security, auditable, 0-dependency aggregated signatures / zk-snarks over pairing-friendly curve

110
26
7m
MIT

Fastest JS implementation of ed25519 / ristretto255. High-security, auditable, 0-dependency EDDSA signatures and public keys

128
23
7m
MIT

Noble RIPEMD160. High-security, easily auditable, 0-dep, 1-file hash function

15
2
9m
MIT

Fastest JS implementation of secp256k1. Independently audited, high-security, 0-dependency ECDSA & Schnorr signatures.

162
27
7m
MIT

bcrypt for NodeJs

6.11K
428
9m
MIT

OpenPGP implementation for JavaScript

4.93K
748
7m
LGPL-3.0

PolyCrypt - A pure JS implementation of the WebCrypto API

263
22
7y 66d
n/a

High-performance pure-javascript SHA1 implementation suitable for large binary data, reaching up to half the native speed.

267
35
1y 19d
MIT

Stanford Javascript Crypto Library

6.78K
900
1y 16d
n/a

Port of TweetNaCl cryptographic library to JavaScript

1.31K
254
10m
Unlicense

URSA - RSA public/private key OpenSSL bindings for Node.js

614
146
3y 60d
n/a

Java

Generalized Diffie-Hellman key exchange Java library built on top of the Vert.x framework

31
5
2y 8m
MIT

Easy-to-use crypto toolkit

1.1K
159
3y 45d
Apache-2.0

Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

12.07K
1.06K
4m
Apache-2.0

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

Open Source Identity and Access Management For Modern Applications and Services

10.44K
4.04K
7m
Apache-2.0

A system for distributing and managing secrets

2.48K
214
4m
Apache-2.0

Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...

2.12K
604
4m
Apache-2.0

Password4j is a user-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various cryptographic hash functions.

177
13
7m
Apache-2.0

Java implementation of scrypt

424
162
1y 8m
Apache-2.0

Fluent builders with typesafe API for the JCA

41
4
1y 1d
Apache-2.0

Julia

A library that wraps OpenSSL, but also has pure Julia implementations for reference.

8
12
1y 63d
n/a

Wrapper around mbedtls

30
41
1y 58d
n/a

Julia wrapper around nettle cryptographic hashing/encryption library providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption

39
33
1y 98d
n/a

A performant, 100% native-julia SHA1, SHA2, and SHA3 implementation

30
33
7m
n/a

Lua

A collection of cryptographic primitives written in pure Lua

302
61
1y 5m
MIT

Fork of LuaCrypto, which enables encryption and decryption through OpenSSL

86
63
8y 9m
MIT

OCaml

Simple hash algorithms in OCaml

77
23
4m
MIT

TLS in pure OCaml

259
58
7m
BSD-2-Clause

Objective-C

Encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex.

1.11K
196
2y 5m
MIT

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

OpenPGP library for iOS and macOS

582
93
8m
n/a

CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc

3.31K
510
4m
MIT

PHP

Laravel integration for libsodium

21
4
6y 116d
MIT

Simple Encryption in PHP.

3.43K
295
9m
MIT

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

TCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library

55
12
5y 10m
n/a

Python

Modern(-ish) password hashing for your software and your servers

801
110
7m
Apache-2.0

Charm: A Framework for Rapidly Prototyping Cryptosystems

396
133
8m
LGPL-3.0

Quantum-resistent asymmetric key generation tool for digital signatures.

12
1
3y 26d
MIT

Easily encrypt data in Django

236
35
8m
BSD-3-Clause

pure-python ECDSA signature/verification and ECDH key agreement

724
260
6m
n/a

Implementation of hashids (http://hashids.org) in Python. Compatible with Python 2 and Python 3

1.28K
94
1y 9m
MIT

An easy, fast lib to correctly password-protect your data

231
15
3y 7m
n/a

A self-contained cryptographic library for Python

1.76K
317
7m
n/a

Python OpenSSL wrapper. For modern cryptography with ECC, AES, HMAC, Blowfish, ...

117
58
5y 64d
n/a

Python binding to the Networking and Cryptography (NaCl) library

847
209
4m
Apache-2.0

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

R

scrypt cryptographic functions for R

30
13
2y 10m
BSD-2-Clause

Ruby

bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.

1.78K
273
5m
n/a

Ruby FFI binding to the Networking and Cryptography (NaCl) library (a.k.a. libsodium)

945
68
8m
MIT

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

Rust

the official Rust and C implementations of the BLAKE3 cryptographic hash function

3.05K
167
5m
n/a

Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).

1.05K
42
2y 92d
MIT

End-to-end encryption and mutual authentication for distributed applications.

1.83K
174
4m
Apache-2.0

Highly modular & configurable hash & crypto library

134
19
4y 8m
MIT

Usable, easy and safe pure-Rust crypto

379
20
4m
MIT

Axolotl Protocol Implementation

395
33
8m
GPL-3.0

A simple, secure and modern encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.

1.19K
45
6m
n/a

A set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption.

96
15
10m
AGPL-3.0

Safe, fast, small crypto using Rust

2.62K
456
5m
n/a

A (mostly) pure-Rust implementation of various cryptographic algorithms.

1.12K
252
5y 9m
n/a

OpenSSL bindings for Rust

896
540
4m
n/a

A modern TLS library in Rust

2.99K
298
7m
n/a

[DEPRECATED] Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)

634
146
8m
n/a

[INACTIVE] TLS 1.2 implementation in Rust

121
10
6y 5m
MIT

WebPKI X.509 Certificate Validation in Rust

359
131
6m
n/a

Scala

Transform encryption library for Scala

26
4
7m
AGPL-3.0

Cryptographic primitives for Scala

178
47
7m
n/a

Type-safe general-cryptography library - https://jmcardon.github.io/tsec/

349
51
7m
MIT

Swift

CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift

9.12K
1.06K
18d
n/a

A wrapper for Apple's Common Crypto library written in Swift.

465
82
1y 11m
MIT

Swift OpenSSL for OS X and Linux

39
22
5y 7m
MIT

A tiny and easy to use Swift class to encrypt strings using HMAC algorithms.

38
6
5y 8m
MIT

Safe and easy to use crypto for iOS and macOS

458
156
31d
ISC

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.54K
126
34d
Apache-2.0

Blogs

Mailing lists

Web-tools

Web-sites