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

This file contains all of the enums and definitions that are used for the CRYS SRP APIs, as well as the APIs themselves. More...

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

Go to the source code of this file.

Data Structures

struct  CRYS_SRP_GroupParam_t
 
struct  CRYS_SRP_Context_t
 

Macros

#define CRYS_SRP_MODULUS_SIZE_1024_BITS   1024
 
#define CRYS_SRP_MODULUS_SIZE_1536_BITS   1536
 
#define CRYS_SRP_MODULUS_SIZE_2048_BITS   2048
 
#define CRYS_SRP_MODULUS_SIZE_3072_BITS   3072
 
#define CRYS_SRP_MAX_MODULUS_IN_BITS   CRYS_SRP_MODULUS_SIZE_3072_BITS
 
#define CRYS_SRP_MAX_MODULUS   (CRYS_SRP_MAX_MODULUS_IN_BITS/SASI_BITS_IN_BYTE)
 
#define CRYS_SRP_MAX_MODULUS_IN_WORDS   (CRYS_SRP_MAX_MODULUS_IN_BITS/SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_SRP_PRIV_NUM_MIN_SIZE_IN_BITS   (256)
 
#define CRYS_SRP_PRIV_NUM_MIN_SIZE   (CRYS_SRP_PRIV_NUM_MIN_SIZE_IN_BITS/SASI_BITS_IN_BYTE)
 
#define CRYS_SRP_PRIV_NUM_MIN_SIZE_IN_WORDS   (CRYS_SRP_PRIV_NUM_MIN_SIZE_IN_BITS/SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_SRP_PRIV_NUM_MAX_SIZE_IN_BITS   (CRYS_SRP_MAX_MODULUS_IN_BITS)
 
#define CRYS_SRP_PRIV_NUM_MAX_SIZE   (CRYS_SRP_PRIV_NUM_MAX_SIZE_IN_BITS/SASI_BITS_IN_BYTE)
 
#define CRYS_SRP_PRIV_NUM_MAX_SIZE_IN_WORDS   (CRYS_SRP_PRIV_NUM_MAX_SIZE_IN_BITS/SASI_BITS_IN_32BIT_WORD)
 
#define CRYS_SRP_MAX_DIGEST_IN_WORDS   CRYS_HASH_RESULT_SIZE_IN_WORDS
 
#define CRYS_SRP_MAX_DIGEST   (CRYS_SRP_MAX_DIGEST_IN_WORDS*SASI_32BIT_WORD_SIZE)
 
#define CRYS_SRP_MIN_SALT_SIZE   (8)
 
#define CRYS_SRP_MIN_SALT_SIZE_IN_WORDS   (CRYS_SRP_MIN_SALT_SIZE/SASI_32BIT_WORD_SIZE)
 
#define CRYS_SRP_MAX_SALT_SIZE   (64)
 
#define CRYS_SRP_MAX_SALT_SIZE_IN_WORDS   (CRYS_SRP_MAX_SALT_SIZE/SASI_32BIT_WORD_SIZE)
 
#define CRYS_SRP_HK_INIT(srpType, srpModulus, srpGen, modSizeInBits, pUserName, userNameSize, pPwd, pwdSize, pRndState, rndGenerateVectFunc, pCtx)   CRYS_SRP_Init(srpType, CRYS_SRP_VER_HK, srpModulus, srpGen, modSizeInBits, CRYS_HASH_SHA512_mode, pUserName, userNameSize, pPwd, pwdSize, pRndState, rndGenerateVectFunc, pCtx)
 

Typedefs

typedef uint8_t CRYS_SRP_Modulus_t[(3072/8)]
 
typedef uint8_t CRYS_SRP_Digest_t[(16 *(sizeof(uint32_t)))]
 
typedef uint8_t CRYS_SRP_Secret_t[2 *(16 *(sizeof(uint32_t)))]
 
typedef struct CRYS_SRP_GroupParam_t CRYS_SRP_GroupParam_t
 
typedef struct CRYS_SRP_Context_t CRYS_SRP_Context_t
 

Enumerations

Functions

CRYSError_t CRYS_SRP_Init (CRYS_SRP_Entity_t srpType, CRYS_SRP_Version_t srpVer, CRYS_SRP_Modulus_t srpModulus, uint8_t srpGen, size_t modSizeInBits, CRYS_HASH_OperationMode_t hashMode, uint8_t *pUserName, size_t userNameSize, uint8_t *pPwd, size_t pwdSize, void *pRndState, SaSiRndGenerateVectWorkFunc_t rndGenerateVectFunc, CRYS_SRP_Context_t *pCtx)
 This function initiates the SRP context. More...
 
CRYSError_t CRYS_SRP_PwdVerCreate (size_t saltSize, uint8_t *pSalt, CRYS_SRP_Modulus_t pwdVerifier, CRYS_SRP_Context_t *pCtx)
 This function calculates pSalt & password verifier. More...
 
CRYSError_t CRYS_SRP_Clear (CRYS_SRP_Context_t *pCtx)
 Clears the SRP context. More...
 
CRYSError_t CRYS_SRP_HostPubKeyCreate (size_t ephemPrivSize, CRYS_SRP_Modulus_t pwdVerifier, CRYS_SRP_Modulus_t hostPubKeyB, CRYS_SRP_Context_t *pCtx)
 This function generates host public & private ephemeral key, known as B & b in RFC. More...
 
CRYSError_t CRYS_SRP_HostProofVerifyAndCalc (size_t saltSize, uint8_t *pSalt, CRYS_SRP_Modulus_t pwdVerifier, CRYS_SRP_Modulus_t userPubKeyA, CRYS_SRP_Modulus_t hostPubKeyB, CRYS_SRP_Digest_t userProof, CRYS_SRP_Digest_t hostProof, CRYS_SRP_Secret_t sharedSecret, CRYS_SRP_Context_t *pCtx)
 Verifies the user Proof and calculates the Host message proof. More...
 
CRYSError_t CRYS_SRP_UserPubKeyCreate (size_t ephemPrivSize, CRYS_SRP_Modulus_t userPubKeyA, CRYS_SRP_Context_t *pCtx)
 This function generates user public & private ephemeral key, known as A & a in RFC. More...
 
CRYSError_t CRYS_SRP_UserProofCalc (size_t saltSize, uint8_t *pSalt, CRYS_SRP_Modulus_t userPubKeyA, CRYS_SRP_Modulus_t hostPubKeyB, CRYS_SRP_Digest_t userProof, CRYS_SRP_Secret_t sharedSecret, CRYS_SRP_Context_t *pCtx)
 This function calculates the user proof. More...
 
CRYSError_t CRYS_SRP_UserProofVerify (CRYS_SRP_Secret_t sharedSecret, CRYS_SRP_Modulus_t userPubKeyA, CRYS_SRP_Digest_t userProof, CRYS_SRP_Digest_t hostProof, CRYS_SRP_Context_t *pCtx)
 This function verifies the host proof. More...
 

Detailed Description

This file contains all of the enums and definitions that are used for the CRYS SRP APIs, as well as the APIs themselves.

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