Cryptographic Token Interface Standard

PKCS#11


CK_X9_42_MQV_DERIVE_PARAMS Reference

CK_X9_42_MQV_DERIVE_PARAMS, CK_X9_42_MQV_DERIVE_PARAMS_PTR

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


Data Fields

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

CK_ULONG ulOtherInfoLen
 the length in bytes of the other info. More...

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

CK_ULONG ulPublicDataLen
 the length in bytes of the other party's first X9.42 Diffie-Hellman public key. More...

CK_BYTE_PTR pPublicData
 pointer to other party's first X9.42 Diffie-Hellman public key value. More...

CK_ULONG ulPrivateDataLen
 the length in bytes of the second X9.42 Diffie-Hellman private key. More...

CK_OBJECT_HANDLE hPrivateData
 key handle for second X9.42 Diffie-Hellman private key value. More...

CK_ULONG ulPublicDataLen2
 the length in bytes of the other party's second X9.42 Diffie-Hellman public key. More...

CK_BYTE_PTR pPublicData2
 pointer to other party's second X9.42 Diffie-Hellman public key value. More...

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


Detailed Description

CK_X9_42_MQV_DERIVE_PARAMS, CK_X9_42_MQV_DERIVE_PARAMS_PTR

CK_X9_42_MQV_DERIVE_PARAMS is a structure that provides the parameters to the CKM_X9_42_MQV_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
ulOtherInfoLen the length in bytes of the other info
pOtherInfo some data shared between the two parties
ulPublicDataLen the length in bytes of the other party's first X9.42 Diffie-Hellman public key
pPublicData pointer to other party's first X9.42 Diffie-Hellman public key value
ulPrivateDataLen the length in bytes of the second X9.42 Diffie-Hellman private key
hPrivateData key handle for second X9.42 Diffie-Hellman private key value
ulPublicDataLen2 the length in bytes of the other party's second X9.42 Diffie-Hellman public key
pPublicData2 pointer to other party's second X9.42 Diffie-Hellman public key value
publicKey Handle to the first party's ephemeral public key

With the key derivation function CKD_NULL, pOtherInfo must be NULL and ulOtherInfoLen must be zero. With the key derivation function CKD_SHA1_KDF_ASN1, pOtherInfo must be supplied, which contains an octet string, specified in ASN.1 DER encoding, consisting of mandatory and optional data shared by the two parties intending to share the shared secret. With the key derivation function CKD_SHA1_KDF_CONCATENATE, an optional pOtherInfo may be supplied, which consists of some data shared by the two parties intending to share the shared secret. Otherwise, pOtherInfo must be NULL and ulOtherInfoLen must be zero.

CK_X9_42_MQV_DERIVE_PARAMS_PTR is a pointer to a CK_X9_42_MQV_DERIVE_PARAMS.


Field Documentation

CK_X9_42_DH_KDF_TYPE kdf
 

key derivation function used on the shared secret value.

CK_ULONG ulOtherInfoLen
 

the length in bytes of the other info.

CK_BYTE_PTR pOtherInfo
 

some data shared between the two parties.

CK_ULONG ulPublicDataLen
 

the length in bytes of the other party's first X9.42 Diffie-Hellman public key.

CK_BYTE_PTR pPublicData
 

pointer to other party's first X9.42 Diffie-Hellman public key value.

CK_ULONG ulPrivateDataLen
 

the length in bytes of the second X9.42 Diffie-Hellman private key.

CK_OBJECT_HANDLE hPrivateData
 

key handle for second X9.42 Diffie-Hellman private key value.

CK_ULONG ulPublicDataLen2
 

the length in bytes of the other party's second X9.42 Diffie-Hellman public key.

CK_BYTE_PTR pPublicData2
 

pointer to other party's second X9.42 Diffie-Hellman public key value.

CK_OBJECT_HANDLE publicKey
 

Handle to the first party's ephemeral public key.


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