CRM Macro

C

#define CRM_PK_CMD_MOD_ADD                  ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_ADD))

Description

Modular addition of operands A and B

CRM Macro

C

#define CRM_PK_CMD_MOD_SUB                  ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_SUB))

Description

Modular substraction of operands A and B

CRM Macro

C

#define CRM_PK_CMD_MOD_MULT                  ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_MULT))

Description

Modular multiplication of operands A and B with odd modulo

CRM Macro

C

#define CRM_PK_CMD_EVEN_MOD_INV             ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_EVEN_MOD_INV))

Description

Modular inversion of an operand with even modulo

CRM Macro

C

#define CRM_PK_CMD_EVEN_MOD_REDUCE          ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_EVEN_MOD_REDUCE))

Description

Modular inversion of an operand with even modulo

CRM Macro

C

#define CRM_PK_CMD_ODD_MOD_REDUCE           ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ODD_MOD_REDUCE))

Description

Modular reduction of an operand with odd modulo

CRM Macro

C

#define CRM_PK_CMD_ODD_MOD_DIV              ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ODD_MOD_DIV))

Description

Modular division of operands A and B with odd modulo

CRM Macro

C

#define CRM_PK_CMD_ODD_MOD_INV              ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ODD_MOD_INV))

Description

Modular inversion of an operand with odd modulo

CRM Macro

C

#define CRM_PK_CMD_MOD_SQRT                 ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_SQRT))

Description

Modular square root *

CRM Macro

C

#define CRM_PK_CMD_MULT                     ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MULT))

Description

Multiplication *

CRM Macro

C

#define CRM_PK_CMD_MOD_EXP                  ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_EXP))

Description

Modular exponentiation operation

CRM Macro

C

#define CRM_PK_CMD_DH_MOD_EXP_CM            ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_DH_MOD_EXP_CM))

Description

Diffie Hellman modular exponentiation operation with countermeasures * The modulus must be a prime number.

CRM Macro

C

#define CRM_PK_CMD_RSA_MOD_EXP_CM           ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_RSA_MOD_EXP_CM))

Description

RSA modular exponentiation operation with countermeasures

CRM Macro

C

#define CRM_PK_CMD_MOD_EXP_CRT              ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_EXP_CRT))

Description

Modular exponentiation operation (for RSA) with Chinese Remainder Theorem

CRM Macro

C

#define CRM_PK_CMD_MOD_EXP_CRT_CM           ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MOD_EXP_CRT_CM))

Description

Modular exponentiation operation (for RSA) with Chinese Remainder Theorem * With blinding factor for countermeasures.

CRM Macro

C

#define CRM_PK_CMD_RSA_KEYGEN               ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_RSA_KEYGEN))

Description

RSA private key including lambda(n) computation from primes * Lambda(n) is also called the Carmichael's totient function or Carmichael function.

CRM Macro

C

#define CRM_PK_CMD_RSA_CRT_KEYPARAMS        ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_RSA_CRT_KEYPARAMS))

Description

RSA CRT private key parameters computation

CRM Macro

C

#define CRM_PK_CMD_MONTGOMERY_PTMUL         ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_MONTGOMERY_PTMUL))

Description

Montgomery point multiplication for X25519 and X448 All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for X25519 and X448.

CRM Macro

C

#define CRM_PK_CMD_ECDSA_VER                ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECDSA_VER))

Description

Elliptic curve ECDSA signature verification operation

CRM Macro

C

#define CRM_PK_CMD_ECDSA_GEN                ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECDSA_GEN))

Description

Elliptic curve ECDSA signature generation operation

CRM Macro

C

#define CRM_PK_CMD_ECC_PT_ADD               ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PT_ADD))

Description

Elliptic curve point addition operation

CRM Macro

C

#define CRM_PK_CMD_ECC_PTMUL                ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PTMUL))

Description

Elliptic curve point multiplication operation

CRM Macro

C

#define CRM_PK_CMD_ECC_PTMUL_CM             ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PTMUL_CM))

Description

Elliptic curve point multiplication operation with countermeasures

CRM Macro

C

#define CRM_PK_CMD_ECC_PT_DECOMP            ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PT_DECOMP))

Description

Elliptic curve point decompression operation

CRM Macro

C

#define CRM_PK_CMD_CHECK_PARAM_AB           ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_CHECK_PARAM_AB))

Description

Elliptic curve check parameters a & b

CRM Macro

C

#define CRM_PK_CMD_CHECK_PARAM_N            ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_CHECK_PARAM_N))

Description

Elliptic curve check parameter n != p

CRM Macro

C

#define CRM_PK_CMD_CHECK_XY                 ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_CHECK_XY))

Description

Elliptic curve check x,y point < p

CRM Macro

C

#define CRM_PK_CMD_ECC_PT_DOUBLE            ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PT_DOUBLE))

Description

Elliptic curve point doubling

CRM Macro

C

#define CRM_PK_CMD_ECC_PTONCURVE            ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_ECC_PTONCURVE))

Description

Elliptic curve point on curve check

CRM Macro

C

#define CRM_PK_CMD_EDDSA_PTMUL              ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_EDDSA_PTMUL))

Description

EDDSA point multiplication operation All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.

CRM Macro

C

#define CRM_PK_CMD_EDDSA_SIGN               ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_EDDSA_SIGN))

Description

EDDSA 2nd part of signature operation All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.

CRM Macro

C

#define CRM_PK_CMD_EDDSA_VER                ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_EDDSA_VER))

Description

EDDSA signature verification operation All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.

CRM Macro

C

#define CRM_PK_CMD_DSA_SIGN                 ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_DSA_SIGN))

Description

DSA signature generation

CRM Macro

C

#define CRM_PK_CMD_DSA_VER                  ((CRM_CMD_PTR)**(uint32_t **)(API_TABLE_BASE_ADDRESS + ATO_CRM_PK_CMD_DSA_VER))

Description

DSA signature verification