Media
Podcasts and Talks
History and Foundations
- "The Enigma Machine: How Alan Turing Cracked Nazi Code" - Numberphile - Numberphile
- "A Brief History of Cryptography" - Computerphile - Computerphile
- "The Caesar Cipher and Ancient Encryption" - Khan Academy - Khan Academy
- "Vigenère Cipher: Unbreakable for 300 Years" - Art of the Problem - Art of the Problem
- "The Zimmermann Telegram: WWI Cryptography" - History Channel - History
- "Claude Shannon: The Father of Information Theory" - Veritasium - Veritasium
- "DES: The Data Encryption Standard Story" - Computerphile - Computerphile
- "The Crypto Wars: Phil Zimmermann and PGP" - Computer History Museum - CHM
- "RSA Encryption Explained" - Khan Academy - Khan Academy
- "Diffie-Hellman Key Exchange" - Computerphile - Computerphile
Modern Cryptography
- "How Does HTTPS Actually Work?" - Computerphile - Computerphile
- "AES Explained (Advanced Encryption Standard)" - Computerphile - Computerphile
- "Elliptic Curve Cryptography Explained" - Computerphile - Computerphile
- "SHA-256 and Bitcoin Mining" - 3Blue1Brown - 3Blue1Brown
- "Public Key Cryptography: RSA Keys" - Art of the Problem - Art of the Problem
- "SSL/TLS Handshake Explained" - Hussein Nasser - Hussein Nasser
- "Perfect Forward Secrecy Explained" - Computerphile - Computerphile
- "What is a Digital Signature?" - Computerphile - Computerphile
- "Certificate Authority: How Trust Works on the Internet" - LiveOverflow - LiveOverflow
- "Hashing Algorithms and Security" - Computerphile - Computerphile
Cryptographic Attacks and Vulnerabilities
- "The BEAST Attack on SSL/TLS" - Black Hat - Black Hat
- "Heartbleed Explained: OpenSSL Vulnerability" - Computerphile - Computerphile
- "POODLE: Padding Oracle On Downgraded Legacy Encryption" - Google Security - Google
- "KRACK Attack: Breaking WPA2 WiFi" - Computerphile - Computerphile
- "Timing Attacks: Stealing Secrets Through Side Channels" - Computerphile - Computerphile
- "Differential Power Analysis: Hardware Side Channels" - Black Hat - Black Hat
- "Rainbow Tables and Password Cracking" - Computerphile - Computerphile
- "Man-in-the-Middle Attacks Explained" - Hak5 - Hak5
- "Breaking RSA: Factoring Large Numbers" - Numberphile - Numberphile
- "MD5 Collisions and Why You Shouldn't Use It" - Computerphile - Computerphile
Quantum Cryptography and Post-Quantum
- "Quantum Computing: The End of RSA?" - Veritasium - Veritasium
- "Post-Quantum Cryptography: NIST Competition Results" - NIST - NIST
- "Lattice-Based Cryptography Explained" - Microsoft Research - Microsoft Research
- "Quantum Key Distribution: Unbreakable Encryption?" - Institute for Quantum Computing - IQC
- "Shor's Algorithm: Breaking RSA with Quantum" - Qiskit - IBM Qiskit
- "NIST Post-Quantum Standards: What Changed?" - Trail of Bits - Trail of Bits
- "Preparing for the Quantum Threat" - RSA Conference - RSA
- "Quantum-Safe Cryptography Migration" - Cloud Security Alliance - CSA
- "BB84 Protocol: Quantum Key Distribution" - Physics Girl - Physics Girl
- "The Race to Quantum-Safe Internet" - World Economic Forum - WEF
Privacy and Controversial Topics
- "The Crypto Wars: Government vs Privacy" - EFF - Electronic Frontier Foundation
- "Apple vs FBI: The San Bernardino iPhone" - Wired - WIRED
- "End-to-End Encryption: Why It Matters" - Edward Snowden - Freedom of the Press Foundation
- "Signal Protocol: How Private Messaging Works" - Computerphile - Computerphile
- "Tor: The Onion Router Explained" - Computerphile - Computerphile
- "Zero-Knowledge Proofs Explained" - Computerphile - Computerphile
- "Homomorphic Encryption: Computing on Encrypted Data" - Microsoft Research - Microsoft Research
- "Backdoors in Encryption: The Debate" - Lex Fridman Podcast - Lex Fridman
- "WhatsApp Encryption: How Secure Is It Really?" - The Guardian - The Guardian
- "Blockchain Cryptography: How Bitcoin Stays Secure" - Andreas Antonopoulos - aantonop
Research
Foundational Papers and Standards
1980s - Foundational Cryptography
- DES (Data Encryption Standard) - 56-bit symmetric block cipher standard - NIST/NBS (1977, active through 1980s)
- RSA Public Key Cryptography - First practical public-key cryptosystem - RSA Security (1977, standardized 1980s)
- FIPS 46 - Data Encryption Standard official publication - NIST (1977)
- FIPS 81 - DES Modes of Operation - NIST (1980)
- ISO/IEC 9796 - Digital signature scheme with message recovery - ISO (1987)
- X.509 v1 - Public key certificate format - ITU-T (1988)
- PKCS #1 - RSA Cryptography Standard - RSA Labs (1988)
- Diffie-Hellman Key Exchange - Key agreement protocol - IEEE (1976, widely adopted 1980s)
- ElGamal Encryption - Public-key cryptosystem - Academic/Taher Elgamal (1985)
- ISO/IEC 8730 - Banking key management - ISO (1986)
1990s - Internet Cryptography Era
- Triple DES (3DES) - Enhanced DES with 112/168-bit keys - NIST (1999)
- FIPS 186 - Digital Signature Standard (DSS) - NIST (1994)
- SHA-1 - 160-bit cryptographic hash function - NIST (1995)
- SSL v2/v3 - Secure Sockets Layer protocol - Netscape (1995/1996)
- PGP (Pretty Good Privacy) - Email encryption standard - Phil Zimmermann/RFC 1991 (1991)
- S/MIME v2 - Secure email standard - RSA/IETF RFC 2311 (1998)
- X.509 v3 - Enhanced certificate standard - ITU-T (1996)
- PKCS #1 v2.0 - Updated RSA standard - RSA Labs (1998)
- PKCS #5 - Password-based encryption - RSA Labs (1993)
- PKCS #7 - Cryptographic Message Syntax - RSA Labs (1993)
- PKCS #11 - Cryptographic Token Interface (PKCS #11) - RSA Labs (1995)
- RFC 1321: MD5 - Message-Digest Algorithm - IETF (1992)
- RFC 2104: HMAC - Keyed-hashing for message authentication - IETF (1997)
- ISO/IEC 9797 - Message Authentication Codes - ISO (1994)
- ISO/IEC 11770 - Key management framework - ISO (1996)
- AES Competition Announcement - Call for advanced encryption standard - NIST (1997)
- Blowfish Algorithm - Fast block cipher - Bruce Schneier (1993)
- RC4 - Stream cipher (widely used in SSL) - RSA (1987, leaked 1994)
- FIPS 140-1 - Cryptographic module validation - NIST (1994)
- IPsec (RFC 2401-2412) - IP layer encryption and authentication - IETF (1998)
2000-2005 - AES and Modern Standards
- AES (Advanced Encryption Standard) - Rijndael algorithm, 128/192/256-bit - NIST/FIPS 197 (2001)
- FIPS 140-2 - Enhanced cryptographic module security requirements - NIST (2001)
- TLS 1.0 - Transport Layer Security (SSL successor) - IETF RFC 2246 (1999)
- TLS 1.1 - Updated transport security - IETF RFC 4346 (2006)
- SHA-2 Family - SHA-224, SHA-256, SHA-384, SHA-512 - NIST/FIPS 180-2 (2001)
- FIPS 186-2 - Updated Digital Signature Standard - NIST (2000)
- RFC 3447: PKCS #1 v2.1 - RSA with OAEP padding - IETF (2003)
- RFC 3268: AES Ciphersuites for TLS - AES in TLS - IETF (2002)
- OpenPGP (RFC 2440) - Open standard for PGP - IETF (1998)
- XML Encryption (W3C) - XML data encryption - W3C (2002)
- XML Signature (W3C) - XML digital signatures - W3C (2002)
- ISO/IEC 18033 - Encryption algorithms standard - ISO (2005)
- NIST SP 800-38A - Block cipher modes of operation - NIST (2001)
- NIST SP 800-38B - CMAC (block cipher MAC) - NIST (2005)
- NIST SP 800-56A - Key establishment using discrete logarithm - NIST (2006)
- ECC (Elliptic Curve Cryptography) - FIPS 186-2 appendix - NIST (2000)
- Camellia Block Cipher - 128-bit block cipher - NTT/Mitsubishi (2000)
- WPA/WPA2 - Wi-Fi Protected Access encryption - Wi-Fi Alliance (2003/2004)
- Suite B Cryptography - NSA cryptographic standards - NSA (2005)
- FIPS 198 - Keyed-Hash Message Authentication Code (HMAC) - NIST (2002)
2006-2010 - Elliptic Curve and Hash Evolution
- TLS 1.2 - Major transport security update - IETF RFC 5246 (2008)
- SHA-3 Competition - Call for new hash algorithm - NIST (2007)
- FIPS 186-3 - DSS with expanded ECC support - NIST (2009)
- NIST SP 800-90A - Random number generation - NIST (2007)
- NIST SP 800-57 - Key management recommendations - NIST (2007)
- NIST SP 800-56B - Key establishment using integer factorization - NIST (2009)
- NIST SP 800-38C - CCM mode (counter with CBC-MAC) - NIST (2004)
- NIST SP 800-38D - GCM and GMAC modes - NIST (2007)
- RFC 5288: AES-GCM for TLS - Authenticated encryption in TLS - IETF (2008)
- RFC 5639: ECC Brainpool Curves - European ECC curves - IETF (2010)
- ChaCha20 - Stream cipher alternative to AES - D.J. Bernstein (2008)
- Poly1305 - Message authentication code - D.J. Bernstein (2005)
- PBKDF2 - Password-based key derivation - RFC 2898 (2000)
- bcrypt - Password hashing function - OpenBSD (1999, widely adopted 2000s)
- ISO/IEC 29192 - Lightweight cryptography - ISO (2012)
- RFC 5054: SRP for TLS - Secure Remote Password - IETF (2007)
- NIST SP 800-108 - Key derivation using pseudorandom functions - NIST (2009)
- IEEE 1363 - Public-key cryptography standards - IEEE (2000)
- ANSI X9.62 - Elliptic Curve Digital Signature Algorithm (ECDSA) - ANSI (1999)
- FIPS 140-3 - Updated cryptographic module requirements - NIST (2009, effective 2019)
2011-2015 - Mobile and Cloud Encryption
- SHA-3 (Keccak) - New cryptographic hash standard - NIST/FIPS 202 (2015)
- TLS 1.3 Draft - Major security and performance overhaul - IETF (2013-2015)
- FIPS 186-4 - Current Digital Signature Standard - NIST (2013)
- RFC 6090: Fundamental ECC - ECC implementation guidance - IETF (2011)
- RFC 7748: Curve25519 and Curve448 - Modern elliptic curves - IETF (2016)
- RFC 7539: ChaCha20-Poly1305 - AEAD cipher suite - IETF (2015)
- NIST SP 800-56C - Key derivation through extraction-then-expansion - NIST (2011)
- NIST SP 800-52 Rev 1 - TLS server configuration guidelines - NIST (2014)
- NIST SP 800-175B - Cryptographic algorithm validation - NIST (2016)
- Perfect Forward Secrecy (PFS) - Implementation guidelines - IETF/Industry (2011-2013)
- RFC 7465: Prohibiting RC4 - Deprecating weak cipher - IETF (2015)
- scrypt - Memory-hard password hashing - RFC 7914 (2016)
- Argon2 - Modern password hashing winner - Password Hashing Competition (2015)
- NIST SP 800-38E - XTS-AES mode for storage encryption - NIST (2010)
- NIST SP 800-38F - Key wrapping modes - NIST (2012)
- JOSE (JSON Web Encryption) - RFC 7516 - IETF (2015)
- JWS (JSON Web Signature) - RFC 7515 - IETF (2015)
- JWK (JSON Web Key) - RFC 7517 - IETF (2015)
- ACME Protocol - Automated certificate management - IETF RFC 8555 (2015)
- CT (Certificate Transparency) - RFC 6962 - IETF (2013)
2016-2020 - Quantum Concerns and Modern Protocols
- TLS 1.3 - Modern transport layer security - IETF RFC 8446 (2018)
- NIST Post-Quantum Cryptography Project - Quantum-resistant algorithm competition - NIST (2016-2020)
- FIPS 180-4 - Secure Hash Standard (current) - NIST (2015)
- NIST SP 800-57 Part 1 Rev 5 - Key management best practices - NIST (2020)
- NIST SP 800-52 Rev 2 - TLS configuration guidelines - NIST (2019)
- RFC 8017: PKCS #1 v2.2 - Current RSA standard - IETF (2016)
- RFC 8032: EdDSA (Ed25519) - Edwards-curve digital signatures - IETF (2017)
- WireGuard VPN Protocol - Modern VPN with Noise protocol - Jason Donenfeld (2018)
- Noise Protocol Framework - Modern cryptographic protocol framework - Trevor Perrin (2018)
- NIST SP 800-133 Rev 2 - Cryptographic key generation - NIST (2020)
- NIST SP 800-38G - Format-preserving encryption - NIST (2016)
- RFC 7905: ChaCha20-Poly1305 for TLS - AEAD for TLS 1.2 - IETF (2016)
- BLAKE2 - Fast cryptographic hash function - RFC 7693 (2015)
- Encrypted SNI (ESNI) - TLS privacy enhancement - IETF Draft (2018)
- DNS over TLS (DoT) - RFC 7858 - IETF (2016)
- DNS over HTTPS (DoH) - RFC 8484 - IETF (2018)
- Age Encryption - Modern file encryption tool - Filippo Valsorda (2019)
- NIST SP 800-77 Rev 1 - IPsec VPN security - NIST (2020)
- BSI TR-02102 - German cryptographic standards - BSI (2020)
- WPA3 - Latest Wi-Fi security protocol - Wi-Fi Alliance (2018)
2021-2025 - Post-Quantum and Current Standards (Active)
- NIST FIPS 203: ML-KEM - Module-Lattice-Based Key Encapsulation (Crystals-KYBER) - NIST (2024)
- NIST FIPS 204: ML-DSA - Module-Lattice-Based Digital Signature (Crystals-DILITHIUM) - NIST (2024)
- NIST FIPS 205: SLH-DSA - Stateless Hash-Based Digital Signature (SPHINCS+) - NIST (2024)
- NIST SP 800-208 - Stateful Hash-Based Signatures (LMS, XMSS) - NIST (2020)
- NIST SP 800-186 - Discrete logarithm-based crypto (current) - NIST (2023)
- NIST SP 800-56C Rev 2 - Key derivation methods - NIST (2020)
- NIST SP 800-57 Part 2 Rev 1 - Best practices for key management - NIST (2019)
- NIST SP 800-131A Rev 2 - Transitioning to cryptographic algorithms - NIST (2019)
- RFC 9180: HPKE - Hybrid Public Key Encryption - IETF (2022)
- RFC 9325: Deprecating MD5 and SHA-1 - Hash function sunset - IETF (2022)
- TLS 1.3 Post-Quantum - Hybrid PQ/classical key exchange - IETF Draft (2023-2024)
- NSA CNSA 2.0 - Commercial National Security Algorithm Suite (quantum-ready) - NSA (2022)
- Encrypted Client Hello (ECH) - Privacy enhancement for TLS - IETF Draft (2023)
- FIPS 140-3 Implementation - Current cryptographic module validation - NIST (2019, active 2021+)
- ACVP (Automated Crypto Validation Protocol) - Modern cryptographic testing - NIST (2021)
- NIST IR 8309 - Status report on first round PQC candidates - NIST (2020)
- NIST IR 8413 - Status report on third round PQC candidates - NIST (2022)
- BSI Migration to PQC - German post-quantum migration guide - BSI (2023)
- ANSSI Post-Quantum Guidelines - French cryptographic agency PQC guidance - ANSSI (2022)
- ETSI White Paper on Quantum Safe Cryptography - European PQC roadmap - ETSI (2021)
- NIST SP 1800-16 - Certificate transparency implementation - NIST (2020)
- RFC 9001: QUIC-TLS - TLS 1.3 for QUIC transport - IETF (2021)
- ISO/IEC 29192-2 - Lightweight block ciphers - ISO (2019)
- ISO/IEC 18033-3:2022 - Updated encryption algorithms - ISO (2022)
- CISA Quantum Readiness Roadmap - Federal PQC transition guidance - CISA (2023)
Encryption Implementation Guides (Active 2025)
- NIST Cryptographic Standards and Guidelines - Comprehensive crypto guidance portal - NIST
- OpenSSL Documentation - Industry-standard crypto library guide - OpenSSL Project
- BoringSSL Guide - Google's SSL/TLS implementation - Google
- LibreSSL Documentation - OpenBSD crypto implementation - OpenBSD
- Bouncy Castle Crypto APIs - Java/C# cryptography implementation - Legion of Bouncy Castle
- Microsoft CNG (Cryptography Next Generation) - Windows crypto platform - Microsoft
- Apple CryptoKit - Swift cryptography framework - Apple
- Go crypto/tls Package - Golang TLS implementation - Go Team
- Rust crypto Libraries (RustCrypto) - Memory-safe crypto implementations - RustCrypto Project
- Mozilla Security Guidelines - TLS and crypto best practices - Mozilla
- OWASP Cryptographic Storage Cheat Sheet - Secure crypto implementation - OWASP
- OWASP Transport Layer Protection Cheat Sheet - TLS configuration - OWASP
- SSL Labs Server Test Guide - TLS configuration assessment - Qualys
- CryptCheck - Crypto configuration analysis - Aeris/CryptCheck
- NIST Cryptographic Algorithm Validation Program (CAVP) - Crypto testing standards - NIST
