Cipher security summary

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

This article summarizes publicly known attacks against block ciphers and stream ciphers. Note that there are perhaps attacks that are not publicly known, and not all entries may be up to date.

Table color key

  No known successful attacks — attack only breaks a reduced version of the cipher
  Theoretical break — attack breaks all rounds and has lower complexity than security claim
  Attack demonstrated in practice

Best attack

This column lists the complexity of the attack:

  • If the attack doesn't break the full cipher, "rounds" refers to how many rounds were broken
  • "time" — time complexity, number of cipher evaluations for the attacker
  • "data" — required known plaintext-ciphertext pairs (if applicable)
  • "memory" — how many blocks worth of data needs to be stored (if applicable)
  • "related keys" — for related-key attacks, how many related key queries are needed

Common ciphers

Key recovery attacks

Attacks that lead to disclosure of the key.

Cipher Security claim Best attack Publish date Comment
AES128 2128 2126.1 time, 288 data, 28 memory 2011-08-17 Independent biclique attack.[1]
AES192 2192 2189.7 time, 280 data, 28 memory
AES256 2256 2254.4 time, 240 data, 28 memory
Blowfish 2448 4 of 16 rounds 1997 Differential cryptanalysis.[2] Author of Blowfish recommends using Twofish instead.[3]
DES 256 239 – 243 time, 243 known plaintexts 2001 Linear cryptanalysis.[4] In addition, broken by brute force in 256 time, no later than 1998-07-17, see EFF DES cracker.[5] Cracking hardware is available for purchase since 2006.[6]
Triple DES 2168 2113 time, 232 data, 288 memory 1998-03-23 Extension of the meet-in-the-middle attack. Time complexity is 2113 steps, but along with proposed techniques, it is estimated to be equivalent to 290 single DES encryption steps. The paper also proposes other time-memory tradeoffs.[7]
KASUMI 2128 232 time, 226 data, 230 memory, 4 related keys 2010-01-10 The cipher used in 3G cell phone networks. This attack takes less than two hours on a single PC, but isn't applicable to 3G due to known plaintext and related key requirements.[8]
RC4 Up to 22048 220 time, 216.4 related keys (95% success probability) 2007 Commonly known as PTW attack, it can break WEP encryption in Wi-Fi on an ordinary computer in negligible time.[9] This is an improvement of the original Fluhrer, Mantin and Shamir attack published in 2001.[10]
Serpent-128 2128 10 of 32 rounds (289 time, 2118 data) 2002-02-04 Linear cryptanalysis.[11]
Serpent-192 2192 11 of 32 rounds (2187 time, 2118 data)
Serpent-256 2256
Twofish 2128 – 2256 6 of 16 rounds (2256 time) 1999-10-05 Impossible differential attack.[12]

Distinguishing attacks

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Attacks that allow distinguishing ciphertext from random data.

Cipher Security claim Best attack Publish date Comment
RC4 up to 22048 ?? time, 230.6 bytes data (90% probability) 2000 Paper.[13]

Less common ciphers

Key recovery attacks

Attacks that lead to disclosure of the key.

Cipher Security claim Best attack Publish date Comment
CAST (not CAST-128) 264 248 time, 217 chosen plaintexts 1997-11-11 Related-key attack.[14]
CAST-128 2128 6 of 16 rounds (288.51 time, 253.96 data) 2009-08-23 Known-plaintext linear cryptanalysis.[15]
CAST-256 2256 24 of 48 rounds (2156.2 time, 2124.1 data)
IDEA 2128 2126.1 time 2012-04-15 Narrow-biclique attack.[16]
MISTY1 2128 269.5 time, 264 chosen plaintexts 2015-07-30 Chosen-ciphertext, integral cryptanalysis,[17] an improvement over a previous chosen-plaintext attack.[18]
RC2 264 – 2128 Unknown[clarification needed] time, 234 chosen plaintexts 1997-11-11 Related-key attack.[14]
RC5 2128 Unknown
SEED 2128 Unknown
Skipjack 280 280 ECRYPT II recommendations note that, as of 2012, 80 bit ciphers provide only "Very short-term protection against agencies".[19] NIST recommends not to use Skipjack after 2010.[20]
TEA 2128 232 time, 223 chosen plaintexts 1997-11-11 Related-key attack.[14]
XTEA 2128 Unknown
XXTEA 2128 259 chosen plaintexts 2010-05-04 Chosen-plaintext, differential cryptanalysis.[21]

Distinguishing attacks

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Attacks that allow distinguishing ciphertext from random data.

Cipher Security claim Best attack Publish date Comment
CAST-256 2256 28 of 48 rounds (2246.9 time, 268 memory, 298.8 data) 2012-12-04 Multidimensional zero-correlation cryptanalysis.[22]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. 14.0 14.1 14.2 Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Yearly Report on Algorithms and Keysizes (2012), D.SPA.20 Rev. 1.0, ICT-2007-216676 ECRYPT II, 09/2012.
  18. Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, NIST
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.