652 #ifndef ti_drivers_ECJPAKE__include 653 #define ti_drivers_ECJPAKE__include 678 #define ECJPAKE_STATUS_RESERVED (-32) 686 #define ECJPAKE_STATUS_SUCCESS (0) 694 #define ECJPAKE_STATUS_ERROR (-1) 704 #define ECJPAKE_STATUS_RESOURCE_UNAVAILABLE (-2) 711 #define ECJPAKE_STATUS_INVALID_PUBLIC_KEY (-3) 719 #define ECJPAKE_STATUS_PUBLIC_KEY_NOT_ON_CURVE (-4) 728 #define ECJPAKE_STATUS_PUBLIC_KEY_LARGER_THAN_PRIME (-5) 736 #define ECJPAKE_STATUS_POINT_AT_INFINITY (-6) 744 #define ECJPAKE_STATUS_INVALID_PRIVATE_KEY (-7) 752 #define ECJPAKE_STATUS_INVALID_PRIVATE_V (-8) 757 #define ECJPAKE_STATUS_CANCELED (-9) 1089 int_fast16_t returnStatus,
Struct containing the parameters required to generate a ZKP.
Definition: ECJPAKE.h:886
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:949
ADC_Params params
Definition: Driver_Init.h:11
CryptoKey * myPublicKey2
Definition: ECJPAKE.h:844
The CryptoKey type is an opaque representation of a cryptographic key.
const uint8_t * hash
Definition: ECJPAKE.h:900
CryptoKey * myPrivateKey1
Definition: ECJPAKE.h:831
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:1061
CryptoKey * myPublicV2
Definition: ECJPAKE.h:872
void * object
Definition: ECJPAKE.h:773
void ECJPAKE_OperationVerifyZKP_init(ECJPAKE_OperationVerifyZKP *operation)
Function to initialize an ECJPAKE_OperationVerifyZKP struct to its defaults.
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:914
const CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:1022
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:828
ECJPAKE_ReturnBehavior returnBehavior
Definition: ECJPAKE.h:1103
void ECJPAKE_close(ECJPAKE_Handle handle)
Function to close an ECJPAKE peripheral specified by the ECJPAKE handle.
ECJPAKE_OperationComputeSharedSecret * computeSharedSecret
Definition: ECJPAKE.h:1054
const CryptoKey * theirGenerator
Definition: ECJPAKE.h:917
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:946
void ECJPAKE_OperationRoundOneGenerateKeys_init(ECJPAKE_OperationRoundOneGenerateKeys *operation)
Function to initialize an ECJPAKE_OperationRoundOneGenerateKeys struct to its defaults.
ECJPAKE_OperationRoundOneGenerateKeys * generateRoundOneKeys
Definition: ECJPAKE.h:1048
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:1026
Definition: ECJPAKE.h:1063
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:944
Struct containing the parameters required to compute the shared secret.
Definition: ECJPAKE.h:1017
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:1088
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:1108
CryptoKey * myPublicV1
Definition: ECJPAKE.h:863
const CryptoKey * myPublicKey2
Definition: ECJPAKE.h:956
const CryptoKey * myPublicKey1
Definition: ECJPAKE.h:953
const CryptoKey * myPrivateKey
Definition: ECJPAKE.h:891
ECJPAKE Parameters.
Definition: ECJPAKE.h:1101
CryptoKey * myCombinedPublicKey
Definition: ECJPAKE.h:993
Struct containing the parameters required to generate the first round of keys.
Definition: ECJPAKE.h:826
Definition: ECJPAKE.h:817
CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:835
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:1104
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:888
const CryptoKey * preSharedSecret
Definition: ECJPAKE.h:965
CryptoKey * myNewGenerator
Definition: ECJPAKE.h:981
const CryptoKey * theirPublicKey1
Definition: ECJPAKE.h:959
ECJPAKE Global configuration.
Definition: ECJPAKE.h:770
CryptoKey * myPublicKey1
Definition: ECJPAKE.h:839
ECJPAKE_Handle ECJPAKE_construct(ECJPAKE_Config *config, const ECJPAKE_Params *params)
Constructs a new ECJPAKE object.
const CryptoKey * myPrivateV
Definition: ECJPAKE.h:895
CryptoKey * theirNewGenerator
Definition: ECJPAKE.h:974
const uint8_t * r
Definition: ECJPAKE.h:936
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:1029
void const * hwAttrs
Definition: ECJPAKE.h:776
Definition: ECJPAKE.h:1065
CryptoKey * myPrivateV
Definition: ECJPAKE.h:996
CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:988
Definition: ECJPAKE.h:807
Definition: ECJPAKE.h:1067
const uint8_t * hash
Definition: ECJPAKE.h:933
void ECJPAKE_Params_init(ECJPAKE_Params *params)
Function to initialize the ECJPAKE_Params struct to its defaults.
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:962
Struct containing the parameters required to verify a ZKP.
Definition: ECJPAKE.h:912
ECJPAKE_OperationRoundTwoGenerateKeys * generateRoundTwoKeys
Definition: ECJPAKE.h:1052
CryptoKey * sharedSecret
Definition: ECJPAKE.h:1038
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:813
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:1034
ECJPAKE_OperationGenerateZKP * generateZKP
Definition: ECJPAKE.h:1050
Definition: ECJPAKE.h:1064
A structure containing the parameters of an elliptic curve.
Definition: ECCParams.h:139
uint32_t timeout
Definition: ECJPAKE.h:1105
ECJPAKE_ReturnBehavior
The way in which ECJPAKE function calls return after performing an encryption + authentication or dec...
Definition: ECJPAKE.h:805
Definition: ECJPAKE.h:1066
CryptoKey * myPrivateV2
Definition: ECJPAKE.h:856
CryptoKey * myPrivateV1
Definition: ECJPAKE.h:849
const CryptoKey * theirPublicV
Definition: ECJPAKE.h:930
CryptoKey * myPublicV
Definition: ECJPAKE.h:1003
const CryptoKey * theirPublicKey
Definition: ECJPAKE.h:926
ECJPAKE_OperationVerifyZKP * verifyZKP
Definition: ECJPAKE.h:1051
Union containing pointers to all supported operation structs.
Definition: ECJPAKE.h:1046
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:1019
ECJPAKE_Config * ECJPAKE_Handle
A handle that is returned from an ECJPAKE_open() call.
Definition: ECJPAKE.h:782
void ECJPAKE_OperationGenerateZKP_init(ECJPAKE_OperationGenerateZKP *operation)
Function to initialize an ECJPAKE_OperationGenerateZKP struct to its defaults.
uint8_t * r
Definition: ECJPAKE.h:904
void ECJPAKE_OperationComputeSharedSecret_init(ECJPAKE_OperationComputeSharedSecret *operation)
Function to initialize an ECJPAKE_OperationComputeSharedSecret struct to its defaults.