Data Accelerator Offload
Loading...
Searching...
No Matches
Data Fields
dao_lc_sym_op Struct Reference

#include <dao_liquid_crypto.h>

Data Fields

uint64_t op_cookie
 
uint64_t sess_id
 
struct dao_lc_bufin_buffer
 
struct dao_lc_bufout_buffer
 
uint32_t cipher_offset
 
uint32_t cipher_len
 
uint32_t auth_offset
 
uint32_t auth_len
 
uint8_t * cipher_iv
 
uint8_t * auth_iv
 
uint8_t * aad
 
uint16_t aad_len
 
uint8_t * digest
 
uint32_t wrap_unwrap_key_len
 
bool is_wrap_pad
 
union { 
 
   bool   encrypt 
 
   bool   auth_gen 
 
   bool   is_wrap 
 
};  
 

Detailed Description

The liquid crypto op structure.

Definition at line 62 of file dao_liquid_crypto.h.

Field Documentation

◆ op_cookie

uint64_t op_cookie

The cookie to be associated with the operation. This cookie is returned in the dao_lc_res structure when the operation is dequeued.

Definition at line 67 of file dao_liquid_crypto.h.

◆ sess_id

uint64_t sess_id

Session ID to be used.

Definition at line 69 of file dao_liquid_crypto.h.

◆ in_buffer

struct dao_lc_buf* in_buffer

Data buffer input for the operation. The memory pointed to by in_buffer must remain valid until the operation is completed and dequeued by the application using dao_liquid_crypto_dequeue_burst().

Definition at line 75 of file dao_liquid_crypto.h.

◆ out_buffer

struct dao_lc_buf* out_buffer

Data buffer output for the operation. NULL value means in-place operation. The memory pointed to by out_buffer must remain valid until the operation is completed and dequeued by the application using dao_liquid_crypto_dequeue_burst().

Definition at line 81 of file dao_liquid_crypto.h.

◆ cipher_offset

uint32_t cipher_offset

Starting point for cipher processing, specified as number of bytes from start of data in the input buffer. The result of the cipher operation will be written back into the output buffer starting at this location.

Definition at line 87 of file dao_liquid_crypto.h.

◆ cipher_len

uint32_t cipher_len

Length of data to be ciphered, specified as number of bytes from the cipher_offset in the input buffer.

For block ciphers, the cipher length must be aligned with the block size of the cipher type. It is the application's responsibility to ensure the cipher length meets this alignment requirement.

Definition at line 96 of file dao_liquid_crypto.h.

◆ auth_offset

uint32_t auth_offset

Starting point for auth processing, specified as number of bytes from start of data in the input buffer.

Definition at line 101 of file dao_liquid_crypto.h.

◆ auth_len

uint32_t auth_len

Length of data to be authenticated, specified as number of bytes from the auth_offset in the input buffer.

Definition at line 106 of file dao_liquid_crypto.h.

◆ cipher_iv

uint8_t* cipher_iv

Cipher IV

Definition at line 108 of file dao_liquid_crypto.h.

◆ auth_iv

uint8_t* auth_iv

Auth IV

Definition at line 110 of file dao_liquid_crypto.h.

◆ aad

uint8_t* aad

AAD. Ignored for non-AEAD operations.

Definition at line 112 of file dao_liquid_crypto.h.

◆ aad_len

uint16_t aad_len

AAD length. Ignored for non-AEAD operations.

Definition at line 114 of file dao_liquid_crypto.h.

◆ digest

uint8_t* digest

Digest. Ignored for non auth use cases.

Definition at line 116 of file dao_liquid_crypto.h.

◆ wrap_unwrap_key_len

uint32_t wrap_unwrap_key_len

Length of the key data to be wrapped or unwrapped in bytes. For AES Key Wrap operations:

  • Must be a multiple of 8 bytes for standard AES-KW
  • Can be any length for AES-KWP (with padding)
  • Must not be zero length bytes
  • Must not exceed DAO_LC_AES_KEY_WRAP_MAX_KEY_DATA_LEN Ignored for non-key wrap operations.

Definition at line 126 of file dao_liquid_crypto.h.

◆ is_wrap_pad

bool is_wrap_pad

Indicates if padding is used (for AES-KWP)

Definition at line 128 of file dao_liquid_crypto.h.

◆ encrypt

bool encrypt

Is encrypt operation or decrypt operation.

Definition at line 132 of file dao_liquid_crypto.h.

◆ auth_gen

bool auth_gen

Is auth generate or auth verify. Used in case of auth-only operations.

Definition at line 134 of file dao_liquid_crypto.h.

◆ is_wrap

bool is_wrap

Is key wrap or unwrap operation.

Definition at line 136 of file dao_liquid_crypto.h.

◆ [union]

union { ... }

Type of operation


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