Download UM0586 User manual - STMicroelectronics

Transcript
Contents
UM0586
Contents
1
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2
STM32 cryptographic library package presentation . . . . . . . . . . . . . . 12
3
2.1
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2
Package organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2
Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3
Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2
DES library functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4
2/131
Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
DES and Triple-DES algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3
4
2.2.1
3.2.1
DES_DDD_Encrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.2
DES_DDD_Encrypt_Append function . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.3
DES_DDD_Encrypt_Finish function . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.4
DES_DDD_Decrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.5
DES_DDD_Decrypt_Append function . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.6
DES_DDD_Decrypt_Finish function . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
TDES library functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1
TDES_TTT_Encrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2
TDES_TTT_Encrypt_Append function . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.3
TDES_TTT_Encrypt_Finish function . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.4
TDES_TTT_Decrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.5
TDES_TTT_Decrypt_Append function . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.6
TDES_TTT_Decrypt_Finish function . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
DES with ECB mode example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
AES algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2
AES library functions (ECB, CBC and CTR) . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1
AES_AAA_Encrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2
AES_AAA_Encrypt_Append function . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.3
AES_AAA_Encrypt_Finish function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.4
AES_AAA_Decrypt_Init function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
DocID14989 Rev 4