Encryption And Decryption Engine; Table 16-5 Writing Sequence For Encryption Engine Initialization - Motorola DragonBall MC9328MX1 Reference Manual

Integrated portable system processor
Table of Contents

Advertisement

Bluetooth Accelerator (BTA)

16.3.1.3.2 Encryption and Decryption Engine

The encryption engine handles all low-level time-critical Bluetooth security functions for encryption and
decryption of user information (payload only). The key bit stream uses a method derived from the
summation stream cipher generator attributable to Massey and Rueppel. Encryption and decryption are
carried out without intervention from the Bluetooth core.
The encryption engine uses a local controller to perform initialization and runtime control. Encryption is
enabled by software copying the CRC polynomial to the BTA. This task consists of writing thirteen 16-bit
words in a row to the ENCRYPTION_CONTROL_X13 register. When the last word has been written, the
engine starts initializing the registers as specified in the standard. The sequence takes 240 cycles to
complete. When this sequence is complete, the encryption engine is armed and ready to perform
encryption/decryption on the payload in the following slot.
During the initialization cycle, the BTA uses LW0 and LW1 in the bit buffer
(see Section 16.3.1.4, <Emphasis>Bit Buffer) to store temporary
information. Any information stored in LW0 and LW1 will be overwritten.
Initialization of the encryption engine requires an encryption key, the Bluetooth address of the master and
clock information. The sequence to be written into the engine during initialization is shown in Table 16-5
and the nomenclature used in the table is as follows:
CL[0] contains CL
the Bluetooth System v. 1.1)
CL
through CL
0
equal CLK
right-shifted by one.
1-26
Kc'[0] though Kc'[15] specify the 128 bit encryption key.
Addr[0] through Addr[5] are the Bluetooth address (BD_ADDR) of the master.
If no initialization value is written to the unit, encryption is disabled.
Table 16-5. Writing Sequence for Encryption Engine Initialization
16-10
CAUTION:
, CL[1] contains CL
7-0
correspond to CLK
through CLK
25
1
Word Number
Bits 15–8
0
1
2
3
4
5
6
7
8
9
10
MC9328MX1 Reference Manual
and CL[2] contains CL
15-8
of the currently used clock; that is, CL
26
Bits 7–0
Kc'[1]
Kc'[0]
Kc'[3]
Kc'[2]
Kc'[5]
Kc'[4]
Kc'[7]
Kc'[6]
Kc'[9]
Kc'[8]
Kc'[11]
Kc'[10]
Kc'[13]
Kc'[12]
Kc'[15]
Kc'[14]
Addr[1]
Addr[0]
Addr[3]
Addr[2]
Addr[5]
Addr[4]
. (see the Specification of
23-16
MOTOROLA
0-25

Advertisement

Table of Contents
loading

Table of Contents