# Outline of cryptography

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
* Onion routing
* Digital currency
* Secret sharing
* Indistinguishability obfuscation

## Branches of cryptography

* Multivariate cryptography
* Post-quantum cryptography
* Quantum cryptography
* Steganography
* Visual cryptography
* Chaotic cryptology

## History of cryptography

* Japanese cryptology from the 1500s to Meiji
* World War I cryptography
* World War II cryptography
** Reservehandverfahren
** Venona project
** Ultra

## Ciphers
### Classical
#### Substitution

* Monoalphabetic substitution
** Caesar cipher
*** ROT13
** Affine cipher
** Atbash cipher
** Keyword cipher
* Polyalphabetic substitution
** Vigenère cipher
** Autokey cipher
** Homophonic substitution cipher
* Polygraphic substitution
** Playfair cipher
** Hill cipher

#### Transposition

* 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
#### Stream ciphers

* 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
** SOBER-t16
** SOBER-t32
* WAKE

#### Block ciphers

* 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
** CAST-256 (CAST6) – 128-bit block; the successor to CAST-128 and a candidate for the AES competition
* 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
** Square – father 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
#### Asymmetric key algorithm

* ACE-KEM – NESSIE selection asymmetric encryption scheme; IBM Zurich Research
** ACE Encrypt
* 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
** ECIES – Elliptic Curve Integrated Encryption System, Certicom Corporation
** ECIES-KEM
** ECDH – Elliptic Curve Diffie-Hellman key agreement, CRYPTREC recommendation
* EPOC
* Kyber
* Merkle–Hellman knapsack cryptosystem – knapsack scheme
* McEliece cryptosystem
* Niederreiter cryptosystem
* NTRUEncrypt
* RSA – factoring
** RSA-KEM – NESSIE selection asymmetric encryption scheme; ISO/IEC 18033-2 draft
** RSA-OAEP – CRYPTREC recommendation
* Rabin cryptosystem – factoring
** Rabin-SAEP
** HIME(R)
* Paillier cryptosystem
* Threshold cryptosystem
* XTR

## Keys
### Key authentication

* Public key infrastructure
** X.509
** OpenPGP
* Public key certificate
** Certificate authority
** Certificate revocation
* 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

### Weak keys

* Brute force attack
* Dictionary attack
* Related key attack
* Key derivation function
* Key strengthening
* Password
* Password-authenticated key agreement
* Passphrase
* Salt
* Factorization

## Cryptographic hash functions

* 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
** Oblivious Pseudorandom Function
* 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-256 – NESSIE selection hash function, FIPS 180-2, 256-bit digest; CRYPTREC recommendation
** SHA-384 – NESSIE selection hash function, FIPS 180-2, 384-bit digest; CRYPTREC recommendation
** SHA-512 – NESSIE selection hash function, FIPS 180-2, 512-bit digest; CRYPTREC recommendation
* 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)

## Cryptanalysis
### Classical

* Frequency analysis
* Contact analysis
* Index of coincidence
* Kasiski examination

### Modern

* Symmetric algorithms
** Boomerang attack
** Brute force attack
** Davies' attack
** Differential cryptanalysis
** Impossible differential cryptanalysis
** Integral cryptanalysis
** Linear cryptanalysis
** Meet-in-the-middle attack
** Mod-n cryptanalysis
** Related-key attack
** Slide attack
** XSL attack
* Hash functions:
** Birthday attack
* Attack models
** Chosen-ciphertext
** Chosen-plaintext
** Ciphertext-only
** Known-plaintext
* Side channel attacks
** Power analysis
** Timing attack
** Cold boot attack
** Differential fault analysis
* Network attacks
** Man-in-the-middle attack
** Replay attack
* External attacks
** Black-bag cryptanalysis
** Rubber-hose cryptanalysis

## Robustness properties

* Provable security
* Random oracle model
* Ciphertext indistinguishability
* Semantic security
* Malleability
* Forward secrecy
* Forward anonymity
* Freshness
* Kerckhoffs's principle – Cryptographic principle that states everything except the key can be public knowledge

## Undeciphered historical codes and ciphers

* Beale ciphers
* Chaocipher
* D'Agapeyeff cipher
* Dorabella cipher
* Rongorongo
* Shugborough inscription
* Voynich manuscript

## Organizations and selection projects
### Cryptography standards

* 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

List of 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
** Telephone wiretapping
** Espionage
* 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
* International Association for Cryptologic Research (website)

## Allied sciences

* Security engineering