Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Macros | Enumerations | Functions
crys_ec_mont_api.h File Reference

This file contains the CRYS APIs used for EC MONT (Montgomery Curve25519) algorithms. More...

#include "ssi_pal_types.h"
#include "crys_rnd.h"
#include "crys_pka_defs_hw.h"

Go to the source code of this file.

Data Structures

struct  CRYS_ECMONT_ScalrMultTempBuff_t
 
struct  CRYS_ECMONT_TempBuff_t
 

Macros

#define CRYS_ECMONT_MOD_SIZE_IN_BITS   255U
 
#define CRYS_ECMONT_MOD_SIZE_IN_32BIT_WORDS   ((CRYS_ECMONT_MOD_SIZE_IN_BITS + SASI_BITS_IN_32BIT_WORD - 1) / SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_ECMONT_MOD_SIZE_IN_BYTES   ((CRYS_ECMONT_MOD_SIZE_IN_BITS + SASI_BITS_IN_32BIT_WORD - 1) / sizeof(uint32_t))
 
#define CRYS_ECMONT_SCALARBYTES   (CRYS_ECMONT_MOD_SIZE_IN_32BIT_WORDS * SASI_32BIT_WORD_SIZE)
 
#define CRYS_ECMONT_SCALARMULTBYTES   (CRYS_ECMONT_MOD_SIZE_IN_32BIT_WORDS * SASI_32BIT_WORD_SIZE)
 
#define CRYS_ECMONT_SEEDBYTES   (CRYS_ECMONT_MOD_SIZE_IN_32BIT_WORDS * SASI_32BIT_WORD_SIZE)
 

Enumerations

Functions

CRYSError_t CRYS_ECMONT_Scalarmult (uint8_t *pResPoint, size_t *pResPointSize, const uint8_t *pScalar, size_t scalarSize, const uint8_t *pInPoint, size_t inPointSize, CRYS_ECMONT_TempBuff_t *pEcMontTempBuff)
 The function performs EC Montgomery (Curve25519) scalar multiplication: resPoint = scalar * point. More...
 
CRYSError_t CRYS_ECMONT_ScalarmultBase (uint8_t *pResPoint, size_t *pResPointSize, const uint8_t *pScalar, size_t scalarSize, CRYS_ECMONT_TempBuff_t *pEcMontTempBuff)
 The function performs EC Montgomery (Curve25519) scalar multiplication of base point: res = scalar * base_point. More...
 
CRYSError_t CRYS_ECMONT_KeyPair (uint8_t *pPublKey, size_t *pPublKeySize, uint8_t *pSecrKey, size_t *pSecrKeySize, void *pRndState, SaSiRndGenerateVectWorkFunc_t rndGenerateVectFunc, CRYS_ECMONT_TempBuff_t *pEcMontTempBuff)
 The function randomly generates private and public keys for Montgomery Curve25519. More...
 
CRYSError_t CRYS_ECMONT_SeedKeyPair (uint8_t *pPublKey, size_t *pPublKeySize, uint8_t *pSecrKey, size_t *pSecrKeySize, const uint8_t *pSeed, size_t seedSize, CRYS_ECMONT_TempBuff_t *pEcMontTempBuff)
 The function generates private and public keys for Montgomery algorithms. More...
 

Detailed Description

This file contains the CRYS APIs used for EC MONT (Montgomery Curve25519) algorithms.

Definition in file crys_ec_mont_api.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.