devcrypto_algorithm_t

Algorithm object

Synopsis:

#include <SPECIFY HEADER LOCATION/devcrypto_plugin.h>
typedef struct _devcrypto_algorithm {
    const char name[DEVCRYPTO_ALG_NAME_MAX];
    uint32_t type;
    devcrypto_algorithm_type_t
    union {
        devcrypto_digest_t digest;
        devcrypto_cipher_t cipher;
        devcrypto_aead_cipher_t aead_cipher;
        devcrypto_mac_t mac;
    }
    devcrypto_algorithm_op_init init;
    devcrypto_algorithm_op_uninit uninit;
    void* extra;
} devcrypto_algorithm_t;

Data:

const char name[DEVCRYPTO_ALG_NAME_MAX]

The algorithm name.

uint32_t type

The algorithm type. See devcrypto_algorithm_type_t.

devcrypto_digest_t digest

The digest algorithm object.

devcrypto_cipher_t cipher

The cipher algorithm object.

devcrypto_aead_cipher_t aead_cipher

The AEAD cipher algorithm object.

devcrypto_mac_t mac

The MAC algorithm object.

devcrypto_algorithm_op_init init

The algorithm initialization function.

devcrypto_algorithm_op_uninit uninit

The algorithm un-initialization function.

void* extra

Extra storage for plugin use.

Library:

devcr