5#ifndef __DAO_LIQUID_CRYPTO_H__
6#define __DAO_LIQUID_CRYPTO_H__
18#define DAO_CRYPTO_VERSION_LEN 32
20#define DAO_CRYPTO_MAX_NB_DEV 1
22#define DAO_CMD_QP_IDX_INVALID 0xFFFF
24#define DAO_LC_SESS_ID_INVALID 0
630 uint16_t mod_len, uint16_t exp_len, uint16_t msg_len,
631 uint8_t *mod, uint8_t *exp, uint8_t *msg, uint8_t *em,
665 uint16_t mod_len, uint16_t exp_len, uint8_t *mod,
666 uint8_t *exp, uint8_t *em, uint8_t *msg, uint64_t op_cookie);
707 uint16_t msg_len, uint8_t *q, uint8_t *dQ, uint8_t *p,
708 uint8_t *dP, uint8_t *qInv, uint8_t *msg, uint8_t *em,
748 uint8_t *q, uint8_t *dQ, uint8_t *p, uint8_t *dP,
749 uint8_t *qInv, uint8_t *em, uint8_t *msg,
811 uint64_t sess_cookie);
int dao_liquid_crypto_fini(void)
int dao_liquid_crypto_info_get(struct dao_lc_info *info)
int dao_crypto_enqueue_op_pkcs1v15dec(uint8_t dev_id, uint16_t qp_id, enum dao_liquid_crypto_rsa_key_type key_type, uint16_t mod_len, uint16_t exp_len, uint8_t *mod, uint8_t *exp, uint8_t *em, uint8_t *msg, uint64_t op_cookie)
@ DAO_LC_FC_AUTH_KEY_SRC_OP
@ DAO_LC_FC_AUTH_KEY_SRC_CTX
int dao_liquid_crypto_sym_sess_create(uint8_t dev_id, const struct dao_lc_sym_ctx *ctx, uint64_t sess_cookie)
int dao_liquid_crypto_qp_configure(uint8_t dev_id, uint16_t qp_id, struct dao_lc_qp_conf *conf)
@ DAO_LC_FC_AES_KEY_LEN_192
@ DAO_LC_FC_AES_KEY_LEN_128
@ DAO_LC_FC_AES_KEY_LEN_256
dao_lc_fc_auth_input_type
@ DAO_LC_FC_AUTH_INPUT_OPAD_IPAD
@ DAO_LC_FC_AUTH_INPUT_KEY
int dao_liquid_crypto_dev_destroy(uint8_t dev_id)
@ DAO_UC_RSA_MOD_LEN_INVALID
@ DAO_UC_RSA_MOD_LEN_NOT_EVEN
@ DAO_UC_RSA_PKCS_DEC_INCORRECT
@ DAO_UC_RSA_SG_NOT_SUPPORTED
int dao_liquid_crypto_dev_start(uint8_t dev_id)
int dao_liquid_crypto_sym_sess_destroy(uint8_t dev_id, uint64_t sess_id, uint64_t sess_cookie)
#define DAO_CRYPTO_VERSION_LEN
@ DAO_LC_FC_ENC_CIPHER_CHACHA
@ DAO_LC_FC_ENC_CIPHER_AES_CCM
@ DAO_LC_FC_ENC_CIPHER_AES_CTR
@ DAO_LC_FC_ENC_CIPHER_3DES_CBC
@ DAO_LC_FC_ENC_CIPHER_AES_CFB
@ DAO_LC_FC_ENC_CIPHER_3DES_ECB
@ DAO_LC_FC_ENC_CIPHER_AES_XTS
@ DAO_LC_FC_ENC_CIPHER_AES_CBC
@ DAO_LC_FC_ENC_CIPHER_AES_GCM
@ DAO_LC_FC_ENC_CIPHER_NULL
@ DAO_LC_FC_ENC_CIPHER_AES_ECB
#define DAO_CRYPTO_MAX_NB_DEV
int dao_liquid_crypto_dev_stop(uint8_t dev_id)
int dao_liquid_crypto_enqueue_op_passthrough(uint8_t dev_id, uint16_t qp_id, uint64_t op_cookie)
int dao_crypto_enqueue_op_pkcs1v15dec_crt(uint8_t dev_id, uint16_t qp_id, uint16_t mod_len, uint8_t *q, uint8_t *dQ, uint8_t *p, uint8_t *dP, uint8_t *qInv, uint8_t *em, uint8_t *msg, uint64_t op_cookie)
uint16_t dao_liquid_crypto_dequeue_burst(uint8_t dev_id, uint16_t qp_id, struct dao_lc_res *res, uint16_t nb_ops)
@ DAO_LC_CMD_EVENT_SESS_CREATE
@ DAO_LC_CMD_EVENT_SESS_DESTROY
uint16_t dao_liquid_crypto_cmd_event_dequeue(uint8_t dev_id, struct dao_lc_cmd_event *events, uint16_t nb_events)
int dao_crypto_enqueue_op_pkcs1v15enc_crt(uint8_t dev_id, uint16_t qp_id, uint16_t mod_len, uint16_t msg_len, uint8_t *q, uint8_t *dQ, uint8_t *p, uint8_t *dP, uint8_t *qInv, uint8_t *msg, uint8_t *em, uint64_t op_cookie)
@ DAO_LC_FC_HASH_TYPE_SHA2_SHA384
@ DAO_LC_FC_HASH_TYPE_MD5
@ DAO_LC_FC_HASH_TYPE_SHA2_SHA256
@ DAO_LC_FC_HASH_TYPE_SHA2_SHA224
@ DAO_LC_FC_HASH_TYPE_POLY1305
@ DAO_LC_FC_HASH_TYPE_SHA1
@ DAO_LC_FC_HASH_TYPE_SHA2_SHA512
@ DAO_LC_FC_HASH_TYPE_NULL
@ DAO_LC_FC_HASH_TYPE_GMAC
int dao_liquid_crypto_init(void)
uint16_t dao_liquid_crypto_sym_enqueue_burst(uint8_t dev_id, uint16_t qp_id, struct dao_lc_sym_op *op, uint16_t nb_ops)
int dao_liquid_crypto_dev_create(struct dao_lc_dev_conf *conf)
dao_liquid_crypto_rsa_key_type
@ DAO_LC_RSA_KEY_TYPE_PRIVATE
@ DAO_LC_RSA_KEY_TYPE_PUBLIC
int dao_crypto_enqueue_op_pkcs1v15enc(uint8_t dev_id, uint16_t qp_id, enum dao_liquid_crypto_rsa_key_type key_type, uint16_t mod_len, uint16_t exp_len, uint16_t msg_len, uint8_t *mod, uint8_t *exp, uint8_t *msg, uint8_t *em, uint64_t op_cookie)
struct dao_lc_cmd_sess_event sess_event
uint16_t nb_qp[DAO_CRYPTO_MAX_NB_DEV]
char version[DAO_CRYPTO_VERSION_LEN]
bool out_of_order_delivery_en
struct dao_lc_sym_fc_ctx fc
enum dao_lc_sym_opcode opcode
struct dao_lc_buf * in_buffer
struct dao_lc_buf * out_buffer