Download UM0586 User manual - STMicroelectronics
Transcript
UM0586 9 Contents ECC algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2 ECC library functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.3 10 11 9.2.1 ECCinitEC function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.2.2 ECCfreeEC function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 9.2.3 ECCinitPoint function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 9.2.4 ECCfreePoint function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 9.2.5 ECCsetPointCoordinate function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 9.2.6 ECCgetPointCoordinate function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.2.7 ECCgetPointFlag function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.2.8 ECCsetPointFlag function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.2.9 ECCcopyPoint function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 9.2.10 ECCinitPrivKey function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 9.2.11 ECCfreePrivKey function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.2.12 ECCsetPrivKeyValue function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.2.13 ECCgetPrivKeyValue function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 9.2.14 ECCscalarMul function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 9.2.15 ECCsetPointGenerator function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.2.16 ECDSAinitSign function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.2.17 ECDSAfreeSign function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.2.18 ECDSAsetSignature function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.2.19 ECDSAgetSignature function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.2.20 ECDSAverify function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 9.2.21 ECCvalidatePubKey function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 9.2.22 ECCkeyGen function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 9.2.23 ECDSAsign function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 ECC example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 STM32 encryption library settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.1 Configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 10.2 STM32_CryptoLibraryVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 Cryptographic library performance and memory requirements . . . . 118 11.1 Symmetric key algorithms performance results . . . . . . . . . . . . . . . . . . . .118 11.1.1 Software optimized for speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 11.1.2 Hardware enhanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 DocID14989 Rev 4 5/131