amber

https://github.com/bernedogit/amber

Cryptography library. X25519, Ed25519, Elligator2, ChaCha20, Blake2, Poly1305, Scrypt, Noise protocol, File encryption in C++

BoringSSL

https://boringssl.googlesource.com/boringssl/

BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.

Crypto++

https://www.cryptopp.com/ [github]

Free C++ library for cryptographic schemes written by Wei Dai and includes ciphers, message authentication codes, one-way hash functions, public-key cryptosystems, key agreement schemes, and deflate compression.

Libgcrypt

https://www.gnu.org/software/libgcrypt/

Libgcrypt is a general purpose cryptographic library based on the code from GnuPG. It provides functions for all cryptograhic building blocks: symmetric ciphers (AES, DES, Blowfish, CAST5, Twofish, SEED, Camellia, Arcfour), hash algorithms (MD4, MD5, RIPE-MD160, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, TIGER-192, Whirlpool), MACs (HMAC for all hash algorithms), public key algorithms (RSA, Elgamal, DSA, ECDSA), large integer functions, random numbers and a lot of supporting functions.

LibreSSL

https://www.libressl.org/

LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.

libsecp256k1

https://github.com/bitcoin-core/secp256k1

Optimized C library for EC operations on curve secp256k1.

Sodium

https://download.libsodium.org/doc/
https://github.com/jedisct1/libsodium

Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more.

It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further.

Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.

Sodium supports a variety of compilers and operating systems, including Windows (with MinGW or Visual Studio, x86 and x86_64), iOS and Android.

NaCl

https://nacl.cr.yp.to/

NaCl (pronounced “salt”) is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools.

OpenSSL

https://www.openssl.org/

OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.

s2n

https://github.com/awslabs/s2n

s2n is a C99 implementation of the TLS/SSL protocols that is designed to be simple, small, fast, and with security as a priority.

Snowshoe

https://github.com/catid/snowshoe

Snowshoe - Portable, Secure, Fast Elliptic Curve Math Library in C

TweetNaCl

https://tweetnacl.cr.yp.to/

TweetNaCl is the world's first auditable high-security cryptographic library. TweetNaCl fits into just 100 tweets while supporting all 25 of the C NaCl functions used by applications. TweetNaCl is a self-contained public-domain C library, so it can easily be integrated into applications.

x25519-cortexm4

https://github.com/weedegee/x25519-cortexm4

This project is a constant time implementation of the X25519 elliptic curve Diffie-Hellman function for the ARM Cortex-M4 architecture. It is hand-written in assembler to extract the most performance from the device, and completes a scalar multiplication in 1816351 cycles using 628 bytes of RAM and 4140 bytes of ROM. This function accepts arbitrary public points.

μNaCl

https://munacl.cryptojedi.org/index.shtml

μNaCl (pronounced “microsalt”) is a project to bring the crypto part of the Networking and Cryptography library (NaCl) to embedded microcontrollers. At the moment the only full implementation of μNaCl is targeting 8-bit AVR ATmega microcontrollers. Work on NaCl for TI MSP430 and ARM Cortex-M0 is in progress and this websites already provides standalone implementations of Curve25519 for those architectures.

Ed25519

https://github.com/agl/ed25519

ed25519 for Go

Go cryptography

https://golang.org/pkg/crypto/ - github, doc

Package crypto collects common cryptographic constants.

jose-go

https://github.com/square/go-jose

An implementation of JOSE standards in Golang. https://gopkg.in/square/go-jose.v1

asn-one

https://github.com/hierynomus/asn-one

asn-one is a pure Java implementation of an ASN.1 encoder and decoder. It supports the BER and DER encoding rules of the bytestream.

Bouncy Castle

https://www.bouncycastle.org/ - github

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at http://www.bouncycastle.org.

Conscrypt

https://conscrypt.org/ [github]

Conscrypt is a Java Security Provider that implements parts of the Java Cryptography Extension and Java Secure Socket Extension.

Ganymed SSH-2 for Java

https://github.com/ThreeZhiWang/ganymed-ssh-2

Ganymed SSH-2 for Java is a library which implements the SSH-2 protocol in pure Java (tested on J2SE 5 and 6). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding, SCP and SFTP. There are no dependencies on any JCE provider, as all crypto functionality is included.

J2SSH Maverick

https://github.com/sshtools/j2ssh-maverick/

J2SSH Maverick is the successor to the original J2SSH API and includes a complete and stable implementation of an SSH2 client.

jnacl

https://github.com/neilalexander/jnacl

Pure Java implementation of the NaCl: Networking and Cryptography library

JSch

http://www.jcraft.com/jsch/

JSch is a pure Java implementation of SSH2.

MINA SSHD

https://github.com/apache/mina-sshd

Apache SSHD is a 100% pure java library to support the SSH protocols on both the client and server side. This library can leverage Apache MINA, a scalable and high performance asynchronous IO library. SSHD does not really aim at being a replacement for the SSH client or SSH server from Unix operating systems, but rather provides support for Java based applications requiring SSH support.

sshj

https://github.com/hierynomus/sshj

sshj - SSHv2 library for Java

asmCrypto

https://github.com/vibornoff/asmcrypto.js

JavaScript implementation of popular cryptographic utilities with performance in mind.

ASN1.js

http://asn1js.org/ - github

ASN1js is a pure JavaScript library implementing a full BER ASN.1 decoder.

ASN.1 JavaScript decoder

http://lapo.it/asn1js/ - github

JavaScript generic ASN.1 parser that can decode any valid ASN.1 DER or BER structure whether Base64-encoded (raw base64, PEM armoring and begin-base64 are recognized) or Hex-encoded.

bitaddress.org

https://www.bitaddress.org/ - github

JavaScript Client-Side Bitcoin Wallet Generator.

BitcoinJS

http://bitcoinjs.org/ - github

The pure JavaScript Bitcoin library for node.js and browsers.

Bitcore

https://github.com/bitpay/bitcore

A full stack for bitcoin and blockchain-based applications.

CryptoCoinJS

http://cryptocoinjs.com/ - github

JavaScript library for crypto currencies like Bitcoin and Litecoin.

eccrypto

https://github.com/bitchan/eccrypto

JavaScript Elliptic curve cryptography library for both browserify and node.

Elliptic

https://github.com/indutny/elliptic

Fast elliptic-curve cryptography in a plain javascript implementation.

Forge

https://github.com/digitalbazaar/forge/

A native implementation of TLS (and various other cryptographic tools) in JavaScript.

jsbn

http://www-cs-students.stanford.edu/~tjw/jsbn/

The jsbn library is a fast, portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.

jsrsasign

https://kjur.github.io/jsrsasign/ - github

Opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, CMS SignedData, TimeStamp, CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).

jsSHA

https://caligatio.github.io/jsSHA/ - github

A JavaScript implementation of the complete Secure Hash Standard family (SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512) as well as HMAC by Brian Turek

OpenPGP.js

https://openpgpjs.org/ - github

OpenPGP JavaScript Implementation.

PKI.js

http://pkijs.org/ - github

PKIjs is a pure JavaScript library implementing the formats that are used in PKI applications (signing, encryption, certificate requests, OCSP and TSP requests/responses).

PublicKey.js

https://diafygi.github.io/publickeyjs/ - github

PGP keyserver javascript client library.

sjcl

https://crypto.stanford.edu/sjcl/ - github

Stanford Javascript Crypto Library

scrypt-async

https://github.com/dchest/scrypt-async-js/

Fast “async” scrypt implementation in JavaScript.

TweetNaCl.js

https://tweetnacl.js.org/ - github

Port of TweetNaCl / NaCl to JavaScript for modern browsers and Node.js.

asmCrypto

https://github.com/vibornoff/asmcrypto.js

JavaScript implementation of popular cryptographic utilities with performance in mind.

ASN.1 JavaScript decoder

http://lapo.it/asn1js/ - github

JavaScript generic ASN.1 parser that can decode any valid ASN.1 DER or BER structure whether Base64-encoded (raw base64, PEM armoring and begin-base64 are recognized) or Hex-encoded.

ASN1.js

http://asn1js.org/ - github

ASN1js is a pure JavaScript library implementing a full BER ASN.1 decoder.

bitaddress.org

https://www.bitaddress.org/ - github

JavaScript Client-Side Bitcoin Wallet Generator.

BitcoinJS

http://bitcoinjs.org/ - github

The pure JavaScript Bitcoin library for node.js and browsers.

Bitcore

https://github.com/bitpay/bitcore

A full stack for bitcoin and blockchain-based applications.

browserid-crypto

https://github.com/mozilla/browserid-crypto

JavaScript implementation of JSON Web Signatures and JSON Web Tokens as needed by BrowserID.

CryptoCoinJS

http://cryptocoinjs.com/ - github

JavaScript library for crypto currencies like Bitcoin and Litecoin.

eccrypto

https://github.com/bitchan/eccrypto

JavaScript Elliptic curve cryptography library for both browserify and node.

Elliptic

https://github.com/indutny/elliptic

Fast elliptic-curve cryptography in a plain javascript implementation.

End-To-End

https://github.com/google/end-to-end

End-To-End is a crypto library to encrypt, decrypt, digital sign, and verify signed messages (implementing OpenPGP and OTR).

Forge

https://github.com/digitalbazaar/forge/

A native implementation of TLS (and various other cryptographic tools) in JavaScript.

jose-js

https://github.com/square/js-jose

JavaScript library to encrypt/decrypt data in JSON Web Encryption (JWE) format and to sign/verify data in JSON Web Signature (JWS) format. Leverages Browser's native WebCrypto API.

jsbn

http://www-cs-students.stanford.edu/~tjw/jsbn/

The jsbn library is a fast, portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.

jsencrypt

https://github.com/travist/jsencrypt

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

jsrsasign

https://kjur.github.io/jsrsasign/ - github

Opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, CMS SignedData, TimeStamp, CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).

jsSHA

https://caligatio.github.io/jsSHA/ - github

A JavaScript implementation of the complete Secure Hash Standard family (SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512) as well as HMAC by Brian Turek

libsodium.js

https://github.com/jedisct1/libsodium.js

The sodium crypto library compiled to pure JavaScript using Emscripten, with automatically generated wrappers to make it easy to use in web applications.

OpenPGP.js

https://openpgpjs.org/ - github

OpenPGP JavaScript Implementation.

PKI.js

http://pkijs.org/ - github

PKIjs is a pure JavaScript library implementing the formats that are used in PKI applications (signing, encryption, certificate requests, OCSP and TSP requests/responses).

PublicKey.js

https://diafygi.github.io/publickeyjs/ - github

PGP keyserver javascript client library.

scrypt-async

https://github.com/dchest/scrypt-async-js/

Fast “async” scrypt implementation in JavaScript.

sjcl

https://crypto.stanford.edu/sjcl/ - github

Stanford Javascript Crypto Library

TweetNaCl.js

https://tweetnacl.js.org/ - github

Port of TweetNaCl / NaCl to JavaScript for modern browsers and Node.js.

https://github.com/mesalock-linux/mesalink

MesaLink is a memory-safe and OpenSSL-compatible TLS library. Since 2014, the industry has seen a huge loss due to memory vulnerabilities in TLS stacks, such as the infamous “Heartbleed” bug. MesaLink is created with the goal of eliminating memory vulnerabilities in TLS stacks. MesaLink is written in Rust, a programming language that guarantees memory safety. This significantly reduces the attack surfaces, which facilitates auditing and restricting the remaining attack surfaces. MesaLink is cross-platform and provides OpenSSL-compatible APIs. It works seamlessly in desktop, mobile, and IoT devices. With the growth of the ecosystem, MesaLink would also be adopted in the server environment in the future.

ring

https://briansmith.org/rustdoc/ring/ - github

ring is focused on the implementation, testing, and optimization of a core set of cryptographic operations exposed via an easy-to-use (and hard-to-misuse) API. ring exposes a Rust API and is written in a hybrid of Rust, C, and assembly language.

Rustls

https://github.com/ctz/rustls

Rustls is a new, modern TLS library written in Rust. It's pronounced 'rustles'. It uses ring for cryptography and libwebpki for certificate verification.

webpki

https://briansmith.org/rustdoc/webpki/ - github

webpki is a library that validates Web PKI (TLS/SSL) certificates. webpki is designed to provide a full implementation of the client side of the Web PKI to a diverse range of applications and devices, including embedded (IoT) applications, mobile apps, desktop applications, and server infrastructure. webpki is intended to not only be the best implementation of the Web PKI, but to also precisely define what the Web PKI is.

Swift-Sodium

https://github.com/jedisct1/swift-sodium

Swift-Sodium provides a safe and easy to use interface to perform common cryptographic operations on iOS and OSX.

EncFS

https://vgough.github.io/encfs/

EncFS: an Encrypted Filesystem for FUSE.

Keyczar

https://github.com/google/keyczar

Keyczar is an open source cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications. Keyczar supports authentication and encryption with both symmetric and asymmetric keys.

Tink

https://github.com/google/tink

Tink is a cryptographic library that provides an easy, simple, secure, and agile API for common cryptographic tasks.

TripleSec

https://keybase.io/triplesec

TripleSec is a simple, triple-paranoid, symmetric encryption library for a whole bunch of languages. It encrypts data with Salsa 20, AES, and Twofish, so that a someday compromise of one or two of the ciphers will not expose the secret.