rte_crypto_auth_xform(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’… rte_crypto_auth_xform β€” from the DPDK Library Functions Manual ✨

Okay bestie, so this one is a struct page, not a command page β€” it's rte_crypto_auth_xform, straight out of DPDK's Library Functions Manual, and it's literally the blueprint for how you set up an authentication/hash crypto transform. Let's get into it πŸŽ€


✨ SYNOPSIS ✨

#include <rte_crypto_sym.h>

πŸ¦‹ Data Fields

  • enum rte_crypto_auth_operation op
  • enum rte_crypto_auth_algorithm algo
  • struct {
    • const 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, periodt.

This structure holds all the data you need for authentication/hash crypto transforms. The fields op, algo and digest_length are the ones every single authentication transform shares, and they MUST be set β€” no skipping, no "I'll do it later," none of that πŸ™ˆ

Defined at line 421 of file rte_crypto_sym.h β€” iykyk πŸ’…

πŸ‘‘ Field Documentation πŸ‘‘

⭐ enum rte_crypto_auth_operation op

Authentication operation type. What kind of auth thing are we even doing, bestie.

Defined at line 422 of file rte_crypto_sym.h.

⭐ enum rte_crypto_auth_algorithm algo

Authentication algorithm selection. Pick your fighter πŸ₯Š

Defined at line 424 of file rte_crypto_sym.h.

⭐ const uint8_t* data

pointer to key data

Defined at line 428 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.
  • For GMAC mode, this is either:
    1. Number greater or equal to one, which means that IV is used and J0 will be computed internally, a minimum of 16 bytes must be allocated.
    2. Zero, in which case data points to J0. In this case 16 bytes of J0 should be passed where J0 is defined by NIST SP800-38D.
Defined at line 429 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. And heads up 🫢 β€” it is the callers responsibility to ensure that the key length is compliant with the standard being used (for example RFC 2104, FIPS 198a).

⭐ 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 this is the authentication Initialisation Vector (IV) value. For AES-GMAC IV description please refer to the field length in iv struct.
  • 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.

Defined at line 439 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.

Defined at line 475 of file rte_crypto_sym.h.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for DPDK from the source code. Not a human, just vibes and a parser 🧚


k bye bestie, mwah πŸ«ΆπŸ’–

This little icon was brought to you by DPDK, Version 26.03.0 β€” see you in the next page, πŸ’… slay.

πŸ“¦ where this page comes from