693 #ifndef ti_drivers_ECJPAKE__include 694 #define ti_drivers_ECJPAKE__include 719 #define ECJPAKE_STATUS_RESERVED (-32) 727 #define ECJPAKE_STATUS_SUCCESS (0) 735 #define ECJPAKE_STATUS_ERROR (-1) 745 #define ECJPAKE_STATUS_RESOURCE_UNAVAILABLE (-2) 752 #define ECJPAKE_STATUS_INVALID_PUBLIC_KEY (-3) 760 #define ECJPAKE_STATUS_PUBLIC_KEY_NOT_ON_CURVE (-4) 769 #define ECJPAKE_STATUS_PUBLIC_KEY_LARGER_THAN_PRIME (-5) 777 #define ECJPAKE_STATUS_POINT_AT_INFINITY (-6) 785 #define ECJPAKE_STATUS_INVALID_PRIVATE_KEY (-7) 793 #define ECJPAKE_STATUS_INVALID_PRIVATE_V (-8) 798 #define ECJPAKE_STATUS_CANCELED (-9) 803 #define ECJPAKE_STATUS_OUTPUT_KEY_NOT_BLANK (-10) 808 #define ECJPAKE_STATUS_KEYSTORE_ERROR (-11) 813 #define ECJPAKE_STATUS_NOT_SUPPORTED (-12) 1146 int_fast16_t returnStatus,
Struct containing the parameters required to generate a ZKP.
Definition: ECJPAKE.h:942
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:1005
ADC_Params params
Definition: Driver_Init.h:11
CryptoKey * myPublicKey2
Definition: ECJPAKE.h:900
The CryptoKey type is an opaque representation of a cryptographic key.
const uint8_t * hash
Definition: ECJPAKE.h:956
CryptoKey * myPrivateKey1
Definition: ECJPAKE.h:887
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:1118
CryptoKey * myPublicV2
Definition: ECJPAKE.h:928
void * object
Definition: ECJPAKE.h:829
void ECJPAKE_OperationVerifyZKP_init(ECJPAKE_OperationVerifyZKP *operation)
Function to initialize an ECJPAKE_OperationVerifyZKP struct to its defaults.
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:970
const CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:1078
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:884
ECJPAKE_ReturnBehavior returnBehavior
Definition: ECJPAKE.h:1160
void ECJPAKE_close(ECJPAKE_Handle handle)
Function to close an ECJPAKE peripheral specified by the ECJPAKE handle.
ECJPAKE_OperationComputeSharedSecret * computeSharedSecret
Definition: ECJPAKE.h:1111
const CryptoKey * theirGenerator
Definition: ECJPAKE.h:973
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:1002
void ECJPAKE_OperationRoundOneGenerateKeys_init(ECJPAKE_OperationRoundOneGenerateKeys *operation)
Function to initialize an ECJPAKE_OperationRoundOneGenerateKeys struct to its defaults.
ECJPAKE_OperationRoundOneGenerateKeys * generateRoundOneKeys
Definition: ECJPAKE.h:1105
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:1082
Definition: ECJPAKE.h:1120
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:196
Struct containing the parameters required to generate the second round keys.
Definition: ECJPAKE.h:1000
Struct containing the parameters required to compute the shared secret.
Definition: ECJPAKE.h:1073
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:1145
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:1165
CryptoKey * myPublicV1
Definition: ECJPAKE.h:919
const CryptoKey * myPublicKey2
Definition: ECJPAKE.h:1012
const CryptoKey * myPublicKey1
Definition: ECJPAKE.h:1009
const CryptoKey * myPrivateKey
Definition: ECJPAKE.h:947
ECJPAKE Parameters.
Definition: ECJPAKE.h:1158
CryptoKey * myCombinedPublicKey
Definition: ECJPAKE.h:1049
Struct containing the parameters required to generate the first round of keys.
Definition: ECJPAKE.h:882
Definition: ECJPAKE.h:873
CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:891
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:1161
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:944
const CryptoKey * preSharedSecret
Definition: ECJPAKE.h:1021
CryptoKey * myNewGenerator
Definition: ECJPAKE.h:1037
const CryptoKey * theirPublicKey1
Definition: ECJPAKE.h:1015
ECJPAKE Global configuration.
Definition: ECJPAKE.h:826
CryptoKey * myPublicKey1
Definition: ECJPAKE.h:895
ECJPAKE_Handle ECJPAKE_construct(ECJPAKE_Config *config, const ECJPAKE_Params *params)
Constructs a new ECJPAKE object.
const CryptoKey * myPrivateV
Definition: ECJPAKE.h:951
ECJPAKE_Handle ECJPAKE_open(uint_least8_t index, const ECJPAKE_Params *params)
This function opens a given ECJPAKE peripheral.
CryptoKey * theirNewGenerator
Definition: ECJPAKE.h:1030
const uint8_t * r
Definition: ECJPAKE.h:992
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:1085
void const * hwAttrs
Definition: ECJPAKE.h:832
Definition: ECJPAKE.h:1122
CryptoKey * myPrivateV
Definition: ECJPAKE.h:1052
CryptoKey * myCombinedPrivateKey
Definition: ECJPAKE.h:1044
Definition: ECJPAKE.h:863
Definition: ECJPAKE.h:1124
const uint8_t * hash
Definition: ECJPAKE.h:989
void ECJPAKE_Params_init(ECJPAKE_Params *params)
Function to initialize the ECJPAKE_Params struct to its defaults.
const CryptoKey * theirPublicKey2
Definition: ECJPAKE.h:1018
Struct containing the parameters required to verify a ZKP.
Definition: ECJPAKE.h:968
ECJPAKE_OperationRoundTwoGenerateKeys * generateRoundTwoKeys
Definition: ECJPAKE.h:1109
CryptoKey * sharedSecret
Definition: ECJPAKE.h:1094
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:869
const CryptoKey * myPrivateKey2
Definition: ECJPAKE.h:1090
ECJPAKE_OperationGenerateZKP * generateZKP
Definition: ECJPAKE.h:1107
Definition: ECJPAKE.h:1121
A structure containing the parameters of an elliptic curve.
Definition: ECCParams.h:139
uint32_t timeout
Definition: ECJPAKE.h:1162
ECJPAKE_ReturnBehavior
The way in which ECJPAKE function calls return after performing an encryption + authentication or dec...
Definition: ECJPAKE.h:861
Definition: ECJPAKE.h:1123
CryptoKey * myPrivateV2
Definition: ECJPAKE.h:912
CryptoKey * myPrivateV1
Definition: ECJPAKE.h:905
const CryptoKey * theirPublicV
Definition: ECJPAKE.h:986
CryptoKey * myPublicV
Definition: ECJPAKE.h:1059
const CryptoKey * theirPublicKey
Definition: ECJPAKE.h:982
ECJPAKE_OperationVerifyZKP * verifyZKP
Definition: ECJPAKE.h:1108
Union containing pointers to all supported operation structs.
Definition: ECJPAKE.h:1103
const ECCParams_CurveParams * curve
Definition: ECJPAKE.h:1075
ECJPAKE_Config * ECJPAKE_Handle
A handle that is returned from an ECJPAKE_open() call.
Definition: ECJPAKE.h:838
void ECJPAKE_OperationGenerateZKP_init(ECJPAKE_OperationGenerateZKP *operation)
Function to initialize an ECJPAKE_OperationGenerateZKP struct to its defaults.
uint8_t * r
Definition: ECJPAKE.h:960
void ECJPAKE_OperationComputeSharedSecret_init(ECJPAKE_OperationComputeSharedSecret *operation)
Function to initialize an ECJPAKE_OperationComputeSharedSecret struct to its defaults.