DPDK  17.02.1
Data Fields
rte_crypto_auth_xform Struct Reference

#include <rte_crypto_sym.h>

Data Fields

enum rte_crypto_auth_operation op
enum rte_crypto_auth_algorithm algo
struct {
   uint8_t *   data
   size_t   length
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 277 of file rte_crypto_sym.h.

Field Documentation

Authentication operation type

Definition at line 278 of file rte_crypto_sym.h.

Authentication algorithm selection

Definition at line 280 of file rte_crypto_sym.h.

uint8_t* data

pointer to key data

Definition at line 284 of file rte_crypto_sym.h.

size_t length

key length in bytes

Definition at line 285 of file rte_crypto_sym.h.

struct { ... } 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).

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.

It is the caller's responsibility to ensure that the digest length is compliant with the hash algorithm being used. If the value is less than the maximum length allowed by the hash, the result shall be truncated.

Definition at line 295 of file rte_crypto_sym.h.

uint32_t add_auth_data_length

The length of the additional authenticated data (AAD) in bytes. The maximum permitted value is 65535 (2^16 - 1) 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.
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 additional authentication data length field of the rte_crypto_sym_op_data structure

Definition at line 306 of file rte_crypto_sym.h.

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