Asymmetric cryptographic command definitions
@file
CMDDEFS_HEADER_FILE Macro
C
#define CMDDEFS_HEADER_FILE
SX_PK_CMD_MOD_ADD Macro
C
typedef const struct sx_pk_cmd_def const SX_CMD_PTR; / @addtogroup SX_PK_CMDS @{ / Modular addition of operands A and B / #define SX_PK_CMD_MOD_ADD ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MOD_ADD))
/ Copyright (c) 2018-2020 Silex Insight sa Copyright (c) 2014-2020 Beerten Engineering scs SPDX-License-Identifier: BSD-3-Clause
Modular substraction of operands A and B */
Modular multiplication of operands A and B with odd modulo */
SX_PK_CMD_ODD_MOD_MULT Macro
C
#define SX_PK_CMD_ODD_MOD_MULT ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ODD_MOD_MULT))
Modular inversion of an operand with even modulo */
Modular inversion of an operand with even modulo */
SX_PK_CMD_EVEN_MOD_REDUCE Macro
C
#define SX_PK_CMD_EVEN_MOD_REDUCE ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_EVEN_MOD_REDUCE))
Modular reduction of an operand with odd modulo */
Modular division of operands A and B with odd modulo */
SX_PK_CMD_ODD_MOD_DIV Macro
C
#define SX_PK_CMD_ODD_MOD_DIV ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ODD_MOD_DIV))
Modular inversion of an operand with odd modulo */
Modular square root **/
SX_PK_CMD_MOD_SQRT Macro
C
#define SX_PK_CMD_MOD_SQRT ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MOD_SQRT))
Multiplication **/
Modular exponentiation operation */
SX_PK_CMD_MOD_EXP Macro
C
#define SX_PK_CMD_MOD_EXP ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MOD_EXP))
Diffie Hellman modular exponentiation operation with countermeasures
SX_PK_CMD_DH_MOD_EXP_CM Macro
C
#define SX_PK_CMD_DH_MOD_EXP_CM ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_DH_MOD_EXP_CM))
The modulus must be a prime number.
RSA modular exponentiation operation with countermeasures*/
Modular exponentiation operation (for RSA) with Chinese Remainder Theorem */
SX_PK_CMD_MOD_EXP_CRT Macro
C
#define SX_PK_CMD_MOD_EXP_CRT ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MOD_EXP_CRT))
Modular exponentiation operation (for RSA) with Chinese Remainder Theorem
SX_PK_CMD_MOD_EXP_CRT_CM Macro
C
#define SX_PK_CMD_MOD_EXP_CRT_CM ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MOD_EXP_CRT_CM))
With blinding factor for countermeasures.
RSA private key including lambda(n) computation from primes
SX_PK_CMD_RSA_KEYGEN Macro
C
#define SX_PK_CMD_RSA_KEYGEN ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_RSA_KEYGEN))
Lambda(n) is also called the Carmichael's totient function or Carmichael function.
RSA CRT private key parameters computation */
Montgomery point multiplication for X25519 and X448
SX_PK_CMD_MONTGOMERY_PTMUL Macro
C
#define SX_PK_CMD_MONTGOMERY_PTMUL ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_MONTGOMERY_PTMUL))
All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for X25519 and X448.
Elliptic curve ECDSA signature verification operation */
Elliptic curve ECDSA signature generation operation */
SX_PK_CMD_ECDSA_GEN Macro
C
#define SX_PK_CMD_ECDSA_GEN ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ECDSA_GEN))
Elliptic curve point addition operation */
Elliptic curve point multiplication operation */
SX_PK_CMD_ECC_PTMUL Macro
C
#define SX_PK_CMD_ECC_PTMUL ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ECC_PTMUL))
Elliptic curve point multiplication operation with countermeasures */
Elliptic curve point decompression operation */
SX_PK_CMD_ECC_PT_DECOMP Macro
C
#define SX_PK_CMD_ECC_PT_DECOMP ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ECC_PT_DECOMP))
Elliptic curve check parameters a & b */
Elliptic curve check parameter n != p */
SX_PK_CMD_CHECK_PARAM_N Macro
C
#define SX_PK_CMD_CHECK_PARAM_N ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_CHECK_PARAM_N))
Elliptic curve check x,y point < p */
Elliptic curve point doubling */
SX_PK_CMD_ECC_PT_DOUBLE Macro
C
#define SX_PK_CMD_ECC_PT_DOUBLE ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_ECC_PT_DOUBLE))
Elliptic curve point on curve check */
EDDSA point multiplication operation
SX_PK_CMD_EDDSA_PTMUL Macro
C
#define SX_PK_CMD_EDDSA_PTMUL ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_EDDSA_PTMUL))
All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.
EDDSA 2nd part of signature operation
SX_PK_CMD_EDDSA_SIGN Macro
C
#define SX_PK_CMD_EDDSA_SIGN ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_EDDSA_SIGN))
All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.
EDDSA signature verification operation
SX_PK_CMD_EDDSA_VER Macro
C
#define SX_PK_CMD_EDDSA_VER ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_EDDSA_VER))
All operands for this command use a little endian representation. Operands should be decoded and clamped as defined in specifications for ED25519.
DSA signature generation */
DSA signature verification */
SX_PK_CMD_DSA_VER Macro
C
#define SX_PK_CMD_DSA_VER ((SX_CMD_PTR)(uint32_t )(API_TABLE_BASE_ADDRESS + ATO_SX_PK_CMD_DSA_VER))
}