DPDK  16.04.0
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
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 256 of file rte_crypto_sym.h.

Field Documentation

Authentication operation type

Definition at line 257 of file rte_crypto_sym.h.

Authentication algorithm selection

Definition at line 259 of file rte_crypto_sym.h.

uint8_t* data

pointer to key data

Definition at line 263 of file rte_crypto_sym.h.

size_t length

key length in bytes

Definition at line 264 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.

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_sym_session_create or by the rte_cryptodev_sym_enqueue_burst if using session-less APIs.

Definition at line 274 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 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_sym_op_data structure.

Definition at line 286 of file rte_crypto_sym.h.


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