EN=B_0x0, MODE=B_0x0, RAMERRIE=B_0x0, OPERRIE=B_0x0, ADDRERRIE=B_0x0, PROCENDIE=B_0x0
PKA control register
EN | PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. Note: When EN=0 PKA RAM can still be accessed by the application. 0 (B_0x0): Disable PKA 1 (B_0x1): Enable PKA.PKA becomes functional when INITOK is set by hardware in PKA_SR. |
START | start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. Note: START is ignored if PKA is busy. |
MODE | PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. 0 (B_0x0): Montgomery parameter computation then modular exponentiation 1 (B_0x1): Montgomery parameter computation only 2 (B_0x2): Modular exponentiation only (Montgomery parameter must be loaded first) 3 (B_0x3): Modular exponentiation (protected, used when manipulating secrets) 7 (B_0x7): RSA CRT exponentiation 8 (B_0x8): Modular inversion 9 (B_0x9): Arithmetic addition 10 (B_0xA): Arithmetic subtraction 11 (B_0xB): Arithmetic multiplication 12 (B_0xC): Arithmetic comparison 13 (B_0xD): Modular reduction 14 (B_0xE): Modular addition 15 (B_0xF): Modular subtraction 16 (B_0x10): Montgomery multiplication 32 (B_0x20): Montgomery parameter computation then ECC scalar multiplication 35 (B_0x23): ECC complete addition 36 (B_0x24): ECDSA sign 38 (B_0x26): ECDSA verification 39 (B_0x27): ECC double base ladder 40 (B_0x28): Point on elliptic curve Fp check 47 (B_0x2F): ECC projective to affine |
PROCENDIE | End of operation interrupt enable 0 (B_0x0): No interrupt is generated when PROCENDF flag is set in PKA_SR. 1 (B_0x1): An interrupt is generated when PROCENDF flag is set in PKA_SR. |
RAMERRIE | RAM error interrupt enable 0 (B_0x0): No interrupt is generated when RAMERRF flag is set in PKA_SR. 1 (B_0x1): An interrupt is generated when RAMERRF flag is set in PKA_SR. |
ADDRERRIE | Address error interrupt enable 0 (B_0x0): No interrupt is generated when ADDRERRF flag is set in PKA_SR. 1 (B_0x1): An interrupt is generated when ADDRERRF flag is set in PKA_SR. |
OPERRIE | Operation error interrupt enable 0 (B_0x0): No interrupt is generated when OPERRF flag is set in PKA_SR. 1 (B_0x1): An interrupt is generated when OPERRF flag is set in PKA_SR. |