|
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 100 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 105 of file dao_liquid_crypto.h.
| uint64_t sess_id |
Session ID to be used.
Definition at line 107 of file dao_liquid_crypto.h.
| 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 113 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 119 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 125 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 134 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 139 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 144 of file dao_liquid_crypto.h.
| uint8_t* cipher_iv |
Cipher IV
Definition at line 146 of file dao_liquid_crypto.h.
| uint8_t* auth_iv |
Auth IV
Definition at line 148 of file dao_liquid_crypto.h.
| uint8_t* aad |
AAD. Ignored for non-AEAD operations.
Definition at line 150 of file dao_liquid_crypto.h.
| uint16_t aad_len |
AAD length. Ignored for non-AEAD operations.
Definition at line 152 of file dao_liquid_crypto.h.
| uint8_t* digest |
Digest. Ignored for non auth use cases.
Definition at line 154 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 164 of file dao_liquid_crypto.h.
| bool is_wrap_pad |
Indicates if padding is used (for AES-KWP)
Definition at line 166 of file dao_liquid_crypto.h.
| bool encrypt |
Is encrypt operation or decrypt operation.
Definition at line 170 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 172 of file dao_liquid_crypto.h.
| bool is_wrap |
Is key wrap or unwrap operation.
Definition at line 174 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 178 of file dao_liquid_crypto.h.
| struct dao_lc_sym_op_cshake_params cshake_params |
Params for cSHAKE.
Definition at line 180 of file dao_liquid_crypto.h.