09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Cryptographic processor (CRYP) <strong>RM0090</strong><br />

Figure 202. Block diagram (STM32F42x and STM32F43x)<br />

Status<br />

CRYP_SR<br />

DMA control register<br />

CRYP_DMACR<br />

Interrupt registers<br />

CRYP_IMSCR<br />

CRYP_RIS<br />

CRYP_MISR<br />

Control register<br />

CRYP_CR<br />

Initialization vectors<br />

CRYP_IV0...IV1<br />

Key<br />

CRYP_K0...K3<br />

IV0...IV127<br />

k255...k0<br />

20.3.1 DES/TDES cryptographic core<br />

The DES/Triple-DES cryptographic core consists of three components:<br />

● The DES algorithm (DEA)<br />

32-bit AHB2 bus<br />

● Multiple keys (1 for the DES algorithm, 1 to 3 for the TDES algorithm)<br />

● The initialization vector (used in the CBC mode)<br />

The basic processing involved in the TDES is as follows: an input block is read in the DEA<br />

and encrypted using the first key, K1 (K0 is not used in TDES mode). The output is then<br />

decrypted using the second key, K2, and encrypted using the third key, K3. The key<br />

depends on the algorithm which is used:<br />

● DES mode: Key = [K1]<br />

● TDES mode: Key = [K3 K2 K1]<br />

where Kx=[KxR KxL], R = right, L = left<br />

CRYP_DIN CRYP_DOUT<br />

8 × 32-bit<br />

IN FIFO<br />

swappi ng swappin g<br />

DES/TDES/AES<br />

Processor core<br />

According to the mode implemented, the resultant output block is used to calculate the<br />

ciphertext.<br />

Note that the outputs of the intermediate DEA stages is never revealed outside the<br />

cryptographic boundary.<br />

547/1416 Doc ID 018909 Rev 3<br />

8 × 32-bit<br />

OUT FIFO<br />

Context swapping<br />

CRYP_CSGCMCCM0..7<br />

CRYP_CSGCM0..7<br />

MS30441V1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!