Cryptographic Token Interface Standard

PKCS#11


CK_ECMQV_DERIVE_PARAMS Reference

CK_ ECMQV _DERIVE_PARAMS, CK_ ECMQV _DERIVE_PARAMS_PTR

CK_ ECMQV_DERIVE_PARAMS is a structure that provides the parameters to the CKM_ECMQV_DERIVE key derivation mechanism, where each party contributes two key pairs. More...


Data Fields

CK_EC_KDF_TYPE kdf
 key derivation function used on the shared secret value. More...

CK_ULONG ulSharedDataLen
 the length in bytes of the shared info. More...

CK_BYTE_PTR pSharedData
 some data shared between the two parties. More...

CK_ULONG ulPublicDataLen
 the length in bytes of the other party's first EC public key. More...

CK_BYTE_PTR pPublicData
 pointer to other party's first EC public key value. More...

CK_ULONG ulPrivateDataLen
 the length in bytes of the second EC private key. More...

CK_OBJECT_HANDLE hPrivateData
 key handle for second EC private key value. More...

CK_ULONG ulPublicDataLen2
 the length in bytes of the other party's second EC public key. More...

CK_BYTE_PTR pPublicData2
 pointer to other party's second EC public key value. More...

CK_OBJECT_HANDLE publicKey
 Handle to the first party's ephemeral public key. More...


Detailed Description

CK_ ECMQV _DERIVE_PARAMS, CK_ ECMQV _DERIVE_PARAMS_PTR

CK_ ECMQV_DERIVE_PARAMS is a structure that provides the parameters to the CKM_ECMQV_DERIVE key derivation mechanism, where each party contributes two key pairs. The structure is defined as follows:
kdf key derivation function used on the shared secret value
ulSharedDataLen the length in bytes of the shared info
pSharedData some data shared between the two parties
ulPublicDataLen the length in bytes of the other party's first EC public key
pPublicData pointer to other party's first EC public key value. Encoding rules are as per ''pPublicData'' of CK_ECDH1_DERIVE_PARAMS
ulPrivateDataLen the length in bytes of the second EC private key
hPrivateData key handle for second EC private key value
ulPublicDataLen2 the length in bytes of the other party's second EC public key
pPublicData2 pointer to other party's second EC public key value. Encoding rules are as per ''pPublicData'' of CK_ECDH1_DERIVE_PARAMS
publicKey Handle to the first party's ephemeral public key

With the key derivation function CKD_NULL, pSharedData must be NULL and ulSharedDataLen must be zero. With the key derivation function CKD_SHA1_KDF, an optional pSharedData may be supplied, which consists of some data shared by the two parties intending to share the shared secret. Otherwise, pSharedData must be NULL and ulSharedDataLen must be zero.

CK_ECMQV_DERIVE_PARAMS_PTR is a pointer to a CK_ECMQV_DERIVE_PARAMS.


Field Documentation

CK_EC_KDF_TYPE kdf
 

key derivation function used on the shared secret value.

CK_ULONG ulSharedDataLen
 

the length in bytes of the shared info.

CK_BYTE_PTR pSharedData
 

some data shared between the two parties.

CK_ULONG ulPublicDataLen
 

the length in bytes of the other party's first EC public key.

CK_BYTE_PTR pPublicData
 

pointer to other party's first EC public key value. Encoding rules are as per ''pPublicData'' of CK_ECDH1_DERIVE_PARAMS

CK_ULONG ulPrivateDataLen
 

the length in bytes of the second EC private key.

CK_OBJECT_HANDLE hPrivateData
 

key handle for second EC private key value.

CK_ULONG ulPublicDataLen2
 

the length in bytes of the other party's second EC public key.

CK_BYTE_PTR pPublicData2
 

pointer to other party's second EC public key value. Encoding rules are as per ''pPublicData'' of CK_ECDH1_DERIVE_PARAMS

CK_OBJECT_HANDLE publicKey
 

Handle to the first party's ephemeral public key.


RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v230