DPDK  16.04.0
Data Fields
rte_crypto_cipher_xform Struct Reference

#include <rte_crypto_sym.h>

Data Fields

enum rte_crypto_cipher_operation op
enum rte_crypto_cipher_algorithm algo
struct {
   uint8_t *   data
   size_t   length
key

Detailed Description

Symmetric Cipher Setup Data.

This structure contains data relating to Cipher (Encryption and Decryption) use to create a session.

Definition at line 124 of file rte_crypto_sym.h.

Field Documentation

This parameter determines if the cipher operation is an encrypt or a decrypt operation. For the RC4 algorithm and the F8/CTR modes, only encrypt operations are valid.

Definition at line 125 of file rte_crypto_sym.h.

Cipher algorithm

Definition at line 130 of file rte_crypto_sym.h.

uint8_t* data

pointer to key data

Definition at line 134 of file rte_crypto_sym.h.

size_t length

key length in bytes

Definition at line 135 of file rte_crypto_sym.h.

struct { ... } key

Cipher key

      For the RTE_CRYPTO_CIPHER_AES_F8 mode of operation, key.data will
      point to a concatenation of the AES encryption key followed by a
      keymask. As per RFC3711, the keymask should be padded with trailing
      bytes to match the length of the encryption key used.

      For AES-XTS mode of operation, two keys must be provided and
      key.data must point to the two keys concatenated together (Key1 ||
      Key2). The cipher key length will contain the total size of both
      keys.

      Cipher key length is in bytes. For AES it can be 128 bits (16 bytes),
      192 bits (24 bytes) or 256 bits (32 bytes).

      For the CCM mode of operation, the only supported key length is 128
      bits (16 bytes).

      For the RTE_CRYPTO_CIPHER_AES_F8 mode of operation, key.length
      should be set to the combined length of the encryption key and the
      keymask. Since the keymask and the encryption key are the same size,
      key.length should be set to 2 x the AES encryption key length.

      For the AES-XTS mode of operation:
       - Two keys must be provided and key.length refers to total length of
         the two keys.
       - Each key can be either 128 bits (16 bytes) or 256 bits (32 bytes).
       - Both keys must have the same size.

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