Library

Where this content comes from — and where to go deeper

Every module on this site is written from the official standards, RFCs, and original papers that actually define these algorithms. Worked examples (like the toy RSA and Diffie-Hellman key pairs) are computed directly from those specifications, not copied from a textbook.

Alongside those primary sources, this library also collects the sites, blogs, courses, and books worth reading once a module raises more questions than it answers — search or filter by type to find either.

The explanatory text itself was drafted with Claude (Anthropic), synthesizing the sources below rather than quoting them, and reviewed for technical accuracy during writing. If you spot something that doesn't match the underlying spec, treat the spec as authoritative — and consider it a bug in this site worth reporting.

All 132 entries

Foundational papers

The original papers that introduced the algorithms and attacks covered here.

Communication Theory of Secrecy Systems ↗

C. E. Shannon, Bell System Technical Journal, 1949

The paper that put cryptography on a mathematical footing, and proved the one-time pad achieves perfect secrecy.

New Directions in Cryptography ↗

W. Diffie & M. Hellman, IEEE Transactions on Information Theory, 1976

The original public-key key-exchange paper.

A Method for Obtaining Digital Signatures and Public-Key Cryptosystems ↗

R. Rivest, A. Shamir, L. Adleman, Communications of the ACM, 1978

The original RSA paper.

A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms ↗

T. ElGamal, IEEE Transactions on Information Theory, 1985

The original ElGamal encryption and signature paper.

How to Share a Secret ↗

A. Shamir, Communications of the ACM, 1979

The original threshold secret-sharing paper.

Algorithms for Quantum Computation: Discrete Logarithms and Factoring ↗

P. W. Shor, Proceedings of the 35th Annual Symposium on Foundations of Computer Science, 1994

The paper behind the entire post-quantum migration this site is framed around.

Message authentication (MACs)The Poly1305-AES message-authentication code ↗

D. J. Bernstein, Fast Software Encryption (FSE), 2005

The original Poly1305 paper.

Block cipher modes & authenticated encryptionAuthenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm ↗

M. Bellare & C. Namprempre, ASIACRYPT 2000

Why encrypt-then-MAC is the generically secure way to combine a cipher and a MAC.

Block cipher modes & authenticated encryptionSecurity Flaws Induced by CBC Padding — Applications to SSL, IPSEC, WTLS… ↗

S. Vaudenay, EUROCRYPT 2002

The original padding oracle attack.

Block cipher modes & authenticated encryptionBreaking the FF3 Format-Preserving Encryption Standard Over Small Domains ↗

F. B. Durak & S. Vaudenay, CRYPTO 2017

The slide attack that sent FF3 back to NIST for revision.

Block cipher modes & authenticated encryptionLinear Cryptanalysis of FF3-1 and FEA ↗

T. Beyne, CRYPTO 2021

Practical distinguishing and message-recovery attacks on FF3-1 over small domains.

Randomness & entropyMining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices ↗

N. Heninger, Z. Durumeric, E. Wustrow, J. A. Halderman, USENIX Security 2012

Found millions of real-world RSA and DSA keys shared across devices, traced directly to boot-time entropy starvation on embedded Linux.

Standards & RFCs

The NIST, IETF, EMVCo, PCI, OASIS, ETSI, EU, and certification-program documents that actually define each algorithm, protocol, product evaluation, and trust service.

Symmetric-key cryptographyFIPS 46-3 — Data Encryption Standard (DES) ↗

NIST

Withdrawn in 2005 once its 56-bit key became exhaustively searchable; superseded by AES.

Public-key cryptography (RSA, Diffie-Hellman, ElGamal, ECC)FIPS 186-5 — Digital Signature Standard (DSS) ↗

NIST

Covers RSA and ECDSA signature parameters.

Public-key cryptography (RSA, Diffie-Hellman, ElGamal, ECC)RFC 8017 — PKCS #1: RSA Cryptography Specifications Version 2.2 ↗

IETF

OAEP and PKCS#1 v1.5 padding for encryption; PSS and PKCS#1 v1.5 for signatures.

Public-key cryptography (RSA, Diffie-Hellman, ElGamal, ECC)RFC 8032 — Edwards-Curve Digital Signature Algorithm (EdDSA) ↗

IETF

Ed25519 and Ed448, with the test vectors the Ed25519 Playground tool loads.

Public-key cryptography (RSA, Diffie-Hellman, ElGamal, ECC)RFC 6979 — Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) ↗

IETF

Derives the per-signature nonce from the private key and message hash, so a weak RNG can't cause a nonce repeat.

Public-key cryptography (RSA, Diffie-Hellman, ElGamal, ECC)SP 800-56A Rev. 3 — Recommendation for Pair-Wise Key-Establishment Using Discrete Logarithm Cryptography ↗

NIST

Covers Diffie-Hellman and ECDH.

Hashing, signatures & key derivationFIPS 180-4 — Secure Hash Standard (SHS) ↗

NIST

SHA-2 family.

Hashing, signatures & key derivationFIPS 202 — SHA-3 Standard ↗

NIST

Message authentication (MACs)FIPS 198-1 — The Keyed-Hash Message Authentication Code (HMAC) ↗

NIST

NIST's adoption of RFC 2104's HMAC.

Message authentication (MACs)RFC 4231 — Identifiers and Test Vectors for HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 ↗

IETF

The HMAC-SHA-256 worked example in the MACs module is its test case 2.

Message authentication (MACs)RFC 4493 — The AES-CMAC Algorithm ↗

IETF

AES-CMAC with subkey and tag test vectors.

Block cipher modes & authenticated encryptionSP 800-38A — Recommendation for Block Cipher Modes of Operation: Methods and Techniques ↗

NIST

Defines ECB, CBC, CFB, OFB and CTR. Appendix F's test vectors are the worked examples in the modes module.

Block cipher modes & authenticated encryptionSP 800-38E — Recommendation for Block Cipher Modes of Operation: the XTS-AES Mode for Confidentiality on Storage Devices ↗

NIST

NIST's approval of IEEE 1619's XTS-AES for disk encryption.

Block cipher modes & authenticated encryptionSP 800-38G — Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption ↗

NIST, 2016

The published FF1 and FF3 specification. Its FF1 sample vectors are what the FF1 Playground tool is tested against.

Block cipher modes & authenticated encryptionSP 800-38G Rev. 1 (2nd Public Draft) — Methods for Format-Preserving Encryption ↗

NIST, February 2025

The revision that keeps FF1 only, drops FF3 and FF3-1, and disallows floating point in FF1 implementations.

Block cipher modes & authenticated encryptionRFC 5116 — An Interface and Algorithms for Authenticated Encryption ↗

IETF

The standard AEAD interface (key, nonce, plaintext, associated data) used by TLS 1.3 and most later protocols.

Randomness & entropyNIST SP 800-90B — Recommendation for the Entropy Sources Used for Random Bit Generation ↗

NIST

Defines the min-entropy estimators (including Most Common Value, Collision, and Markov) behind the Entropy Testing Playground tool.

Randomness & entropyNIST SP 800-90A Rev. 1 — Recommendation for Random Number Generation Using Deterministic Random Bit Generators ↗

NIST

The DRBG standard at the center of the Dual_EC_DRBG backdoor episode covered in the Standards section's NIST page.

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 9846 — The Transport Layer Security (TLS) Protocol Version 1.3 ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and CRL Profile ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 6960 — X.509 Internet PKI Online Certificate Status Protocol (OCSP) ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 9162 — Certificate Transparency Version 2.0 ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 7519 — JSON Web Token (JWT) ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 7515 — JSON Web Signature (JWS) ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)RFC 4251 — The Secure Shell (SSH) Protocol Architecture ↗

IETF

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)The X3DH Key Agreement Protocol ↗

Signal

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)The Double Ratchet Algorithm ↗

Signal

Protocols (TLS, certificates, JWT, SSH, Signal, WebAuthn)Web Authentication: An API for accessing Public Key Credentials — Level 3 ↗

W3C Recommendation

The WebAuthn standard passkeys are built on.

Key management, PKI automation & federated identityRFC 3394 — Advanced Encryption Standard (AES) Key Wrap Algorithm ↗

IETF

Key management, PKI automation & federated identityRFC 5649 — Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm ↗

IETF

AES Key Wrap extended to keys that aren't a multiple of 8 bytes; the symmetric half of the RSA-OAEP + AES-KWP hybrid that cloud KMSs accept for importing private keys (BYOK).

Key management, PKI automation & federated identityRFC 8555 — Automatic Certificate Management Environment (ACME) ↗

IETF

The protocol behind Let's Encrypt and automated certificate issuance.

Key management, PKI automation & federated identityRFC 6749 — The OAuth 2.0 Authorization Framework ↗

IETF

Key management, PKI automation & federated identityRFC 7636 — Proof Key for Code Exchange by OAuth Public Clients (PKCE) ↗

IETF

Key management, PKI automation & federated identityOpenID Connect Core 1.0 ↗

OpenID Foundation

Key management, PKI automation & federated identityAssertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 ↗

OASIS Standard

Key management, PKI automation & federated identityPKCS #11 Cryptographic Token Interface Base Specification Version 3.0 ↗

OASIS Standard

The current Cryptoki specification: the object model, attributes (CKA_SENSITIVE, CKA_EXTRACTABLE), and the full function list this site's PKCS#11 use case and Playground tool are built from.

Key management, PKI automation & federated identityRFC 5958 — Asymmetric Key Packages (PKCS #8) ↗

IETF

Key management, PKI automation & federated identityRFC 7292 — PKCS #12: Personal Information Exchange Syntax v1.1 ↗

IETF

Payments & card securityISO 9564-1 — Financial services: Personal Identification Number (PIN) management and security, Part 1 ↗

ISO (TC 68)

Defines the ISO-0/ISO-3 PIN block formats and PAN-binding this site's PIN block use case and Playground tool implement.

Payments & card securityEMV Integrated Circuit Card Specifications for Payment Systems, Books 1–4 ↗

EMVCo

The core chip-card specification — ICC Master Key derivation and the ARQC/ARPC cryptogram exchange this site's EMV Playground tool is built from.

Payments & card securityEMV 3-D Secure Protocol and Core Functions Specification ↗

EMVCo

The AReq/ARes message flow and JWS signing behind this site's 3DS Playground tool. CAVV generation itself is explicitly left issuer/network-proprietary by this spec — see the tool's own honesty note.

Payments & card securityEMV Payment Tokenisation Specification — Technical Framework ↗

EMVCo

Domain-bound tokens, Token Requestor IDs, and the token-vault model this site's network tokenization Playground tool demonstrates.

Payments & card securityPayment Card Industry Data Security Standard (PCI DSS) v4.0 ↗

PCI Security Standards Council

The data-handling standard behind the CVV-storage prohibition covered in this site's CVV/CVC use case.

Payments & card securityPCI PIN Security Requirements ↗

PCI Security Standards Council

Operational requirements for the TPK/ZPK key hierarchy and HSM PIN-translation operations covered in the PIN block use case.

Payments & card securityANSI X9.24-1 — Retail Financial Services Symmetric Key Management, Part 1: Using Symmetric Techniques ↗

ASC X9 (2017)

The US baseline for payment key management: key components, dual control and split knowledge, key check values (including the AES-CMAC KCV), and key hierarchies. Its 2009 edition defines TDES DUKPT, with the Annex A test data this site's DUKPT tool is tested against. Paywalled.

Payments & card securityISO 11568 — Financial services: Key management (retail) ↗

ISO (TC 68/SC 2), 2023

The international counterpart to X9.24: the full key life cycle, key separation, substitution prevention, and the hardware that manages keys. The 2023 edition replaces the earlier multi-part ISO 11568. Paywalled.

Payments & card securityPCI PTS HSM Modular Security Requirements ↗

PCI Security Standards Council

The device standard for payment HSMs: tamper response, dual control over sensitive functions, key-block support, and (since v4.0) requirements for cloud HSM services.

Payments & card securityANSI X9.24-3 — Retail Financial Services Symmetric Key Management, Part 3: Derived Unique Key Per Transaction ↗

Accredited Standards Committee X9

The 2017 edition defines AES DUKPT (and keeps TDES DUKPT as an annex). Its supplement test vectors for AES-128 and AES-256 BDKs are what this site's DUKPT tool is tested against. Sold by X9; not freely available.

Product certification (FIPS 140-3 & Common Criteria)FIPS 140-3 — Security Requirements for Cryptographic Modules ↗

NIST, 2019

The current US and Canadian module standard. Short on its own: it adopts ISO/IEC 19790 and 24759 and defers the details to the SP 800-140 series.

Product certification (FIPS 140-3 & Common Criteria)NIST SP 800-140 — FIPS 140-3 Derived Test Requirements ↗

NIST, 2020

How the CMVP modifies ISO/IEC 24759's test requirements; its companions 800-140A through F cover documentation, the Security Policy, approved functions, key establishment, authentication, and non-invasive attacks.

Product certification (FIPS 140-3 & Common Criteria)ISO/IEC 19790 — Security requirements for cryptographic modules ↗

ISO/IEC JTC 1/SC 27

The 2012 edition is the one FIPS 140-3 adopts for its requirements; ISO/IEC 24759 is its test-method companion. Paywalled.

Product certification (FIPS 140-3 & Common Criteria)Cryptographic Module Validation Program (CMVP) ↗

NIST & Canadian Centre for Cyber Security

The searchable list of validated modules, their Security Policies, the modules-in-process queue, and the Implementation Guidance.

Product certification (FIPS 140-3 & Common Criteria)Cryptographic Algorithm Validation Program (CAVP) ↗

NIST

Algorithm-level validation, via the automated ACVP protocol, that every module certificate builds on.

Product certification (FIPS 140-3 & Common Criteria)FIPS 140-3 Transition Effort ↗

NIST

The CMVP's own timeline for moving from FIPS 140-2 to FIPS 140-3, including when FIPS 140-2 certificates moved to the Historical list.

Product certification (FIPS 140-3 & Common Criteria)Common Criteria for Information Technology Security Evaluation (CC:2022) ↗

Common Criteria Recognition Arrangement (also published as ISO/IEC 15408)

The five parts of CC:2022 and the CEM evaluation methodology, free to download from the portal; the ISO/IEC 15408 and 18045 editions carry the same content.

Product certification (FIPS 140-3 & Common Criteria)Common Criteria Portal ↗

Common Criteria Recognition Arrangement

The CCRA's list of certified products and protection profiles, with each product's Security Target and certification report.

Product certification (FIPS 140-3 & Common Criteria)NIAP — National Information Assurance Partnership ↗

US Common Criteria Evaluation and Validation Scheme

The US scheme: protection-profile-only evaluations with no EALs, and the product list US national security systems buy from.

Product certification (FIPS 140-3 & Common Criteria)Commission Implementing Regulation (EU) 2024/482 — EUCC scheme ↗

European Commission, 2024

Establishes EUCC, the EU's Common Criteria-based certification scheme under the Cybersecurity Act, applicable since 27 February 2025.

Product certification (FIPS 140-3 & Common Criteria)EN 419221-5 — Cryptographic Module for Trust Services (protection profile) ↗

CEN, 2018

The Common Criteria protection profile for HSMs that trust service providers use for signing, sealing, and certificate issuance under eIDAS. Paywalled.

EU trust services (eIDAS & ETSI)Regulation (EU) No 910/2014 — eIDAS ↗

European Parliament and Council, 2014

The original eIDAS Regulation on electronic identification and trust services. Articles 25 and 26 (signature tiers), 20 to 24 (qualified providers and trusted lists), 29 and 30 with Annex II (QSCDs). Read the consolidated version for the text as amended in 2024.

EU trust services (eIDAS & ETSI)Regulation (EU) 2024/1183 — eIDAS 2.0 (European Digital Identity Framework) ↗

European Parliament and Council, 2024

The 2024 amendment that adds the EU Digital Identity Wallet (Articles 5a to 5f), remote QSCD management (29a), the browser rules for QWACs (45 and 45a), and three new trust services. In force since 20 May 2024.

EU trust services (eIDAS & ETSI)EU Trusted Lists (eIDAS Dashboard) ↗

European Commission

Browse every Member State's trusted list of qualified providers and services, and the Commission's list of QSCDs.

EU trust services (eIDAS & ETSI)ETSI EN 319 401 — General policy requirements for trust service providers ↗

ETSI

The baseline every TSP policy builds on: risk assessment, personnel, physical and network security, incident handling, and termination plans. Free to download.

EU trust services (eIDAS & ETSI)ETSI EN 319 411-2 — Policy requirements for TSPs issuing EU qualified certificates ↗

ETSI

Defines the EU qualified certificate policies (QCP-n, QCP-n-qscd, QCP-l, QCP-w and others) on top of EN 319 411-1. Cited as a reference standard by Implementing Regulation (EU) 2025/1943.

EU trust services (eIDAS & ETSI)ETSI EN 319 102-1 — Procedures for creation and validation of AdES digital signatures ↗

ETSI

The shared validation model behind CAdES, XAdES, PAdES, and JAdES, and the reference for Implementing Regulation (EU) 2025/1945 on validating qualified signatures and seals.

EU trust services (eIDAS & ETSI)ETSI EN 319 142-1 — PAdES digital signatures (baseline) ↗

ETSI

The PDF signature format and its B-B, B-T, B-LT, and B-LTA baseline levels. Its siblings are EN 319 122 (CAdES), EN 319 132 (XAdES), and TS 119 182-1 (JAdES).

EU trust services (eIDAS & ETSI)ETSI TS 119 612 — Trusted Lists ↗

ETSI

The signed XML format Member States use to publish which providers and services hold qualified status, and since when.

EU trust services (eIDAS & ETSI)ETSI TS 119 431-1 — Policy and security requirements for TSPs operating a server signing application ↗

ETSI

Operational requirements for remote signing services, and the basis of Implementing Regulation (EU) 2025/1567's reference standards for remote QSCD management.

EU trust services (eIDAS & ETSI)Commission Implementing Decision (EU) 2016/650 — QSCD security assessment standards ↗

European Commission, 2016

Lists the Common Criteria protection profiles (EN 419211) used to certify local QSCDs such as smart cards under Article 30.

EU trust services (eIDAS & ETSI)Commission Implementing Regulation (EU) 2025/1567 — remote QSCD management ↗

European Commission, 2025

Reference standards and specifications for the qualified service of managing remote signature and seal creation devices (Article 29a), building on ETSI TS 119 431-1.

EU trust services (eIDAS & ETSI)EUDI Wallet Architecture and Reference Framework ↗

European Commission and Member States

The technical blueprint for EU Digital Identity Wallets: PID and attestation formats (ISO/IEC 18013-5 mdoc, SD-JWT VC), issuance and presentation protocols, and wallet security requirements.

Code signing & secure bootCA/Browser Forum Baseline Requirements for Code Signing Certificates ↗

CA/Browser Forum

The rules for publicly trusted code-signing certificates: hardware key storage since June 2023, and a 460-day maximum validity for certificates issued from March 2026 (Ballot CSC-31).

Code signing & secure bootRFC 3161 — Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) ↗

IETF

How a Time-Stamping Authority binds a hash to a trusted time, which lets code signatures outlive their certificates.

Code signing & secure bootRFC 5652 — Cryptographic Message Syntax (CMS) ↗

IETF

The SignedData structure (the successor to PKCS #7) that Authenticode and many other signing formats are built on.

Code signing & secure bootUEFI Specification ↗

UEFI Forum

Defines Secure Boot's PK, KEK, db, and dbx variables and how firmware verifies boot images against them.

Code signing & secure bootNIST SP 800-193 — Platform Firmware Resiliency Guidelines ↗

NIST, 2018

Roots of trust and the protect, detect, and recover model for platform firmware.

Code signing & secure bootTCG PC Client Platform Firmware Profile Specification ↗

Trusted Computing Group

Which boot components are measured into which TPM PCRs, and the event log format verifiers replay.

Code signing & secure bootWindows Secure Boot certificate expiration and CA updates ↗

Microsoft

The 2026 expiry of the 2011 Secure Boot certificates and their 2023 replacements, with dates for each.

Post-quantum cryptography & the quantum threatFIPS 204 — Module-Lattice-Based Digital Signature Standard (ML-DSA) ↗

NIST

Post-quantum cryptography & the quantum threatFIPS 205 — Stateless Hash-Based Digital Signature Standard (SLH-DSA) ↗

NIST

Post-quantum cryptography & the quantum threatSP 800-57 Part 1 Rev. 5 — Recommendation for Key Management ↗

NIST

Source of the key-size/security-level equivalence table used in this catalog.

Standardization bodiesNIST Computer Security Resource Center ↗

NIST

Home of every FIPS and SP 800 document cited throughout this library.

Standardization bodiesIETF ↗

Internet Engineering Task Force

Home of the RFC series and its working groups.

Standardization bodiesRFC 2119 — Key words for use in RFCs to Indicate Requirement Levels ↗

IETF

Defines what MUST, SHOULD, and MAY mean inside every other RFC that uses them.

Standardization bodiesISO ↗

International Organization for Standardization

Publishes ISO/IEC 27001, 18033, 19790, and the rest of the JTC 1/SC 27 security series jointly with the IEC.

Standardization bodiesOASIS Open ↗

OASIS

Home of SAML 2.0, PKCS#11, and KMIP.

Sites & practice

Blogs, courses, and hands-on practice sites worth reading next.

Randomness & entropyANU Quantum Random Numbers Server ↗

Australian National University

The live quantum-random bit source behind the Entropy Testing Playground tool's "Fetch from ANU QRNG" mode.

Payments & card securityopenemv/dukpt — TDES and AES DUKPT libraries and tools ↗

Leon Lynch (open source, LGPL-2.1)

An open-source C implementation of X9.24-3:2017 for both TDES and AES DUKPT, whose test suite transcribes the standards' published test data.

Code signing & secure bootSigstore ↗

Open Source Security Foundation (OpenSSF)

Keyless signing for open-source artifacts: short-lived certificates from Fulcio and a public transparency log, Rekor.

Further hands-on practiceCryptoHack ↗

CryptoHack

A categorized library of cryptography challenges, from classical ciphers through elliptic curves and real-world protocol flaws.

Further hands-on practiceCryptopals Crypto Challenges ↗

Cryptopals

A structured set of exercises, organized into progressive sets, that build real attacks against AES, RSA, Diffie-Hellman, and more from scratch.

Sites & blogsSchneier on Security ↗

Bruce Schneier

Long-running blog on crypto policy, applied security, and the occasional deep dive into a broken protocol.

Sites & blogsA Few Thoughts on Cryptographic Engineering ↗

Matthew Green

A Johns Hopkins cryptographer writing accessibly about TLS, protocol security, and why real-world crypto keeps breaking.

Sites & blogscr.yp.to ↗

Daniel J. Bernstein

The designer of ChaCha20 and Curve25519, writing directly about the algorithms covered in this catalog.

Sites & blogsIACR ePrint Archive ↗

International Association for Cryptologic Research

The preprint server where new cryptography research — including attacks on things covered here — appears first.

Sites & blogsReal World Crypto ↗

IACR

An annual conference bridging cryptography research and real deployments — talks and proceedings are free.

Sites & blogsCryptography I ↗

Dan Boneh, Stanford (Coursera)

The standard free introductory cryptography course — covers the same primitives this site does, with formal rigor.

Sites & blogsMIT OpenCourseWare — Mathematics & EECS ↗

MIT

Free lecture notes and problem sets from MIT's cryptography and number theory courses.

Sites & blogsCryptography Stack Exchange ↗

Stack Exchange community

A Q&A site where working cryptographers answer specific, technical questions — good for when a module raises more questions than it answers.

Sites & blogsCrypTool ↗

CrypTool project

Open-source, interactive software for experimenting with classical and modern ciphers and cryptanalysis techniques.

Sites & blogsNIST Cryptographic Standards and Guidelines ↗

NIST

The official hub for the FIPS and Special Publications this library cites throughout.

Books

Textbooks and longer reads for when a module raises more questions than it answers.

Applied Cryptography ↗

Bruce Schneier

The classic reference on cryptographic protocols, algorithms, and source code — dated in places, foundational everywhere else.

Serious Cryptography ↗

Jean-Philippe Aumasson

A practical, modern guide to encryption — symmetric, asymmetric, and the protocols built from them.

Real-World Cryptography ↗

David Wong

A hands-on guide to the cryptographic primitives and protocols actually deployed today, not just the textbook versions.

Cryptography Engineering ↗

Niels Ferguson, Bruce Schneier & Tadayoshi Kohno

Design principles and hard-won practical guidance for building cryptographic systems that survive contact with reality.

Understanding Cryptography ↗

Christof Paar & Jan Pelzl

A textbook covering essentially the same algorithm set as this site — AES, RSA, ECC, hashing — with more mathematical depth.

A Graduate Course in Applied Cryptography ↗

Dan Boneh & Victor Shoup

Comprehensive, rigorous, and free — covers private-key encryption, public-key encryption, and digital signatures in full.

The Code Book ↗

Simon Singh

The most accessible history of cryptography available — from the scytale to the Enigma to modern public-key cryptography.

The Codebreakers ↗

David Kahn

The definitive, exhaustive history of cryptography up to its 1967 publication — the book that founded the field of crypto history.