blob: c6f45dd810fa6756fe37a4f31ab9e382a19a0fd3 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/////////////////////////////////////////////////////////////////////////////
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
47UINT_T IPPCP_SecurityInitialization(UINT_T adv_ver);
48UINT_T IPPCP_SHAMessageDigest(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, UINT8_T* pMesgDigestOut, UINT_T DigestByteLen);
49UINT_T IPPCP_PKCS_DSA_Verify(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, const pPLAT_DS pDSA, UINT8_T* DataBuffer);
50UINT_T IPPCP_ECCP_DSA_Verify(const UINT8_T* pSrcMesgIn, UINT_T SrcMesgByteLen, const pPLAT_DS pDSA, UINT8_T* DataBuffer);
51UINT_T IPPCP_Get_Nonce(UINT_T* pNonceOut, UINT_T NonceBitLen);
52UINT_T IPPCP_Get_NonceBitLen(void);
53UINT_T IPPCP_HMAC_KEY_GEN(UINT8_T* RPMB_DerivedKey);
54UINT_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