19#ifndef CRYPTO_ECC_HW_H
20#define CRYPTO_ECC_HW_H
22#if !defined(MBEDTLS_CONFIG_FILE)
25#include MBEDTLS_CONFIG_FILE
28#if defined(MBEDTLS_ECP_ALT) || defined(MBEDTLS_ECP_INTERNAL_ALT)
34#define ECCOP_POINT_MUL (0x0UL << CRPT_ECC_CTL_ECCOP_Pos)
35#define ECCOP_MODULE (0x1UL << CRPT_ECC_CTL_ECCOP_Pos)
36#define ECCOP_POINT_ADD (0x2UL << CRPT_ECC_CTL_ECCOP_Pos)
37#define ECCOP_POINT_DOUBLE (0x3UL << CRPT_ECC_CTL_ECCOP_Pos)
40#define MODOP_DIV (0x0UL << CRPT_ECC_CTL_MODOP_Pos)
41#define MODOP_MUL (0x1UL << CRPT_ECC_CTL_MODOP_Pos)
42#define MODOP_ADD (0x2UL << CRPT_ECC_CTL_MODOP_Pos)
43#define MODOP_SUB (0x3UL << CRPT_ECC_CTL_MODOP_Pos)
166int crypto_ecc_mpi_read_eccreg(
mbedtls_mpi *X,
const volatile uint32_t *eccreg,
size_t eccreg_num );
180int crypto_ecc_mpi_write_eccreg(
const mbedtls_mpi *X,
volatile uint32_t *eccreg,
size_t eccreg_num );
190int crypto_ecc_abort(uint32_t timeout_us);
Configuration options (set of defines)
This file provides an API for Elliptic Curves over GF(P) (ECP).
The ECP point structure, in Jacobian coordinates.