Jump to content

Topics in cryptography: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Erik9bot (talk | contribs)
Minnecologies (talk | contribs)
all content reorganized and moved to Outline of cryptography
Line 1: Line 1:
#REDIRECT [[Outline of cryptography]]
{{intromissing|date=April 2009}}
{{portalpar|Cryptography}}

== Classical ciphers ==
* [[Autokey cipher]]
* [[Permutation cipher]]

* [[Polyalphabetic substitution]]
** [[Vigenère cipher]]

* [[Polygraphic substitution]]
** [[Playfair cipher]] (by [[Charles Wheatstone]])
** [[Hill cipher]]

* [[Substitution cipher]]s
** [[Caesar cipher]]
*** [[ROT13]]
** [[Affine cipher]]
** [[Atbash cipher]]

* [[Transposition cipher]]s
** [[Scytale]]
** [[Grille (cryptography)|Grille]] cipher
** [[VIC cipher]] (complex hand cypher used by at least one Soviet spy in the early 1950s—it proved quite secure for the time)

== Famous ciphertexts ==
* See [[List of famous ciphertexts]]

== Attacks on classical ciphers ==

* [[Frequency analysis (cryptanalysis)|Frequency analysis]]
* [[Contact analysis (cryptanalysis)|Contact analysis]]
* [[Kasiski examination]]
* [[Index of coincidence]]

== Modern algorithms, methods evaluation and selection projects ==
=== Standards organizations ===
* the [[Federal Information Processing Standard]]s Publication program (run by [[NIST]] to produce standards in many areas to guide operations of the US Federal government; many [[Federal Information Processing Standard|FIPS]] Pubs are cryptography related, ongoing)
* the [[American National Standards Institute|ANSI]] standardization process (produces many standards in many areas; some are cryptography related, ongoing) <!--***we need a list here! -- help, please *** -->
* [[International Organization for Standardization|ISO]] standardization process (produces many standards in many areas; some are cryptography related, ongoing) <!-- ***we need a list here! -- help, please ***) -->
* [[IEEE]] standardization process (produces many standards in many areas; some are cryptography related, ongoing) <!-- ***we need a list here! -- help, please ***) -->
* [[IETF]] standardization process (produces many standards (called [[Request for Comments|RFCs]]) in many areas; some are cryptography related, ongoing) <!-- ***we need a list here! -- help, please ***) -->
See [[Cryptography standards]]

=== Cryptographic organizations ===
* [[NSA]] internal evaluation/selections (NSA is charged with assisting NIST in its cryptographic responsibilities)
* [[GCHQ]] internal evaluation/selections (a division of GCHQ is charged with developing and recommending cryptographic standards for the UK government) <!-- **** we need more information here -- help! **** -->
* [[Defence Signals Directorate|DSD]] Australian [[SIGINT]] agency - part of [[ECHELON]]
* [[Communications Security Establishment]] (CSE) &mdash; Canadian intelligence agency.
<!--*and the same for China, France, Germany, India, Russia, etc-->

=== Open efforts ===
* the [[Data Encryption Standard|DES]] selection ([[NIST|NBS]] selection process, ended 1976)
* the RIPE division of the RACE project (sponsored by the [[European Union]], ended mid-'80s)
* the [[Advanced Encryption Standard|AES]] competition (a 'break-off' sponsored by [[NIST]]; ended 2001)
* the [[NESSIE]] Project (evaluation/selection program sponsored by the [[European Union]]; ended 2002)
* the [[eSTREAM]] program ([[ECRYPT]]-funded; motivated by the failure of all of the [[stream cipher]]s submitted to [[NESSIE]]; ended 2008)
* the [[CRYPTREC]] program (Japanese government sponsored evaluation/recommendation project; draft recommendations published 2003)
* the [[IETF|Internet Engineering Task Force]] (technical body responsible for Internet standards—the [[Request for Comments|Request for Comment]] series: ongoing)
* the [[CrypTool]] project (e-learning programme in English and German; freeware; exhaustive educational tool about cryptography and cryptanalysis)
<!-- ****need a list here, Help, please **** -->

== [[Cryptographic hash function]]s (message digest algorithms) ==
* [[Cryptographic hash function]]
* [[Message authentication code]]
* [[Keyed-hash message authentication code]]
** [[EMAC]] ([[NESSIE]] selection MAC)
** [[HMAC]] ([[NESSIE]] selection MAC; ISO/IEC 9797-1, FIPS and IETF [[Request for Comments|RFC]])
** [[TTMAC]] aka Two-Track-MAC (NESSIE selection MAC; K.U.Leuven (Belgium) & debis AG (Germany))
** [[UMAC]] ([[NESSIE]] selection MAC; Intel, UNevada Reno, IBM, Technion, & UCal 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-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)
* [[RIPEMD-160]] (developed in Europe for the RIPE project, 160-bit digest;[[CRYPTREC]] recommendation (limited))
* [[Tiger (hash)|Tiger]] (by [[Ross Anderson]] et al.)
* [[Snefru (cryptography)|Snefru]]
* [[Whirlpool (algorithm)|Whirlpool]] ([[NESSIE]] selection hash function, Scopus Tecnologia S.A. (Brazil) & K.U.Leuven (Belgium))

== Public key / private key encryption algorithms (aka [[asymmetric key algorithm]]s) ==
* [[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 Corp)
** [[ECIES-KEM]]
** [[ECDH]] (Elliptic Curve Diffie-Hellman key agreement; [[CRYPTREC]] recommendation)
* [[Efficient Probabilistic Public-Key Encryption Scheme|EPOC]]
* [[Merkle-Hellman]] (knapsack scheme)
* [[McEliece]]
* [[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)]]
* [[XTR]]
* [[Threshold cryptosystem]]

== Public key / private key signature algorithms ==
* [[Digital Signature Algorithm]] (from NSA, part of the Digital Signature Standard (DSS); [[CRYPTREC]] recommendation)
* [[Elliptic Curve DSA]] ([[NESSIE]] selection digital signature scheme; Certicom Corp); [[CRYPTREC]] recommendation as ANSI X9.62, SEC1)
* [[Schnorr signature]]s
* [[RSA|RSA signatures]]
** [[RSA-PSS]] ([[NESSIE]] selection digital signature scheme; RSA Laboratories); [[CRYPTREC]] recommendation)
* [[RSASSA-PKCS1]] v1.5 ([[CRYPTREC]] recommendation)
* [[Nyberg-Rueppel signature]]s
* [[MQV protocol]]
* [[Gennaro-Halevi-Rabin signature]]
* [[Cramer-Shoup signature]]
* [[One-time signature]]s
** [[Lamport signature]]
** [[Bos-Chaum signature]]
* [[Undeniable signature]]s
** [[Chaum-van Antwerpen signature]]
* [[Fail-stop signature]]s
* [[Ong-Schnorr-Shamir signature]]
* [[Birational permutation]]
* [[ESIGN]]
** [[ESIGN-D]]
** [[ESIGN-R]]
* [[Direct anonymous attestation]]
* [[NTRUSign]]
* [[SFLASH]] ([[NESSIE]] selection digital signature scheme (esp for smartcard applications and similar); Schlumberger (France))
* [[Quartz (cryptography)|Quartz]]

== Key authentication ==
* [[Key authentication]]
* [[Public key infrastructure]]
** [[X.509]]
* [[Public key certificate]]
** [[Certificate authority]]
** [[Certificate revocation list]]
* [[ID-based cryptography]]
* [[Certificate-based encryption]]
* [[Secure key issuing cryptography]]
* [[Certificateless cryptography]]
* [[Hash tree|Merkle tree]]

== Anonymous identification scheme ==
* [[GPS]] (NESSIE selection anonymous identification scheme; Ecole Normale Supérieure, France Télécom, & La Poste)

== Secret key algorithms (aka [[symmetric key algorithm]]s) ==
* [[Stream cipher]]s
** [[A5/1]], [[A5/2]] (cyphers specified for the [[GSM]] cellular telephone standard)
** [[BMGL]]
** [[Chameleon (cipher)|Chameleon]]
** [[FISH (cipher)|FISH]] (by Siemens AG)
** [[Fish (cryptography)|WWII 'Fish' cyphers]]
*** [[Geheimfernschreiber]] (WWII mechanical onetime pad by [[Siemens AG]], called [[Sturgeon (cryptography)|STURGEON]] by [[Bletchley Park]])
*** [[Lorenz cipher|Schlusselzusatz]] (WWII mechanical onetime pad by [[Lorenz]], called [[tunny]] by [[Bletchley Park]])
** [[HELIX (cipher)|HELIX]]
** [[ISAAC (cipher)|ISAAC]] (intended as a PRNG)
** [[Leviathan (cipher)|Leviathan]]
** [[LILI-128]]
** [[MUGI]] ([[CRYPTREC]] recommendation)
** [[MULTI-S01]] ([[CRYPTREC]] recommendation)
** [[One-time pad]] (Vernam and Mauborgne, patented mid-'20s; an extreme stream cypher)
** [[Panama (cipher)|Panama]]
** [[Pike (cipher)|Pike]] (improvement on FISH by [[Ross Anderson]])
** [[RC4 (cipher)|RC4]] (ARCFOUR) (one of a series by Prof Ron Rivest of MIT; [[CRYPTREC]] recommendation (limited to 128-bit key))
** [[CipherSaber]] ([[RC4 (cipher)|RC4]] variant with 10 byte random [[IV]], easy to implement)
** [[Salsa20]], an [[eSTREAM]] recommended cipher
** [[SEAL (cipher)|SEAL]]
** [[SNOW]]
** [[SOBER]]
*** [[SOBER-t16]]
*** [[SOBER-t32]]
** [[WAKE (cipher)|WAKE]]

* [[Block cipher]]s
** [[Block cipher modes of operation]]
** [[Product cipher]]
** [[Feistel cipher]] (block cypher design pattern by [[Horst Feistel]])
** [[Advanced Encryption Standard]] (Rijndael) (128 bit block; [[NIST]] selection for the AES, FIPS 197, 2001—by [[Joan Daemen]] and [[Vincent Rijmen]]; [[NESSIE]] selection; [[CRYPTREC]] recommendation)
** [[Anubis (cipher)|Anubis]] (128-bit block)
** [[BEAR (cipher)|BEAR]] (block cypher built from stream cypher and hash function, by [[Ross Anderson]])
** [[Blowfish (cipher)|Blowfish]] (64 bit block; by [[Bruce Schneier]], et al.)
** [[Camellia (cipher)|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]], who are insistent (indeed, adamant) 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)|CMEA]] &mdash; 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]] &mdash; an AES candidate derived from DES
** [[DES-X]] A variant of DES to increase the key size.
** [[FEAL]]
** [[GDES]] &mdash; a [[Data Encryption Standard|DES]] variant designed to speed up encryption.
** [[Grand Cru (cipher)|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 (block cipher)|KASUMI]] (64-bit block; based on [[MISTY1]], adopted for next generation [[W-CDMA]] [[cellular phone]] security)
** [[KHAZAD]] (64-bit block designed by Barretto and [[Vincent Rijmen|Rijmen]])
** [[Khufu and Khafre]] (64-bit block ciphers)
** [[LION]] (block cypher built from stream cypher and hash function, by [[Ross Anderson]])
** [[LOKI|LOKI89/91]] (64-bit block ciphers)
** [[LOKI97]] (128-bit block cipher, AES candidate)
** [[Lucifer (cipher)|Lucifer]] (by Tuchman et al. of [[IBM]], early 1970s; modified by [[NSA]]/[[NBS]] and released as [[Data Encryption Standard|DES]])
** [[MAGENTA]] (AES candidate)
** [[Mars (cipher)|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 (cipher)|Nimbus]] (64 bit block)
** [[NOEKEON]] (128 bit block)
** [[NUSH]] (variable block length (64 - 256 bits))
** [[Q (cipher)|Q]] (128 bit block)
** [[RC2]] 64-bit block, variable key length.
** [[RC6]] (variable block length; AES finalist, by [[Ron Rivest]] et al.)
** [[RC5]] (by [[Ron Rivest]])
** [[SAFER]] (variable block length)
** [[SC2000]] (128 bit block; [[CRYPTREC]] recommendation)
** [[Serpent (cipher)|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 (cipher)|Shark]] (grandfather of [[Rijndael]]/[[Advanced Encryption Standard|AES]], by Daemen and Rijmen)
** [[Square (cipher)|Square]] (father of [[Rijndael]]/[[Advanced Encryption Standard|AES]], by Daemen and Rijmen)
** [[3-Way]] (96 bit block by [[Joan Daemen]])
** [[Tiny Encryption Algorithm|TEA]] (by [[David Wheeler (computer scientist)|David Wheeler]] & [[Roger Needham]])
** [[Triple DES]] (by [[Walter Tuchman]], leader of the [[Lucifer (cipher)|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 (computer scientist)|David Wheeler]] & [[Roger Needham]])

* Polyalphabetic substitution machine cyphers
** [[Enigma (machine)|Enigma]] (WWII German rotor cypher machine—many variants, many user networks for most of the variants)
** [[Purple code|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 30s and into WWII)

* [[Visual cryptography]]

== [[Classified]] cryptography ([[United States|U.S.]]) ==
* [[EKMS]] [[NSA]]'s Electronic Key Management System
* [[FNBDT]] [[NSA]]'s secure narrow band voice standard
* [[Fortezza]] encryption based on portable crypto token in [[PC Card]] format
* [[KW-26]] ROMULUS teletype encryptor (1960s - 1980s)
* [[KY-57]] VINSON tactical radio voice encryption
* [[SINCGARS]] tactical radio with cryptographically controlled frequency hopping
* [[STE]] secure telephone
* [[STU-III]] older secure telephone
* [[TEMPEST]] prevents compromising emanations
* [[Type 1 product]]s

== Breaking ciphers ==
* [[Passive attack]]
* [[Chosen plaintext attack]]
* [[Chosen ciphertext attack]]
* [[Adaptive chosen ciphertext attack]]
* [[Brute force attack]]
** [[Cryptographic key length]]
** [[Unicity distance]]
* [[Cryptanalysis]]
** [[Meet-in-the-middle attack]]
** [[Differential cryptanalysis]]
** [[Linear cryptanalysis]]
** [[Slide attack]] cryptanalysis
** [[Algebraic cryptanalysis]]
** [[XSL attack]]
** [[Mod n cryptanalysis]]

== Weak keys and password-based cryptography ==
* [[Brute force attack]]
* [[Dictionary attack]]
* [[Related key attack]]
* [[Key derivation function]]
* [[Key strengthening]]
* [[Weak key]]
* [[Password]]
* [[Password-authenticated key agreement]]
* [[Passphrase]]
* [[Salt (cryptography)|Salt]]

== Key transport/exchange ==
* [[BAN Logic]]
* [[Diffie-Hellman]]
* [[Man-in-the-middle attack]]
* [[Needham-Schroeder]]
* [[Offline private key]]
* [[Otway-Rees]]
* [[Trusted paper key]]
* [[Wide Mouth Frog]]

== [[Cryptographically secure pseudo-random number generator|Pseudo- and true random number generators]] ==
* [[PRNG]]
* [[CSPRNG]]
* [[Hardware random number generator]]s
* [[Blum Blum Shub]]
* [[Yarrow algorithm|Yarrow]] (by Schneier, et al.)
* [[Fortuna (PRNG)|Fortuna]] (by Schneier, et al.)
* [[ISAAC (cipher)|ISAAC]]
* RPNG based on SHA-1 in ANSI X9.42-2001 Annex C.1 ([[CRYPTREC]] example)
* PRNG based on SHA-1 for general purposes in [[FIPS]] Pub 186-2 (inc change notice 1) Appendix 3.1 ([[CRYPTREC]] example)
* PRNG based on SHA-1 for general purposes in [[FIPS]] Pub 186-2 (inc change notice 1) revised Appendix 3.1 ([[CRYPTREC]] example)

== Anonymous communication ==
* [[Dining cryptographers protocol]] (by [[David Chaum]])
* [[Anonymous remailer]]
* [[Pseudonymity]]
* [[Anonymous internet banking]]
* [[Onion routing]]

== Legal issues ==
* Cryptography as [[free speech]]
** ''[[Bernstein v. United States]]''
** ''[[Junger v. Daley]]''
** [[DeCSS]]
** [[Phil Zimmermann]]
* [[Export of cryptography]]
* [[Key escrow]] and [[Clipper Chip]]
* [[Digital Millennium Copyright Act]]
* [[Digital Rights Management]] (DRM)
* Cryptography [[patents]]
** [[RSA]] (now public domain)
** [[David Chaum]] and digital cash
* [[Cryptography and law enforcement]]
** [[Telephone tapping|Wiretaps]]
** [[Espionage]]
* [[Cryptography laws in different nations]]
** [[Official Secrets Act]] ([[United Kingdom]])
** [[Regulation of Investigatory Powers Act 2000]] ([[United Kingdom]])

== Terminology ==
* [[Cryptographic key]]
* [[Cipher]]
* [[Ciphertext]]
* [[Plaintext]]
* [[Code]]
* [[Tabula recta]]
* [[Alice and Bob]]

== Books and publications ==
* [[Books on cryptography]]
* [[List of important publications in computer science#Cryptography|Important publications in cryptography]]

== Cryptographers ==
* See [[List of cryptographers]]

== Uses of cryptographic techniques ==
* [[Commitment scheme]]s
* [[Secure multiparty computation]]s
* [[Electronic voting]]
* [[Authentication]]
* [[Digital signature]]s
* [[Cryptographic engineering]]
* [[Crypto system]]s

== Robustness properties ==
* [[Provable security]]
* [[Random oracle|Random oracle model]]
* [[Ciphertext indistinguishability]]
* [[Semantic security]]
* [[Malleability (cryptography)|Malleability]]

== Miscellaneous ==
* [[Ban (information)]]
* [[ECHELON|Echelon]]
* [[Espionage]]
* [[IACR]]
* [[Ultra]]
* [[Security engineering]]
* [[SIGINT]]
* [[Steganography]]
* [[Cryptographers]]
* [[Secure Sockets Layer|SSL]]
* [[Quantum cryptography]]
* [[Kish cypher]]
* [[Crypto-anarchism]]
* [[Cypherpunk]]
* [[Key escrow]]
* [[Zero-knowledge proof]]s
* [[Blind signature]]
* [[Blinding (cryptography)]]
* [[Digital timestamping]]
* [[Secret sharing]]
* [[Trusted operating system]]s
* [[Trusted paper key]]
* [[Japanese cryptology from the 1500s to Meiji]]

== Free / open-source cryptosystems (ie, algorithms + protocols + system design) ==
* [[Pretty Good Privacy|PGP]] (a name for any of several related crypto systems, some of which, beginning with the acquisition of the name by Network Associates, have not been [[Free Software]] in the GNU sense)
* [[FileCrypt]] (an open source/commercial command line version of PGP from Veridis of Denmark, see [[Pretty Good Privacy|PGP]])
* [[GNU Privacy Guard|GPG]] (an open source implementation of the [[OpenPGP]] [[IETF]] standard crypto system)
* [[Secure Shell|SSH]] (Secure SHell implementing cryptographically protected variants of several common Unix utilities, First developed as open source in Finland by [[Tatu Ylönen]]. There is now [[OpenSSH]], an open source implementation supporting both SSH v1 and SSH v2 protocols. There are also commercial implementations.
* [[IPsec]] (Internet Protocol Security [[IETF]] standard, a mandatory component of the [[IPv6]] IETF standard)
* [[Free S/WAN]] (an open source implementation of IPsec)
* [[CrypTool]] project (e-learning programme in English and German; freeware; exhaustive educational tool about cryptography and cryptanalysis)

{{Crypto navbox}}

[[Category:Cryptography]]
[[Category:Articles lacking sources (Erik9bot)]]

[[pl:Przegląd zagadnień z zakresu kryptologii]]
[[vi:Các chủ đề trong mật mã học]]

Revision as of 21:30, 11 July 2009