99 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			99 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | 
 | ||
|  | #ifndef IOT_CRYPTO_HASH_API_H
 | ||
|  | #define IOT_CRYPTO_HASH_API_H
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #include "iot_crypto_error_api.h"
 | ||
|  | 
 | ||
|  | /** \defgroup CRYPTO_APIs CRYPTO APIs
 | ||
|  |   */ | ||
|  | 
 | ||
|  | /** @addtogroup CRYPTO_APIs
 | ||
|  |   * @{ | ||
|  |   */ | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_crypto_sha224() - SHA224 | ||
|  |  * @param input:         input buffer | ||
|  |  * @param ilen:          buffer len | ||
|  |  * @param output:        output buffer | ||
|  |  * | ||
|  |  * @retval:              error code. see CRYPTO_RET_XXX | ||
|  |  */ | ||
|  | uint32_t iot_crypto_sha224(const uint8_t *input, uint32_t ilen, | ||
|  |     uint8_t output[28]); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_crypto_sha256() - SHA256 | ||
|  |  * @param input:         input buffer | ||
|  |  * @param ilen:          buffer len | ||
|  |  * @param output:        output buffer | ||
|  |  * | ||
|  |  * @retval:              error code. see CRYPTO_RET_XXX | ||
|  |  */ | ||
|  | uint32_t iot_crypto_sha256(const uint8_t *input, uint32_t ilen, | ||
|  |     uint8_t output[32]); | ||
|  | 
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_crypto_sha384() - SHA384 | ||
|  |  * @param input:         input buffer | ||
|  |  * @param ilen:          buffer len | ||
|  |  * @param output:        output buffer | ||
|  |  * | ||
|  |  * @retval:              error code. see CRYPTO_RET_XXX | ||
|  |  */ | ||
|  | uint32_t iot_crypto_sha384( const uint8_t *input, size_t ilen, | ||
|  |     uint8_t output[48]); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_crypto_sha512() - SHA512 | ||
|  |  * @param input:         input buffer | ||
|  |  * @param ilen:          buffer len | ||
|  |  * @param output:        output buffer | ||
|  |  * | ||
|  |  * @retval:              error code. see CRYPTO_RET_XXX | ||
|  |  */ | ||
|  | uint32_t iot_crypto_sha512( const uint8_t *input, size_t ilen, | ||
|  |     uint8_t output[64]); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_crypto_sm3 | ||
|  |  * | ||
|  |  * @param indata:           input data | ||
|  |  * @param indata_len:       inbuffer len | ||
|  |  * @param outdata:          output data | ||
|  |  * @param outdata_len:      output len | ||
|  |  * | ||
|  |  * @retval:                 error code. see CRYPTO_RET_XXX | ||
|  |  */ | ||
|  | uint32_t iot_crypto_sm3(uint8_t *indata, uint32_t indata_len, | ||
|  |     uint8_t *outdata, uint32_t outdata_len); | ||
|  | 
 | ||
|  | /**
 | ||
|  |   * @} | ||
|  |   */ | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif //IOT_CRYPTO_HASH_API_H
 |