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

This file contains the CRYS APIs used for EC EDW (Edwards) ed25519 algorithms. More...

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

Go to the source code of this file.

Data Structures

struct  CRYS_ECEDW_TempBuff_t
 

Macros

#define CRYS_ECEDW_MOD_SIZE_IN_BITS   255U
 
#define CRYS_ECEDW_ORD_SIZE_IN_BITS   255U
 
#define CRYS_ECEDW_MOD_SIZE_IN_32BIT_WORDS   ((CRYS_ECEDW_MOD_SIZE_IN_BITS + SASI_BITS_IN_32BIT_WORD - 1) / SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_ECEDW_MOD_SIZE_IN_BYTES   (CRYS_ECEDW_MOD_SIZE_IN_32BIT_WORDS * SASI_32BIT_WORD_SIZE)
 
#define CRYS_ECEDW_ORD_SIZE_IN_32BIT_WORDS   ((CRYS_ECEDW_ORD_SIZE_IN_BITS + SASI_BITS_IN_32BIT_WORD - 1) / SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_ECEDW_ORD_SIZE_IN_BYTES   (CRYS_ECEDW_ORD_SIZE_IN_32BIT_WORDS * SASI_32BIT_WORD_SIZE)
 
#define CRYS_ECEDW_SEED_BYTES   CRYS_ECEDW_MOD_SIZE_IN_BYTES
 
#define CRYS_ECEDW_SECRET_KEY_BYTES   (2 * CRYS_ECEDW_MOD_SIZE_IN_BYTES)
 
#define CRYS_ECEDW_SIGNATURE_BYTES   (2 * CRYS_ECEDW_ORD_SIZE_IN_BYTES)
 
#define CRYS_ECEDW_SCALAR_BYTES   CRYS_ECEDW_ORD_SIZE_IN_BYTES
 
#define CRYS_ECEDW_SCALARMULT_BYTES   CRYS_ECEDW_MOD_SIZE_IN_BYTES
 
#define CRYS_ECEDW_TEMP_BUFF_SIZE_IN_32BIT_WORD   (10*CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS + (sizeof(CRYS_HASHUserContext_t)+SASI_32BIT_WORD_SIZE-1)/SASI_32BIT_WORD_SIZE)
 

Functions

CRYSError_t CRYS_ECEDW_Sign (uint8_t *pSign, size_t *pSignSize, const uint8_t *pMsg, size_t msgSize, const uint8_t *pSignSecrKey, size_t secrKeySize, CRYS_ECEDW_TempBuff_t *pTempBuff)
 The function creates EC Edwards signature on the message. More...
 
CRYSError_t CRYS_ECEDW_Verify (const uint8_t *pSign, size_t signSize, const uint8_t *pSignPublKey, size_t publKeySize, uint8_t *pMsg, size_t msgSize, CRYS_ECEDW_TempBuff_t *pTempBuff)
 The function verifies the EC Edwards ed25519 signature on the message. More...
 
CRYSError_t CRYS_ECEDW_SeedKeyPair (const uint8_t *pSeed, size_t seedSize, uint8_t *pSecrKey, size_t *pSecrKeySize, uint8_t *pPublKey, size_t *pPublKeySize, CRYS_ECEDW_TempBuff_t *pTempBuff)
 The function randomly generates Ec ed25519 private and public keys using given seed. The generation is performed using EC Edwards ed25519 algorithm. More...
 
CRYSError_t CRYS_ECEDW_KeyPair (uint8_t *pSecrKey, size_t *pSecrKeySize, uint8_t *pPublKey, size_t *pPublKeySize, void *pRndState, SaSiRndGenerateVectWorkFunc_t rndGenerateVectFunc, CRYS_ECEDW_TempBuff_t *pTempBuff)
 The function randomly generates the EC Edwards ed25519 private and public keys. The generation is performed using EC Edwards ed25519 algorithm. More...
 

Detailed Description

This file contains the CRYS APIs used for EC EDW (Edwards) ed25519 algorithms.

Definition in file crys_ec_edw_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.