Cryptography standards
There are a number of standards related to cryptography. Standard algorithms and protocols provide a focus for study; standards for popular applications attract a large amount of cryptanalysis.
Encryption standards
- Data Encryption Standard (DES, now obsolete)
- Advanced Encryption Standard (AES)
- RSA the original public key algorithm
- OpenPGP
Hash standards
- MD5 128-bit (obsolete)
- SHA-1 160-bit (obsolete)
- SHA-2 available in 224, 256, 384, and 512-bit variants
- HMAC keyed hash
- PBKDF2 Key derivation function (RFC 2898)
Digital signature standards
- Digital Signature Standard (DSS), based on the Digital Signature Algorithm (DSA)
- RSA
- Elliptic Curve DSA
Public-key infrastructure (PKI) standards
- X.509 Public Key Certificates
Wireless Standards
- Wired Equivalent Privacy (WEP), severely flawed and superseded by WPA
- Wi-Fi Protected Access (WPA) better than WEP, a 'pre-standard' partial version of 802.11i
- 802.11i a.k.a. WPA2, uses AES and other improvements on WEP
- A5/1 and A5/2 cell phone encryption for GSM
U.S. Government Federal Information Processing Standards (FIPS)
- FIPS PUB 31 Guidelines for Automatic Data Processing Physical Security and Risk Management 1974
- FIPS PUB 46-3 Data Encryption Standard (DES) 1999
- FIPS PUB 73 Guidelines for Security of Computer Applications 1980
- FIPS PUB 74 Guidelines for Implementing and Using the NBS Data Encryption Standard 1981
- FIPS PUB 81 DES Modes of Operation 1980
- FIPS PUB 102 Guideline for Computer Security Certification and Accreditation 1983
- FIPS PUB 112 Password Usage 1985, defines 10 factors to be considered in access control systems that are based on passwords
- FIPS PUB 113 Computer Data Authentication 1985, specifies a Data Authentication Algorithm (DAA) based on DES, adopted by the Department of Treasury and the banking community to protect electronic fund transfers.
- FIPS PUB 140-2 Security Requirements for Cryptographic Modules 2001, defines four increasing security levels
- FIPS PUB 171 Key Management Using ANSI X9.17 (ANSI X9.17-1985) 1992, based on DES
- FIPS PUB 180-2 Secure Hash Standard (SHS) 2002 defines the SHA family
- FIPS PUB 181 Automated Password Generator (APG) 1993
- FIPS PUB 185 Escrowed Encryption Standard (EES) 1994, a key escrow system that provides for decryption of telecommunications when lawfully authorized.
- FIPS PUB 186-2 Digital Signature Standard (DSS) 2000
- FIPS PUB 190 Guideline for the Use of Advanced Authentication Technology Alternatives 1994
- FIPS PUB 191 Guideline for the Analysis of local area network Security 1994
- FIPS PUB 196 Entity Authentication Using Public Key Cryptography 1997
- FIPS PUB 197 Advanced Encryption Standard (AES) 2001
- FIPS PUB 198 The Keyed-Hash Message Authentication Code (HMAC) 2002
Internet Requests for Comments (RFCs)
Below is a non-exhaustive overview of notable cryptography-related RFCs, grouped by topic.
- Transport Security
- RFC 8446 The Transport Layer Security (TLS) Protocol Version 1.3 Defines secure web communication (HTTPS), introduces modern cipher suites and removes legacy cryptography.[1]
- RFC 5246 The Transport Layer Security Protocol Version 1.2 Predecessor to TLS 1.3, still widely implemented.[2]
- Public-Key Cryptography and Signatures
- RFC 8017 RSA Cryptography Specifications Defines RSA encryption and signature schemes such as RSA-OAEP and RSASSA-PSS.[3]
- RFC 6979 Specifies deterministic generation of the nonce in DSA/ECDSA to avoid catastrophic randomness failures.[4]
- RFC 7748 Defines modern elliptic curves X25519 and X448 for Diffie–Hellman key exchange.[5]
- Symmetric Cryptography and MACs
- RFC 2104 Defines the HMAC construction, widely used with hash functions such as SHA-256.[6]
- RFC 5869 A widely used key derivation function used in protocols like TLS 1.3.[7]
- RFC 8439 Defines the ChaCha20 stream cipher and Poly1305 MAC AEAD construction used in TLS, SSH, and QUIC.[8]
- Public-Key Infrastructure and Certificates
- RFC 5280 Defines the Internet profile for X.509 certificates, used by TLS certificate authorities.[9]
- RFC 6960 Defines a protocol for checking certificate revocation status.[10]
- Secure Messaging and Data Formats
- RFC 5652 Defines the message format used for secure email (S/MIME).[11]
- RFC 4880 Specifies the OpenPGP encryption and signature format used in tools like GnuPG.[12]
- Network Security (IPsec)
- RFC 4301 Defines the overall IPsec security architecture.[13]
- RFC 4303 Specifies encrypted IP packets for IPsec.[14]
- RFC 7296 Defines key exchange and authentication for IPsec VPNs.[15]
Classified Standards
- 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
- STE secure telephone
- STU-III older secure telephone
- TEMPEST prevents compromising emanations
Other
- IPsec Virtual Private Network (VPN) and more
- IEEE P1363 covers most aspects of public-key cryptography
- Transport Layer Security (formerly SSL)
- SSH secure Telnet and more
- Content Scramble System (CSS, the DVD encryption standard, broken by DeCSS)
- Kerberos authentication standard
- RADIUS authentication standard
- ANSI X9.59 electronic payment standard
- Common Criteria Trusted operating system standard
- CRYPTREC Japanese Government's cryptography recommendations
See also
References
- ^ E. Rescorla (August 2018). The Transport Layer Security (TLS) Protocol Version 1.3. Internet Engineering Task Force TLS workgroup. doi:10.17487/RFC8446. RFC 8446. Proposed Standard. Obsoletes RFC 5077, 5246 and 6961. Updates RFC 5705 and 6066.
- ^ T. Dierks; E. Rescorla (August 2008). The Transport Layer Security (TLS) Protocol Version 1.2. IETF TLS workgroup. doi:10.17487/RFC5246. RFC 5246. Obsolete. Obsoleted by RFC 8446. Obsoletes RFC 3268, 4346 and 4366; updates RFC 4492.
- ^ B. Kaliski; A. Rusch; J. Johnsson; A. Rusch (November 2016). K. Moriarty (ed.). PKCS #1: RSA Cryptography Specifications Version 2.2. Internet Engineering Task Force. doi:10.17487/RFC8017. ISSN 2070-1721. RFC 8017. Informational. Obsoletes RFC 3447.
- ^ T. Pornin (August 2013). Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA). Independent Submission. doi:10.17487/RFC6979. ISSN 2070-1721. RFC 6979. Informational.
- ^ A. Langley; M. Hamburg; S. Turner (January 2016). Elliptic Curves for Security. Internet Engineering Task Force. doi:10.17487/RFC7748. ISSN 2070-1721. RFC 7748. Informational.
- ^ H. Krawczyk; M. Bellare; R. Canetti (February 1997). HMAC: Keyed-Hashing for Message Authentication. IETF Network Working Group. doi:10.17487/RFC2104. RFC 2104. Informational. Updated by RFC 6151.
- ^ Krawczyk, Hugo; Eronen, Pasi (May 2010). HMAC-based Extract-and-Expand Key Derivation Function (HKDF). Internet Engineering Task Force (IETF). doi:10.17487/RFC5869. RFC 5869. Informational.
- ^ Y. Nir; A. Langley (June 2018). ChaCha20 and Poly1305 for IETF Protocols. Internet Research Task Force. doi:10.17487/RFC8439. ISSN 2070-1721. RFC 8439. Informational. Obsoletes RFC 7539.
- ^ Cooper, D.; Santesson, S.; Farrell, S.; Boeyen, S.; Housley, R.; Polk, W. (May 2008). Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. doi:10.17487/RFC5280. RFC 5280. Proposed Standard. Updated by RFC 9549, 9598, 8398, 8399 and 6818. Obsoletes RFC 4630, 4325 and 3280.
- ^ S. Santesson; M. Myers; R. Ankey; S. Galperin; C. Adams (June 2013). X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP. Internet Engineering Task Force. doi:10.17487/RFC6960. RFC 6960. Proposed Standard. Updated by RFC 8954. Obsoletes RFC 6277 and 2560. Updates RFC 5912.
- ^ Housley, Russ (September 2009). Cryptographic Message Syntax (CMS). Internet Engineering Task Force (IETF). doi:10.17487/RFC5652. RFC 5652. Internet Standard. Obsoletes RFC 3852.
- ^ J. Callas; L. Donnerhacke; H. Finney; D. Shaw; R. Thayer (November 2007). OpenPGP Message Format. Network Working Group. doi:10.17487/RFC4880. RFC 4880. Proposed Standard. Obsoletes RFC 1991 and RFC 2440. Obsoleted by RFC 9580.
- ^ S. Kent; K. Seo (December 2005). Security Architecture for the Internet Protocol. Network Working Group. doi:10.17487/RFC4301. RFC 4301. Proposed Standard. Obsoletes RFC 2401. Updated by RFC 6040 and 7619.
- ^ S. Kent (December 2005). IP Encapsulating Security Payload. Network Working Group. doi:10.17487/RFC4303. RFC 4303. Proposed Standard. Obsoletes RFC 2406.
- ^ Kaufman, Charlie; Hoffman, Paul; Nir, Yoav; Eronen, Pasi; Kivinen, Tero (October 2014). Internet Key Exchange Protocol Version 2 (IKEv2). Internet Engineering Task Force (IETF). doi:10.17487/RFC7296. RFC 7296. Internet Standard. Obsoletes RFC 5996.