Outline of cryptography
Appearance
The following outline is provided as an overview of and topical guide to cryptography:
Cryptography (or cryptology) – practice and study of hiding information. Modern cryptography intersects the disciplines of mathematics, computer science, and engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce.
Essence of cryptography
- Cryptographer
- Encryption/decryption
- Cryptographic key
- Cipher
- Ciphertext
- Plaintext
- Code
- Tabula recta
- Alice and Bob
Uses of cryptographic techniques
- Commitment schemes
- Secure multiparty computation
- Electronic voting
- Authentication
- Digital signatures
- Crypto systems
- Dining cryptographers problem
- Anonymous remailer
- Pseudonymity
- Anonymous internet banking
- Onion routing
- Digital currency
- Secret sharing
Branches of cryptography
- Cryptographic engineering
- Multivariate cryptography
- Post-quantum cryptography
- Quantum cryptography
- Steganography
- Visual cryptography
History of cryptography
Classical
- Monoalphabetic substitution
- Polyalphabetic substitution
- Polygraphic substitution
- Scytale
- Grille
- Permutation cipher
- VIC cipher – complex hand cypher used by at least one Soviet spy in the early 1950s; it proved quite secure for the time
Modern symmetric-key algorithms
- A5/1 & A5/2 – ciphers specified for the GSM cellular telephone standard
- BMGL
- Chameleon
- FISH – by Siemens AG
- WWII 'Fish' cyphers
- Geheimfernschreiber – WWII mechanical onetime pad by Siemens AG, called STURGEON by Bletchley Park
- Pike – improvement on FISH by Ross Anderson
- Schlusselzusatz – WWII mechanical onetime pad by Lorenz, called tunny by Bletchley Park
- HELIX
- ISAAC – intended as a PRNG
- Leviathan
- LILI-128
- MUGI – CRYPTREC recommendation
- MULTI-S01 - CRYPTREC recommendation
- One-time pad – Vernam and Mauborgne, patented 1919; an extreme stream cypher
- Panama
- RC4 (ARCFOUR) – one of a series by Professor Ron Rivest of MIT; CRYPTREC recommended limited to 128-bit key
- CipherSaber – (RC4 variant with 10 byte random IV, easy to implement
- Salsa20 – an eSTREAM recommended cipher
- ChaCha20 – A Salsa20 variant.
- SEAL
- SNOW
- SOBER
- WAKE
- Product cipher
- Feistel cipher – pattern by Horst Feistel
- Advanced Encryption Standard (Rijndael) – 128-bit block; NIST selection for the AES, FIPS 197; Created 2001—by Joan Daemen and Vincent Rijmen; NESSIE selection; CRYPTREC recommendation.
- Anubis – 128-bit block
- BEAR – built from a stream cypher and hash function, by Ross Anderson
- Blowfish – 64-bit block; by Bruce Schneier et al.
- Camellia – 128-bit block; NESSIE selection (NTT & Mitsubishi Electric); CRYPTREC recommendation
- CAST-128 (CAST5) – 64-bit block; one of a series of algorithms by Carlisle Adams and Stafford Tavares, insistent that the name is not due to their initials
- CIPHERUNICORN-A – 128-bit block; CRYPTREC recommendation
- CIPHERUNICORN-E – 64-bit block; CRYPTREC recommendation (limited)
- CMEA – cipher used in US cellphones, found to have weaknesses.
- CS-Cipher – 64-bit block
- Data Encryption Standard (DES) – 64-bit block; FIPS 46-3, 1976
- DEAL – an AES candidate derived from DES
- DES-X – a variant of DES to increase the key size.
- FEAL
- GDES – a DES variant designed to speed up encryption
- Grand Cru – 128-bit block
- Hierocrypt-3 – 128-bit block; CRYPTREC recommendation
- Hierocrypt-L1 – 64-bit block; CRYPTREC recommendation (limited)
- IDEA NXT – project name FOX, 64-bit and 128-bit block family; Mediacrypt (Switzerland); by Pascal Junod & Serge Vaudenay of Swiss Institute of Technology Lausanne
- International Data Encryption Algorithm (IDEA) – 64-bit block;James Massey & X Lai of ETH Zurich
- Iraqi Block Cipher (IBC)
- KASUMI – 64-bit block; based on MISTY1, adopted for next generation W-CDMA cellular phone security
- KHAZAD – 64-bit block designed by Barretto and Rijmen
- Khufu and Khafre – 64-bit block ciphers
- Kuznyechik – Russian 128-bit block cipher, defined in GOST R 34.12-2015 and RFC 7801.
- LION – block cypher built from stream cypher and hash function, by Ross Anderson
- LOKI89/91 – 64-bit block ciphers
- LOKI97 – 128-bit block cipher, AES candidate
- Lucifer – by Tuchman et al. of IBM, early 1970s; modified by NSA/NBS and released as DES
- MAGENTA – AES candidate
- Mars – AES finalist, by Don Coppersmith et al.
- MISTY1 – NESSIE selection 64-bit block; Mitsubishi Electric (Japan); CRYPTREC recommendation (limited)
- MISTY2 – 128-bit block: Mitsubishi Electric (Japan)
- Nimbus – 64-bit block
- NOEKEON – 128-bit block
- NUSH – variable block length (64-256-bit)
- Q – 128-bit block
- RC2 – 64-bit block, variable key length
- RC6 – variable block length; AES finalist, by Ron Rivest et al.
- RC5 – Ron Rivest
- SAFER – variable block length
- SC2000 – 128-bit block; CRYPTREC recommendation
- Serpent – 128-bit block; AES finalist by Ross Anderson, Eli Biham, Lars Knudsen
- SHACAL-1 – 160-bit block
- SHACAL-2 – 256-bit block cypher; NESSIE selection Gemplus (France)
- Shark – grandfather of Rijndael/AES, by Daemen and Rijmen
- TEA – by David Wheeler & Roger Needham
- Triple DES – by Walter Tuchman, leader of the Lucifer design team—not all triple uses of DES increase security, Tuchman's does; CRYPTREC recommendation (limited), only when used as in FIPS Pub 46-3
- Twofish – 128-bit block; AES finalist by Bruce Schneier et al.
- XTEA – by David Wheeler & Roger Needham
- 3-Way – 96-bit block by Joan Daemen
- Polyalphabetic substitution machine cyphers
- Enigma – WWII German rotor cypher machine—many variants, any user networks for most of the variants
- Purple – highest security WWII Japanese Foreign Office cypher machine; by Japanese Navy Captain
- SIGABA – WWII US cypher machine by William Friedman, Frank Rowlett et al.
- TypeX – WWII UK cypher machine
- Hybrid code/cypher combinations
- JN-25 – WWII Japanese Navy superencyphered code; many variants
- Naval Cypher 3 – superencrypted code used by the Royal Navy in the 1930s and into WWII
Modern asymmetric-key algorithms
- ACE-KEM – NESSIE selection asymmetric encryption scheme; IBM Zurich Research
- Chor-Rivest
- Diffie-Hellman – key agreement; CRYPTREC recommendation
- El Gamal – discrete logarithm
- Elliptic curve cryptography – (discrete logarithm variant)
- PSEC-KEM – NESSIE selection asymmetric encryption scheme; NTT (Japan); CRYPTREC recommendation only in DEM construction w/SEC1 parameters
- EPOC
- Merkle–Hellman knapsack cryptosystem – knapsack scheme
- McEliece
- Niederreiter cryptosystem
- NTRUEncrypt
- RSA – factoring
- Rabin cryptosystem – factoring
- Threshold cryptosystem
- XTR
Keys
- Public key infrastructure
- Public key certificate
- ID-based cryptography
- Certificate-based encryption
- Secure key issuing cryptography
- Certificateless cryptography
- Merkle tree
Transport/exchange
- Diffie–Hellman
- Man-in-the-middle attack
- Needham–Schroeder
- Offline private key
- Otway–Rees
- Trusted paper key
- Wide Mouth Frog
- Brute force attack
- Dictionary attack
- Related key attack
- Key derivation function
- Key strengthening
- Password
- Password-authenticated key agreement
- Passphrase
- Salt
- Message authentication code
- Keyed-hash message authentication code
- Encrypted CBC-MAC (EMAC) – NESSIE selection MAC
- HMAC – NESSIE selection MAC; ISO/IEC 9797-1, FIPS PUB 113 and IETF RFC
- TTMAC – (Two-Track-MAC) NESSIE selection MAC; K.U.Leuven (Belgium) & debis AG (Germany)
- UMAC – NESSIE selection MAC; Intel, UNevada Reno, IBM, Technion, & UC Davis
- MD5 – one of a series of message digest algorithms by Prof Ron Rivest of MIT; 128-bit digest
- SHA-1 – developed at NSA 160-bit digest, an FIPS standard; the first released version was defective and replaced by this; NIST/NSA have released several variants with longer 'digest' lengths; CRYPTREC recommendation (limited)
- SHA-3 – originally known as Keccak; was the winner of the NIST hash function competition using sponge function.
- Streebog – Russian algorithm created to replace an obsolete GOST hash function defined in obsolete standard GOST R 34.11-94.
- RIPEMD-160 – developed in Europe for the RIPE project, 160-bit digest; CRYPTREC recommendation (limited)
- RTR0 – one of Retter series; developed by Maciej A. Czyzewski; 160-bit digest
- Tiger – by Ross Anderson et al.
- Snefru – NIST hash function competition
- Whirlpool – NESSIE selection hash function, Scopus Tecnologia S.A. (Brazil) & K.U.Leuven (Belgium)
Classical
Modern
- Symmetric algorithms
- Hash functions:
- Attack models
- Side channel attacks
- Network attacks
- External attacks
Robustness properties
- Provable security
- Random oracle model
- Ciphertext indistinguishability
- Semantic security
- Malleability
- Forward secrecy
- Forward anonymity
- Freshness
Undeciphered historical codes and ciphers
- Beale ciphers
- Chaocipher
- D'Agapeyeff cipher
- Dorabella cipher
- Rongorongo
- Shugborough inscription
- Voynich manuscript
Organizations and selection projects
- Federal Information Processing Standards (FIPS) Publication Program – run by NIST to produce standards in many areas to guide operations of the US Federal government; many FIPS publications are ongoing and related to cryptography
- American National Standards Institute (ANSI) – standardization process that produces many standards in many areas; some are cryptography related, ongoing)
- International Organization for Standardization (ISO) – standardization process produces many standards in many areas; some are cryptography related, ongoing
- Institute of Electrical and Electronics Engineers (IEEE) – standardization process produces many standards in many areas; some are cryptography related, ongoing
- Internet Engineering Task Force (IETF) – standardization process that produces many standards called RFCs) in many areas; some are cryptography related, ongoing)
General cryptographic
- National Security Agency (NSA) – internal evaluation/selections, charged with assisting NIST in its cryptographic responsibilities
- Government Communications Headquarters (GCHQ) – internal evaluation/selections, a division is charged with developing and recommending cryptographic standards for the UK government
- Defence Signals Directorate (DSD) – Australian SIGINT agency, part of ECHELON
- Communications Security Establishment (CSE) – Canadian intelligence agency
Open efforts
- Data Encryption Standard (DES) – NBS selection process, ended 1976
- RIPE – division of the RACE project sponsored by the European Union, ended mid-1980s
- Advanced Encryption Standard (AES) – a "break-off" competition sponsored by NIST, ended in 2001
- NESSIE Project – an evaluation/selection program sponsored by the European Union, ended in 2002
- eSTREAM– program funded by ECRYPT; motivated by the failure of all of the stream ciphers submitted to NESSIE, ended in 2008
- CRYPTREC – evaluation/recommendation program sponsored by the Japanese government; draft recommendations published 2003
- CrypTool – an e-learning freeware programme in English and German— exhaustive educational tool about cryptography and cryptanalysis
Influential cryptographers
Legal issues
- AACS encryption key controversy
- Free speech
- Bernstein v. United States - Daniel J. Bernstein's challenge to the restrictions on the export of cryptography from the United States.
- Junger v. Daley
- DeCSS
- Phil Zimmermann - Arms Export Control Act investigation regarding the PGP software.
- Export of cryptography
- Key escrow and Clipper Chip
- Digital Millennium Copyright Act
- Digital Rights Management (DRM)
- Patents
- RSA – now public domain
- David Chaum – and digital cash
- Cryptography and law enforcement
- Cryptography laws in different nations
- Official Secrets Act – United Kingdom, India, Ireland, Malaysia, and formerly New Zealand
- Regulation of Investigatory Powers Act 2000 – United Kingdom
Academic and professional publications
- Journal of Cryptology
- Encyclopedia of Cryptography and Security
- Cryptologia – quarterly journal focusing on historical aspects
- Communication Theory of Secrecy Systems – cryptography from the viewpoint of information theory