DPDK  2.2.0
Data Fields
rte_crypto_auth_xform Struct Reference

#include <rte_crypto.h>

Data Fields

enum rte_crypto_auth_operation op
enum rte_crypto_auth_algorithm algo
struct rte_crypto_key key
uint32_t digest_length
uint32_t add_auth_data_length

Detailed Description

Authentication / Hash transform data.

This structure contains data relating to an authentication/hash crypto transforms. The fields op, algo and digest_length are common to all authentication transforms and MUST be set.

Definition at line 253 of file rte_crypto.h.

Field Documentation

Authentication operation type

Definition at line 254 of file rte_crypto.h.

Authentication algorithm selection

Definition at line 256 of file rte_crypto.h.

struct rte_crypto_key key

Authentication key data. The authentication key length MUST be less than or equal to the block size of the algorithm. It is the callers responsibility to ensure that the key length is compliant with the standard being used (for example RFC 2104, FIPS 198a).

Definition at line 259 of file rte_crypto.h.

uint32_t digest_length

Length of the digest to be returned. If the verify option is set, this specifies the length of the digest to be compared for the session.

If the value is less than the maximum length allowed by the hash, the result shall be truncated. If the value is greater than the maximum length allowed by the hash then an error will be generated by rte_cryptodev_session_create or by the rte_cryptodev_enqueue_burst if using session-less APIs.

Definition at line 267 of file rte_crypto.h.

uint32_t add_auth_data_length

The length of the additional authenticated data (AAD) in bytes. The maximum permitted value is 240 bytes, unless otherwise specified below.

This field must be specified when the hash algorithm is one of the following:

  • For GCM (RTE_CRYPTO_AUTH_AES_GCM). In this case, this is the length of the Additional Authenticated Data (called A, in NIST SP800-38D).
  • For CCM (RTE_CRYPTO_AUTH_AES_CCM). In this case, this is the length of the associated data (called A, in NIST SP800-38C). Note that this does NOT include the length of any padding, or the 18 bytes reserved at the start of the above field to store the block B0 and the encoded length. The maximum permitted value in this case is 222 bytes.
Note
For AES-GMAC (RTE_CRYPTO_AUTH_AES_GMAC) mode of operation this field is not used and should be set to 0. Instead the length of the AAD data is specified in the message length to hash field of the rte_crypto_op_data structure.

Definition at line 279 of file rte_crypto.h.


The documentation for this struct was generated from the following file: