GD32W5 public-key hardware accelerator (PKCAU) More...
#include "core/crypto.h"
Go to the source code of this file.
Functions | |
error_t | pkcauInit (void) |
PKCAU module initialization. More... | |
Detailed Description
GD32W5 public-key hardware accelerator (PKCAU)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCRYPTO Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file gd32w5xx_crypto_pkc.h.
Macro Definition Documentation
◆ GD32W5XX_CRYPTO_PKC_SUPPORT
#define GD32W5XX_CRYPTO_PKC_SUPPORT DISABLED |
Definition at line 39 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ARITH_MUL_IN_A
#define PKCAU_ARITH_MUL_IN_A PKCAU_RAM_OFFSET(0x08B4) |
Definition at line 57 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ARITH_MUL_IN_B
#define PKCAU_ARITH_MUL_IN_B PKCAU_RAM_OFFSET(0x0A44) |
Definition at line 58 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ARITH_MUL_IN_OP_LEN
#define PKCAU_ARITH_MUL_IN_OP_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 56 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ARITH_MUL_OUT_R
#define PKCAU_ARITH_MUL_OUT_R PKCAU_RAM_OFFSET(0x0BD0) |
Definition at line 59 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_A
#define PKCAU_ECC_MUL_IN_A PKCAU_RAM_OFFSET(0x040C) |
Definition at line 83 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_A_SIGN
#define PKCAU_ECC_MUL_IN_A_SIGN PKCAU_RAM_OFFSET(0x0408) |
Definition at line 82 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_K
#define PKCAU_ECC_MUL_IN_K PKCAU_RAM_OFFSET(0x0508) |
Definition at line 85 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_MOD_LEN
#define PKCAU_ECC_MUL_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 81 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_P
#define PKCAU_ECC_MUL_IN_P PKCAU_RAM_OFFSET(0x0460) |
Definition at line 84 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_SCALAR_LEN
#define PKCAU_ECC_MUL_IN_SCALAR_LEN PKCAU_RAM_OFFSET(0x0400) |
Definition at line 80 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_X
#define PKCAU_ECC_MUL_IN_X PKCAU_RAM_OFFSET(0x055C) |
Definition at line 86 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_IN_Y
#define PKCAU_ECC_MUL_IN_Y PKCAU_RAM_OFFSET(0x05B0) |
Definition at line 87 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_OUT_X
#define PKCAU_ECC_MUL_OUT_X PKCAU_RAM_OFFSET(0x055C) |
Definition at line 88 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECC_MUL_OUT_Y
#define PKCAU_ECC_MUL_OUT_Y PKCAU_RAM_OFFSET(0x05B0) |
Definition at line 89 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_A
#define PKCAU_ECDSA_SIGN_IN_A PKCAU_RAM_OFFSET(0x040C) |
Definition at line 95 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_A_SIGN
#define PKCAU_ECDSA_SIGN_IN_A_SIGN PKCAU_RAM_OFFSET(0x0408) |
Definition at line 94 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_D
#define PKCAU_ECDSA_SIGN_IN_D PKCAU_RAM_OFFSET(0x0E3C) |
Definition at line 101 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_GX
#define PKCAU_ECDSA_SIGN_IN_GX PKCAU_RAM_OFFSET(0x055C) |
Definition at line 98 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_GY
#define PKCAU_ECDSA_SIGN_IN_GY PKCAU_RAM_OFFSET(0x05B0) |
Definition at line 99 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_K
#define PKCAU_ECDSA_SIGN_IN_K PKCAU_RAM_OFFSET(0x0508) |
Definition at line 97 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_MOD_LEN
#define PKCAU_ECDSA_SIGN_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 93 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_N
#define PKCAU_ECDSA_SIGN_IN_N PKCAU_RAM_OFFSET(0x0E94) |
Definition at line 102 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_ORDER_LEN
#define PKCAU_ECDSA_SIGN_IN_ORDER_LEN PKCAU_RAM_OFFSET(0x0400) |
Definition at line 92 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_P
#define PKCAU_ECDSA_SIGN_IN_P PKCAU_RAM_OFFSET(0x0460) |
Definition at line 96 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_IN_Z
#define PKCAU_ECDSA_SIGN_IN_Z PKCAU_RAM_OFFSET(0x0DE8) |
Definition at line 100 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_OUT_ERROR
#define PKCAU_ECDSA_SIGN_OUT_ERROR PKCAU_RAM_OFFSET(0x0EE8) |
Definition at line 105 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_OUT_R
#define PKCAU_ECDSA_SIGN_OUT_R PKCAU_RAM_OFFSET(0x0700) |
Definition at line 103 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_SIGN_OUT_S
#define PKCAU_ECDSA_SIGN_OUT_S PKCAU_RAM_OFFSET(0x0754) |
Definition at line 104 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_A
#define PKCAU_ECDSA_VERIF_IN_A PKCAU_RAM_OFFSET(0x0460) |
Definition at line 111 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_A_SIGN
#define PKCAU_ECDSA_VERIF_IN_A_SIGN PKCAU_RAM_OFFSET(0x045C) |
Definition at line 110 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_GX
#define PKCAU_ECDSA_VERIF_IN_GX PKCAU_RAM_OFFSET(0x05E8) |
Definition at line 113 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_GY
#define PKCAU_ECDSA_VERIF_IN_GY PKCAU_RAM_OFFSET(0x063C) |
Definition at line 114 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_MOD_LEN
#define PKCAU_ECDSA_VERIF_IN_MOD_LEN PKCAU_RAM_OFFSET(0x04B4) |
Definition at line 109 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_N
#define PKCAU_ECDSA_VERIF_IN_N PKCAU_RAM_OFFSET(0x0D5C) |
Definition at line 116 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_ORDER_LEN
#define PKCAU_ECDSA_VERIF_IN_ORDER_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 108 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_P
#define PKCAU_ECDSA_VERIF_IN_P PKCAU_RAM_OFFSET(0x04B8) |
Definition at line 112 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_QX
#define PKCAU_ECDSA_VERIF_IN_QX PKCAU_RAM_OFFSET(0x0F40) |
Definition at line 117 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_QY
#define PKCAU_ECDSA_VERIF_IN_QY PKCAU_RAM_OFFSET(0x0F94) |
Definition at line 118 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_R
#define PKCAU_ECDSA_VERIF_IN_R PKCAU_RAM_OFFSET(0x1098) |
Definition at line 120 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_S
#define PKCAU_ECDSA_VERIF_IN_S PKCAU_RAM_OFFSET(0x0A44) |
Definition at line 115 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_IN_Z
#define PKCAU_ECDSA_VERIF_IN_Z PKCAU_RAM_OFFSET(0x0FE8) |
Definition at line 119 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_ECDSA_VERIF_OUT_RES
#define PKCAU_ECDSA_VERIF_OUT_RES PKCAU_RAM_OFFSET(0x05B0) |
Definition at line 121 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MAX_EOS
#define PKCAU_MAX_EOS 640 |
Definition at line 47 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MAX_ROS
#define PKCAU_MAX_ROS 3136 |
Definition at line 45 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_IN_A
#define PKCAU_MOD_EXP_IN_A PKCAU_RAM_OFFSET(0x0A44) |
Definition at line 64 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_IN_E
#define PKCAU_MOD_EXP_IN_E PKCAU_RAM_OFFSET(0x0BD0) |
Definition at line 65 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_IN_EXP_LEN
#define PKCAU_MOD_EXP_IN_EXP_LEN PKCAU_RAM_OFFSET(0x0400) |
Definition at line 62 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_IN_N
#define PKCAU_MOD_EXP_IN_N PKCAU_RAM_OFFSET(0x0D5C) |
Definition at line 66 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_IN_OP_LEN
#define PKCAU_MOD_EXP_IN_OP_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 63 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_MOD_EXP_OUT_R
#define PKCAU_MOD_EXP_OUT_R PKCAU_RAM_OFFSET(0x0724) |
Definition at line 67 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RAM
#define PKCAU_RAM ((volatile uint32_t *) (PKCAU_BASE + 0x0400)) |
Definition at line 50 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RAM_OFFSET
Definition at line 53 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_A
#define PKCAU_RSA_CRT_EXP_IN_A PKCAU_RAM_OFFSET(0x0EEC) |
Definition at line 76 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_DP
#define PKCAU_RSA_CRT_EXP_IN_DP PKCAU_RAM_OFFSET(0x065C) |
Definition at line 71 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_DQ
#define PKCAU_RSA_CRT_EXP_IN_DQ PKCAU_RAM_OFFSET(0x0BD0) |
Definition at line 72 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_MOD_LEN
#define PKCAU_RSA_CRT_EXP_IN_MOD_LEN PKCAU_RAM_OFFSET(0x0404) |
Definition at line 70 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_P
#define PKCAU_RSA_CRT_EXP_IN_P PKCAU_RAM_OFFSET(0x097C) |
Definition at line 74 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_Q
#define PKCAU_RSA_CRT_EXP_IN_Q PKCAU_RAM_OFFSET(0x0D5C) |
Definition at line 75 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_IN_QINV
#define PKCAU_RSA_CRT_EXP_IN_QINV PKCAU_RAM_OFFSET(0x07EC) |
Definition at line 73 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_RSA_CRT_EXP_OUT_R
#define PKCAU_RSA_CRT_EXP_OUT_R PKCAU_RAM_OFFSET(0x0724) |
Definition at line 77 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_STATUS_INVALID
#define PKCAU_STATUS_INVALID 0xFFFFFFFF |
Definition at line 125 of file gd32w5xx_crypto_pkc.h.
◆ PKCAU_STATUS_SUCCESS
#define PKCAU_STATUS_SUCCESS 0x00000000 |
Definition at line 124 of file gd32w5xx_crypto_pkc.h.
Function Documentation
◆ pkcauInit()
error_t pkcauInit | ( | void | ) |