|
Data Accelerator Offload
|
#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 | ||
| uint16_t output_len | ||
| uint16_t custom_string_len | ||
| uint16_t function_name_len | ||
| } | sym | |
| struct { | ||
| uint16_t mod_len | ||
| uint16_t exp_len | ||
| } | rsa | |
| struct { | ||
| uint16_t mod_len | ||
| uint16_t exp_len | ||
| } | modex | |
| 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 | |
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 903 of file dao_liquid_crypto.h.
| bool is_sym_enabled |
Specifies whether symmetric enabled or not
Definition at line 913 of file dao_liquid_crypto.h.
| uint16_t cipher_auth_payload_len |
Cipher and auth payload length.
Definition at line 922 of file dao_liquid_crypto.h.
| uint16_t iv_len |
IV length
Definition at line 924 of file dao_liquid_crypto.h.
| uint16_t aad_len |
AAD length
Definition at line 926 of file dao_liquid_crypto.h.
| uint16_t digest_len |
Digest length
Definition at line 928 of file dao_liquid_crypto.h.
| uint16_t hmac_auth_key_len |
HMAC authentication key length
Definition at line 930 of file dao_liquid_crypto.h.
| uint16_t key_wrap_len |
Key wrap length
Definition at line 932 of file dao_liquid_crypto.h.
| enum dao_lc_fc_aes_key_len aes_kek_type |
KEK type
Definition at line 934 of file dao_liquid_crypto.h.
| uint16_t output_len |
Output-Length for KMAC/cSHAKE operations
Definition at line 936 of file dao_liquid_crypto.h.
| uint16_t custom_string_len |
Custom string length for KMAC/cSHAKE operations
Definition at line 938 of file dao_liquid_crypto.h.
| uint16_t function_name_len |
Function name length for cSHAKE operations
Definition at line 940 of file dao_liquid_crypto.h.
| 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 | uint16_t mod_len |
| uint16_t exp_len |
| 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:
| struct { ... } modex |
Modex asymmetric parameters. The parameters are used to calculate the size of the maximum segment size for Modex operations.
The segment size calculation reserves space based on mod_len to accommodate Modex operations. Message length constraints are enforced at the API level based on mod_len.
For using following APIs the corresponding parameters must be set:
| uint32_t rand_len |
Random data length
Definition at line 987 of file dao_liquid_crypto.h.
| struct { ... } rng |
Random number generation parameters. The parameters are used to calculate the size of the maximum segment size for random number generation operations.
| bool is_ecc_enabled |
Specifies whether ECC enabled or not
Definition at line 1000 of file dao_liquid_crypto.h.
| enum dao_liquid_crypto_ec_curve_type curve_id |
Curve ID
Definition at line 1002 of file dao_liquid_crypto.h.
| 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:
| uint8_t is_rsa_oaep_enabled |
Specifies whether RSA OAEP enabled or not
Definition at line 1022 of file dao_liquid_crypto.h.
| uint16_t label_len |
Label length
Definition at line 1028 of file dao_liquid_crypto.h.
| enum dao_lc_hash_type hash_type |
Hash type used in OAEP (must be a supported hash algorithm for OAEP)
Definition at line 1030 of file dao_liquid_crypto.h.
| 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:
dao_liquid_crypto_enq_op_rsa_oaep_enc()dao_liquid_crypto_enq_op_rsa_oaep_exp_dec()| 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 1050 of file dao_liquid_crypto.h.