新增所有文件
This commit is contained in:
105
drivers/include/crypto/mailbox/sdrv_crypto_mailbox_hmac.h
Normal file
105
drivers/include/crypto/mailbox/sdrv_crypto_mailbox_hmac.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* @file sdrv_crypto_mailbox_hmac.h
|
||||
* @brief SemiDrive CRYPTO hmac interface header file.
|
||||
*
|
||||
* @copyright Copyright (c) 2021 Semidrive Semiconductor.
|
||||
* All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef SDRV_CRYPTO_MAILBOX_HMAC_H
|
||||
#define SDRV_CRYPTO_MAILBOX_HMAC_H
|
||||
|
||||
#include "sdrv_crypto_mailbox_common.h"
|
||||
#include "sdrv_crypto_mailbox_trng.h"
|
||||
|
||||
/**
|
||||
* @brief CRYPTO cmd of generate MAC.
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t cmd_id;
|
||||
uint8_t need_seed;
|
||||
uint8_t mode;
|
||||
uint8_t mac_len;
|
||||
uint8_t data_ptr[4];
|
||||
uint8_t data_len[4];
|
||||
uint8_t key_id0[2];
|
||||
uint8_t key_id1[2];
|
||||
uint8_t key_ptr[4];
|
||||
uint8_t rev2[2];
|
||||
uint8_t key_len[2];
|
||||
uint8_t mac_ptr[4];
|
||||
uint8_t aut_info_ptr[4];
|
||||
} cmd_generateMAC_t;
|
||||
|
||||
/**
|
||||
* @brief CRYPTO cmd of verify MAC.
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t cmd_id;
|
||||
uint8_t need_seed;
|
||||
uint8_t mode;
|
||||
uint8_t mac_len;
|
||||
uint8_t data_ptr[4];
|
||||
uint8_t data_len[4];
|
||||
uint8_t key_id0[2];
|
||||
uint8_t key_id1[2];
|
||||
uint8_t key_ptr[4];
|
||||
uint8_t rev2[2];
|
||||
uint8_t key_len[2];
|
||||
uint8_t mac_ptr[4];
|
||||
uint8_t aut_info_ptr[4];
|
||||
} cmd_verifyMAC_t;
|
||||
|
||||
/**
|
||||
* @brief get hmac value
|
||||
*
|
||||
* This function get hmac
|
||||
*
|
||||
* @param[in] mode hmac mode
|
||||
* @param[in] msg msg buff
|
||||
* @param[in] msg_bytes msg len
|
||||
* @param[in] key_type key type
|
||||
* @param[in] key key buff
|
||||
* @param[in] key_id key id
|
||||
* @param[in] key_bytes key len
|
||||
* @param[in] mac_bytes mac len
|
||||
* @param[out] out mac buff
|
||||
* @param[in] mac_buf key_id mac buf
|
||||
* @return CMD_RETURN_SUCCESS or error code.
|
||||
*/
|
||||
sdrv_crypto_error_status_e cmd_hmac_generate_mac(uint8_t mode, uint8_t *msg,
|
||||
uint32_t msg_bytes,
|
||||
cmd_key_type_e key_type,
|
||||
const uint8_t *key,
|
||||
uint16_t key_id,
|
||||
uint32_t key_bytes,
|
||||
uint8_t mac_bytes,
|
||||
uint8_t *out,
|
||||
uint8_t *mac_buf);
|
||||
|
||||
/**
|
||||
* @brief verify hmac
|
||||
*
|
||||
* This function verify hmac.
|
||||
*
|
||||
* @param[in] mode hmac mode
|
||||
* @param[in] msg msg buff
|
||||
* @param[in] msg_bytes msg len
|
||||
* @param[in] key_type key type
|
||||
* @param[in] key key buff
|
||||
* @param[in] key_id key id
|
||||
* @param[in] key_bytes key len
|
||||
* @param[in] hmac_bytes mac len
|
||||
* @param[in] hmac mac buff
|
||||
* @param[in] mac_buf key_id mac buf
|
||||
* @return CMD_RETURN_SUCCESS or error code.
|
||||
*/
|
||||
sdrv_crypto_error_status_e cmd_hmac_verify_mac(uint8_t mode, uint8_t *msg,
|
||||
uint32_t msg_bytes,
|
||||
cmd_key_type_e key_type,
|
||||
const uint8_t *key,
|
||||
uint16_t key_id,
|
||||
uint32_t key_bytes,
|
||||
uint8_t hmac_bytes,
|
||||
uint8_t *hmac, uint8_t *mac_buf);
|
||||
#endif
|
||||
Reference in New Issue
Block a user