Cryptographic processor (CRYP)
RM0090
714/1731
DocID018909 Rev 11
Figure 217. Block diagram (STM32F43xxx)
23.3.1
DES/TDES cryptographic core
The DES/Triple-DES cryptographic core consists of three components:
•
The DES algorithm (DEA)
•
Multiple keys (1 for the DES algorithm, 1 to 3 for the TDES algorithm)
•
The initialization vector (used in the CBC mode)
The basic processing involved in the TDES is as follows: an input block is read in the DEA
and encrypted using the first key, K1 (K0 is not used in TDES mode). The output is then
decrypted using the second key, K2, and encrypted using the third key, K3. The key
depends on the algorithm which is used:
•
DES mode: Key = [K1]
•
TDES mode: Key = [K3 K2 K1]
where Kx=[KxR KxL], R = right, L = left
According to the mode implemented, the resultant output block is used to calculate the
ciphertext.
Note that the outputs of the intermediate DEA stages is never revealed outside the
cryptographic boundary.
ELW$+%EXV
3URFHVVRU FRUH
'(67'(6$(6
&5<3B',1
&5<3B'287
VZDSSL QJ
VZDSSLQ J
îELW
,1),)2
îELW
287),)2
&5<3B&5
&5<3B..
&5<3B,9,9
,9,9
NN
&5<3B,06&5
&5<3B5,6
&5<3B0,65
&5<3B'0$&5
&5<3B65
6WDWXV
'0$FRQWUROUHJLVWHU
,QWHUUXSWUHJLVWHUV
&RQWUROUHJLVWHU
,QLWLDOL]DWLRQYHFWRUV
.H\
069
&5<3B&6*&0&&0
&RQWH[WVZDSSLQJ
&5<3B&6*&0