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

#include <dao_liquid_crypto.h>

Data Fields

struct { 
 
   bool   is_sym_enabled 
 
   uint16_t   cipher_auth_payload_len 
 
   uint16_t   iv_len 
 
   uint16_t   aad_len 
 
   uint16_t   digest_len 
 
   uint16_t   hmac_auth_key_len 
 
   uint16_t   key_wrap_len 
 
   enum dao_lc_fc_aes_key_len   aes_kek_type 
 
sym 
 
struct { 
 
   uint16_t   mod_len 
 
   uint16_t   exp_len 
 
rsa 
 
struct { 
 
   uint32_t   rand_len 
 
rng 
 
struct { 
 
   bool   is_ecc_enabled 
 
   enum dao_liquid_crypto_ec_curve_type   curve_id 
 
   uint16_t   digest_len 
 
ecc 
 
struct { 
 
   uint8_t   is_rsa_oaep_enabled 
 
   uint16_t   mod_len 
 
   uint16_t   exp_len 
 
   uint16_t   label_len 
 
   enum dao_lc_hash_type   hash_type 
 
rsa_oaep 
 
bool cmd_qp
 

Detailed Description

Liquid Crypto Feature Parameters.

This structure is used to store the feature parameters of the liquid crypto device. The feature parameters are used to calculate the size of the maximum segment size.

Definition at line 751 of file dao_liquid_crypto.h.

Field Documentation

◆ is_sym_enabled

bool is_sym_enabled

Specifies whether symmetric enabled or not

Definition at line 761 of file dao_liquid_crypto.h.

◆ cipher_auth_payload_len

uint16_t cipher_auth_payload_len

Cipher and auth payload length.

  • Cipher only: length of cipher text.
  • Auth only: length of data to be authenticated.
  • Cipher and auth: length of data with possible overlap.
  • AEAD: length of data for authenticated encryption.
  • Key wrap: length of key data to be wrapped.

Definition at line 770 of file dao_liquid_crypto.h.

◆ iv_len

uint16_t iv_len

IV length

Definition at line 772 of file dao_liquid_crypto.h.

◆ aad_len

uint16_t aad_len

AAD length

Definition at line 774 of file dao_liquid_crypto.h.

◆ digest_len

uint16_t digest_len

Digest length

Definition at line 776 of file dao_liquid_crypto.h.

◆ hmac_auth_key_len

uint16_t hmac_auth_key_len

HMAC authentication key length

Definition at line 778 of file dao_liquid_crypto.h.

◆ key_wrap_len

uint16_t key_wrap_len

Key wrap length

Definition at line 780 of file dao_liquid_crypto.h.

◆ aes_kek_type

enum dao_lc_fc_aes_key_len aes_kek_type

KEK type

Definition at line 782 of file dao_liquid_crypto.h.

◆ [struct]

struct { ... } sym

Symmetric parameters. The parameters are used to calculate the size of the maximum segment size for symmetric operations.

For using following opcodes the corresponding parameters must be set:

  • DAO_LC_SYM_OPCODE_FC: Flexi Crypto
    See also
    DAO_LC_SYM_FC_CTX

◆ mod_len

uint16_t mod_len

Modulus length

Modulus length in bytes

Definition at line 799 of file dao_liquid_crypto.h.

◆ exp_len

uint16_t exp_len

Exponent length

Exponent length in bytes

Definition at line 801 of file dao_liquid_crypto.h.

◆ [struct]

struct { ... } rsa

RSA asymmetric parameters. The parameters are used to calculate the size of the maximum segment size for asymmetric operations.

The segment size calculation reserves space based on mod_len to accommodate RSA operations. Message length constraints are enforced at the API level based on mod_len.

For using following APIs the corresponding parameters must be set:

◆ rand_len

uint32_t rand_len

Random data length

Definition at line 810 of file dao_liquid_crypto.h.

◆ [struct]

struct { ... } rng

Random number generation parameters. The parameters are used to calculate the size of the maximum segment size for random number generation operations.

◆ is_ecc_enabled

bool is_ecc_enabled

Specifies whether ECC enabled or not

Definition at line 823 of file dao_liquid_crypto.h.

◆ curve_id

Curve ID

Definition at line 825 of file dao_liquid_crypto.h.

◆ [struct]

struct { ... } ecc

ECDSA asymmetric parameters. The parameters are used to calculate the size of the maximum segment size for ECDSA operations.

For using following APIs the corresponding parameters must be set:

◆ is_rsa_oaep_enabled

uint8_t is_rsa_oaep_enabled

Specifies whether RSA OAEP enabled or not

Definition at line 845 of file dao_liquid_crypto.h.

◆ label_len

uint16_t label_len

Label length

Definition at line 851 of file dao_liquid_crypto.h.

◆ hash_type

enum dao_lc_hash_type hash_type

Hash type used in OAEP (must be a supported hash algorithm for OAEP)

Definition at line 853 of file dao_liquid_crypto.h.

◆ [struct]

struct { ... } rsa_oaep

RSA OAEP asymmetric parameters. The parameters are used to calculate the size of the maximum segment size for RSA OAEP operations.

The segment size calculation reserves space based on mod_len and hash_type to accommodate RSA OAEP operations. Message length constraints are enforced at the API level based on mod_len.

For using following APIs the corresponding parameters must be set:

◆ cmd_qp

bool cmd_qp

Specifies whether the size calculation is for the command queue pair. If true, the size is calculated specifically for the command queue pair, ignoring the symmetric and RSA asymmetric parameters. If false, the size is calculated for the data queue pair using the symmetric and RSA asymmetric parameters provided above.

Definition at line 868 of file dao_liquid_crypto.h.


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