633 #ifndef ti_drivers_ECJPAKE__include 634 #define ti_drivers_ECJPAKE__include 659 #define ECJPAKE_STATUS_RESERVED (-32) 667 #define ECJPAKE_STATUS_SUCCESS (0) 675 #define ECJPAKE_STATUS_ERROR (-1) 685 #define ECJPAKE_STATUS_RESOURCE_UNAVAILABLE (-2) 692 #define ECJPAKE_STATUS_INVALID_PUBLIC_KEY (-3) 700 #define ECJPAKE_STATUS_PUBLIC_KEY_NOT_ON_CURVE (-4) 709 #define ECJPAKE_STATUS_PUBLIC_KEY_LARGER_THAN_PRIME (-5) 717 #define ECJPAKE_STATUS_POINT_AT_INFINITY (-6) 725 #define ECJPAKE_STATUS_INVALID_PRIVATE_KEY (-7) 733 #define ECJPAKE_STATUS_INVALID_PRIVATE_V (-8) 738 #define ECJPAKE_STATUS_CANCELED (-9) 1054 int_fast16_t returnStatus,
Struct containing the parameters required to generate a ZKP.
Definition: ECJPAKE.h:864
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:921
CryptoKey * myPublicKey2
Definition: ECJPAKE.h:822
The CryptoKey type is an opaque representation of a cryptographic key.
const uint8_t * hash
Definition: ECJPAKE.h:877
CryptoKey * myPrivateKey1
Definition: ECJPAKE.h:809
int_fast16_t ECJPAKE_computeSharedSecret(ECJPAKE_Handle handle, ECJPAKE_OperationComputeSharedSecret *operation)
Computes the shared secret.
ECJPAKE_OperationType
Enum for the operation types supported by the driver.
Definition: ECJPAKE.h:1027
CryptoKey * myPublicV2
Definition: ECJPAKE.h:850
void * object
Definition: ECJPAKE.h:796
void ECJPAKE_OperationVerifyZKP_init(ECJPAKE_OperationVerifyZKP *operation)
Function to initialize an ECJPAKE_OperationVerifyZKP struct to its defaults.
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:890
const CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:991
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:806
ECJPAKE_ReturnBehavior returnBehavior
Definition: ECJPAKE.h:1067
void ECJPAKE_close(ECJPAKE_Handle handle)
Function to close an ECJPAKE peripheral specified by the ECJPAKE handle.
ECJPAKE_OperationComputeSharedSecret * computeSharedSecret
Definition: ECJPAKE.h:1021
const CryptoKey * theirGenerator
Definition: ECJPAKE.h:893
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:918
void ECJPAKE_OperationRoundOneGenerateKeys_init(ECJPAKE_OperationRoundOneGenerateKeys *operation)
Function to initialize an ECJPAKE_OperationRoundOneGenerateKeys struct to its defaults.
CryptoKey datastructure.
Definition: CryptoKey.h:210
ECJPAKE_OperationRoundOneGenerateKeys * generateRoundOneKeys
Definition: ECJPAKE.h:1017
int_fast16_t ECJPAKE_roundTwoGenerateKeys(ECJPAKE_Handle handle, ECJPAKE_OperationRoundTwoGenerateKeys *operation)
Generates all public and private keying material for the first round of the EC-JPAKE scheme...
const CryptoKey * theirCombinedPublicKey
Definition: ECJPAKE.h:995
Definition: ECJPAKE.h:1028
void ECJPAKE_OperationRoundTwoGenerateKeys_init(ECJPAKE_OperationRoundTwoGenerateKeys *operation)
Function to initialize an ECJPAKE_OperationRoundTwoGenerateKeys struct to its defaults.
int_fast16_t ECJPAKE_cancelOperation(ECJPAKE_Handle handle)
Cancels an ongoing ECJPAKE operation.
Struct containing the parameters required to generate the second round keys.
Definition: ECJPAKE.h:917
Struct containing the parameters required to compute the shared secret.
Definition: ECJPAKE.h:987
A structure containing the parameters of an elliptic curve in short Weierstrass form.
Definition: ECCParams.h:111
void(* ECJPAKE_CallbackFxn)(ECJPAKE_Handle handle, int_fast16_t returnStatus, ECJPAKE_Operation operation, ECJPAKE_OperationType operationType)
The definition of a callback function used by the ECJPAKE driver when used in ECJPAKE_RETURN_BEHAVIOR...
Definition: ECJPAKE.h:1053
int_fast16_t ECJPAKE_verifyZKP(ECJPAKE_Handle handle, ECJPAKE_OperationVerifyZKP *operation)
Verifies a Schnorr Zero-Knowledge Proof (ZKP) signature.
void ECJPAKE_init(void)
This function initializes the ECJPAKE module.
void * custom
Definition: ECJPAKE.h:1072
CryptoKey * myPublicV1
Definition: ECJPAKE.h:841
const CryptoKey * myPublicKey2
Definition: ECJPAKE.h:928
const CryptoKey * myPublicKey1
Definition: ECJPAKE.h:925
const CryptoKey * myPrivateKey
Definition: ECJPAKE.h:868
ECJPAKE Parameters.
Definition: ECJPAKE.h:1066
CryptoKey * myCombinedPublicKey
Definition: ECJPAKE.h:963
Struct containing the parameters required to generate the first round of keys.
Definition: ECJPAKE.h:805
Definition: ECJPAKE.h:777
CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:813
int_fast16_t ECJPAKE_generateZKP(ECJPAKE_Handle handle, ECJPAKE_OperationGenerateZKP *operation)
Generates the r component of a Schnorr Zero-Knowledge Proof (ZKP) signature.
ECJPAKE_CallbackFxn callbackFxn
Definition: ECJPAKE.h:1068
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:865
const CryptoKey * preSharedSecret
Definition: ECJPAKE.h:937
CryptoKey * myNewGenerator
Definition: ECJPAKE.h:952
const CryptoKey * theirPublicKey1
Definition: ECJPAKE.h:931
ECJPAKE Global configuration.
Definition: ECJPAKE.h:794
CryptoKey * myPublicKey1
Definition: ECJPAKE.h:817
const CryptoKey * myPrivateV
Definition: ECJPAKE.h:872
CryptoKey * theirNewGenerator
Definition: ECJPAKE.h:946
const uint8_t * r
Definition: ECJPAKE.h:909
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:998
void const * hwAttrs
Definition: ECJPAKE.h:799
Definition: ECJPAKE.h:1030
CryptoKey * myPrivateV
Definition: ECJPAKE.h:966
CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:958
Definition: ECJPAKE.h:767
struct ECJPAKE_Config ECJPAKE_Config
ECJPAKE Global configuration.
Definition: ECJPAKE.h:1032
const uint8_t * hash
Definition: ECJPAKE.h:906
void ECJPAKE_Params_init(ECJPAKE_Params *params)
Function to initialize the ECJPAKE_Params struct to its defaults.
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:934
Struct containing the parameters required to verify a ZKP.
Definition: ECJPAKE.h:889
ECJPAKE_OperationRoundTwoGenerateKeys * generateRoundTwoKeys
Definition: ECJPAKE.h:1020
CryptoKey * sharedSecret
Definition: ECJPAKE.h:1007
int_fast16_t ECJPAKE_roundOneGenerateKeys(ECJPAKE_Handle handle, ECJPAKE_OperationRoundOneGenerateKeys *operation)
Generates all public and private keying material for the first round of the EC-JPAKE scheme...
Definition: ECJPAKE.h:773
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:1003
struct ECJPAKE_Config * ECJPAKE_Handle
A handle that is returned from an ECJPAKE_open() call.
Definition: ECJPAKE.h:743
ECJPAKE_OperationGenerateZKP * generateZKP
Definition: ECJPAKE.h:1018
Definition: ECJPAKE.h:1029
uint32_t timeout
Definition: ECJPAKE.h:1069
ECJPAKE_ReturnBehavior
The way in which ECJPAKE function calls return after performing an encryption + authentication or dec...
Definition: ECJPAKE.h:766
Definition: ECJPAKE.h:1031
CryptoKey * myPrivateV2
Definition: ECJPAKE.h:834
CryptoKey * myPrivateV1
Definition: ECJPAKE.h:827
const CryptoKey * theirPublicV
Definition: ECJPAKE.h:903
CryptoKey * myPublicV
Definition: ECJPAKE.h:973
const CryptoKey * theirPublicKey
Definition: ECJPAKE.h:899
ECJPAKE_OperationVerifyZKP * verifyZKP
Definition: ECJPAKE.h:1019
Union containing pointers to all supported operation structs.
Definition: ECJPAKE.h:1016
ECJPAKE_Handle ECJPAKE_open(uint_least8_t index, ECJPAKE_Params *params)
This function opens a given ECJPAKE peripheral.
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:988
void ECJPAKE_OperationGenerateZKP_init(ECJPAKE_OperationGenerateZKP *operation)
Function to initialize an ECJPAKE_OperationGenerateZKP struct to its defaults.
uint8_t * r
Definition: ECJPAKE.h:881
void ECJPAKE_OperationComputeSharedSecret_init(ECJPAKE_OperationComputeSharedSecret *operation)
Function to initialize an ECJPAKE_OperationComputeSharedSecret struct to its defaults.