Updating conversion, creating readmes

This commit is contained in:
Jonas Zeunert
2024-04-19 23:37:46 +02:00
parent 3619ac710a
commit 08e75b0f0a
635 changed files with 30878 additions and 37344 deletions

View File

@@ -1,4 +1,4 @@
 Awesome Cryptography !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 Awesome Cryptography !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 
@@ -70,37 +70,32 @@
Symmetric encryption
- 3DES (https://en.wikipedia.org/wiki/Triple_DES) - 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.
- AES (https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) - Symmetric-key block cipher algorithm and U.S. government standard for secure and classified data encryption and decryption (also known as 
Rijndael).
- Blowfish (https://en.wikipedia.org/wiki/Blowfish_(cipher)) - 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.
- 3DES (https://en.wikipedia.org/wiki/Triple_DES) - 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.
- AES (https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) - Symmetric-key block cipher algorithm and U.S. government standard for secure and classified data encryption and decryption (also known as Rijndael).
- Blowfish (https://en.wikipedia.org/wiki/Blowfish_(cipher)) - 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.
Asymmetric encryption
- DH (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange) - 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).
- DH (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange) - 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).
- ECC (https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) - Public-key cryptosystems based on the algebraic structure of elliptic curves over finite fields.
- RSA (https://en.wikipedia.org/wiki/RSA_(cryptosystem)) - 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.
- RSA (https://en.wikipedia.org/wiki/RSA_(cryptosystem)) - 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.
Transform Encryption
- Transform Encryption (aka Proxy Re-Encryption) (https://docs.ironcorelabs.com/concepts/transform-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.
- Transform Encryption (aka Proxy Re-Encryption) (https://docs.ironcorelabs.com/concepts/transform-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.
Hash functions
- MD5 (https://en.wikipedia.org/wiki/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 (https://en.wikipedia.org/wiki/SHA-1) - 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 (https://en.wikipedia.org/wiki/SHA-2) - 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.
- SHA3 (https://en.wikipedia.org/wiki/SHA-3) - 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.
- MD5 (https://en.wikipedia.org/wiki/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 (https://en.wikipedia.org/wiki/SHA-1) - 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 (https://en.wikipedia.org/wiki/SHA-2) - 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.
- SHA3 (https://en.wikipedia.org/wiki/SHA-3) - 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.
Articles
@@ -112,44 +107,43 @@
- A Graduate Course in Applied Cryptography (https://crypto.stanford.edu/~dabo/cryptobook/) - The book covers many constructions for different tasks in cryptography.
- An Introduction to Mathematical Cryptography (http://www.math.brown.edu/~jhs/MathCryptoHome.html) - Introduction to modern cryptography.
- Applied Cryptography: Protocols, Algorithms and Source Code in C (https://www.wiley.com/en-ie/Applied+Cryptography%3A+Protocols%2C+Algorithms+and+Source+Code+in+C%2C+20th+Anniversary+Edition-p-9781119439028) -
This cryptography classic provides you with a comprehensive survey of modern cryptography.
- Applied Cryptography: Protocols, Algorithms and Source Code in C (https://www.wiley.com/en-ie/Applied+Cryptography%3A+Protocols%2C+Algorithms+and+Source+Code+in+C%2C+20th+Anniversary+Edition-p-9781119439028) - This cryptography 
classic provides you with a comprehensive survey of modern cryptography.
- Crypto101 (https://www.crypto101.io/) - Crypto 101 is an introductory course on cryptography.
- Cryptography Engineering (https://www.schneier.com/books/cryptography_engineering/) - Learn to build cryptographic protocols that work in the real world.
- Handbook of Applied Cryptography (https://cacr.uwaterloo.ca/hac/) - This book is intended as a reference for professional cryptographers.
- Introduction to Modern Cryptography (http://www.cs.umd.edu/~jkatz/imc.html) - Introductory-level treatment of cryptography written from a modern, computer science perspective.
- OpenSSL Cookbook (https://www.feistyduck.com/library/openssl-cookbook/) - The book about OpenSSL.
- Practical Cryptography for Developers (https://cryptobook.nakov.com) - Developer-friendly book on modern cryptography (hashes, MAC codes, symmetric and asymmetric ciphers, key exchange, elliptic curves, 
digital signatures) with lots of code examples.
- Real World Cryptography (https://www.manning.com/books/real-world-cryptography/) - This book teaches you applied cryptographic techniques to understand and apply security at every level of your systems and 
applications.
- Practical Cryptography for Developers (https://cryptobook.nakov.com) - Developer-friendly book on modern cryptography (hashes, MAC codes, symmetric and asymmetric ciphers, key exchange, elliptic curves, digital signatures) with lots 
of code examples.
- Real World Cryptography (https://www.manning.com/books/real-world-cryptography/) - This book teaches you applied cryptographic techniques to understand and apply security at every level of your systems and applications.
- Security Engineering (http://www.cl.cam.ac.uk/~rja14/book.html) - There is an extraordinary textbook written by Ross Anderson, professor of computer security at University of Cambridge.
- Serious Cryptography (https://nostarch.com/seriouscrypto) - A Practical Introduction to Modern Encryption by Jean-Philippe Aumasson.
- The Code Book (https://simonsingh.net/books/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.
- The Code Book (https://simonsingh.net/books/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.
- The Cryptoparty Handbook (https://unglue.it/work/141611/) - This book provides a comprehensive guide to the various topics of the computer and internet security.
- Understanding Cryptography (http://www.crypto-textbook.com/) - 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.
- Understanding Cryptography (http://www.crypto-textbook.com/) - 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.
Courses
- A Self-Study Course In Block-Cipher Cryptanalysis (https://www.schneier.com/wp-content/uploads/2016/02/paper-self-study.pdf) - 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.
- Applied Cryptography (https://www.udacity.com/course/applied-cryptography--cs387) - 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.
- A Self-Study Course In Block-Cipher Cryptanalysis (https://www.schneier.com/wp-content/uploads/2016/02/paper-self-study.pdf) - 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.
- Applied Cryptography (https://www.udacity.com/course/applied-cryptography--cs387) - 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! (https://www.youtube.com/watch?v=ySQl0NhW1J0) - This talk will cover crypto vulnerabilities in widely-deployed systems and how the smallest oversight resulted in catastrophe.
- Cryptography (https://www.coursera.org/learn/cryptography) - A practical oriented course in Cryptography by University of Maryland College Park.
- Cryptography - Stanford University (http://online.stanford.edu/course/cryptography) - 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 (https://www.coursera.org/learn/crypto) - 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 (https://www.cybrary.it/course/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.
- Cryptography - Stanford University (http://online.stanford.edu/course/cryptography) - 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 (https://www.coursera.org/learn/crypto) - 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 (https://www.cybrary.it/course/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.
- Harvard's Cryptography Lecture notes (https://intensecrypto.org/) - An introductory but fast-paced undergraduate/beginning graduate course on cryptography, Used for Harvard CS 127.
- Journey into cryptography (https://www.khanacademy.org/computing/computer-science/cryptography) - The course of cryptography by Khan Academy.
- Practical Aspects of Modern Cryptography (http://courses.cs.washington.edu/courses/csep590/06wi/) - Practical Aspects of Modern Cryptography, Winter 2006 University of Washington CSE.
- Theory and Practice of Cryptography (https://www.youtube.com/watch?v=ZDnShu5V99s) - Introduction to Modern Cryptography, Using Cryptography in Practice and at Google, Proofs of Security and Security 
Definitions and A Special Topic in Cryptography.
- Theory and Practice of Cryptography (https://www.youtube.com/watch?v=ZDnShu5V99s) - Introduction to Modern Cryptography, Using Cryptography in Practice and at Google, Proofs of Security and Security Definitions and A Special Topic in 
Cryptography.
Other lists
@@ -162,15 +156,14 @@
- Bcrypt (http://bcrypt.sourceforge.net/) - Cross-platform file encryption utility.
- blackbox (https://github.com/StackExchange/blackbox) - safely store secrets in Git/Mercurial/Subversion.
- certbot (https://github.com/certbot/certbot) - 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.
- certbot (https://github.com/certbot/certbot) - 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.
- Coherence (https://github.com/liesware/coherence/) - Cryptographic server for modern web apps.
- cryptomator (https://github.com/cryptomator/cryptomator) - Multi-platform transparent client-side encryption of your files in the cloud.
- Databunker (https://databunker.org/) - API based personal data or PII storage service built to comply with GDPR and CCPA.
- gpg (https://www.gnupg.org/) - 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.
- ironssh (https://github.com/IronCoreLabs/ironssh) - 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.
- gpg (https://www.gnupg.org/) - 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.
- ironssh (https://github.com/IronCoreLabs/ironssh) - 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.
- Nipe (https://github.com/GouveaHeitor/nipe) - Nipe is a script to make Tor Network your default gateway.
- sops (https://github.com/mozilla/sops) - 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.
- ves (https://ves.host/docs/ves-util) - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
@@ -196,18 +189,16 @@
- libsodium (https://github.com/jedisct1/libsodium) - Modern and easy-to-use crypto library.
- libtomcrypt (https://github.com/libtom/libtomcrypt) - Fairly comprehensive, modular and portable cryptographic toolkit.
- libVES.c (https://github.com/vesvault/libVES.c) - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
- milagro-crypto-c (https://github.com/apache/incubator-milagro-crypto-c) - Small, self-contained and fast open source crypto library. It supports RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3 and Pairing-Based 
Cryptography.
- milagro-crypto-c (https://github.com/apache/incubator-milagro-crypto-c) - Small, self-contained and fast open source crypto library. It supports RSA, ECDH, ECIES, ECDSA, AES-GCM, SHA2, SHA3 and Pairing-Based Cryptography.
- monocypher (https://monocypher.org) - small, portable, easy to use crypto library inspired by libsodium and TweetNaCl.
- NaCl (https://nacl.cr.yp.to/) - High-speed library for network communication, encryption, decryption, signatures, etc.
- nettle (https://github.com/gnutls/nettle) - 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.
- nettle (https://github.com/gnutls/nettle) - 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.
- OpenSSL (https://github.com/openssl/openssl) - TLS/SSL and crypto library.
- PolarSSL (https://tls.mbed.org/) - 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.
- PolarSSL (https://tls.mbed.org/) - 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.
- RHash (https://github.com/rhash/RHash) - Great utility for computing hash sums.
- themis (https://github.com/cossacklabs/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). Ported on many languages and platforms, suitable for client-server infastructures.
- themis (https://github.com/cossacklabs/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). Ported on many languages and platforms, suitable for client-server infastructures.
- tiny-AES128-C (https://github.com/kokke/tiny-AES128-C) - Small portable AES128 in C.
- wolfSSL (https://github.com/wolfSSL/wolfssl) - Small, fast, portable implementation of TLS/SSL for embedded devices to the cloud.
- XKCP (https://github.com/XKCP/XKCP) — is a repository that gathers different free and open-source implementations of the cryptographic schemes defined by the Keccak team.
@@ -215,8 +206,7 @@
C++
- =nil; Crypto3 (https://github.com/NilFoundation/crypto3) - Modern Cryptography Suite in C++17 (complete applied cryptography suite starting with block ciphers and ending with threshold cryptography, zk proof 
systems, etc).
- =nil; Crypto3 (https://github.com/NilFoundation/crypto3) - Modern Cryptography Suite in C++17 (complete applied cryptography suite starting with block ciphers and ending with threshold cryptography, zk proof systems, etc).
- Botan (https://botan.randombit.net/) - Cryptography library written in C++20.
- cryptopp (https://github.com/weidai11/cryptopp) - Crypto++ Library is a free C++ class library of cryptographic schemes.
- HElib (https://github.com/shaih/HElib) - Software library that implements homomorphic encryption (HE).
@@ -237,8 +227,8 @@
- buddy-core (https://funcool.github.io/buddy-core/latest/) - Cryptographic Api.
- clj-crypto (https://github.com/macourtney/clj-crypto/) - Wrapper for Bouncy Castle.
- pandect (https://github.com/xsc/pandect) - Fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure.
- secrets.clj (https://github.com/lk-geimfari/secrets.clj) - A Clojure library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, 
security tokens, and related secrets.
- secrets.clj (https://github.com/lk-geimfari/secrets.clj) - A Clojure library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and 
related secrets.
Common Lisp
@@ -250,8 +240,7 @@
- DelphiEncryptionCompendium (https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases) - Cryptographic library for Delphi.
- LockBox (https://sourceforge.net/projects/tplockbox/) - LockBox 3 is a Delphi library for cryptography.
- SynCrypto (https://github.com/synopse/mORMot/blob/master/SynCrypto.pas) - Fast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for 
speed.
- SynCrypto (https://github.com/synopse/mORMot/blob/master/SynCrypto.pas) - Fast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed.
- TForge (https://bitbucket.org/sergworks/tforge) - TForge is open-source crypto library written in Delphi, compatible with FPC.
Elixir
@@ -276,8 +265,8 @@
- crypto (https://golang.org/pkg/crypto/) - Official Website Resources.
- dkeyczar (https://github.com/dgryski/dkeyczar) - Port of Google's Keyczar cryptography library to Go.
- gocrypto (https://github.com/kisom/gocrypto) - Example source code for the Practical Crypto with Go book.
- goThemis (https://github.com/cossacklabs/themis/wiki/Go-Howto) - 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).
- goThemis (https://github.com/cossacklabs/themis/wiki/Go-Howto) - 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).
- kyber (https://github.com/dedis/kyber) - Advanced crypto library for the Go language.
@@ -304,24 +293,23 @@
- crypto-js (https://github.com/brix/crypto-js) - JavaScript library of crypto standards.
- cryptojs (https://github.com/gwjjeff/cryptojs) - Provide standard and secure cryptographic algorithms for Node.js.
- forge (https://github.com/digitalbazaar/forge) - Native implementation of TLS in JavaScript and tools to write crypto-based and network-heavy webapps.
- IronNode (https://docs.ironcorelabs.com/ironnode-sdk/overview) - 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.
- IronNode (https://docs.ironcorelabs.com/ironnode-sdk/overview) - 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.
- IronWeb (https://docs.ironcorelabs.com/ironweb-sdk/overview) - Transform encryption library, a variant of proxy re-encryption, for easily managing end-to-end encryption securely in the browser.
- javascript-crypto-library (https://github.com/clipperz/javascript-crypto-library) - JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions.
- js-nacl (https://github.com/tonyg/js-nacl) - Pure-JavaScript High-level API to Emscripten-compiled libsodium routines.
- jsencrypt (https://github.com/travist/jsencrypt) - JavaScript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.
- JShashes (https://github.com/h2non/jshashes) - Fast and dependency-free cryptographic hashing library for Node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC).
- jsrsasign (https://github.com/kjur/jsrsasign) - The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation.
- jsThemis (https://github.com/cossacklabs/themis/wiki/Nodejs-Howto) - 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).
- jsThemis (https://github.com/cossacklabs/themis/wiki/Nodejs-Howto) - 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).
- libsodium.js (https://github.com/jedisct1/libsodium.js) - libsodium compiled to pure JavaScript, with convenient wrappers.
- libVES.js (https://github.com/vesvault/libVES) - End-to-end encrypted sharing via cloud repository, secure recovery through a viral network of friends in case of key loss.
- milagro-crypto-js (https://github.com/apache/incubator-milagro-crypto-js) - 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.
- milagro-crypto-js (https://github.com/apache/incubator-milagro-crypto-js) - 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.
- noble - high-security, easily auditable set of contained cryptographic libraries and tools. Zero dependencies each.
 - noble-ciphers (https://github.com/paulmillr/noble-ciphers) — cryptographic ciphers, including AES-SIV, Salsa20, ChaCha, Poly1305 and FF1
 - noble-curves (https://github.com/paulmillr/noble-curves) — 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 (https://github.com/paulmillr/noble-secp256k1), noble-ed25519 (https://github.com/paulmillr/noble-ed25519)
 - noble-curves (https://github.com/paulmillr/noble-curves) — 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 (https://github.com/paulmillr/noble-secp256k1), noble-ed25519 (https://github.com/paulmillr/noble-ed25519)
 - noble-hashes (https://github.com/paulmillr/noble-hashes) — SHA2, SHA3, RIPEMD, BLAKE2/3, HMAC, HKDF, PBKDF2 & Scrypt
- node.bcrypt.js (https://github.com/ncb000gt/node.bcrypt.js) - bcrypt for Node.js.
- OpenPGP.js (https://github.com/openpgpjs/openpgpjs) - OpenPGP implementation for JavaScript.
@@ -339,14 +327,13 @@
- Flexiprovider (http://www.flexiprovider.de/) - Powerful toolkit for the Java Cryptography Architecture.
- GDH (https://github.com/maxamel/GDH) - Generalized Diffie-Hellman key exchange Java library for multiple parties built on top of the Vert.x framework.
- Google Tink (https://github.com/tink-crypto/tink-java) - A small crypto library that provides a safe, simple, agile and fast way to accomplish some common crypto tasks.
- Java Themis (https://github.com/cossacklabs/themis/wiki/Java-and-Android-Howto) - 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).
- Java Themis (https://github.com/cossacklabs/themis/wiki/Java-and-Android-Howto) - 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).
- jbcrypt (http://www.mindrot.org/projects/jBCrypt/) - jBCrypt is an implementation the OpenBSD Blowfish password hashing
algorithm.
- Keycloak (https://github.com/keycloak/keycloak) - Open Source Identity and Access Management For Modern Applications and Services.
- pac4j (https://github.com/pac4j/pac4j) - Security engine.
- Password4j (https://github.com/Password4j/password4j) - A Java user-friendly cryptographic library for hashing and checking passwords with different Key derivation functions (KDFs) and Cryptographic hash 
functions (CHFs).
- Password4j (https://github.com/Password4j/password4j) - A Java user-friendly cryptographic library for hashing and checking passwords with different Key derivation functions (KDFs) and Cryptographic hash functions (CHFs).
- Project Kalium (http://abstractj.github.io/kalium/) - Java binding to the Networking and Cryptography (NaCl) library with the awesomeness of libsodium.
- scrypt (https://github.com/wg/scrypt) - Pure Java implementation of the scrypt key derivation function and a JNI interface to the C implementations, including the SSE2 optimized version.
- securitybuilder (https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA/JSSE objects.
@@ -374,8 +361,8 @@
Objective-C
- CocoaSecurity (https://github.com/kelp404/CocoaSecurity) - AES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex.
- ObjC Themis (https://github.com/cossacklabs/themis/wiki/Objective-C-Howto) - 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).
- ObjC Themis (https://github.com/cossacklabs/themis/wiki/Objective-C-Howto) - 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).
- ObjectivePGP (https://github.com/krzyzanowskim/ObjectivePGP) - ObjectivePGP is an implementation of OpenPGP protocol for iOS and macOS. OpenPGP is the most widely used email encryption standard.
- RNCryptor (https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac.
@@ -385,8 +372,8 @@
- halite (https://paragonie.com/project/halite) - Simple library for encryption using libsodium.
- libsodium-laravel (https://github.com/scrothers/libsodium-laravel) - Laravel Package Abstraction using libsodium.
- PHP Encryption (https://github.com/defuse/php-encryption) - Library for encrypting data with a key or password in PHP.
- PHP Themis (https://github.com/cossacklabs/themis/wiki/PHP-Howto) - 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).
- PHP Themis (https://github.com/cossacklabs/themis/wiki/PHP-Howto) - 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).
- TCrypto (https://github.com/timoh6/TCrypto) - TCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library.
Python
@@ -404,8 +391,8 @@
- pycryptodome (https://github.com/Legrandin/pycryptodome) - Self-contained Python package of low-level cryptographic primitives.
- PyElliptic (https://github.com/yann2192/pyelliptic) - Python OpenSSL wrapper. For modern cryptography with ECC, AES, HMAC, Blowfish.
- pynacl (https://github.com/pyca/pynacl) - Python binding to the Networking and Cryptography (NaCl) library.
- pythemis (https://github.com/cossacklabs/themis/wiki/Python-Howto) - 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).
- pythemis (https://github.com/cossacklabs/themis/wiki/Python-Howto) - 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).
R
@@ -415,8 +402,8 @@
- bcrypt-ruby (https://github.com/codahale/bcrypt-ruby) - Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.
- RbNaCl (https://github.com/cryptosphere/rbnacl) - Ruby binding to the Networking and Cryptography (NaCl) library.
- Ruby Themis (https://github.com/cossacklabs/themis/wiki/Ruby-Howto) - 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).
- Ruby Themis (https://github.com/cossacklabs/themis/wiki/Ruby-Howto) - 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).
Rust
@@ -461,16 +448,15 @@
- SweetHMAC (https://github.com/jancassio/SweetHMAC) - Tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
- Swift-Sodium (https://github.com/jedisct1/swift-sodium) - Swift interface to the Sodium library for common crypto operations for iOS and macOS.
- SwiftSSL (https://github.com/SwiftP2P/SwiftSSL) - Elegant crypto toolkit in Swift.
- SwiftThemis (https://github.com/cossacklabs/themis/wiki/Swift-Howto) - 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).
- SwiftThemis (https://github.com/cossacklabs/themis/wiki/Swift-Howto) - 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).
Resources
Blogs
- A Few Thoughts on Cryptographic Engineering (http://blog.cryptographyengineering.com/) - Some random thoughts about crypto.
- Bristol Cryptography Blog (http://bristolcrypto.blogspot.co.uk/) - Official blog for the University of Bristol cryptography research group. It's a group blog, primarily targeted towards cryptographers and 
crypto students.
- Bristol Cryptography Blog (http://bristolcrypto.blogspot.co.uk/) - Official blog for the University of Bristol cryptography research group. It's a group blog, primarily targeted towards cryptographers and crypto students.
- Charles Engelke's Blog (https://blog.engelke.com/tag/webcrypto/) - WebCrypto Blog Posts.
- Root Labs rdist (https://rdist.root.org/) - Nate Lawson and his co-authors write on a variety of topics including hardware implementation, cryptographic timing attacks, DRM, and the Commodore 64.
- Salty Hash (https://blog.ironcorelabs.com) - Covers topics on encryption, data control, privacy, and security.
@@ -497,17 +483,16 @@
- Cryptocurrencies Dashboard (https://dashboard.nbshare.io/apps/reddit/top-crypto-subreddits/) - A dashboard of most active cryptocurrencies discussed on Reddit.
- Cryptography Stackexchange (http://crypto.stackexchange.com/) - Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography.
- Cryptohack (https://cryptohack.org/) - A platform with lots of interactive cryptography challenges, similar to Cryptopals.
- Cryptopals Crypto Challenges (http://cryptopals.com/) - 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.
- Eliptic Curve Calculator (https://paulmillr.com/noble/#demo) - simple form that allows to calculate elliptic curve public keys and signatures. Features include ability to create custom curves and different 
signature types
- Cryptopals Crypto Challenges (http://cryptopals.com/) - 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.
- Eliptic Curve Calculator (https://paulmillr.com/noble/#demo) - simple form that allows to calculate elliptic curve public keys and signatures. Features include ability to create custom curves and different signature types
- Garykessler Crypto (http://www.garykessler.net/library/crypto.html) - An Overview of Cryptography.
- IACR (https://www.iacr.org/) - The International Association for Cryptologic Research is a non-profit scientific organization whose purpose is to further research in cryptology and related fields.
- Learn Cryptography (https://learncryptography.com/) - Dedicated to helping people understand how and why the cryptographic systems they use everyday without realizing work to secure and protect their privacy.
- Subreddit of Cryptography (https://www.reddit.com/r/cryptography/) - This subreddit is intended for links and discussions surrounding the theory and practice of strong cryptography.
- TikZ for Cryptographers (https://www.iacr.org/authors/tikz/) - A collection of block diagrams of common cryptographic functions drawn in TikZ to be used in research papers and presentations written in LaTeX.
- WebCryptoAPI (https://www.w3.org/TR/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.
- WebCryptoAPI (https://www.w3.org/TR/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.
Contributing