DPDK  18.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
 
   uint16_t   length
 
key
 
struct {
   uint16_t   offset
 
   uint16_t   length
 
iv
 
uint16_t digest_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.

Examples:
examples/fips_validation/main.c.

Definition at line 292 of file rte_crypto_sym.h.

Field Documentation

Authentication operation type

Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 293 of file rte_crypto_sym.h.

Authentication algorithm selection

Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 295 of file rte_crypto_sym.h.

uint8_t* data

pointer to key data

Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 299 of file rte_crypto_sym.h.

uint16_t length

key length in bytes

Length of valid IV data.

  • For SNOW3G in UIA2 mode, for ZUC in EIA3 mode and for AES-GMAC, this is the length of the IV.
  • For KASUMI in F9 mode and other authentication algorithms, this field is not used.
Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

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

Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.
uint16_t offset

Starting point for Initialisation Vector or Counter, specified as number of bytes from start of crypto operation (rte_crypto_op).

  • For SNOW 3G in UIA2 mode, for ZUC in EIA3 mode and for AES-GMAC, this is the authentication Initialisation Vector (IV) value.
  • For KASUMI in F9 mode and other authentication algorithms, this field is not used.

For optimum performance, the data pointed to SHOULD be 8-byte aligned.

Definition at line 310 of file rte_crypto_sym.h.

struct { ... } iv

Initialisation vector parameters

uint16_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.

Examples:
examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 337 of file rte_crypto_sym.h.


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