Files
awesome-awesomeness/html/cryptography.md2.html
2025-07-18 23:13:11 +02:00

1074 lines
52 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-cryptography-awesome">Awesome Cryptography <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<p align="center">
<img src="https://github.com/sobolevn/awesome-cryptography/blob/master/awesome-crypto.png?raw=true" alt="Awesome Cryptography">
</p>
<p><a href="https://twitter.com/awe_crypto_bot"><img
src="https://img.shields.io/twitter/follow/awe_crypto_bot.svg?style=social&amp;maxAge=0"
alt="Follow us on twitter" /></a></p>
<p>A curated list of cryptography resources and links.</p>
<h2 id="contents">Contents</h2>
<!--lint disable no-missing-blank-lines alphabetize-lists list-item-punctuation-->
<ul>
<li><a href="#theory">Theory</a>
<ul>
<li><a href="#algorithms">Algorithms</a>
<ul>
<li><a href="#symmetric-encryption">Symmetric encryption</a></li>
<li><a href="#asymmetric-encryption">Asymmetric encryption</a></li>
<li><a href="#hash-functions">Hash functions</a></li>
</ul></li>
<li><a href="#articles">Articles</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#courses">Courses</a></li>
<li><a href="#other-lists">Other lists</a></li>
</ul></li>
<li><a href="#tools">Tools</a>
<ul>
<li><a href="#standalone">Standalone</a></li>
<li><a href="#plugins">Plugins</a>
<ul>
<li><a href="#git">Git</a></li>
</ul></li>
<li><a href="#playgrounds">Playgrounds</a></li>
</ul></li>
<li><a href="#frameworks-and-libs">Frameworks and Libs</a>
<ul>
<li><a href="#c">C</a></li>
<li><a href="#c-sharp">C#</a></li>
<li><a href="#c-1">C++</a></li>
<li><a href="#clojure">Clojure</a></li>
<li><a href="#common-lisp">Common Lisp</a></li>
<li><a href="#delphi">Delphi</a></li>
<li><a href="#elixir">Elixir</a></li>
<li><a href="#erlang">Erlang</a></li>
<li><a href="#go">Golang</a></li>
<li><a href="#haskell">Haskell</a></li>
<li><a href="#haxe">Haxe</a></li>
<li><a href="#java">Java</a></li>
<li><a href="#javascript">JavaScript</a></li>
<li><a href="#julia">Julia</a></li>
<li><a href="#lua">Lua</a></li>
<li><a href="#ocaml">OCaml</a></li>
<li><a href="#objective-c">Objective-C</a></li>
<li><a href="#php">PHP</a></li>
<li><a href="#python">Python</a></li>
<li><a href="#r">R</a></li>
<li><a href="#ruby">Ruby</a></li>
<li><a href="#rust">Rust</a></li>
<li><a href="#scala">Scala</a></li>
<li><a href="#scheme">Scheme</a></li>
<li><a href="#swift">Swift</a></li>
</ul></li>
<li><a href="#resources">Resources</a>
<ul>
<li><a href="#blogs">Blogs</a></li>
<li><a href="#mailing-lists">Mailing lists</a></li>
<li><a href="#web-tools">Web-tools</a></li>
<li><a href="#web-sites">Web-sites</a></li>
</ul></li>
<li><a href="#contributing">Contributing</a></li>
<li><a href="#license">License</a></li>
</ul>
<!--lint enable no-missing-blank-lines alphabetize-lists list-item-punctuation-->
<hr />
<h2 id="theory">Theory</h2>
<h3 id="algorithms">Algorithms</h3>
<h4 id="symmetric-encryption">Symmetric encryption</h4>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Triple_DES">3DES</a> -
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.</li>
<li><a
href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a>
- Symmetric-key block cipher algorithm and U.S. government standard for
secure and classified data encryption and decryption (also known as
Rijndael).</li>
<li><a
href="https://en.wikipedia.org/wiki/Blowfish_(cipher)">Blowfish</a> -
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.</li>
</ul>
<h4 id="asymmetric-encryption">Asymmetric encryption</h4>
<ul>
<li><a
href="https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange">DH</a>
- 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).</li>
<li><a
href="https://en.wikipedia.org/wiki/Elliptic-curve_cryptography">ECC</a>
- Public-key cryptosystems based on the algebraic structure of elliptic
curves over finite fields.</li>
<li><a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">RSA</a> -
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.</li>
</ul>
<h4 id="transform-encryption">Transform Encryption</h4>
<ul>
<li><a
href="https://docs.ironcorelabs.com/concepts/transform-encryption">Transform
Encryption (aka Proxy Re-Encryption)</a> - 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.</li>
</ul>
<h4 id="hash-functions">Hash functions</h4>
<ul>
<li><a href="https://en.wikipedia.org/wiki/MD5">MD5</a> - 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.</li>
<li><a href="https://en.wikipedia.org/wiki/SHA-1">SHA1</a> -
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.</li>
<li><a href="https://en.wikipedia.org/wiki/SHA-2">SHA2</a> - 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.</li>
<li><a href="https://en.wikipedia.org/wiki/SHA-3">SHA3</a> -
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.</li>
</ul>
<h3 id="articles">Articles</h3>
<ul>
<li><a
href="https://paragonie.com/blog/2016/05/how-generate-secure-random-numbers-in-various-programming-languages">How
to Generate Secure Random Numbers in Various Programming
Languages</a>.</li>
<li><a
href="https://www.netlogix.at/news/artikel/password-insecurity-part-1/">Password
Insecurity</a> - This article is written for everybody who is interested
in password security.</li>
<li><a
href="https://paragonie.com/blog/2016/09/untangling-forget-me-knot-secure-account-recovery-made-simple">Secure
Account Recovery Made Simple</a>.</li>
</ul>
<h3 id="books">Books</h3>
<ul>
<li><a href="https://crypto.stanford.edu/~dabo/cryptobook/">A Graduate
Course in Applied Cryptography</a> - The book covers many constructions
for different tasks in cryptography.</li>
<li><a href="http://www.math.brown.edu/~jhs/MathCryptoHome.html">An
Introduction to Mathematical Cryptography</a> - Introduction to modern
cryptography.</li>
<li><a
href="https://www.wiley.com/en-ie/Applied+Cryptography%3A+Protocols%2C+Algorithms+and+Source+Code+in+C%2C+20th+Anniversary+Edition-p-9781119439028">Applied
Cryptography: Protocols, Algorithms and Source Code in C</a> - This
cryptography classic provides you with a comprehensive survey of modern
cryptography.</li>
<li><a href="https://www.crypto101.io/">Crypto101</a> - Crypto 101 is an
introductory course on cryptography.</li>
<li><a
href="https://www.schneier.com/books/cryptography_engineering/">Cryptography
Engineering</a> - Learn to build cryptographic protocols that work in
the real world.</li>
<li><a href="https://cacr.uwaterloo.ca/hac/">Handbook of Applied
Cryptography</a> - This book is intended as a reference for professional
cryptographers.</li>
<li><a href="http://www.cs.umd.edu/~jkatz/imc.html">Introduction to
Modern Cryptography</a> - Introductory-level treatment of cryptography
written from a modern, computer science perspective.</li>
<li><a
href="https://www.feistyduck.com/library/openssl-cookbook/">OpenSSL
Cookbook</a> - The book about OpenSSL.</li>
<li><a href="https://cryptobook.nakov.com">Practical Cryptography for
Developers</a> - Developer-friendly book on modern cryptography (hashes,
MAC codes, symmetric and asymmetric ciphers, key exchange, elliptic
curves, digital signatures) with lots of code examples.</li>
<li><a
href="https://www.manning.com/books/real-world-cryptography/">Real World
Cryptography</a> - This book teaches you applied cryptographic
techniques to understand and apply security at every level of your
systems and applications.</li>
<li><a href="http://www.cl.cam.ac.uk/~rja14/book.html">Security
Engineering</a> - There is an extraordinary textbook written by Ross
Anderson, professor of computer security at University of
Cambridge.</li>
<li><a href="https://nostarch.com/seriouscrypto">Serious
Cryptography</a> - A Practical Introduction to Modern Encryption by
Jean-Philippe Aumasson.</li>
<li><a href="https://simonsingh.net/books/the-code-book/">The Code
Book</a> - 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.</li>
<li><a href="https://unglue.it/work/141611/">The Cryptoparty
Handbook</a> - This book provides a comprehensive guide to the various
topics of the computer and internet security.</li>
<li><a href="http://www.crypto-textbook.com/">Understanding
Cryptography</a> - 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.</li>
</ul>
<h3 id="courses">Courses</h3>
<ul>
<li><a
href="https://www.schneier.com/wp-content/uploads/2016/02/paper-self-study.pdf">A
Self-Study Course In Block-Cipher Cryptanalysis</a> - 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.</li>
<li><a
href="https://www.udacity.com/course/applied-cryptography--cs387">Applied
Cryptography</a> - 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.</li>
<li><a href="https://www.youtube.com/watch?v=ySQl0NhW1J0">Crypto Strikes
Back!</a> - This talk will cover crypto vulnerabilities in
widely-deployed systems and how the smallest oversight resulted in
catastrophe.</li>
<li><a
href="https://www.coursera.org/learn/cryptography">Cryptography</a> - A
practical oriented course in Cryptography by University of Maryland
College Park.</li>
<li><a
href="http://online.stanford.edu/course/cryptography">Cryptography -
Stanford University</a> - 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.</li>
<li><a
href="https://cryptography101.ca/crypto101-building-blocks/">Cryptography
101: Building Blocks</a> - This 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.</li>
<li><a href="https://www.coursera.org/learn/crypto">Cryptography I</a> -
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.</li>
<li><a href="https://www.cybrary.it/course/cryptography/">Cybrary
Cryptography</a> - 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.</li>
<li><a href="https://intensecrypto.org/">Harvards Cryptography Lecture
notes</a> - An introductory but fast-paced undergraduate/beginning
graduate course on cryptography, Used for Harvard CS 127.</li>
<li><a
href="https://www.khanacademy.org/computing/computer-science/cryptography">Journey
into cryptography</a> - The course of cryptography by Khan Academy.</li>
<li><a
href="http://courses.cs.washington.edu/courses/csep590/06wi/">Practical
Aspects of Modern Cryptography</a> - Practical Aspects of Modern
Cryptography, Winter 2006 University of Washington CSE.</li>
<li><a href="https://www.youtube.com/watch?v=ZDnShu5V99s">Theory and
Practice of Cryptography</a> - Introduction to Modern Cryptography,
Using Cryptography in Practice and at Google, Proofs of Security and
Security Definitions and A Special Topic in Cryptography.</li>
</ul>
<h3 id="other-lists">Other lists</h3>
<ul>
<li><a href="https://github.com/pFarb/awesome-crypto-papers">Awesome
crypto-papers</a> A curated list of cryptography papers, articles,
tutorials and howtos.</li>
<li><a href="https://github.com/jonaschn/awesome-he">Awesome HE</a> A
curated list of homomorphic encryption libraries, software and
resources.</li>
<li><a href="https://stellastra.com/cipher-suite">TLS Cipher Suites</a>
- A list of TLS cipher suites and their security ratings.</li>
</ul>
<h2 id="tools">Tools</h2>
<h3 id="standalone">Standalone</h3>
<ul>
<li><a href="http://bcrypt.sourceforge.net/">Bcrypt</a> - Cross-platform
file encryption utility.</li>
<li><a href="https://github.com/StackExchange/blackbox">blackbox</a> -
safely store secrets in Git/Mercurial/Subversion.</li>
<li><a href="https://github.com/certbot/certbot">certbot</a> -
Previously the Lets Encrypt Client, is EFFs tool to obtain certs from
Lets 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.</li>
<li><a href="https://github.com/liesware/coherence/">Coherence</a> -
Cryptographic server for modern web apps.</li>
<li><a href="https://github.com/cryptomator/cryptomator">cryptomator</a>
- Multi-platform transparent client-side encryption of your files in the
cloud.</li>
<li><a href="https://databunker.org/">Databunker</a> - API based
personal data or PII storage service built to comply with GDPR and
CCPA.</li>
<li><a href="https://www.gnupg.org/">gpg</a> - 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.</li>
<li><a href="https://github.com/IronCoreLabs/ironssh">ironssh</a> -
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.</li>
<li><a href="https://github.com/GouveaHeitor/nipe">Nipe</a> - Nipe is a
script to make Tor Network your default gateway.</li>
<li><a href="https://github.com/mozilla/sops">sops</a> - 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.</li>
<li><a href="https://ves.host/docs/ves-util">ves</a> - End-to-end
encrypted sharing via cloud repository, secure recovery through a viral
network of friends in case of key loss.</li>
</ul>
<h3 id="plugins">Plugins</h3>
<h4 id="git">Git</h4>
<ul>
<li><a href="https://github.com/AGWA/git-crypt">git-crypt</a> -
Transparent file encryption in git.</li>
<li><a href="https://sobolevn.github.io/git-secret/">git-secret</a> -
Bash-tool to store your private data inside a git repository.</li>
</ul>
<h3 id="playgrounds">Playgrounds</h3>
<ul>
<li><a
href="https://vishwas1.github.io/crypto/index.html#/crypto">Cryptography
Playground</a> - A simple web tool to play and learn basic concepts of
cryptography like, hashing, symmetric, asymmetric, zkp etc.</li>
</ul>
<h2 id="frameworks-and-libs">Frameworks and Libs</h2>
<h3 id="c">C</h3>
<ul>
<li><a
href="https://github.com/B-Con/crypto-algorithms">crypto-algorithms</a>
- Basic implementations of standard cryptography algorithms, like AES
and SHA-1.</li>
<li><a href="http://directory.fsf.org/wiki/Libgcrypt">libgcrypt</a> -
Cryptographic library developed as a separated module of GnuPG.</li>
<li><a href="https://github.com/smuellerDD/libkcapi">libkcapi</a> -
Linux Kernel Crypto API User Space Interface Library.</li>
<li><a href="https://github.com/jedisct1/libsodium">libsodium</a> -
Modern and easy-to-use crypto library.</li>
<li><a href="https://github.com/libtom/libtomcrypt">libtomcrypt</a> -
Fairly comprehensive, modular and portable cryptographic toolkit.</li>
<li><a href="https://github.com/vesvault/libVES.c">libVES.c</a> -
End-to-end encrypted sharing via cloud repository, secure recovery
through a viral network of friends in case of key loss.</li>
<li><a
href="https://github.com/apache/incubator-milagro-crypto-c">milagro-crypto-c</a>
- Small, self-contained and fast open source crypto library. It supports
RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3 and Pairing-Based
Cryptography.</li>
<li><a href="https://monocypher.org">monocypher</a> - small, portable,
easy to use crypto library inspired by libsodium and TweetNaCl.</li>
<li><a href="https://nacl.cr.yp.to/">NaCl</a> - High-speed library for
network communication, encryption, decryption, signatures, etc.</li>
<li><a href="https://github.com/gnutls/nettle">nettle</a> - 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.</li>
<li><a href="https://github.com/openssl/openssl">OpenSSL</a> - TLS/SSL
and crypto library.</li>
<li><a href="https://tls.mbed.org/">PolarSSL</a> - 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.</li>
<li><a href="https://github.com/rhash/RHash">RHash</a> - Great utility
for computing hash sums.</li>
<li><a href="https://github.com/cossacklabs/themis">themis</a> - 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 &amp; AES encryption). Ported on many
languages and platforms, suitable for client-server infastructures.</li>
<li><a href="https://github.com/kokke/tiny-AES128-C">tiny-AES128-C</a> -
Small portable AES128 in C.</li>
<li><a href="https://github.com/wolfSSL/wolfssl">wolfSSL</a> - Small,
fast, portable implementation of TLS/SSL for embedded devices to the
cloud.</li>
<li><a href="https://github.com/XKCP/XKCP">XKCP</a> — is a repository
that gathers different free and open-source implementations of the
cryptographic schemes defined by the Keccak team.</li>
<li><a href="https://github.com/Cyan4973/xxHash">xxHash</a> - Extremely
fast hash algorithm.</li>
</ul>
<h3 id="c-1">C++</h3>
<ul>
<li><a href="https://github.com/NilFoundation/crypto3">=nil; Crypto3</a>
- Modern Cryptography Suite in C++17 (complete applied cryptography
suite starting with block ciphers and ending with threshold
cryptography, zk proof systems, etc).</li>
<li><a href="https://botan.randombit.net/">Botan</a> - Cryptography
library written in <code>C++20</code>.</li>
<li><a href="https://github.com/weidai11/cryptopp">cryptopp</a> -
Crypto++ Library is a free C++ class library of cryptographic
schemes.</li>
<li><a href="https://github.com/shaih/HElib">HElib</a> - Software
library that implements homomorphic encryption (HE).</li>
<li><a href="http://www.lysator.liu.se/~nisse/nettle/">Nettle</a> -
Low-level cryptographic library.</li>
<li><a href="https://github.com/awslabs/s2n">s2n</a> - Implementation of
the TLS/SSL protocols.</li>
</ul>
<h3 id="c-sharp">C-sharp</h3>
<ul>
<li><a href="https://bouncycastle.org/csharp/index.html">Bouncy
Castle</a> - All-purpose cryptographic library.</li>
<li><a
href="https://github.com/adamcaudill/libsodium-net">libsodium-net</a> -
Secure cryptographic library, port of libsodium for .NET.</li>
<li><a
href="https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model">Microsoft
.NET Framework Cryptography Model</a> - The .NET Framework
implementations of many standard cryptographic algorithms.</li>
<li><a href="https://github.com/AArnott/PCLCrypto">PCLCrypto</a> -
Provides cryptographic APIs over algorithms implemented by the platform,
including exposing them to portable libraries.</li>
<li><a
href="https://github.com/sdrapkin/SecurityDriven.Inferno">SecurityDriven.Inferno</a>
- .NET crypto done right.</li>
<li><a
href="https://github.com/bitbeans/StreamCryptor">StreamCryptor</a> -
Stream encryption &amp; decryption with libsodium and protobuf.</li>
</ul>
<h3 id="clojure">Clojure</h3>
<ul>
<li><a
href="https://funcool.github.io/buddy-core/latest/">buddy-core</a> -
Cryptographic Api.</li>
<li><a href="https://github.com/macourtney/clj-crypto/">clj-crypto</a> -
Wrapper for Bouncy Castle.</li>
<li><a href="https://github.com/xsc/pandect">pandect</a> - Fast and
easy-to-use Message Digest, Checksum and HMAC library for Clojure.</li>
<li><a href="https://github.com/lk-geimfari/secrets.clj">secrets.clj</a>
- A Clojure library designed to generate cryptographically strong random
numbers suitable for managing data such as passwords, account
authentication, security tokens, and related secrets.</li>
</ul>
<h3 id="common-lisp">Common Lisp</h3>
<ul>
<li><a
href="https://github.com/Shinmera/crypto-shortcuts">crypto-shortcuts</a>
- Collection of common cryptography functions.</li>
<li><a href="http://method-combination.net/lisp/ironclad/">ironclad</a>
- Collection of common crypto shortcuts.</li>
<li><a href="https://github.com/eudoxia0/trivial-ssh">trivial-ssh</a> -
SSH client library for Common Lisp (Built on libssh2).</li>
</ul>
<h3 id="delphi">Delphi</h3>
<ul>
<li><a
href="https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases">DelphiEncryptionCompendium</a>
- Cryptographic library for Delphi.</li>
<li><a href="https://sourceforge.net/projects/tplockbox/">LockBox</a> -
LockBox 3 is a Delphi library for cryptography.</li>
<li><a
href="https://github.com/synopse/mORMot/blob/master/SynCrypto.pas">SynCrypto</a>
- Fast cryptographic routines (hashing and cypher), implementing AES,
XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for
speed.</li>
<li><a href="https://bitbucket.org/sergworks/tforge">TForge</a> - TForge
is open-source crypto library written in Delphi, compatible with
FPC.</li>
</ul>
<h3 id="elixir">Elixir</h3>
<ul>
<li><a href="https://github.com/rubencaro/cipher">cipher</a> - Elixir
crypto library to encrypt/decrypt arbitrary binaries.</li>
<li><a href="https://github.com/danielberkompas/cloak">cloak</a> - Cloak
makes it easy to use encryption with Ecto.</li>
<li><a href="https://github.com/elixircnx/comeonin">comeonin</a> -
Password authorization (bcrypt) library for Elixir.</li>
<li><a href="https://github.com/trapped/elixir-rsa">elixir-rsa</a> -
<code>:public_key</code> cryptography wrapper for Elixir.</li>
<li><a href="https://github.com/keichan34/elixir_tea">elixir_tea</a> -
TEA implementation in Elixir.</li>
<li><a href="https://github.com/ntrepid8/ex_crypto">ex_crypto</a> -
Elixir wrapper for Erlang <code>:crypto</code> and
<code>:public_key</code> modules. Provides sensible defaults for many
crypto functions to make them easier to use.</li>
<li><a href="https://github.com/rozap/exgpg">exgpg</a> - Use gpg from
Elixir.</li>
<li><a href="https://github.com/yuce/pot">pot</a> - Erlang library for
generating one time passwords compatible with Google Authenticator.</li>
<li><a
href="https://github.com/zackehh/siphash-elixir">siphash-elixir</a> -
Elixir implementation of the SipHash hash family.</li>
</ul>
<h3 id="erlang">Erlang</h3>
<ul>
<li><a href="http://erlang.org/doc/apps/crypto/">crypto</a> - Functions
for computation of message digests, and functions for encryption and
decryption.</li>
<li><a href="http://erlang.org/doc/man/public_key.html">public_key</a> -
Provides functions to handle public-key infrastructure.</li>
</ul>
<h3 id="go">Go</h3>
<ul>
<li><a href="https://golang.org/pkg/crypto/">crypto</a> - Official
Website Resources.</li>
<li><a href="https://github.com/dgryski/dkeyczar">dkeyczar</a> - Port of
Googles Keyczar cryptography library to Go.</li>
<li><a href="https://github.com/kisom/gocrypto">gocrypto</a> - Example
source code for the Practical Crypto with Go book.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Go-Howto">goThemis</a>
- 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
&amp; AES encryption).</li>
<li><a href="https://github.com/dedis/kyber">kyber</a> - Advanced crypto
library for the Go language.</li>
</ul>
<h3 id="haskell">Haskell</h3>
<ul>
<li><a
href="http://hackage.haskell.org/packages/#cat:Cryptography">Cryptography</a>
- Collaborative Hackage list.</li>
<li><a
href="https://wiki.haskell.org/Applications_and_libraries/Cryptography">Cryptography
&amp; Hashing</a> - Official Website of Haskell.</li>
<li><a href="https://github.com/GaloisInc/cryptol">cryptol</a> - The
Language of Cryptography.</li>
<li><a
href="https://hackage.haskell.org/package/cryptonite">Cryptonite</a> -
Haskell repository of cryptographic primitives.</li>
<li><a href="https://github.com/phonohawk/HsOpenSSL">HsOpenSSL</a> -
OpenSSL binding for Haskel.</li>
<li><a href="https://github.com/informatikr/scrypt">scrypt</a> - Haskell
bindings to Colin Percivals scrypt implementation.</li>
</ul>
<h3 id="haxe">Haxe</h3>
<ul>
<li><a href="http://lib.haxe.org/p/haxe-crypto/">haxe-crypto</a> - Haxe
Cryptography Library.</li>
</ul>
<h3 id="javascript">JavaScript</h3>
<ul>
<li><a href="https://github.com/vibornoff/asmcrypto.js/">asmCrypto</a> -
JavaScript implementation of popular cryptographic utilities with
performance in mind.</li>
<li><a
href="https://github.com/shaneGirish/bcrypt-Node.js">bcrypt-Node.js</a>
- Native implementation of bcrypt for Node.js.</li>
<li><a href="https://github.com/openpeer/cifre">cifre</a> - Fast crypto
toolkit for modern client-side JavaScript.</li>
<li><a
href="https://github.com/google/closure-library/tree/master/closure/goog/crypt">closure-library</a>
- Googles common JavaScript library.</li>
<li><a href="https://github.com/wwwtyro/cryptico">cryptico</a> -
Easy-to-use encryption system utilizing RSA and AES for JavaScript.</li>
<li><a href="https://github.com/brix/crypto-js">crypto-js</a> -
JavaScript library of crypto standards.</li>
<li><a href="https://github.com/gwjjeff/cryptojs">cryptojs</a> - Provide
standard and secure cryptographic algorithms for Node.js.</li>
<li><a href="https://github.com/digitalbazaar/forge">forge</a> - Native
implementation of TLS in JavaScript and tools to write crypto-based and
network-heavy webapps.</li>
<li><a
href="https://docs.ironcorelabs.com/ironnode-sdk/overview">IronNode</a>
- 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.</li>
<li><a
href="https://docs.ironcorelabs.com/ironweb-sdk/overview">IronWeb</a> -
Transform encryption library, a variant of proxy re-encryption, for
easily managing end-to-end encryption securely in the browser.</li>
<li><a
href="https://github.com/clipperz/javascript-crypto-library">javascript-crypto-library</a>
- JavaScript Crypto Library provides web developers with an extensive
and efficient set of cryptographic functions.</li>
<li><a href="https://github.com/tonyg/js-nacl">js-nacl</a> -
Pure-JavaScript High-level API to Emscripten-compiled libsodium
routines.</li>
<li><a href="https://github.com/travist/jsencrypt">jsencrypt</a> -
JavaScript library to perform OpenSSL RSA Encryption, Decryption, and
Key Generation.</li>
<li><a href="https://github.com/h2non/jshashes">JShashes</a> - Fast and
dependency-free cryptographic hashing library for Node.js and browsers
(supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC).</li>
<li><a href="https://github.com/kjur/jsrsasign">jsrsasign</a> - The
jsrsasign (RSA-Sign JavaScript Library) is an opensource free
cryptography library supporting RSA/RSAPSS/ECDSA/DSA
signing/validation.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Nodejs-Howto">jsThemis</a>
- 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
&amp; AES encryption).</li>
<li><a href="https://github.com/jedisct1/libsodium.js">libsodium.js</a>
- libsodium compiled to pure JavaScript, with convenient wrappers.</li>
<li><a href="https://github.com/vesvault/libVES">libVES.js</a> -
End-to-end encrypted sharing via cloud repository, secure recovery
through a viral network of friends in case of key loss.</li>
<li><a
href="https://github.com/paulmillr/micro-rsa-dsa-dh">micro-rsa-dsa-dh</a>
- Minimal implementation of older cryptography algorithms: RSA, DSA, DH,
ElGamal.</li>
<li><a
href="https://github.com/apache/incubator-milagro-crypto-js">milagro-crypto-js</a>
- 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.</li>
<li>noble - high-security, easily auditable set of contained
cryptographic libraries and tools. Zero dependencies each.
<ul>
<li><a
href="https://github.com/paulmillr/noble-ciphers">noble-ciphers</a>
cryptographic ciphers, including AES-SIV, Salsa20, ChaCha, Poly1305 and
FF1</li>
<li><a href="https://github.com/paulmillr/noble-curves">noble-curves</a>
— 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
<a
href="https://github.com/paulmillr/noble-secp256k1">noble-secp256k1</a>,
<a
href="https://github.com/paulmillr/noble-ed25519">noble-ed25519</a></li>
<li><a href="https://github.com/paulmillr/noble-hashes">noble-hashes</a>
— SHA2, SHA3, RIPEMD, BLAKE2/3, HMAC, HKDF, PBKDF2, Scrypt &amp;
Argon2id</li>
<li><a
href="https://github.com/paulmillr/noble-post-quantum">noble-post-quantum</a>
— ML-KEM, ML-DSA, SLH-DSA (CRYSTALS-Kyber, CRYSTALS-Dilithium, Sphincs+)
and hybrids</li>
</ul></li>
<li><a
href="https://github.com/ncb000gt/node.bcrypt.js">node.bcrypt.js</a> -
bcrypt for Node.js.</li>
<li><a href="https://github.com/openpgpjs/openpgpjs">OpenPGP.js</a> -
OpenPGP implementation for JavaScript.</li>
<li><a href="https://github.com/polycrypt/polycrypt">PolyCrypt</a> -
Pure JS implementation of the WebCrypto API.</li>
<li><a href="https://github.com/srijs/rusha">rusha</a> -
High-performance pure-javascript SHA1 implementation suitable for large
binary data, reaching up to half the native speed.</li>
<li><a href="https://github.com/bitwiseshiftleft/sjcl">sjcl</a> -
Stanford JavaScript Crypto Library.</li>
<li><a href="https://github.com/dchest/tweetnacl-js">TweetNaCl.js</a> -
A port of TweetNaCl / NaCl for JavaScript for modern browsers and
Node.js.</li>
<li><a href="https://github.com/quartzjer/ursa">URSA</a> - RSA
public/private key OpenSSL bindings for Node.</li>
</ul>
<h3 id="java">Java</h3>
<ul>
<li><a href="http://shiro.apache.org/">Apache Shiro</a> - Performs
authentication, authorization, cryptography and session management.</li>
<li><a href="https://www.bouncycastle.org/java.html">Bouncy Castle</a> -
All-purpose cryptographic library. JCA provider, wide range of functions
from basic helpers to PGP/SMIME operations.</li>
<li><a href="http://www.flexiprovider.de/">Flexiprovider</a> - Powerful
toolkit for the Java Cryptography Architecture.</li>
<li><a href="https://github.com/maxamel/GDH">GDH</a> - Generalized
Diffie-Hellman key exchange Java library for multiple parties built on
top of the Vert.x framework.</li>
<li><a href="https://github.com/tink-crypto/tink-java">Google Tink</a> -
A small crypto library that provides a safe, simple, agile and fast way
to accomplish some common crypto tasks.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Java-and-Android-Howto">Java
Themis</a> - 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 &amp; AES encryption).</li>
<li><a href="http://www.mindrot.org/projects/jBCrypt/">jbcrypt</a> -
jBCrypt is an implementation the OpenBSD Blowfish password hashing
algorithm.</li>
<li><a href="https://github.com/keycloak/keycloak">Keycloak</a> - Open
Source Identity and Access Management For Modern Applications and
Services.</li>
<li><a href="https://github.com/pac4j/pac4j">pac4j</a> - Security
engine.</li>
<li><a href="https://github.com/Password4j/password4j">Password4j</a> -
A Java user-friendly cryptographic library for hashing and checking
passwords with different Key derivation functions (KDFs) and
Cryptographic hash functions (CHFs).</li>
<li><a href="http://abstractj.github.io/kalium/">Project Kalium</a> -
Java binding to the Networking and Cryptography (NaCl) library with the
awesomeness of libsodium.</li>
<li><a href="https://github.com/wg/scrypt">scrypt</a> - Pure Java
implementation of the scrypt key derivation function and a JNI interface
to the C implementations, including the SSE2 optimized version.</li>
<li><a
href="https://github.com/tersesystems/securitybuilder">securitybuilder</a>
- Fluent Builder API for JCA/JSSE objects.</li>
</ul>
<h3 id="julia">Julia</h3>
<ul>
<li><a href="https://github.com/danielsuo/Crypto.jl">Crypto.jl</a> -
Library that wraps OpenSSL, but also has pure Julia implementations for
reference.</li>
<li><a href="https://github.com/JuliaWeb/MbedTLS.jl">MbedTLS.jl</a> -
Wrapper around the mbed TLS and cryptography C libary.</li>
<li><a href="https://github.com/staticfloat/Nettle.jl">Nettle.jl</a> -
Julia wrapper around nettle cryptographic hashing/ encryption library
providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES
encryption/decryption.</li>
<li><a href="https://github.com/staticfloat/SHA.jl">SHA.jl</a> -
Performant, 100% native-julia SHA1, SHA2-{224,256,384,512}
implementation.</li>
</ul>
<h3 id="lua">Lua</h3>
<ul>
<li><a href="https://github.com/somesocks/lua-lockbox">lua-lockbox</a> -
Collection of cryptographic primitives written in pure Lua.</li>
<li><a href="https://github.com/mkottman/luacrypto">LuaCrypto</a> - Lua
bindings to OpenSSL.</li>
</ul>
<h3 id="ocaml">OCaml</h3>
<ul>
<li><a href="https://github.com/mirage/digestif">Digestif</a> - is a
toolbox that implements various cryptographic primitives in C and
OCaml.</li>
<li><a href="https://github.com/mirleft/ocaml-tls">ocaml-tls</a> - TLS
in pure OCaml.</li>
</ul>
<h3 id="objective-c">Objective-C</h3>
<ul>
<li><a href="https://github.com/kelp404/CocoaSecurity">CocoaSecurity</a>
- AES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Objective-C-Howto">ObjC
Themis</a> - 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 &amp; AES encryption).</li>
<li><a
href="https://github.com/krzyzanowskim/ObjectivePGP">ObjectivePGP</a> -
ObjectivePGP is an implementation of OpenPGP protocol for iOS and macOS.
OpenPGP is the most widely used email encryption standard.</li>
<li><a href="https://github.com/RNCryptor/RNCryptor">RNCryptor</a> -
CCCryptor (AES encryption) wrappers for iOS and Mac.</li>
</ul>
<h3 id="php">PHP</h3>
<ul>
<li><a href="https://paragonie.com/project/halite">halite</a> - Simple
library for encryption using <code>libsodium</code>.</li>
<li><a
href="https://github.com/scrothers/libsodium-laravel">libsodium-laravel</a>
- Laravel Package Abstraction using <code>libsodium</code>.</li>
<li><a href="https://github.com/defuse/php-encryption">PHP
Encryption</a> - Library for encrypting data with a key or password in
PHP.</li>
<li><a href="https://github.com/cossacklabs/themis/wiki/PHP-Howto">PHP
Themis</a> - 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 &amp; AES encryption).</li>
<li><a href="https://github.com/timoh6/TCrypto">TCrypto</a> - TCrypto is
a simple and flexible PHP 5.3+ in-memory key-value storage library.</li>
</ul>
<h3 id="python">Python</h3>
<ul>
<li><a href="https://github.com/pyca/bcrypt">bcrypt</a> - Modern
password hashing for your software and your servers.</li>
<li><a href="https://github.com/JHUISI/charm">charm</a> - Framework for
rapidly prototyping cryptosystems.</li>
<li><a
href="https://github.com/aditisrinivas97/Crypto-Vinaigrette">Crypto-Vinaigrette</a>
- Quantum resistant asymmetric key generation tool for digital
signatures.</li>
<li><a href="https://cryptography.io/en/latest/">cryptography</a> -
Python library which exposes cryptographic recipes and primitives.</li>
<li><a href="https://sourceforge.net/projects/cryptopy/">cryptopy</a> -
Pure python implementation of cryptographic algorithms and
applications.</li>
<li><a
href="https://github.com/georgemarshall/django-cryptography">django-cryptography</a>
- Easily encrypt data in Django.</li>
<li><a href="https://github.com/tlsfuzzer/python-ecdsa">ecdsa</a> - An
easy-to-use implementation of ECC with support for ECDSA and ECDH.</li>
<li><a href="https://github.com/davidaurelio/hashids-python">hashids</a>
- Implementation of <a href="http://hashids.org">hashids</a> in
Python.</li>
<li><a href="http://www.paramiko.org/">paramiko</a> - Python
implementation of the SSHv2 protocol, providing both client and server
functionality.</li>
<li><a href="https://github.com/ofek/privy">Privy</a> - An easy, fast
lib to correctly password-protect your data.</li>
<li><a href="https://github.com/Legrandin/pycryptodome">pycryptodome</a>
- Self-contained Python package of low-level cryptographic
primitives.</li>
<li><a href="https://github.com/yann2192/pyelliptic">PyElliptic</a> -
Python OpenSSL wrapper. For modern cryptography with ECC, AES, HMAC,
Blowfish.</li>
<li><a href="https://github.com/pyca/pynacl">pynacl</a> - Python binding
to the Networking and Cryptography (NaCl) library.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Python-Howto">pythemis</a>
- 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
&amp; AES encryption).</li>
</ul>
<h3 id="r">R</h3>
<ul>
<li><a href="https://github.com/rstudio/rscrypt">rscrypt</a> - Package
for a collection of scrypt cryptographic functions.</li>
</ul>
<h3 id="ruby">Ruby</h3>
<ul>
<li><a href="https://github.com/codahale/bcrypt-ruby">bcrypt-ruby</a> -
Ruby binding for the OpenBSD bcrypt() password hashing algorithm,
allowing you to easily store a secure hash of your users
passwords.</li>
<li><a href="https://github.com/cryptosphere/rbnacl">RbNaCl</a> - Ruby
binding to the Networking and Cryptography (NaCl) library.</li>
<li><a href="https://github.com/cossacklabs/themis/wiki/Ruby-Howto">Ruby
Themis</a> - 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 &amp; AES encryption).</li>
</ul>
<h3 id="rust">Rust</h3>
<ul>
<li><a href="https://github.com/RustCrypto/AEADs">AEADs</a> -
Authenticated Encryption with Associated Data Algorithms: high-level
encryption ciphers.</li>
<li><a href="https://github.com/BLAKE3-team/BLAKE3">BLAKE3</a> - is
official Rust and C implementations of the BLAKE3 cryptographic hash
function.</li>
<li><a href="https://github.com/randombit/botan-rs">botan-rs</a> - Botan
bindings for Rust.</li>
<li><a
href="https://github.com/cryptoballot/cryptoballot">cryptoballot</a> -
Cryptographically secure online voting.</li>
<li><a href="https://github.com/dalek-cryptography/">dalek
cryptography</a> - Fast yet safe mid-level API for ECC, Bulletproofs,
and more.</li>
<li><a href="https://github.com/brndnmtthws/dryoc">dryoc</a> - A
pure-Rust, general purpose crypto library that implements libsodium
primitives.</li>
<li><a
href="https://github.com/RustCrypto/elliptic-curves">elliptic-curves</a>
- Collection of pure Rust elliptic curve implementations: NIST P-224,
P-256, P-384, P-521, secp256k1, SM2.</li>
<li><a href="https://github.com/RustCrypto/formats">formats</a> -
Cryptography-related format encoders/decoders: DER, PEM, PKCS,
PKIX.</li>
<li><a href="https://github.com/RustCrypto/hashes">hashes</a> -
Collection of cryptographic hash functions written in pure Rust.</li>
<li><a href="https://github.com/google/mundane">mundane</a> - is a Rust
cryptography library backed by BoringSSL that is difficult to misuse,
ergonomic, and performant.</li>
<li><a href="https://github.com/ockam-network/ockam">ockam</a> - is a
Rust library for end-to-end encryption and mutual authentication.</li>
<li><a href="https://github.com/libOctavo/octavo">octavo</a> - Highly
modular &amp; configurable hash &amp; crypto library.</li>
<li><a href="https://github.com/orion-rs/orion">orion</a> - 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.</li>
<li><a
href="https://github.com/RustCrypto/password-hashes">password-hashes</a>
- Collection of password hashing algorithms, otherwise known as
password-based key derivation functions, written in pure Rust.</li>
<li><a href="https://github.com/wireapp/proteus">proteus</a> - Axolotl
protocol implementation, without header keys, in Rust.</li>
<li><a href="https://github.com/str4d/rage">rage</a> - is a simple,
modern, and secure file encryption tool, using the age format.</li>
<li><a href="https://github.com/IronCoreLabs/recrypt-rs">recrypt</a> - A
pure-Rust library that implements cryptographic primitives for building
a multi-hop Proxy Re-encryption scheme, known as Transform
Encryption.</li>
<li><a href="https://github.com/briansmith/ring">ring</a> - Safe, fast,
small crypto using Rust &amp; BoringSSLs cryptography primitives.</li>
<li><a href="https://github.com/pluto/ronkathon">ronkathon</a> -
Educational, mathematically transparent, well documentated cryptography
in rust.</li>
<li><a href="https://github.com/DaGenix/rust-crypto">rust-crypto</a> -
Mostly pure-Rust implementation of various cryptographic
algorithms.</li>
<li><a href="https://github.com/sfackler/rust-openssl">rust-openssl</a>
- OpenSSL bindings for Rust.</li>
<li><a href="https://github.com/ctz/rustls">rustls</a> - Rustls is a
new, modern TLS library written in Rust.</li>
<li><a href="https://github.com/RustCrypto/signatures">signatures</a> -
Cryptographic signature algorithms: DSA, ECDSA, Ed25519.</li>
<li><a
href="https://github.com/mcginty/snow?tab=readme-ov-file">snow</a> -
Pure Rust implementation of Trevor Perrins <a
href="https://noiseprotocol.org/noise.html">Noise Protocol</a>.</li>
<li><a href="https://github.com/dnaq/sodiumoxide">sodiumoxide</a> -
Sodium Oxide: Fast cryptographic library for Rust (bindings to
libsodium).</li>
<li><a href="https://github.com/klutzy/suruga">suruga</a> - TLS 1.2
implementation in Rust.</li>
<li><a href="https://github.com/briansmith/webpki">webpki</a> - Web PKI
TLS X.509 certificate validation in Rust.</li>
</ul>
<h3 id="scala">Scala</h3>
<ul>
<li><a href="https://github.com/IronCoreLabs/recrypt">recrypt</a> -
Transform encryption library for Scala.</li>
<li><a href="https://github.com/input-output-hk/scrypto">scrypto</a> -
Cryptographic primitives for Scala.</li>
<li><a href="https://github.com/jmcardon/tsec">tsec</a> - A type-safe,
functional, general purpose security and cryptography library.</li>
</ul>
<h3 id="scheme">Scheme</h3>
<ul>
<li><a
href="https://github.com/caolan/chicken-sodium">chicken-sodium</a> -
Bindings to libsodium crypto library for Chicken Scheme.</li>
<li><a
href="https://wiki.call-cc.org/eggref/5/crypto-tools">crypto-tools</a> -
Useful cryptographic primitives for Chicken Scheme.</li>
<li><a href="https://gitlab.com/gnutls/guile/">guile-gnutls</a> - GnuTLS
bindings for GNU Guile.</li>
<li><a href="https://github.com/artyom-poptsov/guile-ssh">guile-ssh</a>
- libssh bindings for GNU Guile.</li>
<li><a href="https://gitlab.com/weinholt/industria">industria</a> -
Motley assortment of cryptographic primitives, OpenSSH, DNS.</li>
</ul>
<h3 id="swift">Swift</h3>
<ul>
<li><a
href="https://github.com/krzyzanowskim/CryptoSwift">CryptoSwift</a> -
Crypto related functions and helpers for Swift implemented in Swift
programming language.</li>
<li><a
href="https://github.com/iosdevzone/IDZSwiftCommonCrypto">IDZSwiftCommonCrypto</a>
- Wrapper for Apples <a
href="https://opensource.apple.com/source/CommonCrypto/">CommonCrypto</a>
library written in Swift.</li>
<li><a href="https://github.com/Zewo/OpenSSL">OpenSSL</a> - Swift
OpenSSL for macOS and Linux.</li>
<li><a href="https://github.com/jancassio/SweetHMAC">SweetHMAC</a> -
Tiny and easy to use Swift class to encrypt strings using HMAC
algorithms.</li>
<li><a href="https://github.com/jedisct1/swift-sodium">Swift-Sodium</a>
- Swift interface to the Sodium library for common crypto operations for
iOS and macOS.</li>
<li><a href="https://github.com/SwiftP2P/SwiftSSL">SwiftSSL</a> -
Elegant crypto toolkit in Swift.</li>
<li><a
href="https://github.com/cossacklabs/themis/wiki/Swift-Howto">SwiftThemis</a>
- 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 &amp; AES encryption).</li>
</ul>
<h2 id="resources">Resources</h2>
<h3 id="blogs">Blogs</h3>
<ul>
<li><a href="http://blog.cryptographyengineering.com/">A Few Thoughts on
Cryptographic Engineering</a> - Some random thoughts about crypto.</li>
<li><a href="http://bristolcrypto.blogspot.co.uk/">Bristol Cryptography
Blog</a> - Official blog for the University of Bristol cryptography
research group. Its a group blog, primarily targeted towards
cryptographers and crypto students.</li>
<li><a href="https://blog.engelke.com/tag/webcrypto/">Charles Engelkes
Blog</a> - WebCrypto Blog Posts.</li>
<li><a href="https://rdist.root.org/">Root Labs rdist</a> - Nate Lawson
and his co-authors write on a variety of topics including hardware
implementation, cryptographic timing attacks, DRM, and the Commodore
64.</li>
<li><a href="https://blog.ironcorelabs.com">Salty Hash</a> - Covers
topics on encryption, data control, privacy, and security.</li>
<li><a href="https://www.schneier.com/">Schneier on security</a> - One
of the oldest and most famous security blogs. Bruce covers topics from
block cipher cryptanalysis to airport security.</li>
</ul>
<h3 id="mailing-lists">Mailing lists</h3>
<ul>
<li><a
href="http://www.metzdowd.com/mailman/listinfo/cryptography">metzdowd.com</a>
- “Cryptography” is a low-noise moderated mailing list devoted to
cryptographic technology and its political impact.</li>
<li><a href="https://moderncrypto.org/">Modern Crypto</a> - Forums for
discussing modern cryptographic practice.</li>
<li><a
href="https://lists.randombit.net/mailman/listinfo/cryptography">randombit.net</a>
- List for general discussion of cryptography, particularly the
technical aspects.</li>
</ul>
<h3 id="web-tools">Web-tools</h3>
<ul>
<li><a href="https://www.boxentriq.com/code-breaking">Boxentriq</a> -
Easy to use tools for analysis and code-breaking of the most frequent
ciphers, including Vigenère, Beaufort, Keyed Caesar, Transposition
Ciphers, etc.</li>
<li><a
href="http://manansingh.github.io/Cryptolab-Offline/cryptolab.html">Cryptolab</a>
- is a set of cryptography related tools.</li>
<li><a href="http://www.cryptool-online.org/">CrypTool</a> - Great
variety of ciphers, encryption methods and analysis tools are
introduced, often together with illustrated examples.</li>
<li><a href="https://gchq.github.io/CyberChef/">CyberChef</a> - a web
app for encryption, encoding, compression, and data analysis.</li>
<li><a href="http://factordb.com/">factordb.com</a> - Factordb.com is
tool used to store known factorizations of any number.</li>
<li><a href="https://keybase.io/">keybase.io</a> - Keybase maps your
identity to your public keys, and vice versa.</li>
</ul>
<h3 id="web-sites">Web-sites</h3>
<ul>
<li><a href="https://bettercrypto.org/">Applied Crypto Hardening</a> - A
lot ready to use best practice examples for securing web servers and
more.</li>
<li><a
href="https://dashboard.nbshare.io/apps/reddit/top-crypto-subreddits/">Cryptocurrencies
Dashboard</a> - A dashboard of most active cryptocurrencies discussed on
Reddit.</li>
<li><a href="http://crypto.stackexchange.com/">Cryptography
Stackexchange</a> - Cryptography Stack Exchange is a question and answer
site for software developers, mathematicians and others interested in
cryptography.</li>
<li><a href="https://cryptohack.org/">Cryptohack</a> - A platform with
lots of interactive cryptography challenges, similar to Cryptopals.</li>
<li><a href="http://cryptopals.com/">Cryptopals Crypto Challenges</a> -
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.</li>
<li><a href="https://paulmillr.com/noble/#demo">Eliptic Curve
Calculator</a> - simple form that allows to calculate elliptic curve
public keys and signatures. Features include ability to create custom
curves and different signature types</li>
<li><a href="http://www.garykessler.net/library/crypto.html">Garykessler
Crypto</a> - An Overview of Cryptography.</li>
<li><a href="https://www.iacr.org/">IACR</a> - The International
Association for Cryptologic Research is a non-profit scientific
organization whose purpose is to further research in cryptology and
related fields.</li>
<li><a href="https://learncryptography.com/">Learn Cryptography</a> -
Dedicated to helping people understand how and why the cryptographic
systems they use everyday without realizing work to secure and protect
their privacy.</li>
<li><a href="https://www.reddit.com/r/cryptography/">Subreddit of
Cryptography</a> - This subreddit is intended for links and discussions
surrounding the theory and practice of strong cryptography.</li>
<li><a href="https://www.iacr.org/authors/tikz/">TikZ for
Cryptographers</a> - A collection of block diagrams of common
cryptographic functions drawn in TikZ to be used in research papers and
presentations written in LaTeX.</li>
<li><a href="https://www.w3.org/TR/WebCryptoAPI/">WebCryptoAPI</a> -
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.</li>
</ul>
<h2 id="contributing">Contributing</h2>
<p>Your contributions are always welcome! Please take a look at the <a
href="https://github.com/sobolevn/awesome-cryptography/blob/master/CONTRIBUTING.md">contribution
guidelines</a> first.</p>
<h2 id="license">License</h2>
<p><code>awesome-cryptography</code> by <a
href="https://github.com/sobolevn"><span class="citation"
data-cites="sobolevn">@sobolevn</span></a></p>
<p>To the extent possible under law, the person who associated CC0 with
<code>awesome-cryptography</code> has waived all copyright and related
or neighboring rights to <code>awesome-cryptography</code>.</p>
<p>You should have received a copy of the CC0 legalcode along with this
work. If not, see <a
href="https://creativecommons.org/publicdomain/zero/1.0/">https://creativecommons.org/publicdomain/zero/1.0/</a>.</p>
<p><a
href="https://github.com/sobolevn/awesome-cryptography">cryptography.md
Github</a></p>