WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
drv_pke_inner.h
浏览该文件的文档.
1
9#ifndef DRV_PKE_INNER_H
10#define DRV_PKE_INNER_H
11
12#include "crypto_pke_struct.h"
13
14/* Define ECC-HASH related data & types */
15#define SHA1_BLOCK_LENGTH 64
16#define SHA224_BLOCK_LENGTH 64
17#define SHA256_BLOCK_LENGTH 64
18#define SHA384_BLOCK_LENGTH 128
19#define SHA512_BLOCK_LENGTH 128
20#define SM3_BLOCK_LENGTH 64
21
22#define SHA1_RESULT_LENGTH 20
23#define SHA224_RESULT_LENGTH 28
24#define SHA256_RESULT_LENGTH 32
25#define SHA384_RESULT_LENGTH 48
26#define SHA512_RESULT_LENGTH 64
27#define SM3_RESULT_LENGTH 32
28
29/* result size */
30#define HASH_SIZE_SHA_1 20
31#define HASH_SIZE_SHA_224 28
32#define HASH_SIZE_SHA_256 32
33#define HASH_SIZE_SHA_384 48
34#define HASH_SIZE_SHA_512 64
35#define HASH_SIZE_SHA_MAX 64
36
37#define DRV_PKE_SM2_LEN_IN_BYTES 32
38
39#define WORD_INDEX_0 0
40#define WORD_INDEX_1 1
41#define WORD_INDEX_2 2
42#define WORD_INDEX_3 3
43
44#define MAX_LOW_2BITS 3
45#define MAX_LOW_3BITS 7
46#define MAX_LOW_4BITS 0xF
47#define MAX_LOW_8BITS 0xFF
48
49#define SHIFT_4BITS 4
50#define SHIFT_8BITS 8
51#define SHIFT_16BITS 16
52#define SHIFT_24BITS 24
53
54#define BOUND_VALUE_1 1
55
56#define REGISTER_WIDTH 8
57#define DRV_WORD_WIDTH 4
58#define BYTE_BITS 8
59
60#define RSA_PUBLIC 0x5A /* public key operation */
61#define RSA_PRIVATE 0xA5 /* private key operation */
62
63#define RSA_PADLEN_1 1
64#define RSA_PADLEN_2 2
65#define RSA_PADLEN_3 3
66#define RSA_PADLEN_8 8
67#define RSA_PADLEN_11 11
68#define RSA_PADLEN_19 19
69#define RSA_PADLEN_51 51
70#define RSA_PAD_X12 0x12
71#define RSA_PAD_X55 0x55
72#define RSA_PAD_XBC 0xBC
73
74#define RSA_MIN_KEY_LEN 32
75#define RSA_MAX_KEY_LEN 512
76#define HASH_SIZE_SHA_MAX 64
77
78#define ECC_TRY_CNT 8
79
80#define ECC_KEY_LEN_IN_WORD 0x12
81#define ECC_KEY_LEN_IN_BYTE (ECC_KEY_LEN_IN_WORD * 4)
82#define ECC_KEY_LEN_IN_BYTE_X2 (ECC_KEY_LEN_IN_BYTE * 2) // 2: x2 is for security enhancement
83
84
85#define SM2_PC_UNCOMPRESS 0x04
86#define SM2_TRY_CNT 8
87#define ENTLA_LEN 2
88#define PKE_U16_MAX 0xFFFF
89
100
108
114
121#endif /* DRV_PKE_INNER_H */
drv_pke_hash_type
Definition crypto_pke_struct.h:57
Definition drv_pke_inner.h:109
td_u32 block_len
Definition drv_pke_inner.h:111
drv_pke_hash_type hash_type
Definition drv_pke_inner.h:110
td_u32 result_len
Definition drv_pke_inner.h:112
Definition drv_pke_inner.h:101
drv_pke_hash_type hash_type
Definition drv_pke_inner.h:102
td_u8 * lhash_data
Definition drv_pke_inner.h:104
td_u32 asn1_len
Definition drv_pke_inner.h:106
td_u32 hash_len
Definition drv_pke_inner.h:103
td_u8 * asn1_data
Definition drv_pke_inner.h:105
Definition drv_pke_inner.h:90
td_u32 hash_len
Definition drv_pke_inner.h:96
td_u8 * em
Definition drv_pke_inner.h:93
td_u32 em_len
Definition drv_pke_inner.h:94
td_u32 klen
Definition drv_pke_inner.h:91
td_u8 * data
Definition drv_pke_inner.h:97
td_u8 * hash
Definition drv_pke_inner.h:95
td_u32 em_bit
Definition drv_pke_inner.h:92
td_u32 data_len
Definition drv_pke_inner.h:98
Definition drv_pke_inner.h:115
td_u8 * id
Definition drv_pke_inner.h:118
td_u16 id_len
Definition drv_pke_inner.h:119
td_u8 * py
Definition drv_pke_inner.h:117
td_u8 * px
Definition drv_pke_inner.h:116
unsigned short td_u16
Definition td_type.h:37
unsigned char td_u8
Definition td_type.h:36
unsigned int td_u32
Definition td_type.h:38