DPDK  19.02.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
   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/fips_dev_self_test.c, and examples/fips_validation/main.c.

Definition at line 289 of file rte_crypto_sym.h.

Field Documentation

Authentication operation type

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

Definition at line 290 of file rte_crypto_sym.h.

Authentication algorithm selection

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

Definition at line 292 of file rte_crypto_sym.h.

uint8_t* data
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/fips_dev_self_test.c, examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 297 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/fips_dev_self_test.c, 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 308 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/fips_dev_self_test.c, examples/fips_validation/main.c, and examples/ip_pipeline/cli.c.

Definition at line 335 of file rte_crypto_sym.h.


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