Overview of Cryptographic Topics Covered
masterThis project provides practical demonstrations and code examples for the following cryptographic concepts:
- Hash Functions: SHA-2, SHA-3, BLAKE2, RIPEMD160, and collision concepts.
- MAC (Message Authentication Codes): HMAC, CMAK, UMAC, and MAC-based random generators.
- Key Derivation Functions (KDF): PBKDF2, Scrypt, Bcrypt, Linux crypt(), and Argon2.
- Password Encryption: Hashing and modern secure KDFs like Argon2.
- Randomness: Entropy and CSPRNG (Cryptographically Secure Pseudo-Random Number Generators).
- Key Exchange: Diffie–Hellman (DHKE) and Elliptic Curve Diffie–Hellman (ECDH).
- Symmetric Encryption: Block and stream ciphers, modes (CBC, CTR, GCM), AES (Rijndael), and Salsa20 / ChaCha20.
- Authenticated Encryption: AES-256-GCM, ChaCha20-Poly1307, and AES-256-CTR-HMAC.
- Asymmetric Encryption: RSA (key pairs, encryption, decryption) and ECC (Elliptic Curve Cryptography).
- Elliptic Curves: secp256k1, P-256, P-521, Curve25519, and Curve448-Goldilocks.
- Integrated Encryption: ECIES hybrid encryption scheme.
- Digital Signatures: RSA signatures, ECDSA, and EdDSA.
- Quantum-Safe Cryptography: SPHINCS+, NewHope, and quantum-safe signatures/key exchange.
- Other Concepts: Digital certificates, TLS (Transport Layer Security), OTP (One-Time Passwords), and OAuth.