qcrypto_algorithm_t

Updated: April 19, 2023

Algorithm object

Synopsis:

#include <qcrypto/qcrypto_plugin.h>
typedef struct _qcrypto_algorithm {
    char name[QCRYPTO_ALG_NAME_MAX];
    qcrypto_algorithm_type_t type;
    union {
        qcrypto_digest_t digest;
        qcrypto_rng_t rng;
        qcrypto_cipher_t cipher;
        qcrypto_keygen_t keygen;
        qcrypto_mac_t mac;
        qcrypto_kdf_t kdf;
        qcrypto_signature_t signature;
    };
    qcrypto_algorithm_op_init init;
    qcrypto_algorithm_op_uninit uninit;
    void* private;
} qcrypto_algorithm_t;

Data:

char name[QCRYPTO_ALG_NAME_MAX]

The algorithm name.

qcrypto_algorithm_type_t type

The algorithm type.

qcrypto_digest_t digest

The digest object.

qcrypto_rng_t rng

The RNG object.

qcrypto_cipher_t cipher

The cipher object.

qcrypto_keygen_t keygen

The key generation object.

qcrypto_mac_t mac

The MAC object.

qcrypto_kdf_t kdf

The KDF object.

qcrypto_signature_t signature

The signature object.

qcrypto_algorithm_op_init init

The algorithm initialization function.

qcrypto_algorithm_op_uninit uninit

The algorithm un-initialization function.

void* private

Algorithm private storage.

Library:

libqcrypto