# Table of contents

* [Welcome](README.md)
* [Preface](preface.md)
* [Cryptography - Overview](cryptography-overview.md)
* [Hash Functions](cryptographic-hash-functions/README.md)
  * [Crypto Hashes and Collisions](cryptographic-hash-functions/crypto-hashes-and-collisions.md)
  * [Hash Functions: Applications](cryptographic-hash-functions/hash-functions-applications.md)
  * [Secure Hash Algorithms](cryptographic-hash-functions/secure-hash-algorithms.md)
  * [Hash Functions - Examples](cryptographic-hash-functions/hash-functions-examples.md)
  * [Exercises: Calculate Hashes](cryptographic-hash-functions/exercises-calculate-hashes.md)
  * [Proof-of-Work Hash Functions](cryptographic-hash-functions/proof-of-work-hash-functions.md)
* [MAC and Key Derivation](mac-and-key-derivation/README.md)
  * [HMAC and Key Derivation](mac-and-key-derivation/hmac-and-key-derivation.md)
  * [HMAC Calculation - Examples](mac-and-key-derivation/hmac-calculation-examples.md)
  * [Exercises: Calculate HMAC](mac-and-key-derivation/exercises-calculate-hmac.md)
  * [KDF: Deriving Key from Password](mac-and-key-derivation/kdf-deriving-key-from-password.md)
  * [PBKDF2](mac-and-key-derivation/pbkdf2.md)
  * [Modern Key Derivation Functions](mac-and-key-derivation/modern-key-derivation-functions.md)
  * [Scrypt](mac-and-key-derivation/scrypt.md)
  * [Bcrypt](mac-and-key-derivation/bcrypt.md)
  * [Linux crypt\(\)](mac-and-key-derivation/linux-crypt.md)
  * [Argon2](mac-and-key-derivation/argon2.md)
  * [Secure Password Storage](mac-and-key-derivation/password-encryption.md)
  * [Exercises: Password Encryption](mac-and-key-derivation/exercises-password-encryption.md)
* [Secure Random Generators](secure-random-generators/README.md)
  * [Pseudo-Random Numbers - Examples](secure-random-generators/pseudo-random-numbers-examples.md)
  * [Secure Random Generators \(CSPRNG\)](secure-random-generators/secure-random-generators-csprng.md)
  * [Exercises: Pseudo-Random Generator](secure-random-generators/exercises-pseudo-random-generator.md)
* [Key Exchange and DHKE](key-exchange/README.md)
  * [Diffie–Hellman Key Exchange](key-exchange/diffie-hellman-key-exchange.md)
  * [DHKE - Examples](key-exchange/dhke-examples.md)
  * [Exercises: DHKE Key Exchange](key-exchange/exercises-dhke-key-exchange.md)
* [Encryption: Symmetric and Asymmetric](encryption-symmetric-and-asymmetric.md)
* [Symmetric Key Ciphers](symmetric-key-ciphers/README.md)
  * [Cipher Block Modes](symmetric-key-ciphers/cipher-block-modes.md)
  * [Popular Symmetric Algorithms](symmetric-key-ciphers/popular-symmetric-algorithms.md)
  * [The AES Cipher - Concepts](symmetric-key-ciphers/aes-cipher-concepts.md)
  * [AES Encrypt / Decrypt - Examples](symmetric-key-ciphers/aes-encrypt-decrypt-examples.md)
  * [Ethereum Wallet Encryption](symmetric-key-ciphers/ethereum-wallet-encryption.md)
  * [Exercises: AES Encrypt / Decrypt](symmetric-key-ciphers/exercises-aes-encrypt-decrypt.md)
  * [ChaCha20-Poly1305](symmetric-key-ciphers/chacha20-poly1305.md)
  * [Exercises: ChaCha20-Poly1305](symmetric-key-ciphers/exercises-chacha20-poly1305.md)
* [Asymmetric Key Ciphers](asymmetric-key-ciphers/README.md)
  * [The RSA Cryptosystem - Concepts](asymmetric-key-ciphers/the-rsa-cryptosystem-concepts.md)
  * [RSA Encrypt / Decrypt - Examples](asymmetric-key-ciphers/rsa-encrypt-decrypt-examples.md)
  * [Exercises: RSA Encrypt / Decrypt](asymmetric-key-ciphers/exercises-rsa-encrypt-decrypt.md)
  * [Elliptic Curve Cryptography \(ECC\)](asymmetric-key-ciphers/elliptic-curve-cryptography-ecc.md)
  * [ECDH Key Exchange](asymmetric-key-ciphers/ecdh-key-exchange.md)
  * [ECDH Key Exchange - Examples](asymmetric-key-ciphers/ecdh-key-exchange-examples.md)
  * [Exercises: ECDH Key Exchange](asymmetric-key-ciphers/exercises-ecdh-key-exchange.md)
  * [ECC Encryption / Decryption](asymmetric-key-ciphers/ecc-encryption-decryption.md)
  * [ECIES Hybrid Encryption Scheme](asymmetric-key-ciphers/ecies-public-key-encryption.md)
  * [ECIES Encryption - Example](asymmetric-key-ciphers/ecies-example.md)
  * [Exercises: ECIES Encrypt / Decrypt](asymmetric-key-ciphers/exercises-ecies-encrypt-decrypt.md)
* [Digital Signatures](digital-signatures/README.md)
  * [RSA Signatures](digital-signatures/rsa-signatures.md)
  * [RSA: Sign / Verify - Examples](digital-signatures/rsa-sign-verify-examples.md)
  * [Exercises: RSA Sign and Verify](digital-signatures/exercises-rsa-sign-and-verify.md)
  * [ECDSA: Elliptic Curve Signatures](digital-signatures/ecdsa-sign-verify-messages.md)
  * [ECDSA: Sign / Verify - Examples](digital-signatures/ecdsa-sign-verify-examples.md)
  * [Exercises: ECDSA Sign and Verify](digital-signatures/exercises-secp256k1-sign-verify.md)
  * [EdDSA and Ed25519](digital-signatures/eddsa-and-ed25519.md)
  * [EdDSA: Sign / Verify - Examples](digital-signatures/eddsa-sign-verify-examples.md)
  * [Exercises: EdDSA Sign and Verify](digital-signatures/exercises-eddsa-sign-and-verify.md)
* [Quantum-Safe Cryptography](quantum-safe-cryptography/README.md)
  * [Quantum-Safe Signatures - Example](quantum-safe-cryptography/quantum-safe-signatures-example.md)
  * [Quantum-Safe Key Exchange - Example](quantum-safe-cryptography/quantum-safe-key-exchange-example.md)
  * [Quantum-Safe Asymmetric Encryption - Example](quantum-safe-cryptography/quantum-safe-asymmetric-encryption-example.md)
* [More Cryptographic Concepts](more-cryptographic-concepts/README.md)
  * [Digital Certificates - Example](more-cryptographic-concepts/digital-certificates-example.md)
  * [TLS - Example](more-cryptographic-concepts/tls-example.md)
  * [One-Time Passwords \(OTP\) - Example](more-cryptographic-concepts/one-time-passwords-otp-example.md)
* [Crypto Libraries for Developers](crypto-libraries-for-developers/README.md)
  * [JavaScript Crypto Libraries](crypto-libraries-for-developers/javascript-crypto-libraries.md)
  * [Python Crypto Libraries](crypto-libraries-for-developers/python-crypto-libraries.md)
  * [C\# Crypto Libraries](crypto-libraries-for-developers/c-crypto-libraries.md)
  * [Java Crypto Libraries](crypto-libraries-for-developers/java-crypto-libraries.md)
* [Conclusion](conclusion.md)

