b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | ///////////////////////////////////////////////////////////////////////////// |
| 2 | ///////////////////////////////////////////////////////////////////////////// |
| 3 | // // |
| 4 | // Crypt Lib Interface // |
| 5 | // // |
| 6 | ///////////////////////////////////////////////////////////////////////////// |
| 7 | /**************************************************************************** |
| 8 | History: |
| 9 | Date Author Changes |
| 10 | 2011/10/03 Deniz Karakoyunlu Created. |
| 11 | *****************************************************************************/ |
| 12 | |
| 13 | #ifndef _crypt_lib_H_ |
| 14 | #define _crypt_lib_H_ |
| 15 | |
| 16 | #include "tim.h" |
| 17 | #define RSA2K_BUFFER_0_SIZE 664 // bytes |
| 18 | #define RSA2K_BUFFER_1_SIZE 820 // bytes |
| 19 | #define RSA2K_BUFFER_2_SIZE 820 // bytes |
| 20 | #define RSA2K_KEY_SIZE 720 // bytes |
| 21 | #define RSA2K_BIGNUM_SIZE 600 // bytes |
| 22 | |
| 23 | #define MAX_BUFFER_0_SIZE (RSA2K_BUFFER_0_SIZE) |
| 24 | #define MAX_BUFFER_1_SIZE (RSA2K_BUFFER_1_SIZE) |
| 25 | #define MAX_BUFFER_2_SIZE (RSA2K_BUFFER_2_SIZE) |
| 26 | #define MAX_KEY_SIZE (RSA2K_KEY_SIZE) |
| 27 | #define MAX_BIGNUM_SIZE (RSA2K_BIGNUM_SIZE) |
| 28 | |
| 29 | |
| 30 | #define BUFFER_0_OFFSET 0 |
| 31 | #define BUFFER_1_OFFSET (BUFFER_0_OFFSET + MAX_BUFFER_0_SIZE) |
| 32 | #define BUFFER_2_OFFSET (BUFFER_1_OFFSET + MAX_BUFFER_1_SIZE) |
| 33 | #define KEY_OFFSET (BUFFER_2_OFFSET + MAX_BUFFER_2_SIZE) |
| 34 | #define X_OFFSET (KEY_OFFSET + MAX_KEY_SIZE) |
| 35 | #define Y_OFFSET (X_OFFSET + MAX_BIGNUM_SIZE) |
| 36 | |
| 37 | #define SBUF_NUM 6 |
| 38 | #define MBUF_NUM 4 |
| 39 | #define LBUF_NUM 6 |
| 40 | |
| 41 | #define SBUF_SIZE 16 |
| 42 | #define MBUF_SIZE 280 |
| 43 | #define LBUF_SIZE 560 |
| 44 | #define HASH_BUF_SIZE (32) |
| 45 | #define DATABUFFERSIZE (SBUF_NUM*SBUF_SIZE + MBUF_NUM*MBUF_SIZE + LBUF_NUM*LBUF_SIZE + HASH_BUF_SIZE) |
| 46 | |
| 47 | UINT_T IPPCP_SecurityInitialization(UINT_T adv_ver); |
| 48 | UINT_T IPPCP_SHAMessageDigest(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, UINT8_T* pMesgDigestOut, UINT_T DigestByteLen); |
| 49 | UINT_T IPPCP_PKCS_DSA_Verify(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, const pPLAT_DS pDSA, UINT8_T* DataBuffer); |
| 50 | UINT_T IPPCP_ECCP_DSA_Verify(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, const pPLAT_DS pDSA, UINT8_T* DataBuffer); |
| 51 | UINT_T IPPCP_Get_Nonce(UINT_T* pNonceOut, UINT_T NonceBitLen); |
| 52 | UINT_T IPPCP_Get_NonceBitLen(void); |
| 53 | UINT_T IPPCP_HMAC_KEY_GEN(UINT8_T* RPMB_DerivedKey); |
| 54 | UINT_T IPPCP_HMAC( const UINT8_T* pHMAC_Key, const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, UINT8_T* pMesgDigestOut ); |
| 55 | |
| 56 | #define IPPCP_NONCE_BIT_LEN 256 |
| 57 | |
| 58 | #endif // _crypt_lib_H_ |
| 59 | |