Jump to content

E0 (cipher): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undid revision 758949726 by Yuuhaw (talk)
updated url, added doi for Miia Hermelin ("Correlation Properties"); url for Lu, Meier 2005 ("Conditional Correlation Attack")
Line 15: Line 15:
Several attacks and attempts at cryptanalysis of E0 and the Bluetooth protocol have been made, and a number of vulnerabilities have been found.
Several attacks and attempts at cryptanalysis of E0 and the Bluetooth protocol have been made, and a number of vulnerabilities have been found.
In 1999, Miia Hermelin and [[Kaisa Nyberg]] showed that E0 could be broken in 2<sup>64</sup> operations (instead of 2<sup>128</sup>), if 2<sup>64</sup> bits of output are known.<ref>{{cite journal
In 1999, Miia Hermelin and [[Kaisa Nyberg]] showed that E0 could be broken in 2<sup>64</sup> operations (instead of 2<sup>128</sup>), if 2<sup>64</sup> bits of output are known.<ref>{{cite journal
| url = http://www.esat.kuleuven.ac.be/~jlano/stream/papers/e0hn.ps
| url = http://www.itfind.or.kr/Report01/200302/IITA/IITA-2381-002/IITA-2381-002.pdf
| title = Correlation properties of the Bluetooth Combiner | location = Helsinki, Finland
| title = Correlation properties of the Bluetooth Combiner | location = Helsinki, Finland
| first = Miia | last = Hermelin
| first = Miia | last = Hermelin
| publisher = Nokia Research Centre | format = PostScript|author2=Kaisa Nyberg
| publisher = Nokia Research Centre | format = PDF|author2=Kaisa Nyberg
| doi = 10.1007/10719994_2
| journal = International Conference on Information Security and Cryptology 1999
| pages = 17-29
| date = 1999
}}</ref> This type of attack was subsequently improved by Kishan Chand Gupta and Palash Sarkar. [[Scott Fluhrer]], a [[Cisco Systems]] employee, found a theoretical attack with a 2<sup>80</sup> operations precalculation and a key search complexity of about 2<sup>65</sup> operations.<ref>{{cite web
}}</ref> This type of attack was subsequently improved by Kishan Chand Gupta and Palash Sarkar. [[Scott Fluhrer]], a [[Cisco Systems]] employee, found a theoretical attack with a 2<sup>80</sup> operations precalculation and a key search complexity of about 2<sup>65</sup> operations.<ref>{{cite web
| url = http://eprint.iacr.org/2002/068.ps | format = PostScript
| url = http://eprint.iacr.org/2002/068.ps | format = PostScript
Line 43: Line 47:


In 2005, Lu, Meier and Vaudenay published a cryptanalysis of E0 based on a conditional correlation attack. Their best result required the first 24 bits of 2<sup>23.8</sup> frames and 2<sup>38</sup> computations to recover the key. The authors assert that "this is clearly the fastest and only practical known-plaintext attack on Bluetooth encryption compare with all existing attacks".<ref>{{cite journal
In 2005, Lu, Meier and Vaudenay published a cryptanalysis of E0 based on a conditional correlation attack. Their best result required the first 24 bits of 2<sup>23.8</sup> frames and 2<sup>38</sup> computations to recover the key. The authors assert that "this is clearly the fastest and only practical known-plaintext attack on Bluetooth encryption compare with all existing attacks".<ref>{{cite journal
| first = Yi | last = Lu |author2=Willi Meier |author3=Serge Vaudenay
| first1 = Yi | last1 = Lu | first2 = Willi | last2 = Meier | first3 =Serge | last3 = Vaudenay
| journal = [[Crypto (journal)|Crypto]] 2005 | year = 2005 | location = Santa Barbara, California, USA
| title = Advances in Cryptology – CRYPTO 2005
| volume = 3621 | pages = 97–117
| journal = [[Crypto (journal)|Crypto]] 2005 | year = 2005 | location = Santa Barbara, California, USA
| url = http://www.terminodes.org/micsPublicationsDetail.php?pubno=1216 | volume = 3621 | pages = 97–117
| doi = 10.1007/11535218_7
| doi = 10.1007/11535218_7
| url = https://www.iacr.org/archive/crypto2005/36210097/36210097.pdf
| chapter = The Conditional Correlation Attack: A Practical Attack on Bluetooth Encryption
| title = The Conditional Correlation Attack: A Practical Attack on Bluetooth Encryption
| series = Lecture Notes in Computer Science
| series = Lecture Notes in Computer Science
| isbn = 978-3-540-28114-6
| isbn = 978-3-540-28114-6

Revision as of 05:15, 15 July 2017

E0 is a stream cipher used in the Bluetooth protocol. It generates a sequence of pseudorandom numbers and combines it with the data using the XOR operator. The key length may vary, but is generally 128 bits.

Description

At each iteration, E0 generates a bit using four shift registers of differing lengths (25, 31, 33, 39 bits) and two internal states, each 2 bits long. At each clock tick, the registers are shifted and the two states are updated with the current state, the previous state and the values in the shift registers. Four bits are then extracted from the shift registers and added together. The algorithm XORs that sum with the value in the 2-bit register. The first bit of the result is output for the encoding.

E0 is divided in three parts:

  1. Payload key generation
  2. Keystream generation
  3. Encoding

The setup of the initial state in Bluetooth uses the same structure as the random bit stream generator. We are thus dealing with two combined E0 algorithms. An initial 132-bit state is produced at the first stage using four inputs (the 128-bit key, the Bluetooth address on 48 bits and the 26-bit master counter). The output is then processed by a polynomial operation and the resulting key goes through the second stage, which generates the stream used for encoding. The key has a variable length, but is always a multiple of 2 (between 8 and 128 bits). 128 bit keys are generally used. These are stored into the second stage's shift registers. 200 pseudorandom bits are then produced by 200 clock ticks, and the last 128 bits are inserted into the shift registers. It is the stream generator's initial state.

Cryptanalysis

Several attacks and attempts at cryptanalysis of E0 and the Bluetooth protocol have been made, and a number of vulnerabilities have been found. In 1999, Miia Hermelin and Kaisa Nyberg showed that E0 could be broken in 264 operations (instead of 2128), if 264 bits of output are known.[1] This type of attack was subsequently improved by Kishan Chand Gupta and Palash Sarkar. Scott Fluhrer, a Cisco Systems employee, found a theoretical attack with a 280 operations precalculation and a key search complexity of about 265 operations.[2] He deduced that the maximal security of E0 is equivalent to that provided by 65-bit keys, and that longer keys do not improve security. Fluhrer's attack is an improvement upon earlier work by Golic, Bagini and Morgari, who devised a 270 operations attack on E0.

In 2000, the Finn Juha Vainio showed problems related to misuse of E0 and more generally, possible vulnerabilities in Bluetooth.[3]

In 2004, Yi Lu and Serge Vaudenay published a statistical attack requiring the 24 first bits of 235 Bluetooth frames (a frame is 2745 bits long). The final complexity to retrieve the key is about 240 operations. The attack was improved to 237 operations for precomputation and 239 for the actual key search.[4][5]

In 2005, Lu, Meier and Vaudenay published a cryptanalysis of E0 based on a conditional correlation attack. Their best result required the first 24 bits of 223.8 frames and 238 computations to recover the key. The authors assert that "this is clearly the fastest and only practical known-plaintext attack on Bluetooth encryption compare with all existing attacks".[6]

See also

References

  1. ^ Hermelin, Miia; Kaisa Nyberg (1999). "Correlation properties of the Bluetooth Combiner" (PDF). International Conference on Information Security and Cryptology 1999. Helsinki, Finland: Nokia Research Centre: 17–29. doi:10.1007/10719994_2.
  2. ^ Fluhrer, Scott. "Improved key recovery of level 1 of the Bluetooth Encryption" (PostScript). Cisco Systems, Inc.
  3. ^ Vainio, Juha. "Bluetooth Security" (PDF). Helsinki, Finland: Helsinki University of Technology. {{cite journal}}: Cite journal requires |journal= (help)
  4. ^ Lu, Yi; Serge Vaudenay (2004). "Cryptanalysis of Bluetooth Keystream Generator Two-Level E0". Asiacrypt 2004: 483–499.
  5. ^ Lu, Yi; Serge Vaudenay. "Faster Correlation Attack on Bluetooth Keystream Generator E0" (PDF). Crypto 2004: 407–425.
  6. ^ Lu, Yi; Meier, Willi; Vaudenay, Serge (2005). "The Conditional Correlation Attack: A Practical Attack on Bluetooth Encryption" (PDF). Crypto 2005. Lecture Notes in Computer Science. 3621. Santa Barbara, California, USA: 97–117. doi:10.1007/11535218_7. ISBN 978-3-540-28114-6.

External links