|
|
Stream Cipher System E0
Original Post: The stream cipher system E0 uses of RAND (SIG Forum )
Date: 2000-02-03
Question
The 128 bit RAND is suppose to be used by the cipher algorithm E0 to generate
key stream. In page 160 of the Bluetooth Specification Version 1.0A Baseband
Specification section, a block diagram of the stream ciphering with E0 shows
RAND, along with Kc, address and clock, as the inputs to the E0.
Also, in page 166 of the same document, it states Kc and
EN_RAND are used to create the encryption key, however but the formula that
follows includes only Kc as a variable but not the RAND. Which is correct?
Answer
Taking it from the spec's there seems to be 2 ways to create the encryption
key:
- Compute Kc=E3(EN_RAND,COF,Link Key) pag 177 where EN_RAND is transmitted
from A to B. COF was generated during the previous initialization Link key (i.e.
Kinit) Note: Kc length is 128 bit.
- Compute Kc'(x) EQ.30 pag 166 where Kc' length is 1<=L<=16 octets
(8..128 bits), L is defined during Encryption key size negotiation pag160
|