DPDK  16.11.11
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 257 of file rte_crypto_sym.h.

Field Documentation

Authentication operation type

Definition at line 258 of file rte_crypto_sym.h.

Authentication algorithm selection

Definition at line 260 of file rte_crypto_sym.h.

uint8_t* data

pointer to key data

Definition at line 264 of file rte_crypto_sym.h.

size_t length

key length in bytes

Definition at line 265 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 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 SNOW 3G (RTE_CRYPTO_AUTH_SNOW3G_UIA2), this is the length of the IV (which should be 16).
  • 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 additional authentication data length field of the rte_crypto_sym_op_data structure

Definition at line 285 of file rte_crypto_sym.h.


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