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