stm32 /stm32h7rs /STM32H7S /PKA /PKA_CR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as PKA_CR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (B_0x0)EN 0 (START)START 0 (B_0x0)MODE0 (B_0x0)PROCENDIE 0 (B_0x0)RAMERRIE 0 (B_0x0)ADDRERRIE 0 (B_0x0)OPERRIE

EN=B_0x0, MODE=B_0x0, RAMERRIE=B_0x0, OPERRIE=B_0x0, ADDRERRIE=B_0x0, PROCENDIE=B_0x0

Description

PKA control register

Fields

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.

Links

()