648 #ifndef ti_drivers_ECJPAKE__include 649 #define ti_drivers_ECJPAKE__include 674 #define ECJPAKE_STATUS_RESERVED (-32) 682 #define ECJPAKE_STATUS_SUCCESS (0) 690 #define ECJPAKE_STATUS_ERROR (-1) 700 #define ECJPAKE_STATUS_RESOURCE_UNAVAILABLE (-2) 707 #define ECJPAKE_STATUS_INVALID_PUBLIC_KEY (-3) 715 #define ECJPAKE_STATUS_PUBLIC_KEY_NOT_ON_CURVE (-4) 724 #define ECJPAKE_STATUS_PUBLIC_KEY_LARGER_THAN_PRIME (-5) 732 #define ECJPAKE_STATUS_POINT_AT_INFINITY (-6) 740 #define ECJPAKE_STATUS_INVALID_PRIVATE_KEY (-7) 748 #define ECJPAKE_STATUS_INVALID_PRIVATE_V (-8) 753 #define ECJPAKE_STATUS_CANCELED (-9) 1074 int_fast16_t returnStatus,
Struct containing the parameters required to generate a ZKP.
Definition: ECJPAKE.h:879
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:939
ADC_Params params
Definition: Driver_Init.h:11
CryptoKey * myPublicKey2
Definition: ECJPAKE.h:837
The CryptoKey type is an opaque representation of a cryptographic key.
const uint8_t * hash
Definition: ECJPAKE.h:892
CryptoKey * myPrivateKey1
Definition: ECJPAKE.h:824
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:1047
CryptoKey * myPublicV2
Definition: ECJPAKE.h:865
void * object
Definition: ECJPAKE.h:768
void ECJPAKE_OperationVerifyZKP_init(ECJPAKE_OperationVerifyZKP *operation)
Function to initialize an ECJPAKE_OperationVerifyZKP struct to its defaults.
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:905
const CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:1011
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:821
ECJPAKE_ReturnBehavior returnBehavior
Definition: ECJPAKE.h:1087
void ECJPAKE_close(ECJPAKE_Handle handle)
Function to close an ECJPAKE peripheral specified by the ECJPAKE handle.
ECJPAKE_OperationComputeSharedSecret * computeSharedSecret
Definition: ECJPAKE.h:1041
const CryptoKey * theirGenerator
Definition: ECJPAKE.h:908
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:936
void ECJPAKE_OperationRoundOneGenerateKeys_init(ECJPAKE_OperationRoundOneGenerateKeys *operation)
Function to initialize an ECJPAKE_OperationRoundOneGenerateKeys struct to its defaults.
ECJPAKE_OperationRoundOneGenerateKeys * generateRoundOneKeys
Definition: ECJPAKE.h:1037
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:1015
Definition: ECJPAKE.h:1048
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.
CryptoKey datastructure.
Definition: CryptoKey.h:192
Struct containing the parameters required to generate the second round keys.
Definition: ECJPAKE.h:935
Struct containing the parameters required to compute the shared secret.
Definition: ECJPAKE.h:1007
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:1073
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:1092
CryptoKey * myPublicV1
Definition: ECJPAKE.h:856
const CryptoKey * myPublicKey2
Definition: ECJPAKE.h:946
const CryptoKey * myPublicKey1
Definition: ECJPAKE.h:943
const CryptoKey * myPrivateKey
Definition: ECJPAKE.h:883
ECJPAKE Parameters.
Definition: ECJPAKE.h:1086
CryptoKey * myCombinedPublicKey
Definition: ECJPAKE.h:983
Struct containing the parameters required to generate the first round of keys.
Definition: ECJPAKE.h:820
Definition: ECJPAKE.h:811
CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:828
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:1088
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:880
const CryptoKey * preSharedSecret
Definition: ECJPAKE.h:955
CryptoKey * myNewGenerator
Definition: ECJPAKE.h:971
const CryptoKey * theirPublicKey1
Definition: ECJPAKE.h:949
ECJPAKE Global configuration.
Definition: ECJPAKE.h:766
CryptoKey * myPublicKey1
Definition: ECJPAKE.h:832
ECJPAKE_Handle ECJPAKE_construct(ECJPAKE_Config *config, const ECJPAKE_Params *params)
Constructs a new ECJPAKE object.
const CryptoKey * myPrivateV
Definition: ECJPAKE.h:887
CryptoKey * theirNewGenerator
Definition: ECJPAKE.h:964
const uint8_t * r
Definition: ECJPAKE.h:927
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:1018
void const * hwAttrs
Definition: ECJPAKE.h:771
Definition: ECJPAKE.h:1050
CryptoKey * myPrivateV
Definition: ECJPAKE.h:986
CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:978
Definition: ECJPAKE.h:801
Definition: ECJPAKE.h:1052
const uint8_t * hash
Definition: ECJPAKE.h:924
void ECJPAKE_Params_init(ECJPAKE_Params *params)
Function to initialize the ECJPAKE_Params struct to its defaults.
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:952
Struct containing the parameters required to verify a ZKP.
Definition: ECJPAKE.h:904
ECJPAKE_OperationRoundTwoGenerateKeys * generateRoundTwoKeys
Definition: ECJPAKE.h:1040
CryptoKey * sharedSecret
Definition: ECJPAKE.h:1027
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:807
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:1023
ECJPAKE_OperationGenerateZKP * generateZKP
Definition: ECJPAKE.h:1038
Definition: ECJPAKE.h:1049
A structure containing the parameters of an elliptic curve in short Weierstrass form.
Definition: ECCParams.h:115
uint32_t timeout
Definition: ECJPAKE.h:1089
ECJPAKE_ReturnBehavior
The way in which ECJPAKE function calls return after performing an encryption + authentication or dec...
Definition: ECJPAKE.h:800
Definition: ECJPAKE.h:1051
CryptoKey * myPrivateV2
Definition: ECJPAKE.h:849
CryptoKey * myPrivateV1
Definition: ECJPAKE.h:842
const CryptoKey * theirPublicV
Definition: ECJPAKE.h:921
CryptoKey * myPublicV
Definition: ECJPAKE.h:993
const CryptoKey * theirPublicKey
Definition: ECJPAKE.h:917
ECJPAKE_OperationVerifyZKP * verifyZKP
Definition: ECJPAKE.h:1039
Union containing pointers to all supported operation structs.
Definition: ECJPAKE.h:1036
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:1008
ECJPAKE_Config * ECJPAKE_Handle
A handle that is returned from an ECJPAKE_open() call.
Definition: ECJPAKE.h:777
void ECJPAKE_OperationGenerateZKP_init(ECJPAKE_OperationGenerateZKP *operation)
Function to initialize an ECJPAKE_OperationGenerateZKP struct to its defaults.
uint8_t * r
Definition: ECJPAKE.h:896
void ECJPAKE_OperationComputeSharedSecret_init(ECJPAKE_OperationComputeSharedSecret *operation)
Function to initialize an ECJPAKE_OperationComputeSharedSecret struct to its defaults.