Updated: April 19, 2023

KDF arguments


#include <qcrypto/qcrypto.h>
typedef struct _qcrypto_kdf_args {
    const uint8_t         *secret;
    size_t                 secretsize;
    const uint8_t         *salt;
    size_t                 saltsize;
    union {
        struct {
            size_t   iter;
        } pbkdf2;
        struct {
            const uint8_t *info;
            size_t         infosize;
        } hkdf;
        void        *private;
} qcrypto_kdf_args_t;


uint8_t* secret

The secret value.

size_t secretsize

The size of the secret value, in bytes.

uint8_t* salt

The salt value.

size_t saltsize

The salt size in bytes.

size_t iter

The number of hash iterations.

uint8_t* info

Extra information.

size_t infosize

The size of the extra information, in bytes

void* private

Private arguments to pass for other KDFs.




Some KDF functions require some additional input to be used in the algorithm.

The private field can be used for custom plugins that implement custom algorithms that the QNX cryptography library API does not support.

For more information, see qcrypto_kdf_generate().