|
Data Accelerator Offload
|
#include <dao_liquid_crypto.h>
Data Fields | ||
| uint64_t | op_cookie | |
| uint64_t | sess_id | |
| struct dao_lc_buf * | in_buffer | |
| struct dao_lc_buf * | out_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 | ||
| }; | ||
The liquid crypto op structure.
Definition at line 105 of file dao_liquid_crypto.h.
| 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 110 of file dao_liquid_crypto.h.
| uint64_t sess_id |
Session ID to be used.
Definition at line 112 of file dao_liquid_crypto.h.
| struct dao_lc_buf* in_buffer |
Data buffer input for the operation. Must not be NULL. 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 118 of file dao_liquid_crypto.h.
| 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 124 of file dao_liquid_crypto.h.
| 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 130 of file dao_liquid_crypto.h.
| 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 139 of file dao_liquid_crypto.h.
| 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 144 of file dao_liquid_crypto.h.
| 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 149 of file dao_liquid_crypto.h.
| uint8_t* cipher_iv |
Cipher IV
Definition at line 151 of file dao_liquid_crypto.h.
| uint8_t* auth_iv |
Auth IV
Definition at line 153 of file dao_liquid_crypto.h.
| uint8_t* aad |
AAD. Ignored for non-AEAD operations.
Definition at line 155 of file dao_liquid_crypto.h.
| uint16_t aad_len |
AAD length. Ignored for non-AEAD operations.
Definition at line 157 of file dao_liquid_crypto.h.
| uint8_t* digest |
Digest. Ignored for non auth use cases.
Definition at line 159 of file dao_liquid_crypto.h.
| uint32_t wrap_unwrap_key_len |
Length of the key data to be wrapped or unwrapped in bytes. For AES Key Wrap operations:
Definition at line 169 of file dao_liquid_crypto.h.
| bool is_wrap_pad |
Indicates if padding is used (for AES-KWP)
Definition at line 171 of file dao_liquid_crypto.h.
| bool encrypt |
Is encrypt operation or decrypt operation.
Definition at line 175 of file dao_liquid_crypto.h.
| bool auth_gen |
Is auth generate or auth verify. Used in case of auth-only operations.
Definition at line 177 of file dao_liquid_crypto.h.
| bool is_wrap |
Is key wrap or unwrap operation.
Definition at line 179 of file dao_liquid_crypto.h.
| union { ... } |
Type of operation
| struct dao_lc_sym_op_kmac_params kmac_params |
Params for KMAC.
Definition at line 183 of file dao_liquid_crypto.h.
| struct dao_lc_sym_op_cshake_params cshake_params |
Params for cSHAKE.
Definition at line 185 of file dao_liquid_crypto.h.