Go to the documentation of this file.
31 #ifndef _GD32W5XX_CRYPTO_PKC_H
32 #define _GD32W5XX_CRYPTO_PKC_H
38 #ifndef GD32W5XX_CRYPTO_PKC_SUPPORT
39 #define GD32W5XX_CRYPTO_PKC_SUPPORT DISABLED
40 #elif (GD32W5XX_CRYPTO_PKC_SUPPORT != ENABLED && GD32W5XX_CRYPTO_PKC_SUPPORT != DISABLED)
41 #error GD32W5XX_CRYPTO_PKC_SUPPORT parameter is not valid
45 #define PKCAU_MAX_ROS 3136
47 #define PKCAU_MAX_EOS 640
50 #define PKCAU_RAM ((volatile uint32_t *) (PKCAU_BASE + 0x0400))
53 #define PKCAU_RAM_OFFSET(n) (((n) - 0x0400) / sizeof(uint32_t))
56 #define PKCAU_ARITH_MUL_IN_OP_LEN PKCAU_RAM_OFFSET(0x0404)
57 #define PKCAU_ARITH_MUL_IN_A PKCAU_RAM_OFFSET(0x08B4)
58 #define PKCAU_ARITH_MUL_IN_B PKCAU_RAM_OFFSET(0x0A44)
59 #define PKCAU_ARITH_MUL_OUT_R PKCAU_RAM_OFFSET(0x0BD0)
62 #define PKCAU_MOD_EXP_IN_EXP_LEN PKCAU_RAM_OFFSET(0x0400)
63 #define PKCAU_MOD_EXP_IN_OP_LEN PKCAU_RAM_OFFSET(0x0404)
64 #define PKCAU_MOD_EXP_IN_A PKCAU_RAM_OFFSET(0x0A44)
65 #define PKCAU_MOD_EXP_IN_E PKCAU_RAM_OFFSET(0x0BD0)
66 #define PKCAU_MOD_EXP_IN_N PKCAU_RAM_OFFSET(0x0D5C)
67 #define PKCAU_MOD_EXP_OUT_R PKCAU_RAM_OFFSET(0x0724)
70 #define PKCAU_RSA_CRT_EXP_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404)
71 #define PKCAU_RSA_CRT_EXP_IN_DP PKCAU_RAM_OFFSET(0x065C)
72 #define PKCAU_RSA_CRT_EXP_IN_DQ PKCAU_RAM_OFFSET(0x0BD0)
73 #define PKCAU_RSA_CRT_EXP_IN_QINV PKCAU_RAM_OFFSET(0x07EC)
74 #define PKCAU_RSA_CRT_EXP_IN_P PKCAU_RAM_OFFSET(0x097C)
75 #define PKCAU_RSA_CRT_EXP_IN_Q PKCAU_RAM_OFFSET(0x0D5C)
76 #define PKCAU_RSA_CRT_EXP_IN_A PKCAU_RAM_OFFSET(0x0EEC)
77 #define PKCAU_RSA_CRT_EXP_OUT_R PKCAU_RAM_OFFSET(0x0724)
80 #define PKCAU_ECC_MUL_IN_SCALAR_LEN PKCAU_RAM_OFFSET(0x0400)
81 #define PKCAU_ECC_MUL_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404)
82 #define PKCAU_ECC_MUL_IN_A_SIGN PKCAU_RAM_OFFSET(0x0408)
83 #define PKCAU_ECC_MUL_IN_A PKCAU_RAM_OFFSET(0x040C)
84 #define PKCAU_ECC_MUL_IN_P PKCAU_RAM_OFFSET(0x0460)
85 #define PKCAU_ECC_MUL_IN_K PKCAU_RAM_OFFSET(0x0508)
86 #define PKCAU_ECC_MUL_IN_X PKCAU_RAM_OFFSET(0x055C)
87 #define PKCAU_ECC_MUL_IN_Y PKCAU_RAM_OFFSET(0x05B0)
88 #define PKCAU_ECC_MUL_OUT_X PKCAU_RAM_OFFSET(0x055C)
89 #define PKCAU_ECC_MUL_OUT_Y PKCAU_RAM_OFFSET(0x05B0)
92 #define PKCAU_ECDSA_SIGN_IN_ORDER_LEN PKCAU_RAM_OFFSET(0x0400)
93 #define PKCAU_ECDSA_SIGN_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404)
94 #define PKCAU_ECDSA_SIGN_IN_A_SIGN PKCAU_RAM_OFFSET(0x0408)
95 #define PKCAU_ECDSA_SIGN_IN_A PKCAU_RAM_OFFSET(0x040C)
96 #define PKCAU_ECDSA_SIGN_IN_P PKCAU_RAM_OFFSET(0x0460)
97 #define PKCAU_ECDSA_SIGN_IN_K PKCAU_RAM_OFFSET(0x0508)
98 #define PKCAU_ECDSA_SIGN_IN_GX PKCAU_RAM_OFFSET(0x055C)
99 #define PKCAU_ECDSA_SIGN_IN_GY PKCAU_RAM_OFFSET(0x05B0)
100 #define PKCAU_ECDSA_SIGN_IN_Z PKCAU_RAM_OFFSET(0x0DE8)
101 #define PKCAU_ECDSA_SIGN_IN_D PKCAU_RAM_OFFSET(0x0E3C)
102 #define PKCAU_ECDSA_SIGN_IN_N PKCAU_RAM_OFFSET(0x0E94)
103 #define PKCAU_ECDSA_SIGN_OUT_R PKCAU_RAM_OFFSET(0x0700)
104 #define PKCAU_ECDSA_SIGN_OUT_S PKCAU_RAM_OFFSET(0x0754)
105 #define PKCAU_ECDSA_SIGN_OUT_ERROR PKCAU_RAM_OFFSET(0x0EE8)
108 #define PKCAU_ECDSA_VERIF_IN_ORDER_LEN PKCAU_RAM_OFFSET(0x0404)
109 #define PKCAU_ECDSA_VERIF_IN_MOD_LEN PKCAU_RAM_OFFSET(0x04B4)
110 #define PKCAU_ECDSA_VERIF_IN_A_SIGN PKCAU_RAM_OFFSET(0x045C)
111 #define PKCAU_ECDSA_VERIF_IN_A PKCAU_RAM_OFFSET(0x0460)
112 #define PKCAU_ECDSA_VERIF_IN_P PKCAU_RAM_OFFSET(0x04B8)
113 #define PKCAU_ECDSA_VERIF_IN_GX PKCAU_RAM_OFFSET(0x05E8)
114 #define PKCAU_ECDSA_VERIF_IN_GY PKCAU_RAM_OFFSET(0x063C)
115 #define PKCAU_ECDSA_VERIF_IN_S PKCAU_RAM_OFFSET(0x0A44)
116 #define PKCAU_ECDSA_VERIF_IN_N PKCAU_RAM_OFFSET(0x0D5C)
117 #define PKCAU_ECDSA_VERIF_IN_QX PKCAU_RAM_OFFSET(0x0F40)
118 #define PKCAU_ECDSA_VERIF_IN_QY PKCAU_RAM_OFFSET(0x0F94)
119 #define PKCAU_ECDSA_VERIF_IN_Z PKCAU_RAM_OFFSET(0x0FE8)
120 #define PKCAU_ECDSA_VERIF_IN_R PKCAU_RAM_OFFSET(0x1098)
121 #define PKCAU_ECDSA_VERIF_OUT_RES PKCAU_RAM_OFFSET(0x05B0)
124 #define PKCAU_STATUS_SUCCESS 0x00000000
125 #define PKCAU_STATUS_INVALID 0xFFFFFFFF
General definitions for cryptographic algorithms.
error_t pkcauInit(void)
PKCAU module initialization.