Knight KE / Mbed OS Game_Master
Embed: (wiki syntax)

« Back to documentation index

CryptoCell ECC Diffie-Hellman APIs

CryptoCell ECC Diffie-Hellman APIs
[CryptoCell ECC APIs]

Functions

CIMPORT_C CRYSError_t CRYS_ECDH_SVDP_DH (CRYS_ECPKI_UserPublKey_t *PartnerPublKey_ptr, CRYS_ECPKI_UserPrivKey_t *UserPrivKey_ptr, uint8_t *SharedSecretValue_ptr, uint32_t *SharedSecrValSize_ptr, CRYS_ECDH_TempData_t *TempBuff_ptr)
 Creates the shared secret value according to [IEEE1363, ANS X9.63]:

Function Documentation

CIMPORT_C CRYSError_t CRYS_ECDH_SVDP_DH ( CRYS_ECPKI_UserPublKey_t PartnerPublKey_ptr,
CRYS_ECPKI_UserPrivKey_t UserPrivKey_ptr,
uint8_t *  SharedSecretValue_ptr,
uint32_t *  SharedSecrValSize_ptr,
CRYS_ECDH_TempData_t TempBuff_ptr 
)

Creates the shared secret value according to [IEEE1363, ANS X9.63]:

  1. Checks input-parameter pointers and EC Domain in public and private keys.
  2. Derives the partner public key and calls the EcWrstDhDeriveSharedSecret function, which performs EC SVDP operations.
Note:
The term "User" refers to any party that calculates a shared secret value using this primitive. The term "Partner" refers to any other party of shared secret value calculation. Partner's public key shall be validated before using in this primitive.
Returns:
CRYS_OK on success.
A non-zero value on failure as defined crys_ecpki_error.h.
Parameters:
[in]PartnerPublKey_ptrPointer to a partner public key.
[in]UserPrivKey_ptrPointer to a user private key.
[out]SharedSecretValue_ptrPointer to an output buffer that will contain the shared secret value.
[in,out]SharedSecrValSize_ptrPointer to the size of user-passed buffer (in) and actual size of output of calculated shared secret value (out).
[in]TempBuff_ptrPointer to a temporary buffer.