Cryptographic processor (CRYP) RM0033
524/1381 RM0033 Rev 9
Figure 207. 64-bit block construction according to DATATYPE
19.3.4 Initialization vectors - CRYP_IV0...1(L/R)
Initialization vectors are considered as two 64-bit data items. They therefore do not have the
same data format and representation in system memory as plaintext or cypher data, and
they are not affected by the DATATYPE value.
Initialization vectors are defined by two consecutive 32-bit words, CRYP_IVL (left part,
noted as bits IV1...32) and CRYP_IVR (right part, noted as bits IV33...64).
Byte 0,3Byte 0,2Byte 0,1Byte 0,0
M25...32M17...24
M9...16M1...8
IN FIFO
bit string
M1 M2 M30 M31 M32
bit swapping operation
IN FIFO
bit string
byte swapping operation
Byte 0,0Byte 0,1Byte 0,2Byte 0,3
bits 7...0bits 7...0
bits 7...0bits 7...0
IN FIFO
bit string
hald-word swapping operation
Half-word 0,0
bits 15...0
DATATYPE = 11b
DATATYPE = 10b
DATATYPE = 01b
Half-word 0,1
bits 15...0
Half-word 0,0
M1...16
Half-word 0,1
M17...32
M33 M34 M62 M63 M64
bit 0bit 1bit 2bit 30bit 31
bit 0bit 1bit 2bit 30bit 31
first word written into the CRYP_DIN register
second word written into the CRYP_DIN register
Byte 1,0Byte 1,1Byte 1,2Byte 1,3
bits 7...0
bits 7...0
bits 7...0bits 7...0
first word written into the CRYP_DIN register
second word written into the CRYP_DIN register
Byte 1,3Byte 1,2Byte 1,1Byte 1,0
M57...64M49...56
M41...48M33...40
(bit ordering within byte is unchanged)
Half-word 1,0
bits 15...0
Half-word 1,1
bits 15...0
first word written into the CRYP_DIN register
second word written into the CRYP_DIN register
Half-word 1,0
M33...48
Half-word 1,1
M49...64
IN FIFO
bit string
No swapping operation
DATATYPE = 00b
Word 0
bits 31...0
Word 0
M1...32
Word 1
bits 31...0
first word written into the CRYP_DIN register
second word written into the CRYP_DIN register
Word 1
M33...64
ai16075