|
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 | |
| struct { | ||
| uint8_t is_rsa_pss_enabled | ||
| uint16_t mod_len | ||
| uint16_t exp_len | ||
| uint16_t salt_len | ||
| enum dao_lc_hash_type hash_type | ||
| } | rsa_pss | |
| 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 930 of file dao_liquid_crypto.h.
| bool is_sym_enabled |
Specifies whether symmetric enabled or not
Definition at line 940 of file dao_liquid_crypto.h.
| uint16_t cipher_auth_payload_len |
Cipher and auth payload length.
Definition at line 949 of file dao_liquid_crypto.h.
| uint16_t iv_len |
IV length
Definition at line 951 of file dao_liquid_crypto.h.
| uint16_t aad_len |
AAD length
Definition at line 953 of file dao_liquid_crypto.h.
| uint16_t digest_len |
Digest length
Definition at line 955 of file dao_liquid_crypto.h.
| uint16_t hmac_auth_key_len |
HMAC authentication key length
Definition at line 957 of file dao_liquid_crypto.h.
| uint16_t key_wrap_len |
Key wrap length
Definition at line 959 of file dao_liquid_crypto.h.
| enum dao_lc_fc_aes_key_len aes_kek_type |
KEK type
Definition at line 961 of file dao_liquid_crypto.h.
| uint16_t output_len |
Output-Length for KMAC/cSHAKE operations
Definition at line 963 of file dao_liquid_crypto.h.
| uint16_t custom_string_len |
Custom string length for KMAC/cSHAKE operations
Definition at line 965 of file dao_liquid_crypto.h.
| uint16_t function_name_len |
Function name length for cSHAKE operations
Definition at line 967 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 1014 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 1027 of file dao_liquid_crypto.h.
| enum dao_liquid_crypto_ec_curve_type curve_id |
Curve ID
Definition at line 1029 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 1050 of file dao_liquid_crypto.h.
| uint16_t label_len |
Label length
Definition at line 1056 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)
Hash type used in PSS (must be a supported hash algorithm for PSS)
Definition at line 1058 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()| uint8_t is_rsa_pss_enabled |
Specifies whether RSA PSS enabled or not
Definition at line 1077 of file dao_liquid_crypto.h.
| uint16_t salt_len |
Salt length in bytes
Definition at line 1083 of file dao_liquid_crypto.h.
| struct { ... } rsa_pss |
RSA PSS asymmetric parameters. The parameters are used to calculate the size of the maximum segment size for RSA PSS operations.
The segment size calculation reserves space based on mod_len, hash_type, and salt_len to accommodate RSA PSS operations.
For using following APIs the corresponding parameters must be set:
dao_liquid_crypto_enq_op_rsa_pss_pvt_exp_enc()dao_liquid_crypto_enq_op_rsa_pss_pvt_crt_enc()dao_liquid_crypto_enq_op_rsa_pss_pub_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 1105 of file dao_liquid_crypto.h.