1a8e1175bSopenharmony_ci/*
2a8e1175bSopenharmony_ci *  Elliptic curves over GF(p): curve-specific data and functions
3a8e1175bSopenharmony_ci *
4a8e1175bSopenharmony_ci *  Copyright The Mbed TLS Contributors
5a8e1175bSopenharmony_ci *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6a8e1175bSopenharmony_ci */
7a8e1175bSopenharmony_ci
8a8e1175bSopenharmony_ci#include "common.h"
9a8e1175bSopenharmony_ci
10a8e1175bSopenharmony_ci#if !defined(MBEDTLS_ECP_WITH_MPI_UINT)
11a8e1175bSopenharmony_ci
12a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_LIGHT)
13a8e1175bSopenharmony_ci
14a8e1175bSopenharmony_ci#include "mbedtls/ecp.h"
15a8e1175bSopenharmony_ci#include "mbedtls/platform_util.h"
16a8e1175bSopenharmony_ci#include "mbedtls/error.h"
17a8e1175bSopenharmony_ci
18a8e1175bSopenharmony_ci#include "bn_mul.h"
19a8e1175bSopenharmony_ci#include "bignum_core.h"
20a8e1175bSopenharmony_ci#include "ecp_invasive.h"
21a8e1175bSopenharmony_ci
22a8e1175bSopenharmony_ci#include <string.h>
23a8e1175bSopenharmony_ci
24a8e1175bSopenharmony_ci#if !defined(MBEDTLS_ECP_ALT)
25a8e1175bSopenharmony_ci
26a8e1175bSopenharmony_ci#define ECP_MPI_INIT(_p, _n) { .p = (mbedtls_mpi_uint *) (_p), .s = 1, .n = (_n) }
27a8e1175bSopenharmony_ci
28a8e1175bSopenharmony_ci#define ECP_MPI_INIT_ARRAY(x)   \
29a8e1175bSopenharmony_ci    ECP_MPI_INIT(x, sizeof(x) / sizeof(mbedtls_mpi_uint))
30a8e1175bSopenharmony_ci
31a8e1175bSopenharmony_ci#define ECP_POINT_INIT_XY_Z0(x, y) { \
32a8e1175bSopenharmony_ci        ECP_MPI_INIT_ARRAY(x), ECP_MPI_INIT_ARRAY(y), ECP_MPI_INIT(NULL, 0) }
33a8e1175bSopenharmony_ci#define ECP_POINT_INIT_XY_Z1(x, y) { \
34a8e1175bSopenharmony_ci        ECP_MPI_INIT_ARRAY(x), ECP_MPI_INIT_ARRAY(y), ECP_MPI_INIT(mpi_one, 1) }
35a8e1175bSopenharmony_ci
36a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) ||   \
37a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) ||   \
38a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ||   \
39a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) ||   \
40a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) ||   \
41a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)   ||   \
42a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)   ||   \
43a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)   ||   \
44a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) ||   \
45a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) ||   \
46a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
47a8e1175bSopenharmony_ci/* For these curves, we build the group parameters dynamically. */
48a8e1175bSopenharmony_ci#define ECP_LOAD_GROUP
49a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint mpi_one[] = { 1 };
50a8e1175bSopenharmony_ci#endif
51a8e1175bSopenharmony_ci
52a8e1175bSopenharmony_ci/*
53a8e1175bSopenharmony_ci * Note: the constants are in little-endian order
54a8e1175bSopenharmony_ci * to be directly usable in MPIs
55a8e1175bSopenharmony_ci */
56a8e1175bSopenharmony_ci
57a8e1175bSopenharmony_ci/*
58a8e1175bSopenharmony_ci * Domain parameters for secp192r1
59a8e1175bSopenharmony_ci */
60a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
61a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_p[] = {
62a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
63a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
64a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
65a8e1175bSopenharmony_ci};
66a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_b[] = {
67a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xB9, 0x46, 0xC1, 0xEC, 0xDE, 0xB8, 0xFE),
68a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x30, 0x24, 0x72, 0xAB, 0xE9, 0xA7, 0x0F),
69a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x80, 0x9C, 0xE5, 0x19, 0x05, 0x21, 0x64),
70a8e1175bSopenharmony_ci};
71a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_gx[] = {
72a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x10, 0xFF, 0x82, 0xFD, 0x0A, 0xFF, 0xF4),
73a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x88, 0xA1, 0x43, 0xEB, 0x20, 0xBF, 0x7C),
74a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x90, 0x30, 0xB0, 0x0E, 0xA8, 0x8D, 0x18),
75a8e1175bSopenharmony_ci};
76a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_gy[] = {
77a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x48, 0x79, 0x1E, 0xA1, 0x77, 0xF9, 0x73),
78a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xCD, 0x24, 0x6B, 0xED, 0x11, 0x10, 0x63),
79a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xDA, 0xC8, 0xFF, 0x95, 0x2B, 0x19, 0x07),
80a8e1175bSopenharmony_ci};
81a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_n[] = {
82a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x28, 0xD2, 0xB4, 0xB1, 0xC9, 0x6B, 0x14),
83a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xF8, 0xDE, 0x99, 0xFF, 0xFF, 0xFF, 0xFF),
84a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
85a8e1175bSopenharmony_ci};
86a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
87a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_0_X[] = {
88a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x10, 0xFF, 0x82, 0xFD, 0x0A, 0xFF, 0xF4),
89a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x88, 0xA1, 0x43, 0xEB, 0x20, 0xBF, 0x7C),
90a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x90, 0x30, 0xB0, 0x0E, 0xA8, 0x8D, 0x18),
91a8e1175bSopenharmony_ci};
92a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_0_Y[] = {
93a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x48, 0x79, 0x1E, 0xA1, 0x77, 0xF9, 0x73),
94a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xCD, 0x24, 0x6B, 0xED, 0x11, 0x10, 0x63),
95a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xDA, 0xC8, 0xFF, 0x95, 0x2B, 0x19, 0x07),
96a8e1175bSopenharmony_ci};
97a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_1_X[] = {
98a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x9E, 0xE3, 0x60, 0x59, 0xD1, 0xC4, 0xC2),
99a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBD, 0x22, 0xD7, 0x2D, 0x07, 0xBD, 0xB6),
100a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x2A, 0xCF, 0x33, 0xF0, 0xBE, 0xD1, 0xED),
101a8e1175bSopenharmony_ci};
102a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_1_Y[] = {
103a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x71, 0x4B, 0xA8, 0xED, 0x7E, 0xC9, 0x1A),
104a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x2A, 0xF6, 0xDF, 0x0E, 0xE8, 0x4C, 0x0F),
105a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x35, 0xF7, 0x8A, 0xC3, 0xEC, 0xDE, 0x1E),
106a8e1175bSopenharmony_ci};
107a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_2_X[] = {
108a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x67, 0xC2, 0x1D, 0x32, 0x8F, 0x10, 0xFB),
109a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x2D, 0x17, 0xF3, 0xE4, 0xFE, 0xD8, 0x13),
110a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x45, 0x10, 0x70, 0x2C, 0x3E, 0x52, 0x3E),
111a8e1175bSopenharmony_ci};
112a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_2_Y[] = {
113a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xF1, 0x04, 0x5D, 0xEE, 0xD4, 0x56, 0xE6),
114a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xB7, 0x38, 0x27, 0x61, 0xAA, 0x81, 0x87),
115a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x37, 0xD7, 0x0E, 0x29, 0x0E, 0x11, 0x14),
116a8e1175bSopenharmony_ci};
117a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_3_X[] = {
118a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x35, 0x52, 0xC6, 0x31, 0xB7, 0x27, 0xF5),
119a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xD4, 0x15, 0x98, 0x0F, 0xE7, 0xF3, 0x6A),
120a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x31, 0x70, 0x35, 0x09, 0xA0, 0x2B, 0xC2),
121a8e1175bSopenharmony_ci};
122a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_3_Y[] = {
123a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x75, 0xA7, 0x4C, 0x88, 0xCF, 0x5B, 0xE4),
124a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x17, 0x48, 0x8D, 0xF2, 0xF0, 0x86, 0xED),
125a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xCF, 0xFE, 0x6B, 0xB0, 0xA5, 0x06, 0xAB),
126a8e1175bSopenharmony_ci};
127a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_4_X[] = {
128a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x6A, 0xDC, 0x9A, 0x6D, 0x7B, 0x47, 0x2E),
129a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xFC, 0x51, 0x12, 0x62, 0x66, 0x0B, 0x59),
130a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x40, 0x93, 0xA0, 0xB5, 0x5A, 0x58, 0xD7),
131a8e1175bSopenharmony_ci};
132a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_4_Y[] = {
133a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xCB, 0xAF, 0xDC, 0x0B, 0xA1, 0x26, 0xFB),
134a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x36, 0x9D, 0xA3, 0xD7, 0x3B, 0xAD, 0x39),
135a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x3B, 0x05, 0x9A, 0xA8, 0xAA, 0x69, 0xB2),
136a8e1175bSopenharmony_ci};
137a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_5_X[] = {
138a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xD9, 0xD1, 0x4D, 0x4A, 0x6E, 0x96, 0x1E),
139a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x66, 0x32, 0x39, 0xC6, 0x57, 0x7D, 0xE6),
140a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xA0, 0x36, 0xC2, 0x45, 0xF9, 0x00, 0x62),
141a8e1175bSopenharmony_ci};
142a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_5_Y[] = {
143a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xEF, 0x59, 0x46, 0xDC, 0x60, 0xD9, 0x8F),
144a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xB0, 0xE9, 0x41, 0xA4, 0x87, 0x76, 0x89),
145a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xD4, 0x0E, 0xB2, 0xFA, 0x16, 0x56, 0xDC),
146a8e1175bSopenharmony_ci};
147a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_6_X[] = {
148a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x62, 0xD2, 0xB1, 0x34, 0xB2, 0xF1, 0x06),
149a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xED, 0x55, 0xC5, 0x47, 0xB5, 0x07, 0x15),
150a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xF6, 0x2F, 0x94, 0xC3, 0xDD, 0x54, 0x2F),
151a8e1175bSopenharmony_ci};
152a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_6_Y[] = {
153a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xA6, 0xD4, 0x8C, 0xA9, 0xCE, 0x4D, 0x2E),
154a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x4B, 0x46, 0xCC, 0xB2, 0x55, 0xC8, 0xB2),
155a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xAE, 0x31, 0xED, 0x89, 0x65, 0x59, 0x55),
156a8e1175bSopenharmony_ci};
157a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_7_X[] = {
158a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x0A, 0xD1, 0x1A, 0xC5, 0xF6, 0xEA, 0x43),
159a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xFC, 0x0C, 0x1A, 0xFB, 0xA0, 0xC8, 0x70),
160a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xFD, 0x53, 0x6F, 0x6D, 0xBF, 0xBA, 0xAF),
161a8e1175bSopenharmony_ci};
162a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_7_Y[] = {
163a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xB0, 0x7D, 0x83, 0x96, 0xE3, 0xCB, 0x9D),
164a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x6E, 0x55, 0x2C, 0x20, 0x53, 0x2F, 0x46),
165a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x66, 0x00, 0x17, 0x08, 0xFE, 0xAC, 0x31),
166a8e1175bSopenharmony_ci};
167a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_8_X[] = {
168a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x12, 0x97, 0x3A, 0xC7, 0x57, 0x45, 0xCD),
169a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x25, 0x99, 0x00, 0xF6, 0x97, 0xB4, 0x64),
170a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x74, 0xE6, 0xE6, 0xA3, 0xDF, 0x9C, 0xCC),
171a8e1175bSopenharmony_ci};
172a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_8_Y[] = {
173a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xF4, 0x76, 0xD5, 0x5F, 0x2A, 0xFD, 0x85),
174a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x80, 0x7E, 0x3E, 0xE5, 0xE8, 0xD6, 0x63),
175a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xAD, 0x1E, 0x70, 0x79, 0x3E, 0x3D, 0x83),
176a8e1175bSopenharmony_ci};
177a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_9_X[] = {
178a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x15, 0xBB, 0xB3, 0x42, 0x6A, 0xA1, 0x7C),
179a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x58, 0xCB, 0x43, 0x25, 0x00, 0x14, 0x68),
180a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x4E, 0x93, 0x11, 0xE0, 0x32, 0x54, 0x98),
181a8e1175bSopenharmony_ci};
182a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_9_Y[] = {
183a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x52, 0xA2, 0xB4, 0x57, 0x32, 0xB9, 0x11),
184a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x43, 0xA1, 0xB1, 0xFB, 0x01, 0xE1, 0xE7),
185a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xFB, 0x5A, 0x11, 0xB8, 0xC2, 0x03, 0xE5),
186a8e1175bSopenharmony_ci};
187a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_10_X[] = {
188a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x2B, 0x71, 0x26, 0x4E, 0x7C, 0xC5, 0x32),
189a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xF5, 0xD3, 0xA8, 0xE4, 0x95, 0x48, 0x65),
190a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xAE, 0xD9, 0x5D, 0x9F, 0x6A, 0x22, 0xAD),
191a8e1175bSopenharmony_ci};
192a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_10_Y[] = {
193a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xCC, 0xA3, 0x4D, 0xA0, 0x1C, 0x34, 0xEF),
194a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x3C, 0x62, 0xF8, 0x5E, 0xA6, 0x58, 0x7D),
195a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x6E, 0x66, 0x8A, 0x3D, 0x17, 0xFF, 0x0F),
196a8e1175bSopenharmony_ci};
197a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_11_X[] = {
198a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xCD, 0xA8, 0xDD, 0xD1, 0x20, 0x5C, 0xEA),
199a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xFE, 0x17, 0xE2, 0xCF, 0xEA, 0x63, 0xDE),
200a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x51, 0xC9, 0x16, 0xDE, 0xB4, 0xB2, 0xDD),
201a8e1175bSopenharmony_ci};
202a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_11_Y[] = {
203a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBE, 0x12, 0xD7, 0xA3, 0x0A, 0x50, 0x33),
204a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x87, 0xC5, 0x8A, 0x76, 0x57, 0x07, 0x60),
205a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x1F, 0xC6, 0x1B, 0x66, 0xC4, 0x3D, 0x8A),
206a8e1175bSopenharmony_ci};
207a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_12_X[] = {
208a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xA4, 0x85, 0x13, 0x8F, 0xA7, 0x35, 0x19),
209a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x0D, 0xFD, 0xFF, 0x1B, 0xD1, 0xD6, 0xEF),
210a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x7A, 0xD0, 0xC3, 0xB4, 0xEF, 0x39, 0x66),
211a8e1175bSopenharmony_ci};
212a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_12_Y[] = {
213a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xFE, 0xA5, 0x9C, 0x34, 0x30, 0x49, 0x40),
214a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xC5, 0x39, 0x26, 0x06, 0xE3, 0x01, 0x17),
215a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x2B, 0x66, 0xFC, 0x95, 0x5F, 0x35, 0xF7),
216a8e1175bSopenharmony_ci};
217a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_13_X[] = {
218a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xCF, 0x54, 0x63, 0x99, 0x57, 0x05, 0x45),
219a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x6F, 0x00, 0x5F, 0x65, 0x08, 0x47, 0x98),
220a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x2A, 0x90, 0x6D, 0x67, 0xC6, 0xBC, 0x45),
221a8e1175bSopenharmony_ci};
222a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_13_Y[] = {
223a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x4D, 0x88, 0x0A, 0x35, 0x9E, 0x33, 0x9C),
224a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x17, 0x0C, 0xF8, 0xE1, 0x7A, 0x49, 0x02),
225a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x44, 0x06, 0x8F, 0x0B, 0x70, 0x2F, 0x71),
226a8e1175bSopenharmony_ci};
227a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_14_X[] = {
228a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x4B, 0xCB, 0xF9, 0x8E, 0x6A, 0xDA, 0x1B),
229a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x43, 0xA1, 0x3F, 0xCE, 0x17, 0xD2, 0x32),
230a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x0D, 0xD2, 0x6C, 0x82, 0x37, 0xE5, 0xFC),
231a8e1175bSopenharmony_ci};
232a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_14_Y[] = {
233a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x3C, 0xF4, 0x92, 0xB4, 0x8A, 0x95, 0x85),
234a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x96, 0xF1, 0x0A, 0x34, 0x2F, 0x74, 0x7E),
235a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xA1, 0xAA, 0xBA, 0x86, 0x77, 0x4F, 0xA2),
236a8e1175bSopenharmony_ci};
237a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_15_X[] = {
238a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x7F, 0xEF, 0x60, 0x50, 0x80, 0xD7, 0xD4),
239a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0xAC, 0xC9, 0xFE, 0xEC, 0x0A, 0x1A, 0x9F),
240a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x2F, 0xBE, 0x91, 0xD7, 0xB7, 0x38, 0x48),
241a8e1175bSopenharmony_ci};
242a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_15_Y[] = {
243a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xAE, 0x85, 0x98, 0xFE, 0x05, 0x7F, 0x9F),
244a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBE, 0xFD, 0x11, 0x31, 0x3D, 0x14, 0x13),
245a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x75, 0xE8, 0x30, 0x01, 0xCB, 0x9B, 0x1C),
246a8e1175bSopenharmony_ci};
247a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp192r1_T[16] = {
248a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp192r1_T_0_X, secp192r1_T_0_Y),
249a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_1_X, secp192r1_T_1_Y),
250a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_2_X, secp192r1_T_2_Y),
251a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_3_X, secp192r1_T_3_Y),
252a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_4_X, secp192r1_T_4_Y),
253a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_5_X, secp192r1_T_5_Y),
254a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_6_X, secp192r1_T_6_Y),
255a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_7_X, secp192r1_T_7_Y),
256a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_8_X, secp192r1_T_8_Y),
257a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_9_X, secp192r1_T_9_Y),
258a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_10_X, secp192r1_T_10_Y),
259a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_11_X, secp192r1_T_11_Y),
260a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_12_X, secp192r1_T_12_Y),
261a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_13_X, secp192r1_T_13_Y),
262a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_14_X, secp192r1_T_14_Y),
263a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192r1_T_15_X, secp192r1_T_15_Y),
264a8e1175bSopenharmony_ci};
265a8e1175bSopenharmony_ci#else
266a8e1175bSopenharmony_ci#define secp192r1_T NULL
267a8e1175bSopenharmony_ci#endif
268a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
269a8e1175bSopenharmony_ci
270a8e1175bSopenharmony_ci/*
271a8e1175bSopenharmony_ci * Domain parameters for secp224r1
272a8e1175bSopenharmony_ci */
273a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
274a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_p[] = {
275a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
276a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF),
277a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
278a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00),
279a8e1175bSopenharmony_ci};
280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_b[] = {
281a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xFF, 0x55, 0x23, 0x43, 0x39, 0x0B, 0x27),
282a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xD8, 0xBF, 0xD7, 0xB7, 0xB0, 0x44, 0x50),
283a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0x32, 0x41, 0xF5, 0xAB, 0xB3, 0x04, 0x0C),
284a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0x85, 0x0A, 0x05, 0xB4),
285a8e1175bSopenharmony_ci};
286a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_gx[] = {
287a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x1D, 0x5C, 0x11, 0xD6, 0x80, 0x32, 0x34),
288a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x11, 0xC2, 0x56, 0xD3, 0xC1, 0x03, 0x4A),
289a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x90, 0x13, 0x32, 0x7F, 0xBF, 0xB4, 0x6B),
290a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0xBD, 0x0C, 0x0E, 0xB7),
291a8e1175bSopenharmony_ci};
292a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_gy[] = {
293a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x7E, 0x00, 0x85, 0x99, 0x81, 0xD5, 0x44),
294a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x47, 0x07, 0x5A, 0xA0, 0x75, 0x43, 0xCD),
295a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xDF, 0x22, 0x4C, 0xFB, 0x23, 0xF7, 0xB5),
296a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0x88, 0x63, 0x37, 0xBD),
297a8e1175bSopenharmony_ci};
298a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_n[] = {
299a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x2A, 0x5C, 0x5C, 0x45, 0x29, 0xDD, 0x13),
300a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xF0, 0xB8, 0xE0, 0xA2, 0x16, 0xFF, 0xFF),
301a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
302a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0xFF, 0xFF, 0xFF, 0xFF),
303a8e1175bSopenharmony_ci};
304a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
305a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_0_X[] = {
306a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x1D, 0x5C, 0x11, 0xD6, 0x80, 0x32, 0x34),
307a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x11, 0xC2, 0x56, 0xD3, 0xC1, 0x03, 0x4A),
308a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x90, 0x13, 0x32, 0x7F, 0xBF, 0xB4, 0x6B),
309a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x0C, 0x0E, 0xB7, 0x00, 0x00, 0x00, 0x00),
310a8e1175bSopenharmony_ci};
311a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_0_Y[] = {
312a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x7E, 0x00, 0x85, 0x99, 0x81, 0xD5, 0x44),
313a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x47, 0x07, 0x5A, 0xA0, 0x75, 0x43, 0xCD),
314a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xDF, 0x22, 0x4C, 0xFB, 0x23, 0xF7, 0xB5),
315a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x63, 0x37, 0xBD, 0x00, 0x00, 0x00, 0x00),
316a8e1175bSopenharmony_ci};
317a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_1_X[] = {
318a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xF9, 0xB8, 0xD0, 0x3D, 0xD2, 0xD3, 0xFA),
319a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xFD, 0x99, 0x26, 0x19, 0xFE, 0x13, 0x6E),
320a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x0E, 0x4C, 0x48, 0x7C, 0xA2, 0x17, 0x01),
321a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA3, 0x13, 0x57, 0x00, 0x00, 0x00, 0x00),
322a8e1175bSopenharmony_ci};
323a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_1_Y[] = {
324a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x16, 0x5C, 0x8F, 0xAA, 0xED, 0x0F, 0x58),
325a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xC5, 0x43, 0x34, 0x93, 0x05, 0x2A, 0x4C),
326a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xE3, 0x6C, 0xCA, 0xC6, 0x14, 0xC2, 0x25),
327a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x43, 0x6C, 0xD7, 0x00, 0x00, 0x00, 0x00),
328a8e1175bSopenharmony_ci};
329a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_2_X[] = {
330a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x5A, 0x98, 0x1E, 0xC8, 0xA5, 0x42, 0xA3),
331a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x49, 0x56, 0x78, 0xF8, 0xEF, 0xED, 0x65),
332a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0xBB, 0x64, 0xB6, 0x4C, 0x54, 0x5F, 0xD1),
333a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x0C, 0x33, 0xCC, 0x00, 0x00, 0x00, 0x00),
334a8e1175bSopenharmony_ci};
335a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_2_Y[] = {
336a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x79, 0xCB, 0x2E, 0x08, 0xFF, 0xD8, 0xE6),
337a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x1F, 0xD4, 0xD7, 0x57, 0xE9, 0x39, 0x45),
338a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xD6, 0x3B, 0x0A, 0x1C, 0x87, 0xB7, 0x6A),
339a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x30, 0xD8, 0x05, 0x00, 0x00, 0x00, 0x00),
340a8e1175bSopenharmony_ci};
341a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_3_X[] = {
342a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x79, 0x74, 0x9A, 0xE6, 0xBB, 0xC2, 0xC2),
343a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x5B, 0xA6, 0x67, 0xC1, 0x91, 0xE7, 0x64),
344a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xDF, 0x38, 0x82, 0x19, 0x2C, 0x4C, 0xCA),
345a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x2E, 0x39, 0xC5, 0x00, 0x00, 0x00, 0x00),
346a8e1175bSopenharmony_ci};
347a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_3_Y[] = {
348a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x36, 0x78, 0x4E, 0xAE, 0x5B, 0x02, 0x76),
349a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xF6, 0x8B, 0xF8, 0xF4, 0x92, 0x6B, 0x42),
350a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x4D, 0x71, 0x35, 0xE7, 0x0C, 0x2C, 0x98),
351a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xA5, 0x1F, 0xAE, 0x00, 0x00, 0x00, 0x00),
352a8e1175bSopenharmony_ci};
353a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_4_X[] = {
354a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x1C, 0x4B, 0xDF, 0x5B, 0xF2, 0x51, 0xB7),
355a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x74, 0xB1, 0x5A, 0xC6, 0x0F, 0x0E, 0x61),
356a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x24, 0x09, 0x62, 0xAF, 0xFC, 0xDB, 0x45),
357a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xE1, 0x80, 0x55, 0x00, 0x00, 0x00, 0x00),
358a8e1175bSopenharmony_ci};
359a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_4_Y[] = {
360a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x82, 0xFE, 0xAD, 0xC3, 0xE5, 0xCF, 0xD8),
361a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xA2, 0x62, 0x17, 0x76, 0xF0, 0x5A, 0xFA),
362a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xB8, 0xE5, 0xAC, 0xB7, 0x66, 0x38, 0xAA),
363a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xFD, 0x86, 0x05, 0x00, 0x00, 0x00, 0x00),
364a8e1175bSopenharmony_ci};
365a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_5_X[] = {
366a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xD3, 0x0C, 0x3C, 0xD1, 0x66, 0xB0, 0xF1),
367a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x59, 0xB4, 0x8D, 0x90, 0x10, 0xB7, 0xA2),
368a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x47, 0x9B, 0xE6, 0x55, 0x8A, 0xE4, 0xEE),
369a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x49, 0xDB, 0x78, 0x00, 0x00, 0x00, 0x00),
370a8e1175bSopenharmony_ci};
371a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_5_Y[] = {
372a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x97, 0xED, 0xDE, 0xFF, 0xB3, 0xDF, 0x48),
373a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xB9, 0x83, 0xB7, 0xEB, 0xBE, 0x40, 0x8D),
374a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xD3, 0xD3, 0xCD, 0x0E, 0x82, 0x79, 0x3D),
375a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x83, 0x1B, 0xF0, 0x00, 0x00, 0x00, 0x00),
376a8e1175bSopenharmony_ci};
377a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_6_X[] = {
378a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x22, 0xBB, 0x54, 0xD3, 0x31, 0x56, 0xFC),
379a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x36, 0xE5, 0xE0, 0x89, 0x96, 0x8E, 0x71),
380a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xEF, 0x0A, 0xED, 0xD0, 0x11, 0x4A, 0xFF),
381a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x00, 0x57, 0x27, 0x00, 0x00, 0x00, 0x00),
382a8e1175bSopenharmony_ci};
383a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_6_Y[] = {
384a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xCA, 0x3D, 0xF7, 0x64, 0x9B, 0x6E, 0x85),
385a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xE3, 0x70, 0x6B, 0x41, 0xD7, 0xED, 0x8F),
386a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x44, 0x44, 0x80, 0xCE, 0x13, 0x37, 0x92),
387a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x73, 0x80, 0x79, 0x00, 0x00, 0x00, 0x00),
388a8e1175bSopenharmony_ci};
389a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_7_X[] = {
390a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x4D, 0x70, 0x7D, 0x31, 0x0F, 0x1C, 0x58),
391a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x35, 0x88, 0x47, 0xC4, 0x24, 0x78, 0x3F),
392a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xF0, 0xCD, 0x91, 0x81, 0xB3, 0xDE, 0xB6),
393a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xCE, 0xC6, 0xF7, 0x00, 0x00, 0x00, 0x00),
394a8e1175bSopenharmony_ci};
395a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_7_Y[] = {
396a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x9C, 0x2D, 0xE8, 0xD2, 0x00, 0x8F, 0x10),
397a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x5E, 0x7C, 0x0E, 0x0C, 0x6E, 0x58, 0x02),
398a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x81, 0x21, 0xCE, 0x43, 0xF4, 0x24, 0x3D),
399a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0xBC, 0xF0, 0xF4, 0x00, 0x00, 0x00, 0x00),
400a8e1175bSopenharmony_ci};
401a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_8_X[] = {
402a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x10, 0xC2, 0x74, 0x4A, 0x8F, 0x8A, 0xCF),
403a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x67, 0xF4, 0x2B, 0x38, 0x2B, 0x35, 0x17),
404a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xE7, 0x0C, 0xA9, 0xFA, 0x77, 0x5C, 0xBD),
405a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x33, 0x19, 0x2B, 0x00, 0x00, 0x00, 0x00),
406a8e1175bSopenharmony_ci};
407a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_8_Y[] = {
408a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x3E, 0x96, 0x22, 0x53, 0xE1, 0xE9, 0xBE),
409a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x13, 0xBC, 0xA1, 0x16, 0xEC, 0x01, 0x1A),
410a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x00, 0xC9, 0x7A, 0xC3, 0x73, 0xA5, 0x45),
411a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xF4, 0x5E, 0xC1, 0x00, 0x00, 0x00, 0x00),
412a8e1175bSopenharmony_ci};
413a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_9_X[] = {
414a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x95, 0xD6, 0xD9, 0x32, 0x30, 0x2B, 0xD0),
415a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x42, 0x09, 0x05, 0x61, 0x2A, 0x7E, 0x82),
416a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x84, 0xA2, 0x05, 0x88, 0x64, 0x65, 0xF9),
417a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x2D, 0x90, 0xB3, 0x00, 0x00, 0x00, 0x00),
418a8e1175bSopenharmony_ci};
419a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_9_Y[] = {
420a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xE7, 0x2E, 0x85, 0x55, 0x80, 0x7C, 0x79),
421a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xC1, 0xAC, 0x78, 0xB4, 0xAF, 0xFB, 0x6E),
422a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xC3, 0x28, 0x8E, 0x79, 0x18, 0x1F, 0x58),
423a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x46, 0xCF, 0x49, 0x00, 0x00, 0x00, 0x00),
424a8e1175bSopenharmony_ci};
425a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_10_X[] = {
426a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x5F, 0xA8, 0x6C, 0x46, 0x83, 0x43, 0xFA),
427a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xA9, 0x93, 0x11, 0xB6, 0x07, 0x57, 0x74),
428a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x2A, 0x9D, 0x03, 0x89, 0x7E, 0xD7, 0x3C),
429a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x8C, 0x62, 0xCF, 0x00, 0x00, 0x00, 0x00),
430a8e1175bSopenharmony_ci};
431a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_10_Y[] = {
432a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x2C, 0x13, 0x59, 0xCC, 0xFA, 0x84, 0x9E),
433a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xB9, 0x48, 0xBC, 0x57, 0xC7, 0xB3, 0x7C),
434a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x0A, 0x38, 0x24, 0x2E, 0x3A, 0x28, 0x25),
435a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x0A, 0x43, 0xB8, 0x00, 0x00, 0x00, 0x00),
436a8e1175bSopenharmony_ci};
437a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_11_X[] = {
438a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x25, 0xAB, 0xC1, 0xEE, 0x70, 0x3C, 0xE1),
439a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xDB, 0x45, 0x1D, 0x4A, 0x80, 0x75, 0x35),
440a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1F, 0x4D, 0x2D, 0x9A, 0x05, 0xF4, 0xCB),
441a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x10, 0xF0, 0x5A, 0x00, 0x00, 0x00, 0x00),
442a8e1175bSopenharmony_ci};
443a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_11_Y[] = {
444a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x95, 0xE1, 0xDC, 0x15, 0x86, 0xC3, 0x7B),
445a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xDC, 0x27, 0xD1, 0x56, 0xA1, 0x14, 0x0D),
446a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x0B, 0xD6, 0x77, 0x4E, 0x44, 0xA2, 0xF8),
447a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x42, 0x71, 0x1F, 0x00, 0x00, 0x00, 0x00),
448a8e1175bSopenharmony_ci};
449a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_12_X[] = {
450a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x86, 0xB2, 0xB0, 0xC8, 0x2F, 0x7B, 0xFE),
451a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xEF, 0xCB, 0xDB, 0xBC, 0x9E, 0x3B, 0xC5),
452a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x03, 0x86, 0xDD, 0x5B, 0xF5, 0x8D, 0x46),
453a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x95, 0x79, 0xD6, 0x00, 0x00, 0x00, 0x00),
454a8e1175bSopenharmony_ci};
455a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_12_Y[] = {
456a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x32, 0x14, 0xDA, 0x9B, 0x4F, 0x07, 0x39),
457a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x3E, 0xFB, 0x06, 0xEE, 0xA7, 0x40, 0x40),
458a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x1F, 0xDF, 0x71, 0x61, 0xFD, 0x8B, 0xBE),
459a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x8B, 0xAB, 0x8B, 0x00, 0x00, 0x00, 0x00),
460a8e1175bSopenharmony_ci};
461a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_13_X[] = {
462a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x34, 0xB3, 0xB4, 0xBC, 0x9F, 0xB0, 0x5E),
463a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x58, 0x48, 0xA8, 0x77, 0xBB, 0x13, 0x2F),
464a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xC6, 0xF7, 0x34, 0xCC, 0x89, 0x21, 0x0A),
465a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x33, 0xDD, 0x1F, 0x00, 0x00, 0x00, 0x00),
466a8e1175bSopenharmony_ci};
467a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_13_Y[] = {
468a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x81, 0xEF, 0xA4, 0xF2, 0x10, 0x0B, 0xCD),
469a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xF7, 0x6E, 0x72, 0x4A, 0xDF, 0xDD, 0xE8),
470a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x23, 0x0A, 0x53, 0x03, 0x16, 0x62, 0xD2),
471a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x76, 0xFD, 0x3C, 0x00, 0x00, 0x00, 0x00),
472a8e1175bSopenharmony_ci};
473a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_14_X[] = {
474a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x14, 0xA1, 0xFA, 0xA0, 0x18, 0xBE, 0x07),
475a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x2A, 0xE1, 0xD7, 0xB0, 0x6C, 0xA0, 0xDE),
476a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xC0, 0xB0, 0xC6, 0x63, 0x24, 0xCD, 0x4E),
477a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x38, 0x2C, 0xB1, 0x00, 0x00, 0x00, 0x00),
478a8e1175bSopenharmony_ci};
479a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_14_Y[] = {
480a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xCD, 0x7D, 0x20, 0x0C, 0xFE, 0xAC, 0xC3),
481a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x97, 0x9F, 0xA2, 0xB6, 0x45, 0xF7, 0x7B),
482a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x99, 0xF3, 0xD2, 0x20, 0x02, 0xEB, 0x04),
483a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x18, 0x5B, 0x7B, 0x00, 0x00, 0x00, 0x00),
484a8e1175bSopenharmony_ci};
485a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_15_X[] = {
486a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xDD, 0x77, 0x91, 0x60, 0xEA, 0xFD, 0xD3),
487a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xD3, 0xB5, 0xD6, 0x90, 0x17, 0x0E, 0x1A),
488a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xF4, 0x28, 0xC1, 0xF2, 0x53, 0xF6, 0x63),
489a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x58, 0xDC, 0x61, 0x00, 0x00, 0x00, 0x00),
490a8e1175bSopenharmony_ci};
491a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_15_Y[] = {
492a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x20, 0x01, 0xFB, 0xF1, 0xBD, 0x5F, 0x45),
493a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x7F, 0x06, 0xDA, 0x11, 0xCB, 0xBA, 0xA6),
494a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x41, 0x00, 0xA4, 0x1B, 0x30, 0x33, 0x79),
495a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xFF, 0x27, 0xCA, 0x00, 0x00, 0x00, 0x00),
496a8e1175bSopenharmony_ci};
497a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp224r1_T[16] = {
498a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp224r1_T_0_X, secp224r1_T_0_Y),
499a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_1_X, secp224r1_T_1_Y),
500a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_2_X, secp224r1_T_2_Y),
501a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_3_X, secp224r1_T_3_Y),
502a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_4_X, secp224r1_T_4_Y),
503a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_5_X, secp224r1_T_5_Y),
504a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_6_X, secp224r1_T_6_Y),
505a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_7_X, secp224r1_T_7_Y),
506a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_8_X, secp224r1_T_8_Y),
507a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_9_X, secp224r1_T_9_Y),
508a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_10_X, secp224r1_T_10_Y),
509a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_11_X, secp224r1_T_11_Y),
510a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_12_X, secp224r1_T_12_Y),
511a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_13_X, secp224r1_T_13_Y),
512a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_14_X, secp224r1_T_14_Y),
513a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224r1_T_15_X, secp224r1_T_15_Y),
514a8e1175bSopenharmony_ci};
515a8e1175bSopenharmony_ci#else
516a8e1175bSopenharmony_ci#define secp224r1_T NULL
517a8e1175bSopenharmony_ci#endif
518a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
519a8e1175bSopenharmony_ci
520a8e1175bSopenharmony_ci/*
521a8e1175bSopenharmony_ci * Domain parameters for secp256r1
522a8e1175bSopenharmony_ci */
523a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
524a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_p[] = {
525a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
526a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00),
527a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
528a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF),
529a8e1175bSopenharmony_ci};
530a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_b[] = {
531a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x60, 0xD2, 0x27, 0x3E, 0x3C, 0xCE, 0x3B),
532a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xB0, 0x53, 0xCC, 0xB0, 0x06, 0x1D, 0x65),
533a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x86, 0x98, 0x76, 0x55, 0xBD, 0xEB, 0xB3),
534a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x93, 0x3A, 0xAA, 0xD8, 0x35, 0xC6, 0x5A),
535a8e1175bSopenharmony_ci};
536a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_gx[] = {
537a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC2, 0x98, 0xD8, 0x45, 0x39, 0xA1, 0xF4),
538a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x33, 0xEB, 0x2D, 0x81, 0x7D, 0x03, 0x77),
539a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x40, 0xA4, 0x63, 0xE5, 0xE6, 0xBC, 0xF8),
540a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x42, 0x2C, 0xE1, 0xF2, 0xD1, 0x17, 0x6B),
541a8e1175bSopenharmony_ci};
542a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_gy[] = {
543a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x51, 0xBF, 0x37, 0x68, 0x40, 0xB6, 0xCB),
544a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x5E, 0x31, 0x6B, 0x57, 0x33, 0xCE, 0x2B),
545a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x9E, 0x0F, 0x7C, 0x4A, 0xEB, 0xE7, 0x8E),
546a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x7F, 0x1A, 0xFE, 0xE2, 0x42, 0xE3, 0x4F),
547a8e1175bSopenharmony_ci};
548a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_n[] = {
549a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x25, 0x63, 0xFC, 0xC2, 0xCA, 0xB9, 0xF3),
550a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x9E, 0x17, 0xA7, 0xAD, 0xFA, 0xE6, 0xBC),
551a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
552a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF),
553a8e1175bSopenharmony_ci};
554a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
555a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_0_X[] = {
556a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC2, 0x98, 0xD8, 0x45, 0x39, 0xA1, 0xF4),
557a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x33, 0xEB, 0x2D, 0x81, 0x7D, 0x03, 0x77),
558a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x40, 0xA4, 0x63, 0xE5, 0xE6, 0xBC, 0xF8),
559a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x42, 0x2C, 0xE1, 0xF2, 0xD1, 0x17, 0x6B),
560a8e1175bSopenharmony_ci};
561a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_0_Y[] = {
562a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x51, 0xBF, 0x37, 0x68, 0x40, 0xB6, 0xCB),
563a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x5E, 0x31, 0x6B, 0x57, 0x33, 0xCE, 0x2B),
564a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x9E, 0x0F, 0x7C, 0x4A, 0xEB, 0xE7, 0x8E),
565a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x7F, 0x1A, 0xFE, 0xE2, 0x42, 0xE3, 0x4F),
566a8e1175bSopenharmony_ci};
567a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_1_X[] = {
568a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xC8, 0xBA, 0x04, 0xB7, 0x4B, 0xD2, 0xF7),
569a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xC6, 0x23, 0x3A, 0xA0, 0x09, 0x3A, 0x59),
570a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x9D, 0x4C, 0xF9, 0x58, 0x23, 0xCC, 0xDF),
571a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0xED, 0x7B, 0x29, 0x87, 0x0F, 0xFA, 0x3C),
572a8e1175bSopenharmony_ci};
573a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_1_Y[] = {
574a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x69, 0xF2, 0x40, 0x0B, 0xA3, 0x98, 0xCE),
575a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xA8, 0x48, 0x02, 0x0D, 0x1C, 0x12, 0x62),
576a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xAF, 0x09, 0x83, 0x80, 0xAA, 0x58, 0xA7),
577a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x12, 0xBE, 0x70, 0x94, 0x76, 0xE3, 0xE4),
578a8e1175bSopenharmony_ci};
579a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_2_X[] = {
580a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x7D, 0xEF, 0x86, 0xFF, 0xE3, 0x37, 0xDD),
581a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x86, 0x8B, 0x08, 0x27, 0x7C, 0xD7, 0xF6),
582a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x54, 0x4C, 0x25, 0x4F, 0x9A, 0xFE, 0x28),
583a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xFD, 0xF0, 0x6D, 0x37, 0x03, 0x69, 0xD6),
584a8e1175bSopenharmony_ci};
585a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_2_Y[] = {
586a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xD5, 0xDA, 0xAD, 0x92, 0x49, 0xF0, 0x9F),
587a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x73, 0x43, 0x9E, 0xAF, 0xA7, 0xD1, 0xF3),
588a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x41, 0x07, 0xDF, 0x78, 0x95, 0x3E, 0xA1),
589a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x3D, 0xD1, 0xE6, 0x3C, 0xA5, 0xE2, 0x20),
590a8e1175bSopenharmony_ci};
591a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_3_X[] = {
592a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x6A, 0x5D, 0x52, 0x35, 0xD7, 0xBF, 0xAE),
593a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xA2, 0xBE, 0x96, 0xF4, 0xF8, 0x02, 0xC3),
594a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x20, 0x49, 0x54, 0xEA, 0xB3, 0x82, 0xDB),
595a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0xDB, 0xEA, 0x02, 0xD1, 0x75, 0x1C, 0x62),
596a8e1175bSopenharmony_ci};
597a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_3_Y[] = {
598a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x85, 0xF4, 0x9E, 0x4C, 0xDC, 0x39, 0x89),
599a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x6D, 0xC4, 0x57, 0xD8, 0x03, 0x5D, 0x22),
600a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x7F, 0x2D, 0x52, 0x6F, 0xC9, 0xDA, 0x4F),
601a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x64, 0xFA, 0xB4, 0xFE, 0xA4, 0xC4, 0xD7),
602a8e1175bSopenharmony_ci};
603a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_4_X[] = {
604a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x37, 0xB9, 0xC0, 0xAA, 0x59, 0xC6, 0x8B),
605a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x58, 0xD9, 0xED, 0x58, 0x99, 0x65, 0xF7),
606a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x7D, 0x26, 0x8C, 0x4A, 0xF9, 0x05, 0x9F),
607a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x73, 0x9A, 0xC9, 0xE7, 0x46, 0xDC, 0x00),
608a8e1175bSopenharmony_ci};
609a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_4_Y[] = {
610a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xD0, 0x55, 0xDF, 0x00, 0x0A, 0xF5, 0x4A),
611a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xBF, 0x56, 0x81, 0x2D, 0x20, 0xEB, 0xB5),
612a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xC1, 0x28, 0x52, 0xAB, 0xE3, 0xD1, 0x40),
613a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x34, 0x79, 0x45, 0x57, 0xA5, 0x12, 0x03),
614a8e1175bSopenharmony_ci};
615a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_5_X[] = {
616a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xCF, 0xB8, 0x7E, 0xF7, 0x92, 0x96, 0x8D),
617a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x01, 0x8C, 0x0D, 0x23, 0xF2, 0xE3, 0x05),
618a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x2E, 0xE3, 0x84, 0x52, 0x7A, 0x34, 0x76),
619a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xA1, 0xB0, 0x15, 0x90, 0xE2, 0x53, 0x3C),
620a8e1175bSopenharmony_ci};
621a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_5_Y[] = {
622a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x98, 0xE7, 0xFA, 0xA5, 0x7D, 0x8B, 0x53),
623a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x35, 0xD2, 0x00, 0xD1, 0x1B, 0x9F, 0x1B),
624a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x69, 0x08, 0x9A, 0x72, 0xF0, 0xA9, 0x11),
625a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0xFE, 0x0E, 0x14, 0xDA, 0x7C, 0x0E, 0xD3),
626a8e1175bSopenharmony_ci};
627a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_6_X[] = {
628a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xF6, 0xE8, 0xF8, 0x87, 0xF7, 0xFC, 0x6D),
629a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xBE, 0x7F, 0x3F, 0x7A, 0x2B, 0xD7, 0x13),
630a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x32, 0xF2, 0x2D, 0x94, 0x6D, 0x42, 0xFD),
631a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x9A, 0xE3, 0x5F, 0x42, 0xBB, 0x84, 0xED),
632a8e1175bSopenharmony_ci};
633a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_6_Y[] = {
634a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x95, 0x29, 0x73, 0xA1, 0x67, 0x3E, 0x02),
635a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x30, 0x54, 0x35, 0x8E, 0x0A, 0xDD, 0x67),
636a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xD7, 0xA1, 0x97, 0x61, 0x3B, 0xF8, 0x0C),
637a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x33, 0x3C, 0x58, 0x55, 0x34, 0x23, 0xA3),
638a8e1175bSopenharmony_ci};
639a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_7_X[] = {
640a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x5D, 0x16, 0x5F, 0x7B, 0xBC, 0xBB, 0xCE),
641a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xEE, 0x4E, 0x8A, 0xC1, 0x51, 0xCC, 0x50),
642a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x0D, 0x4D, 0x1B, 0x53, 0x23, 0x1D, 0xB3),
643a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x2A, 0x38, 0x66, 0x52, 0x84, 0xE1, 0x95),
644a8e1175bSopenharmony_ci};
645a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_7_Y[] = {
646a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x9B, 0x83, 0x0A, 0x81, 0x4F, 0xAD, 0xAC),
647a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xFF, 0x42, 0x41, 0x6E, 0xA9, 0xA2, 0xA0),
648a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xA1, 0x4F, 0x1F, 0x89, 0x82, 0xAA, 0x3E),
649a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xB8, 0x0F, 0x6B, 0x8F, 0x8C, 0xD6, 0x68),
650a8e1175bSopenharmony_ci};
651a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_8_X[] = {
652a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0xB3, 0xBB, 0x51, 0x69, 0xA2, 0x11, 0x93),
653a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x4F, 0x0F, 0x8D, 0xBD, 0x26, 0x0F, 0xE8),
654a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xCB, 0xEC, 0x6B, 0x34, 0xC3, 0x3D, 0x9D),
655a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x5D, 0x1E, 0x10, 0xD5, 0x44, 0xE2, 0x54),
656a8e1175bSopenharmony_ci};
657a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_8_Y[] = {
658a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x9E, 0xB1, 0xF1, 0x6E, 0x4C, 0xAD, 0xB3),
659a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xE3, 0xC2, 0x58, 0xC0, 0xFB, 0x34, 0x43),
660a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x9C, 0xDF, 0x35, 0x07, 0x41, 0xBD, 0x19),
661a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x6E, 0x10, 0xEC, 0x0E, 0xEC, 0xBB, 0xD6),
662a8e1175bSopenharmony_ci};
663a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_9_X[] = {
664a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xCF, 0xEF, 0x3F, 0x83, 0x1A, 0x88, 0xE8),
665a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x29, 0xB5, 0xB9, 0xE0, 0xC9, 0xA3, 0xAE),
666a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x46, 0x1E, 0x77, 0xCD, 0x7E, 0xB3, 0x10),
667a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x21, 0xD0, 0xD4, 0xA3, 0x16, 0x08, 0xEE),
668a8e1175bSopenharmony_ci};
669a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_9_Y[] = {
670a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0xCA, 0xA8, 0xB3, 0xBF, 0x29, 0x99, 0x8E),
671a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xF2, 0x05, 0xC1, 0xCF, 0x5D, 0x91, 0x48),
672a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x01, 0x49, 0xDB, 0x82, 0xDF, 0x5F, 0x3A),
673a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x06, 0x90, 0xAD, 0xE3, 0x38, 0xA4, 0xC4),
674a8e1175bSopenharmony_ci};
675a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_10_X[] = {
676a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xD2, 0x3A, 0xE8, 0x03, 0xC5, 0x6D, 0x5D),
677a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x35, 0xD0, 0xAE, 0x1D, 0x7A, 0x9F, 0xCA),
678a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x1E, 0xD2, 0xCB, 0xAC, 0x88, 0x27, 0x55),
679a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xB9, 0x9C, 0xE0, 0x31, 0xDD, 0x99, 0x86),
680a8e1175bSopenharmony_ci};
681a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_10_Y[] = {
682a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xF9, 0x9B, 0x32, 0x96, 0x41, 0x58, 0x38),
683a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x5A, 0x2A, 0xB8, 0x96, 0x0E, 0xB2, 0x4C),
684a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x78, 0x2C, 0xC7, 0x08, 0x99, 0x19, 0x24),
685a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x59, 0x28, 0xE9, 0x84, 0x54, 0xE6, 0x16),
686a8e1175bSopenharmony_ci};
687a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_11_X[] = {
688a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x38, 0x30, 0xDB, 0x70, 0x2C, 0x0A, 0xA2),
689a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x5C, 0x9D, 0xE9, 0xD5, 0x46, 0x0B, 0x5F),
690a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x0B, 0x60, 0x4B, 0x37, 0x7D, 0xB9, 0xC9),
691a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x24, 0xF3, 0x3D, 0x79, 0x7F, 0x6C, 0x18),
692a8e1175bSopenharmony_ci};
693a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_11_Y[] = {
694a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7F, 0xE5, 0x1C, 0x4F, 0x60, 0x24, 0xF7, 0x2A),
695a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xD8, 0xE2, 0x91, 0x7F, 0x89, 0x49, 0x92),
696a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xA7, 0x2E, 0x8D, 0x6A, 0xB3, 0x39, 0x81),
697a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x89, 0xB5, 0x9A, 0xB8, 0x8D, 0x42, 0x9C),
698a8e1175bSopenharmony_ci};
699a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_12_X[] = {
700a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0x45, 0xE6, 0x4B, 0x3F, 0x4F, 0x1E, 0x1F),
701a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x65, 0x5E, 0x59, 0x22, 0xCC, 0x72, 0x5F),
702a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x93, 0x1A, 0x27, 0x1E, 0x34, 0xC5, 0x5B),
703a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xF2, 0xA5, 0x58, 0x5C, 0x15, 0x2E, 0xC6),
704a8e1175bSopenharmony_ci};
705a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_12_Y[] = {
706a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x7F, 0xBA, 0x58, 0x5A, 0x84, 0x6F, 0x5F),
707a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xA6, 0x36, 0x7E, 0xDC, 0xF7, 0xE1, 0x67),
708a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x4D, 0xAA, 0xEE, 0x57, 0x76, 0x3A, 0xD3),
709a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x7E, 0x26, 0x18, 0x22, 0x23, 0x9F, 0xFF),
710a8e1175bSopenharmony_ci};
711a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_13_X[] = {
712a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x4C, 0x64, 0xC7, 0x55, 0x02, 0x3F, 0xE3),
713a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x02, 0x90, 0xBB, 0xC3, 0xEC, 0x30, 0x40),
714a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x6F, 0x64, 0xF4, 0x16, 0x69, 0x48, 0xA4),
715a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x44, 0x9C, 0x95, 0x0C, 0x7D, 0x67, 0x5E),
716a8e1175bSopenharmony_ci};
717a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_13_Y[] = {
718a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x91, 0x8B, 0xD8, 0xD0, 0xD7, 0xE7, 0xE2),
719a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xF9, 0x48, 0x62, 0x6F, 0xA8, 0x93, 0x5D),
720a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x3A, 0x99, 0x02, 0xD5, 0x0B, 0x3D, 0xE3),
721a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xD3, 0x00, 0x31, 0xE6, 0x0C, 0x9F, 0x44),
722a8e1175bSopenharmony_ci};
723a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_14_X[] = {
724a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xB2, 0xAA, 0xFD, 0x88, 0x15, 0xDF, 0x52),
725a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0x35, 0x27, 0x31, 0x44, 0xCD, 0xC0, 0x68),
726a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xF8, 0x91, 0xA5, 0x71, 0x94, 0x84, 0x2A),
727a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xCB, 0xD0, 0x93, 0xE9, 0x88, 0xDA, 0xE4),
728a8e1175bSopenharmony_ci};
729a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_14_Y[] = {
730a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xC6, 0x39, 0x16, 0x5D, 0xA3, 0x1E, 0x6D),
731a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x07, 0x37, 0x26, 0x36, 0x2A, 0xFE, 0x60),
732a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xBC, 0xF3, 0xD0, 0xDE, 0x50, 0xFC, 0x97),
733a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x2E, 0x06, 0x10, 0x15, 0x4D, 0xFA, 0xF7),
734a8e1175bSopenharmony_ci};
735a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_15_X[] = {
736a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x65, 0x69, 0x5B, 0x66, 0xA2, 0x75, 0x2E),
737a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x16, 0x00, 0x5A, 0xB0, 0x30, 0x25, 0x1A),
738a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xFB, 0x86, 0x42, 0x80, 0xC1, 0xC4, 0x76),
739a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x1D, 0x83, 0x8E, 0x94, 0x01, 0x5F, 0x82),
740a8e1175bSopenharmony_ci};
741a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_15_Y[] = {
742a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x37, 0x70, 0xEF, 0x1F, 0xA1, 0xF0, 0xDB),
743a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x10, 0x5B, 0xCE, 0xC4, 0x9B, 0x6F, 0x10),
744a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x11, 0x11, 0x24, 0x4F, 0x4C, 0x79, 0x61),
745a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x3A, 0x72, 0xBC, 0xFE, 0x72, 0x58, 0x43),
746a8e1175bSopenharmony_ci};
747a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp256r1_T[16] = {
748a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp256r1_T_0_X, secp256r1_T_0_Y),
749a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_1_X, secp256r1_T_1_Y),
750a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_2_X, secp256r1_T_2_Y),
751a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_3_X, secp256r1_T_3_Y),
752a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_4_X, secp256r1_T_4_Y),
753a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_5_X, secp256r1_T_5_Y),
754a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_6_X, secp256r1_T_6_Y),
755a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_7_X, secp256r1_T_7_Y),
756a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_8_X, secp256r1_T_8_Y),
757a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_9_X, secp256r1_T_9_Y),
758a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_10_X, secp256r1_T_10_Y),
759a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_11_X, secp256r1_T_11_Y),
760a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_12_X, secp256r1_T_12_Y),
761a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_13_X, secp256r1_T_13_Y),
762a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_14_X, secp256r1_T_14_Y),
763a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256r1_T_15_X, secp256r1_T_15_Y),
764a8e1175bSopenharmony_ci};
765a8e1175bSopenharmony_ci#else
766a8e1175bSopenharmony_ci#define secp256r1_T NULL
767a8e1175bSopenharmony_ci#endif
768a8e1175bSopenharmony_ci
769a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
770a8e1175bSopenharmony_ci
771a8e1175bSopenharmony_ci/*
772a8e1175bSopenharmony_ci * Domain parameters for secp384r1
773a8e1175bSopenharmony_ci */
774a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
775a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_p[] = {
776a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00),
777a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF),
778a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
779a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
780a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
781a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
782a8e1175bSopenharmony_ci};
783a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_b[] = {
784a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x2A, 0xEC, 0xD3, 0xED, 0xC8, 0x85, 0x2A),
785a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xD1, 0x2E, 0x8A, 0x8D, 0x39, 0x56, 0xC6),
786a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x87, 0x13, 0x50, 0x8F, 0x08, 0x14, 0x03),
787a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x41, 0x81, 0xFE, 0x6E, 0x9C, 0x1D, 0x18),
788a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x2D, 0xF8, 0xE3, 0x6B, 0x05, 0x8E, 0x98),
789a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xE7, 0x3E, 0xE2, 0xA7, 0x2F, 0x31, 0xB3),
790a8e1175bSopenharmony_ci};
791a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_gx[] = {
792a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0x76, 0x72, 0x38, 0x5E, 0x54, 0x3A),
793a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x29, 0x55, 0xBF, 0x5D, 0xF2, 0x02, 0x55),
794a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x2A, 0x54, 0x82, 0xE0, 0x41, 0xF7, 0x59),
795a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9B, 0xA7, 0x8B, 0x62, 0x3B, 0x1D, 0x6E),
796a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xAD, 0x20, 0xF3, 0x1E, 0xC7, 0xB1, 0x8E),
797a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x05, 0x8B, 0xBE, 0x22, 0xCA, 0x87, 0xAA),
798a8e1175bSopenharmony_ci};
799a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_gy[] = {
800a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0E, 0xEA, 0x90, 0x7C, 0x1D, 0x43, 0x7A),
801a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x81, 0x7E, 0x1D, 0xCE, 0xB1, 0x60, 0x0A),
802a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xB8, 0xF0, 0xB5, 0x13, 0x31, 0xDA, 0xE9),
803a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x14, 0x9A, 0x28, 0xBD, 0x1D, 0xF4, 0xF8),
804a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xDC, 0x92, 0x92, 0xBF, 0x98, 0x9E, 0x5D),
805a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x2C, 0x26, 0x96, 0x4A, 0xDE, 0x17, 0x36),
806a8e1175bSopenharmony_ci};
807a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_n[] = {
808a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x29, 0xC5, 0xCC, 0x6A, 0x19, 0xEC, 0xEC),
809a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xA7, 0xB0, 0x48, 0xB2, 0x0D, 0x1A, 0x58),
810a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x2D, 0x37, 0xF4, 0x81, 0x4D, 0x63, 0xC7),
811a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
812a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
813a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
814a8e1175bSopenharmony_ci};
815a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
816a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_0_X[] = {
817a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0x76, 0x72, 0x38, 0x5E, 0x54, 0x3A),
818a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x29, 0x55, 0xBF, 0x5D, 0xF2, 0x02, 0x55),
819a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x2A, 0x54, 0x82, 0xE0, 0x41, 0xF7, 0x59),
820a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9B, 0xA7, 0x8B, 0x62, 0x3B, 0x1D, 0x6E),
821a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xAD, 0x20, 0xF3, 0x1E, 0xC7, 0xB1, 0x8E),
822a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x05, 0x8B, 0xBE, 0x22, 0xCA, 0x87, 0xAA),
823a8e1175bSopenharmony_ci};
824a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_0_Y[] = {
825a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0E, 0xEA, 0x90, 0x7C, 0x1D, 0x43, 0x7A),
826a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x81, 0x7E, 0x1D, 0xCE, 0xB1, 0x60, 0x0A),
827a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xB8, 0xF0, 0xB5, 0x13, 0x31, 0xDA, 0xE9),
828a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x14, 0x9A, 0x28, 0xBD, 0x1D, 0xF4, 0xF8),
829a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xDC, 0x92, 0x92, 0xBF, 0x98, 0x9E, 0x5D),
830a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x2C, 0x26, 0x96, 0x4A, 0xDE, 0x17, 0x36),
831a8e1175bSopenharmony_ci};
832a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_1_X[] = {
833a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x92, 0x00, 0x2C, 0x78, 0xDB, 0x1F, 0x37),
834a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xF3, 0xEB, 0xB7, 0x06, 0xF7, 0xB6, 0xBC),
835a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xBC, 0x2C, 0xCF, 0xD8, 0xED, 0x53, 0xE7),
836a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x75, 0x7B, 0xA3, 0xAB, 0xC3, 0x2C, 0x85),
837a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x9D, 0x78, 0x41, 0xF6, 0x76, 0x84, 0xAC),
838a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x56, 0xE8, 0x52, 0xB3, 0xCB, 0xA8, 0xBD),
839a8e1175bSopenharmony_ci};
840a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_1_Y[] = {
841a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xF2, 0xAE, 0xA4, 0xB6, 0x89, 0x1B, 0xDA),
842a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x0F, 0xCE, 0x1C, 0x7C, 0xF6, 0x50, 0x4C),
843a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xEB, 0x90, 0xE6, 0x4D, 0xC7, 0xD4, 0x7A),
844a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x49, 0x2D, 0x8A, 0x01, 0x99, 0x60, 0x94),
845a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x80, 0x9B, 0x9B, 0x6A, 0xB0, 0x07, 0xD9),
846a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xA2, 0xEE, 0x59, 0xBE, 0x95, 0xBC, 0x23),
847a8e1175bSopenharmony_ci};
848a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_2_X[] = {
849a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x9D, 0x56, 0xAE, 0x59, 0xFB, 0x1F, 0x98),
850a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xAC, 0x91, 0x80, 0x87, 0xA8, 0x6E, 0x58),
851a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x08, 0xA7, 0x08, 0x94, 0x32, 0xFC, 0x67),
852a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x29, 0x9E, 0x84, 0xF4, 0xE5, 0x6E, 0x7E),
853a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x21, 0xB9, 0x50, 0x24, 0xF8, 0x9C, 0xC7),
854a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x04, 0x01, 0xC2, 0xFB, 0x77, 0x3E, 0xDE),
855a8e1175bSopenharmony_ci};
856a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_2_Y[] = {
857a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x38, 0xEE, 0xE3, 0xC7, 0x9D, 0xEC, 0xA6),
858a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x88, 0xCF, 0x43, 0xFA, 0x92, 0x5E, 0x8E),
859a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xCA, 0x43, 0xF8, 0x3B, 0x49, 0x7E, 0x75),
860a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xE7, 0xEB, 0x17, 0x45, 0x86, 0xC2, 0xE1),
861a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x69, 0x57, 0x32, 0xE0, 0x9C, 0xD1, 0x00),
862a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x10, 0xB8, 0x4D, 0xB8, 0xF4, 0x0D, 0xE3),
863a8e1175bSopenharmony_ci};
864a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_3_X[] = {
865a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0xDC, 0x9A, 0xB2, 0x79, 0x39, 0x27, 0x16),
866a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x71, 0xE4, 0x3B, 0x4D, 0x60, 0x0C, 0xA3),
867a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xBD, 0x19, 0x40, 0xFA, 0x19, 0x2A, 0x5A),
868a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xF8, 0x1E, 0x43, 0xA1, 0x50, 0x8D, 0xEF),
869a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x18, 0x7C, 0x41, 0xFA, 0x7C, 0x1B, 0x58),
870a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x59, 0x24, 0xC4, 0xE9, 0xB7, 0xD3, 0xAD),
871a8e1175bSopenharmony_ci};
872a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_3_Y[] = {
873a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x01, 0x3D, 0x63, 0x54, 0x45, 0x6F, 0xB7),
874a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xB2, 0x19, 0xA3, 0x86, 0x1D, 0x42, 0x34),
875a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x02, 0x87, 0x18, 0x92, 0x52, 0x1A, 0x71),
876a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x18, 0xB1, 0x5D, 0x18, 0x1B, 0x37, 0xFE),
877a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x74, 0x61, 0xBA, 0x18, 0xAF, 0x40, 0x30),
878a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x7D, 0x3C, 0x52, 0x0F, 0x07, 0xB0, 0x6F),
879a8e1175bSopenharmony_ci};
880a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_4_X[] = {
881a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x39, 0x13, 0xAA, 0x60, 0x15, 0x99, 0x30),
882a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x00, 0xCB, 0xC6, 0xB1, 0xDB, 0x97, 0x90),
883a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xFA, 0x60, 0xB8, 0x24, 0xE4, 0x7D, 0xD3),
884a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x75, 0xB3, 0x70, 0xB2, 0x83, 0xB1, 0x9B),
885a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xE3, 0x6C, 0xCD, 0x33, 0x62, 0x7A, 0x56),
886a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x30, 0xDC, 0x0F, 0x9F, 0xBB, 0xB8, 0xAA),
887a8e1175bSopenharmony_ci};
888a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_4_Y[] = {
889a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xD5, 0x0A, 0x60, 0x81, 0xB9, 0xC5, 0x16),
890a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xAA, 0x2F, 0xD6, 0xF2, 0x73, 0xDF, 0xEB),
891a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x7B, 0x74, 0xC9, 0xB3, 0x5B, 0x95, 0x6D),
892a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x04, 0xEB, 0x15, 0xC8, 0x5F, 0x00, 0xF6),
893a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x50, 0x20, 0x28, 0xD1, 0x01, 0xAF, 0xF0),
894a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x4F, 0x31, 0x81, 0x2F, 0x94, 0x48),
895a8e1175bSopenharmony_ci};
896a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_5_X[] = {
897a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2F, 0xD8, 0xB6, 0x63, 0x7C, 0xE9, 0x50),
898a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x8C, 0xB9, 0x14, 0xD9, 0x37, 0x63, 0xDE),
899a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x02, 0xB8, 0x46, 0xAD, 0xCE, 0x7B, 0x38),
900a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x47, 0x2D, 0x66, 0xA7, 0xE9, 0x33, 0x23),
901a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xF9, 0x93, 0x94, 0xA8, 0x48, 0xB3, 0x4F),
902a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x4A, 0xAC, 0x51, 0x08, 0x72, 0x2F, 0x1A),
903a8e1175bSopenharmony_ci};
904a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_5_Y[] = {
905a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0xAD, 0xA0, 0xF9, 0x81, 0xE1, 0x78, 0x97),
906a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x9A, 0x63, 0xD8, 0xBA, 0x79, 0x1A, 0x17),
907a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x31, 0x7B, 0x7A, 0x5A, 0x5D, 0x7D, 0x2D),
908a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x96, 0x12, 0x4B, 0x19, 0x09, 0xE0, 0xB7),
909a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x8A, 0x57, 0xEE, 0x4E, 0x6E, 0x7E, 0xEC),
910a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x9D, 0x69, 0xDC, 0xB3, 0xDA, 0xD8, 0x08),
911a8e1175bSopenharmony_ci};
912a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_6_X[] = {
913a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x49, 0x03, 0x03, 0x33, 0x6F, 0x28, 0x4A),
914a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xDB, 0xA7, 0x05, 0x8C, 0xF3, 0x4D, 0xFB),
915a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x92, 0xB1, 0xA8, 0xEC, 0x0D, 0x64, 0x3B),
916a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0xFC, 0xFD, 0xD0, 0x4B, 0x88, 0x1B, 0x5D),
917a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x9C, 0x51, 0x69, 0xCE, 0x71, 0x73, 0xF5),
918a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x5A, 0x14, 0x23, 0x1A, 0x46, 0x63, 0x5F),
919a8e1175bSopenharmony_ci};
920a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_6_Y[] = {
921a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x4C, 0x70, 0x44, 0x18, 0xCD, 0xEF, 0xED),
922a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x49, 0xDD, 0x64, 0x7E, 0x7E, 0x4D, 0x92),
923a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x32, 0x7C, 0x09, 0xD0, 0x3F, 0xD6, 0x2C),
924a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE0, 0x4F, 0x65, 0x0C, 0x7A, 0x54, 0x3E),
925a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xFA, 0xFB, 0x4A, 0xB4, 0x79, 0x5A, 0x8C),
926a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x5D, 0x1B, 0x2B, 0xDA, 0xBC, 0x9A, 0x74),
927a8e1175bSopenharmony_ci};
928a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_7_X[] = {
929a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xAC, 0x56, 0xF7, 0x5F, 0x51, 0x68, 0x0B),
930a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xE0, 0x1D, 0xBC, 0x13, 0x4E, 0xAC, 0x03),
931a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xF5, 0xC5, 0xE6, 0xD2, 0x88, 0xBA, 0xCB),
932a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x0E, 0x28, 0x23, 0x58, 0x67, 0xFA, 0xEE),
933a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x80, 0x4B, 0xD8, 0xC4, 0xDF, 0x15, 0xE4),
934a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x0E, 0x58, 0xE6, 0x2C, 0x59, 0xC2, 0x03),
935a8e1175bSopenharmony_ci};
936a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_7_Y[] = {
937a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x26, 0x27, 0x99, 0x16, 0x2B, 0x22, 0x0B),
938a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xF3, 0x8F, 0xC3, 0x2A, 0x9B, 0xFC, 0x38),
939a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x2E, 0x83, 0x3D, 0xFE, 0x9E, 0x3C, 0x1B),
940a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x57, 0xCD, 0x2D, 0xC1, 0x49, 0x38, 0xB5),
941a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x42, 0x8B, 0x33, 0x89, 0x1F, 0xEA, 0x01),
942a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x1D, 0x13, 0xD7, 0x50, 0xBB, 0x3E, 0xEB),
943a8e1175bSopenharmony_ci};
944a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_8_X[] = {
945a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x9A, 0x52, 0xD2, 0x54, 0x7C, 0x97, 0xF2),
946a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x33, 0x6E, 0xED, 0xD9, 0x87, 0x50, 0xC5),
947a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x35, 0x7E, 0x16, 0x40, 0x15, 0x83, 0xB8),
948a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x2B, 0xA4, 0xAB, 0x03, 0x91, 0xEA, 0xFE),
949a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x47, 0x39, 0xEF, 0x05, 0x59, 0xD0, 0x90),
950a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x24, 0x0D, 0x76, 0x11, 0x53, 0x08, 0xAF),
951a8e1175bSopenharmony_ci};
952a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_8_Y[] = {
953a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x2F, 0xDD, 0xBD, 0x50, 0x48, 0xB1, 0xE5),
954a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x1C, 0x84, 0x55, 0x78, 0x14, 0xEB, 0xF6),
955a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x5E, 0x3E, 0xA6, 0xAF, 0xF6, 0xC7, 0x04),
956a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x11, 0xE2, 0x65, 0xCA, 0x41, 0x95, 0x3B),
957a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x83, 0xD8, 0xE6, 0x4D, 0x22, 0x06, 0x2D),
958a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x7F, 0x25, 0x2A, 0xAA, 0x28, 0x46, 0x97),
959a8e1175bSopenharmony_ci};
960a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_9_X[] = {
961a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xDB, 0x15, 0x56, 0x84, 0xCB, 0xC0, 0x56),
962a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xDB, 0x0E, 0x08, 0xC9, 0xF5, 0xD4, 0x9E),
963a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x62, 0xD0, 0x1A, 0x7C, 0x13, 0xD5, 0x07),
964a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xAD, 0x53, 0xE0, 0x32, 0x21, 0xA0, 0xC0),
965a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x38, 0x81, 0x21, 0x23, 0x0E, 0xD2, 0xBB),
966a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x51, 0x05, 0xD0, 0x1E, 0x82, 0xA9, 0x71),
967a8e1175bSopenharmony_ci};
968a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_9_Y[] = {
969a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xC3, 0x27, 0xBF, 0xC6, 0xAA, 0xB7, 0xB9),
970a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x65, 0x45, 0xDF, 0xB9, 0x46, 0x17, 0x46),
971a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x38, 0x3F, 0xB2, 0xB1, 0x5D, 0xCA, 0x1C),
972a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x29, 0x6C, 0x63, 0xE9, 0xD7, 0x48, 0xB8),
973a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xF1, 0xD7, 0x99, 0x8C, 0xC2, 0x05, 0x99),
974a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE6, 0x5E, 0x82, 0x6D, 0xE5, 0x7E, 0xD5),
975a8e1175bSopenharmony_ci};
976a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_10_X[] = {
977a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x61, 0xFA, 0x7D, 0x01, 0xDB, 0xB6, 0x63),
978a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xC6, 0x58, 0x39, 0xF4, 0xC6, 0x82, 0x23),
979a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x5A, 0x7A, 0x80, 0x08, 0xCD, 0xAA, 0xD8),
980a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x8C, 0xC6, 0x3F, 0x3C, 0xA5, 0x68, 0xF4),
981a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xF5, 0xD5, 0x17, 0xAE, 0x36, 0xD8, 0x8A),
982a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xAD, 0x92, 0xC5, 0x57, 0x6C, 0xDA, 0x91),
983a8e1175bSopenharmony_ci};
984a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_10_Y[] = {
985a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x67, 0x17, 0xC0, 0x40, 0x78, 0x8C, 0x84),
986a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x9F, 0xF4, 0xAA, 0xDA, 0x5C, 0x7E, 0xB2),
987a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xDB, 0x42, 0x3E, 0x72, 0x64, 0xA0, 0x67),
988a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xF9, 0x41, 0x17, 0x43, 0xE3, 0xE8, 0xA8),
989a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xDD, 0xCC, 0x43, 0x7E, 0x16, 0x05, 0x03),
990a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x4B, 0xCF, 0x48, 0x8F, 0x41, 0x90, 0xE5),
991a8e1175bSopenharmony_ci};
992a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_11_X[] = {
993a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x0C, 0x6B, 0x9D, 0x22, 0x04, 0xBC, 0x5C),
994a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x63, 0x79, 0x2F, 0x6A, 0x0E, 0x8A, 0xDE),
995a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x67, 0x3F, 0x02, 0xB8, 0x91, 0x7F, 0x74),
996a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x14, 0x64, 0xA0, 0x33, 0xF4, 0x6B, 0x50),
997a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x44, 0x71, 0x87, 0xB8, 0x88, 0x3F, 0x45),
998a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x2B, 0x85, 0x05, 0xC5, 0x44, 0x53, 0x15),
999a8e1175bSopenharmony_ci};
1000a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_11_Y[] = {
1001a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x2B, 0xFE, 0xD1, 0x1C, 0x73, 0xE3, 0x2E),
1002a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x33, 0xA1, 0xD3, 0x69, 0x1C, 0x9D, 0xD2),
1003a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x5A, 0xBA, 0xB6, 0xAE, 0x1B, 0x94, 0x04),
1004a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x74, 0x90, 0x5C, 0x57, 0xB0, 0x3A, 0x45),
1005a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x2F, 0x93, 0x20, 0x24, 0x54, 0x1D, 0x8D),
1006a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x78, 0x9D, 0x71, 0x67, 0x5D, 0x49, 0x98),
1007a8e1175bSopenharmony_ci};
1008a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_12_X[] = {
1009a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xC8, 0x0E, 0x11, 0x8D, 0xE0, 0x8F, 0x69),
1010a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x7F, 0x79, 0x6C, 0x5F, 0xB7, 0xBC, 0xB1),
1011a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xE1, 0x83, 0x3C, 0x12, 0xBB, 0xEE, 0x96),
1012a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xC2, 0xC4, 0x1B, 0x41, 0x71, 0xB9, 0x17),
1013a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0xEE, 0xBB, 0x1D, 0x89, 0x50, 0x88, 0xF2),
1014a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x1C, 0x55, 0x74, 0xEB, 0xDE, 0x92, 0x3F),
1015a8e1175bSopenharmony_ci};
1016a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_12_Y[] = {
1017a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x38, 0x92, 0x06, 0x19, 0xD0, 0xB3, 0xB2),
1018a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x99, 0x26, 0xA3, 0x5F, 0xE2, 0xC1, 0x81),
1019a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xFC, 0xFD, 0xC3, 0xB6, 0x26, 0x24, 0x8F),
1020a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xAD, 0xE7, 0x49, 0xB7, 0x64, 0x4B, 0x96),
1021a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x4E, 0x95, 0xAD, 0x07, 0xFE, 0xB6, 0x30),
1022a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x15, 0xE7, 0x2D, 0x19, 0xA9, 0x08, 0x10),
1023a8e1175bSopenharmony_ci};
1024a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_13_X[] = {
1025a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xBD, 0xAC, 0x0A, 0x3F, 0x6B, 0xFF, 0xFA),
1026a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xE4, 0x74, 0x14, 0xD9, 0x70, 0x1D, 0x71),
1027a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xB0, 0x71, 0xBB, 0xD8, 0x18, 0x96, 0x2B),
1028a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0xB8, 0x19, 0x90, 0x80, 0xB5, 0xEE, 0x01),
1029a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x21, 0x20, 0xA6, 0x17, 0x48, 0x03, 0x6F),
1030a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x1D, 0xBB, 0x6D, 0x94, 0x20, 0x34, 0xF1),
1031a8e1175bSopenharmony_ci};
1032a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_13_Y[] = {
1033a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x82, 0x67, 0x4B, 0x8E, 0x4E, 0xBE, 0xE2),
1034a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xDA, 0x77, 0xF8, 0x23, 0x55, 0x2B, 0x2D),
1035a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x02, 0xDE, 0x25, 0x35, 0x2D, 0x74, 0x51),
1036a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x0C, 0xB8, 0x0B, 0x39, 0xBA, 0xAD, 0x04),
1037a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x0E, 0x28, 0x4D, 0xE1, 0x3D, 0xE4, 0x1B),
1038a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xEC, 0x0A, 0xD4, 0xB8, 0xC4, 0x8D, 0xB0),
1039a8e1175bSopenharmony_ci};
1040a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_14_X[] = {
1041a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x68, 0xCE, 0xC2, 0x55, 0x4D, 0x0C, 0x6D),
1042a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x20, 0x93, 0x32, 0x90, 0xD6, 0xAE, 0x47),
1043a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x78, 0xAB, 0x43, 0x9E, 0xEB, 0x73, 0xAE),
1044a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x97, 0xC3, 0x83, 0xA6, 0x3C, 0xF1, 0xBF),
1045a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x25, 0x25, 0x66, 0x08, 0x26, 0xFA, 0x4B),
1046a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xFB, 0x44, 0x5D, 0x82, 0xEC, 0x3B, 0xAC),
1047a8e1175bSopenharmony_ci};
1048a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_14_Y[] = {
1049a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x90, 0xEA, 0xB5, 0x04, 0x99, 0xD0, 0x69),
1050a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0xF2, 0x22, 0xA0, 0xEB, 0xFD, 0x45, 0x87),
1051a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA4, 0x81, 0x32, 0xFC, 0xFA, 0xEE, 0x5B),
1052a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xBB, 0xA4, 0x6A, 0x77, 0x41, 0x5C, 0x1D),
1053a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x1E, 0xAA, 0x4F, 0xF0, 0x10, 0xB3, 0x50),
1054a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x74, 0x13, 0x14, 0x9E, 0x90, 0xD7, 0xE6),
1055a8e1175bSopenharmony_ci};
1056a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_15_X[] = {
1057a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0xBD, 0x70, 0x4F, 0xA8, 0xD1, 0x06, 0x2C),
1058a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x4E, 0x2E, 0x68, 0xFC, 0x35, 0xFA, 0x50),
1059a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x53, 0x75, 0xED, 0xF2, 0x5F, 0xC2, 0xEB),
1060a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x87, 0x6B, 0x9F, 0x05, 0xE2, 0x22, 0x93),
1061a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x1A, 0xA8, 0xB7, 0x03, 0x9E, 0x6D, 0x7C),
1062a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xD0, 0x69, 0x88, 0xA8, 0x39, 0x9E, 0x3A),
1063a8e1175bSopenharmony_ci};
1064a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_15_Y[] = {
1065a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xEF, 0x68, 0xFE, 0xEC, 0x24, 0x08, 0x15),
1066a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x06, 0x4B, 0x92, 0x0D, 0xB7, 0x34, 0x74),
1067a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xF4, 0xDD, 0x1A, 0xA0, 0x4A, 0xE4, 0x45),
1068a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x63, 0x4F, 0x4F, 0xCE, 0xBB, 0xD6, 0xD3),
1069a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xEE, 0x8D, 0xDF, 0x3F, 0x73, 0xB7, 0xAC),
1070a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x06, 0xB6, 0x80, 0x4D, 0x81, 0xD9, 0x53),
1071a8e1175bSopenharmony_ci};
1072a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_16_X[] = {
1073a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xF5, 0x13, 0xDF, 0x13, 0x19, 0x97, 0x94),
1074a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xF9, 0xB3, 0x33, 0x66, 0x82, 0x21, 0xFE),
1075a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xFC, 0x39, 0x16, 0x23, 0x43, 0x76, 0x0E),
1076a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x48, 0x25, 0xA1, 0x64, 0x95, 0x1C, 0x2F),
1077a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xAC, 0x15, 0x57, 0xD9, 0xDE, 0xA0, 0x28),
1078a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x5F, 0xB8, 0x3D, 0x48, 0x91, 0x24, 0xCC),
1079a8e1175bSopenharmony_ci};
1080a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_16_Y[] = {
1081a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xF2, 0xC8, 0x54, 0xD1, 0x32, 0xBD, 0xC4),
1082a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x3B, 0xF0, 0xAA, 0x9D, 0xD8, 0xF4, 0x20),
1083a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xC3, 0xBB, 0x6C, 0x66, 0xAC, 0x25, 0x2D),
1084a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x25, 0x10, 0xB2, 0xE1, 0x41, 0xDE, 0x1D),
1085a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xE8, 0x30, 0xB8, 0x37, 0xBC, 0x2A, 0x98),
1086a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x57, 0x01, 0x4A, 0x1E, 0x78, 0x9F, 0x85),
1087a8e1175bSopenharmony_ci};
1088a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_17_X[] = {
1089a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x19, 0xCD, 0x12, 0x0B, 0x51, 0x4F, 0x56),
1090a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x4B, 0x3D, 0x24, 0xA4, 0x16, 0x59, 0x05),
1091a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xEB, 0xD3, 0x59, 0x2E, 0x75, 0x7C, 0x01),
1092a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xB9, 0xB4, 0xA5, 0xD9, 0x2E, 0x29, 0x4C),
1093a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x16, 0x05, 0x75, 0x02, 0xB3, 0x06, 0xEE),
1094a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x7C, 0x9F, 0x79, 0x91, 0xF1, 0x4F, 0x23),
1095a8e1175bSopenharmony_ci};
1096a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_17_Y[] = {
1097a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x98, 0x7C, 0x84, 0xE1, 0xFF, 0x30, 0x77),
1098a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xE2, 0xC2, 0x5F, 0x55, 0x40, 0xBD, 0xCD),
1099a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x65, 0x87, 0x3F, 0xC4, 0xC2, 0x24, 0x57),
1100a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x30, 0x0A, 0x60, 0x15, 0xD1, 0x24, 0x48),
1101a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x99, 0xD9, 0xB6, 0xAE, 0xB1, 0xAF, 0x1D),
1102a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x80, 0xEE, 0xA2, 0x0F, 0x74, 0xB9, 0xF3),
1103a8e1175bSopenharmony_ci};
1104a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_18_X[] = {
1105a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xE6, 0x0F, 0x37, 0xC1, 0x10, 0x99, 0x1E),
1106a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xAD, 0x9D, 0x5D, 0x80, 0x01, 0xA6, 0xFE),
1107a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x0F, 0x10, 0x2A, 0x9D, 0x20, 0x38, 0xEB),
1108a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x60, 0xCB, 0xCE, 0x5A, 0xA0, 0xA7, 0x32),
1109a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xCF, 0x14, 0xDF, 0xBF, 0xE5, 0x74, 0x2D),
1110a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x12, 0x1A, 0xDD, 0x59, 0x02, 0x5D, 0xC6),
1111a8e1175bSopenharmony_ci};
1112a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_18_Y[] = {
1113a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC9, 0xF8, 0xF5, 0xB6, 0x13, 0x4D, 0x7B),
1114a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x45, 0xB1, 0x93, 0xB3, 0xA2, 0x79, 0xDC),
1115a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xF6, 0xCF, 0xF7, 0xE6, 0x29, 0x9C, 0xCC),
1116a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x50, 0x65, 0x80, 0xBC, 0x59, 0x0A, 0x59),
1117a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xF0, 0x24, 0x35, 0xA2, 0x46, 0xF0, 0x0C),
1118a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x26, 0xC0, 0x9D, 0x61, 0x56, 0x62, 0x67),
1119a8e1175bSopenharmony_ci};
1120a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_19_X[] = {
1121a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xBB, 0xC2, 0x24, 0x43, 0x2E, 0x37, 0x54),
1122a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xF7, 0xCE, 0x35, 0xFC, 0x77, 0xF3, 0x3F),
1123a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x34, 0x96, 0xD5, 0x4A, 0x76, 0x9D, 0x6B),
1124a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x3B, 0x0F, 0xEA, 0xA8, 0x12, 0x0B, 0x22),
1125a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x3F, 0x5D, 0x2D, 0x1C, 0xD4, 0x9E, 0xFB),
1126a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x2E, 0xDD, 0xC7, 0x6E, 0xAB, 0xAF, 0xDC),
1127a8e1175bSopenharmony_ci};
1128a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_19_Y[] = {
1129a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xB2, 0x7B, 0x0C, 0x9A, 0x83, 0x8E, 0x59),
1130a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x51, 0x90, 0x92, 0x79, 0x32, 0x19, 0xC3),
1131a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x89, 0xF9, 0xD0, 0xCF, 0x2C, 0xA5, 0x8F),
1132a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x50, 0x21, 0xDE, 0x50, 0x41, 0x9D, 0x81),
1133a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x7D, 0x2B, 0x9E, 0x9D, 0x95, 0xA8, 0xE3),
1134a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA5, 0x20, 0x87, 0x88, 0x97, 0x5F, 0xAA),
1135a8e1175bSopenharmony_ci};
1136a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_20_X[] = {
1137a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x59, 0xB4, 0x66, 0x7E, 0xE8, 0x5A, 0x60),
1138a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x5C, 0x7E, 0xB2, 0xAD, 0xD9, 0xC9, 0xDA),
1139a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x97, 0x49, 0xA3, 0x13, 0x83, 0x07, 0x2E),
1140a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x26, 0xC7, 0x13, 0x35, 0x0D, 0xB0, 0x6B),
1141a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x60, 0xAB, 0xFA, 0x4B, 0x93, 0x18, 0x2C),
1142a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x2D, 0x1C, 0x31, 0x4C, 0xE4, 0x61, 0xAE),
1143a8e1175bSopenharmony_ci};
1144a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_20_Y[] = {
1145a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x4D, 0x1E, 0x51, 0x59, 0x6E, 0x91, 0xC5),
1146a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x54, 0x4D, 0x51, 0xED, 0x36, 0xCC, 0x60),
1147a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xA8, 0x56, 0xC7, 0x78, 0x27, 0x33, 0xC5),
1148a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB7, 0x95, 0xC9, 0x8B, 0xC8, 0x6A, 0xBC),
1149a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xE9, 0x13, 0x96, 0xB3, 0xE1, 0xF9, 0xEE),
1150a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x46, 0xB0, 0x5E, 0xC3, 0x94, 0x03, 0x05),
1151a8e1175bSopenharmony_ci};
1152a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_21_X[] = {
1153a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x5B, 0x29, 0x30, 0x41, 0x1A, 0x9E, 0xB6),
1154a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xCA, 0x83, 0x31, 0x5B, 0xA7, 0xCB, 0x42),
1155a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x41, 0x50, 0x44, 0x4D, 0x64, 0x31, 0x89),
1156a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x84, 0xC2, 0x5D, 0x97, 0xA5, 0x3C, 0x18),
1157a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x0F, 0xA5, 0xFD, 0x8E, 0x5A, 0x47, 0x2C),
1158a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x58, 0x02, 0x2D, 0x40, 0xB1, 0x0B, 0xBA),
1159a8e1175bSopenharmony_ci};
1160a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_21_Y[] = {
1161a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x33, 0x8C, 0x67, 0xCE, 0x23, 0x43, 0x99),
1162a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x53, 0x47, 0x72, 0x44, 0x1F, 0x5B, 0x2A),
1163a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xC1, 0xD9, 0xA4, 0x50, 0x88, 0x63, 0x18),
1164a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xF2, 0x75, 0x69, 0x73, 0x00, 0xC4, 0x31),
1165a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x90, 0x1D, 0xDF, 0x1A, 0x00, 0xD8, 0x69),
1166a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xB1, 0x89, 0x48, 0xA8, 0x70, 0x62, 0xEF),
1167a8e1175bSopenharmony_ci};
1168a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_22_X[] = {
1169a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x8A, 0x55, 0x50, 0x7B, 0xEF, 0x8A, 0x3C),
1170a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x1B, 0x23, 0x48, 0x23, 0x63, 0x91, 0xB6),
1171a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x04, 0x54, 0x3C, 0x24, 0x9B, 0xC7, 0x9A),
1172a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x38, 0xC3, 0x84, 0xFB, 0xFF, 0x9F, 0x49),
1173a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x2A, 0xE0, 0x6D, 0x68, 0x8A, 0x5C, 0xCB),
1174a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x93, 0x53, 0x85, 0xA1, 0x0D, 0xAF, 0x63),
1175a8e1175bSopenharmony_ci};
1176a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_22_Y[] = {
1177a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x88, 0x95, 0x4C, 0x0B, 0xD0, 0x06, 0x51),
1178a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xAF, 0x8D, 0x49, 0xA2, 0xC8, 0xB4, 0xE0),
1179a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x76, 0x53, 0x09, 0x88, 0x43, 0x87, 0xCA),
1180a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xA4, 0x77, 0x3F, 0x5E, 0x21, 0xB4, 0x0A),
1181a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x9E, 0x86, 0x64, 0xCC, 0x91, 0xC1, 0x77),
1182a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x17, 0x56, 0xCB, 0xC3, 0x7D, 0x5B, 0xB1),
1183a8e1175bSopenharmony_ci};
1184a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_23_X[] = {
1185a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x74, 0x9F, 0xB5, 0x91, 0x21, 0xB1, 0x1C),
1186a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xED, 0xE1, 0x11, 0xEF, 0x45, 0xAF, 0xC1),
1187a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x31, 0xBE, 0xB2, 0xBC, 0x72, 0x65, 0x1F),
1188a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x4B, 0x8C, 0x77, 0xCE, 0x1E, 0x42, 0xB5),
1189a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xC9, 0xAA, 0xB9, 0xD9, 0x86, 0x99, 0x55),
1190a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x23, 0x80, 0xC6, 0x4E, 0x35, 0x0B, 0x6D),
1191a8e1175bSopenharmony_ci};
1192a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_23_Y[] = {
1193a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xD8, 0xA2, 0x0A, 0x39, 0x32, 0x1D, 0x23),
1194a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xC8, 0x86, 0xF1, 0x12, 0x9A, 0x4A, 0x05),
1195a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xF1, 0x7C, 0xAA, 0x70, 0x8E, 0xBC, 0x01),
1196a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x01, 0x47, 0x8F, 0xDD, 0x8B, 0xA5, 0xC8),
1197a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x08, 0x21, 0xF4, 0xAB, 0xC7, 0xF5, 0x96),
1198a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x76, 0xA5, 0x95, 0xC4, 0x0F, 0x88, 0x1D),
1199a8e1175bSopenharmony_ci};
1200a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_24_X[] = {
1201a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x42, 0x2A, 0x52, 0xCD, 0x75, 0x51, 0x49),
1202a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x36, 0xE5, 0x04, 0x2B, 0x44, 0xC6, 0xEF),
1203a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xEE, 0x16, 0x13, 0x07, 0x83, 0xB5, 0x30),
1204a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x59, 0xC6, 0xA2, 0x19, 0x05, 0xD3, 0xC6),
1205a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x8B, 0xA8, 0x16, 0x09, 0xB7, 0xEA, 0xD6),
1206a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xEE, 0x14, 0xAF, 0xB5, 0xFD, 0xD0, 0xEF),
1207a8e1175bSopenharmony_ci};
1208a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_24_Y[] = {
1209a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x7C, 0xCA, 0x71, 0x3E, 0x6E, 0x66, 0x75),
1210a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x31, 0x0E, 0x3F, 0xE5, 0x91, 0xC4, 0x7F),
1211a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x3D, 0xC2, 0x3E, 0x95, 0x37, 0x58, 0x2B),
1212a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x1F, 0x02, 0x03, 0xF3, 0xEF, 0xEE, 0x66),
1213a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x5B, 0x1A, 0xFC, 0x38, 0xCD, 0xE8, 0x24),
1214a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x57, 0x42, 0x85, 0xC6, 0x21, 0x68, 0x71),
1215a8e1175bSopenharmony_ci};
1216a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_25_X[] = {
1217a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xA2, 0x4A, 0x66, 0xB1, 0x0A, 0xE6, 0xC0),
1218a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x0C, 0x94, 0x9D, 0x5E, 0x99, 0xB2, 0xCE),
1219a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x03, 0x40, 0xCA, 0xB2, 0xB3, 0x30, 0x55),
1220a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x78, 0x48, 0x27, 0x34, 0x1E, 0xE2, 0x42),
1221a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x72, 0x5B, 0xAC, 0xC1, 0x6D, 0xE3, 0x82),
1222a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAB, 0x46, 0xCB, 0xEA, 0x5E, 0x4B, 0x0B),
1223a8e1175bSopenharmony_ci};
1224a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_25_Y[] = {
1225a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x08, 0xAD, 0x4E, 0x51, 0x9F, 0x2A, 0x52),
1226a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5C, 0x7D, 0x4C, 0xD6, 0xCF, 0xDD, 0x02),
1227a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x76, 0x26, 0xE0, 0x8B, 0x10, 0xD9, 0x7C),
1228a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xA7, 0x23, 0x4E, 0x5F, 0xD2, 0x42, 0x17),
1229a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xE5, 0xA4, 0xEC, 0x77, 0x21, 0x34, 0x28),
1230a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x14, 0x65, 0xEA, 0x4A, 0x85, 0xC3, 0x2F),
1231a8e1175bSopenharmony_ci};
1232a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_26_X[] = {
1233a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xD8, 0x40, 0x27, 0x73, 0x15, 0x7E, 0x65),
1234a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xBB, 0x53, 0x7E, 0x0F, 0x40, 0xC8, 0xD4),
1235a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x37, 0x19, 0x73, 0xEF, 0x5A, 0x5E, 0x04),
1236a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x73, 0x2B, 0x49, 0x7E, 0xAC, 0x97, 0x5C),
1237a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xB2, 0xC3, 0x1E, 0x0E, 0xE7, 0xD2, 0x21),
1238a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x08, 0xD6, 0xDD, 0xAC, 0x21, 0xD6, 0x3E),
1239a8e1175bSopenharmony_ci};
1240a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_26_Y[] = {
1241a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x26, 0xBE, 0x6D, 0x6D, 0xF2, 0x38, 0x3F),
1242a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x6C, 0x31, 0xA7, 0x49, 0x50, 0x3A, 0x89),
1243a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x99, 0xC6, 0xF5, 0xD2, 0xC2, 0x30, 0x5A),
1244a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE4, 0xF6, 0x8B, 0x8B, 0x97, 0xE9, 0xB2),
1245a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x21, 0xB7, 0x0D, 0xFC, 0x15, 0x54, 0x0B),
1246a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x83, 0x1C, 0xA4, 0xCD, 0x6B, 0x9D, 0xF2),
1247a8e1175bSopenharmony_ci};
1248a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_27_X[] = {
1249a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xE8, 0x4C, 0x48, 0xE4, 0xAA, 0x69, 0x93),
1250a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x7A, 0x27, 0xFC, 0x37, 0x96, 0x1A, 0x7B),
1251a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0xE7, 0x30, 0xA5, 0xCF, 0x13, 0x46, 0x5C),
1252a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xD8, 0xAF, 0x74, 0x23, 0x4D, 0x56, 0x84),
1253a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x3D, 0x44, 0x14, 0x1B, 0x97, 0x83, 0xF0),
1254a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x47, 0xD7, 0x5F, 0xFD, 0x98, 0x38, 0xF7),
1255a8e1175bSopenharmony_ci};
1256a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_27_Y[] = {
1257a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x73, 0x64, 0x36, 0xFD, 0x7B, 0xC1, 0x15),
1258a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x5D, 0x32, 0xD2, 0x47, 0x94, 0x89, 0x2D),
1259a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xE9, 0x30, 0xAC, 0x06, 0xC8, 0x65, 0x04),
1260a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x6C, 0xB9, 0x1B, 0xF7, 0x61, 0x49, 0x53),
1261a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xFF, 0x32, 0x43, 0x80, 0xDA, 0xA6, 0xB1),
1262a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF8, 0x04, 0x01, 0x95, 0x35, 0xCE, 0x21),
1263a8e1175bSopenharmony_ci};
1264a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_28_X[] = {
1265a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x06, 0x46, 0x0D, 0x51, 0xE2, 0xD8, 0xAC),
1266a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x57, 0x1D, 0x6F, 0x79, 0xA0, 0xCD, 0xA6),
1267a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0xFB, 0x36, 0xCA, 0xAD, 0xF5, 0x9E, 0x41),
1268a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x7A, 0x1D, 0x9E, 0x1D, 0x95, 0x48, 0xDC),
1269a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x26, 0xA5, 0xB7, 0x15, 0x2C, 0xC2, 0xC6),
1270a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x42, 0x72, 0xAA, 0x11, 0xDC, 0xC9, 0xB6),
1271a8e1175bSopenharmony_ci};
1272a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_28_Y[] = {
1273a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x6C, 0x64, 0xA7, 0x62, 0x3C, 0xAB, 0xD4),
1274a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x6A, 0x44, 0xD8, 0x60, 0xC0, 0xA8, 0x80),
1275a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x76, 0x58, 0x12, 0x57, 0x3C, 0x89, 0x46),
1276a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x4F, 0x83, 0xCE, 0xCB, 0xB8, 0xD0, 0x2C),
1277a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x84, 0x04, 0xB0, 0xAD, 0xEB, 0xFA, 0xDF),
1278a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xA4, 0xC3, 0x41, 0x44, 0x4E, 0x65, 0x3E),
1279a8e1175bSopenharmony_ci};
1280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_29_X[] = {
1281a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x16, 0xA9, 0x1C, 0xE7, 0x65, 0x20, 0xC1),
1282a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x53, 0x32, 0xF8, 0xC0, 0xA6, 0xBD, 0x2C),
1283a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xF0, 0xE6, 0x57, 0x31, 0xCC, 0x26, 0x6F),
1284a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xE3, 0x54, 0x1C, 0x34, 0xD3, 0x17, 0xBC),
1285a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xAE, 0xED, 0xFB, 0xCD, 0xE7, 0x1E, 0x9F),
1286a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x16, 0x1C, 0x34, 0x40, 0x00, 0x1F, 0xB6),
1287a8e1175bSopenharmony_ci};
1288a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_29_Y[] = {
1289a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x32, 0x00, 0xC2, 0xD4, 0x3B, 0x1A, 0x09),
1290a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xE0, 0x99, 0x8F, 0x0C, 0x4A, 0x16, 0x44),
1291a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x73, 0x18, 0x1B, 0xD4, 0x94, 0x29, 0x62),
1292a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xA4, 0x2D, 0xB1, 0x9D, 0x74, 0x32, 0x67),
1293a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xF4, 0xB1, 0x0C, 0x37, 0x62, 0x8B, 0x66),
1294a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xFF, 0xDA, 0xE2, 0x35, 0xA3, 0xB6, 0x42),
1295a8e1175bSopenharmony_ci};
1296a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_30_X[] = {
1297a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x49, 0x99, 0x65, 0xC5, 0xED, 0x16, 0xEF),
1298a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x42, 0x9A, 0xF3, 0xA7, 0x4E, 0x6F, 0x2B),
1299a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x0A, 0x7E, 0xC0, 0xD7, 0x4E, 0x07, 0x55),
1300a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x7A, 0x31, 0x69, 0xA6, 0xB9, 0x15, 0x34),
1301a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xE0, 0x72, 0xA4, 0x3F, 0xB9, 0xF8, 0x0C),
1302a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x75, 0x32, 0x85, 0xA2, 0xDE, 0x37, 0x12),
1303a8e1175bSopenharmony_ci};
1304a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_30_Y[] = {
1305a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xC0, 0x0D, 0xCF, 0x25, 0x41, 0xA4, 0xF4),
1306a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xFC, 0xB2, 0x48, 0xC3, 0x85, 0x83, 0x4B),
1307a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xBE, 0x0B, 0x58, 0x2D, 0x7A, 0x9A, 0x62),
1308a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xF3, 0x81, 0x18, 0x1B, 0x74, 0x4F, 0x2C),
1309a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x43, 0xA3, 0x0A, 0x16, 0x8B, 0xA3, 0x1E),
1310a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x18, 0x81, 0x7B, 0x8D, 0xA2, 0x35, 0x77),
1311a8e1175bSopenharmony_ci};
1312a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_31_X[] = {
1313a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xC4, 0x3F, 0x2C, 0xE7, 0x5F, 0x99, 0x03),
1314a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x2B, 0xB7, 0xB6, 0xAD, 0x5A, 0x56, 0xFF),
1315a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x00, 0xA4, 0x48, 0xC8, 0xE8, 0xBA, 0xBF),
1316a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xA1, 0xB5, 0x13, 0x5A, 0xCD, 0x99, 0x9C),
1317a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x95, 0xAD, 0xFC, 0xE2, 0x7E, 0xE7, 0xFE),
1318a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x6B, 0xD1, 0x34, 0x99, 0x53, 0x63, 0x0B),
1319a8e1175bSopenharmony_ci};
1320a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_31_Y[] = {
1321a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x8A, 0x77, 0x5D, 0x2B, 0xAB, 0x01, 0x28),
1322a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x85, 0xD0, 0xD5, 0x49, 0x83, 0x4D, 0x60),
1323a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xC6, 0x91, 0x30, 0x3B, 0x00, 0xAF, 0x7A),
1324a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xAE, 0x61, 0x07, 0xE1, 0xB6, 0xE2, 0xC9),
1325a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x43, 0x41, 0xFE, 0x9B, 0xB6, 0xF0, 0xA5),
1326a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x97, 0xAE, 0xAD, 0x89, 0x88, 0x9E, 0x41),
1327a8e1175bSopenharmony_ci};
1328a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp384r1_T[32] = {
1329a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp384r1_T_0_X, secp384r1_T_0_Y),
1330a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_1_X, secp384r1_T_1_Y),
1331a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_2_X, secp384r1_T_2_Y),
1332a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_3_X, secp384r1_T_3_Y),
1333a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_4_X, secp384r1_T_4_Y),
1334a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_5_X, secp384r1_T_5_Y),
1335a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_6_X, secp384r1_T_6_Y),
1336a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_7_X, secp384r1_T_7_Y),
1337a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_8_X, secp384r1_T_8_Y),
1338a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_9_X, secp384r1_T_9_Y),
1339a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_10_X, secp384r1_T_10_Y),
1340a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_11_X, secp384r1_T_11_Y),
1341a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_12_X, secp384r1_T_12_Y),
1342a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_13_X, secp384r1_T_13_Y),
1343a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_14_X, secp384r1_T_14_Y),
1344a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_15_X, secp384r1_T_15_Y),
1345a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_16_X, secp384r1_T_16_Y),
1346a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_17_X, secp384r1_T_17_Y),
1347a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_18_X, secp384r1_T_18_Y),
1348a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_19_X, secp384r1_T_19_Y),
1349a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_20_X, secp384r1_T_20_Y),
1350a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_21_X, secp384r1_T_21_Y),
1351a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_22_X, secp384r1_T_22_Y),
1352a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_23_X, secp384r1_T_23_Y),
1353a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_24_X, secp384r1_T_24_Y),
1354a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_25_X, secp384r1_T_25_Y),
1355a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_26_X, secp384r1_T_26_Y),
1356a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_27_X, secp384r1_T_27_Y),
1357a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_28_X, secp384r1_T_28_Y),
1358a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_29_X, secp384r1_T_29_Y),
1359a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_30_X, secp384r1_T_30_Y),
1360a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp384r1_T_31_X, secp384r1_T_31_Y),
1361a8e1175bSopenharmony_ci};
1362a8e1175bSopenharmony_ci#else
1363a8e1175bSopenharmony_ci#define secp384r1_T NULL
1364a8e1175bSopenharmony_ci#endif
1365a8e1175bSopenharmony_ci
1366a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
1367a8e1175bSopenharmony_ci
1368a8e1175bSopenharmony_ci/*
1369a8e1175bSopenharmony_ci * Domain parameters for secp521r1
1370a8e1175bSopenharmony_ci */
1371a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
1372a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_p[] = {
1373a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1374a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1375a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1376a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1377a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1378a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1379a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1380a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1381a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0xFF, 0x01),
1382a8e1175bSopenharmony_ci};
1383a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_b[] = {
1384a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x3F, 0x50, 0x6B, 0xD4, 0x1F, 0x45, 0xEF),
1385a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x34, 0x2C, 0x3D, 0x88, 0xDF, 0x73, 0x35),
1386a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xBF, 0xB1, 0x3B, 0xBD, 0xC0, 0x52, 0x16),
1387a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x93, 0x7E, 0xEC, 0x51, 0x39, 0x19, 0x56),
1388a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x09, 0xF1, 0x8E, 0x91, 0x89, 0xB4, 0xB8),
1389a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x15, 0xB3, 0x99, 0x5B, 0x72, 0xDA, 0xA2),
1390a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x40, 0x85, 0xB6, 0xA0, 0x21, 0x9A, 0x92),
1391a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x9A, 0x1C, 0x8E, 0x61, 0xB9, 0x3E, 0x95),
1392a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x51, 0x00),
1393a8e1175bSopenharmony_ci};
1394a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_gx[] = {
1395a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xBD, 0xE5, 0xC2, 0x31, 0x7E, 0x7E, 0xF9),
1396a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x42, 0x6A, 0x85, 0xC1, 0xB3, 0x48, 0x33),
1397a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xA8, 0xFF, 0xA2, 0x27, 0xC1, 0x1D, 0xFE),
1398a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x59, 0xE7, 0xEF, 0x77, 0x5E, 0x4B, 0xA1),
1399a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x3D, 0x4D, 0x6B, 0x60, 0xAF, 0x28, 0xF8),
1400a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xB5, 0x3F, 0x05, 0x39, 0x81, 0x64, 0x9C),
1401a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB4, 0x95, 0x23, 0x66, 0xCB, 0x3E, 0x9E),
1402a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xE9, 0x04, 0x04, 0xB7, 0x06, 0x8E, 0x85),
1403a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0xC6, 0x00),
1404a8e1175bSopenharmony_ci};
1405a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_gy[] = {
1406a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x66, 0xD1, 0x9F, 0x76, 0x94, 0xBE, 0x88),
1407a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC2, 0x72, 0xA2, 0x86, 0x70, 0x3C, 0x35),
1408a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0xAD, 0x3F, 0x01, 0xB9, 0x50, 0xC5),
1409a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x26, 0xF4, 0x5E, 0x99, 0x72, 0xEE, 0x97),
1410a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0x3E, 0x27, 0x17, 0xBD, 0xAF, 0x17),
1411a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x44, 0x9B, 0x57, 0x49, 0x44, 0xF5, 0x98),
1412a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x1B, 0x7D, 0x2C, 0xB4, 0x5F, 0x8A, 0x5C),
1413a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xC0, 0x3B, 0x9A, 0x78, 0x6A, 0x29, 0x39),
1414a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x18, 0x01),
1415a8e1175bSopenharmony_ci};
1416a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_n[] = {
1417a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x64, 0x38, 0x91, 0x1E, 0xB7, 0x6F, 0xBB),
1418a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x47, 0x9C, 0x89, 0xB8, 0xC9, 0xB5, 0x3B),
1419a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0xA5, 0x09, 0xF7, 0x48, 0x01, 0xCC, 0x7F),
1420a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x96, 0x2F, 0xBF, 0x83, 0x87, 0x86, 0x51),
1421a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1422a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1423a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1424a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
1425a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0xFF, 0x01),
1426a8e1175bSopenharmony_ci};
1427a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
1428a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_0_X[] = {
1429a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xBD, 0xE5, 0xC2, 0x31, 0x7E, 0x7E, 0xF9),
1430a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x42, 0x6A, 0x85, 0xC1, 0xB3, 0x48, 0x33),
1431a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xA8, 0xFF, 0xA2, 0x27, 0xC1, 0x1D, 0xFE),
1432a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x59, 0xE7, 0xEF, 0x77, 0x5E, 0x4B, 0xA1),
1433a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x3D, 0x4D, 0x6B, 0x60, 0xAF, 0x28, 0xF8),
1434a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xB5, 0x3F, 0x05, 0x39, 0x81, 0x64, 0x9C),
1435a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB4, 0x95, 0x23, 0x66, 0xCB, 0x3E, 0x9E),
1436a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xE9, 0x04, 0x04, 0xB7, 0x06, 0x8E, 0x85),
1437a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1438a8e1175bSopenharmony_ci};
1439a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_0_Y[] = {
1440a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x66, 0xD1, 0x9F, 0x76, 0x94, 0xBE, 0x88),
1441a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC2, 0x72, 0xA2, 0x86, 0x70, 0x3C, 0x35),
1442a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0xAD, 0x3F, 0x01, 0xB9, 0x50, 0xC5),
1443a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x26, 0xF4, 0x5E, 0x99, 0x72, 0xEE, 0x97),
1444a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0x3E, 0x27, 0x17, 0xBD, 0xAF, 0x17),
1445a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x44, 0x9B, 0x57, 0x49, 0x44, 0xF5, 0x98),
1446a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x1B, 0x7D, 0x2C, 0xB4, 0x5F, 0x8A, 0x5C),
1447a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xC0, 0x3B, 0x9A, 0x78, 0x6A, 0x29, 0x39),
1448a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1449a8e1175bSopenharmony_ci};
1450a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_1_X[] = {
1451a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xB1, 0x2D, 0xEB, 0x27, 0x2F, 0xE8, 0xDA),
1452a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x4B, 0x44, 0x25, 0xDB, 0x5C, 0x5F, 0x67),
1453a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x85, 0x28, 0x78, 0x2E, 0x75, 0x34, 0x32),
1454a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x57, 0x0F, 0x73, 0x78, 0x7A, 0xE3, 0x53),
1455a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD8, 0xEC, 0xDC, 0xDA, 0x04, 0xAD, 0xAB),
1456a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x8A, 0x09, 0xF3, 0x58, 0x79, 0xD8, 0x29),
1457a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x03, 0xCB, 0x50, 0x1A, 0x7F, 0x56, 0x00),
1458a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xA6, 0x78, 0x38, 0x85, 0x67, 0x0B, 0x40),
1459a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1460a8e1175bSopenharmony_ci};
1461a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_1_Y[] = {
1462a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xD5, 0xD2, 0x22, 0xC4, 0x00, 0x3B, 0xBA),
1463a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x93, 0x0E, 0x7B, 0x85, 0x51, 0xC3, 0x06),
1464a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA6, 0x5F, 0x54, 0x49, 0x02, 0x81, 0x78),
1465a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xE9, 0x6B, 0x3A, 0x92, 0xE7, 0x72, 0x1D),
1466a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x5F, 0x28, 0x9E, 0x91, 0x27, 0x88, 0xE3),
1467a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x28, 0x31, 0xB3, 0x84, 0xCA, 0x12, 0x32),
1468a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xF9, 0xAC, 0x22, 0x10, 0x0A, 0x64, 0x41),
1469a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xC6, 0x33, 0x1F, 0x69, 0x19, 0x18, 0xBF),
1470a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1471a8e1175bSopenharmony_ci};
1472a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_2_X[] = {
1473a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x48, 0xB8, 0xC7, 0x37, 0x5A, 0x00, 0x36),
1474a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xCC, 0x32, 0xE0, 0xEE, 0x03, 0xC2, 0xBA),
1475a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x29, 0xC2, 0xE4, 0x6E, 0x24, 0x20, 0x8D),
1476a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x6B, 0x7F, 0x7B, 0xF9, 0xB0, 0xB8, 0x13),
1477a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x7B, 0x3C, 0xE1, 0x19, 0xA1, 0x23, 0x02),
1478a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE3, 0xC2, 0x53, 0xC0, 0x07, 0x13, 0xA9),
1479a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFE, 0x36, 0x35, 0x9F, 0x5E, 0x59, 0xCE),
1480a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x55, 0x89, 0x84, 0xBC, 0xEF, 0xA2, 0xC2),
1481a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1482a8e1175bSopenharmony_ci};
1483a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_2_Y[] = {
1484a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x1A, 0x08, 0x67, 0xB4, 0xE7, 0x22, 0xED),
1485a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x26, 0xDF, 0x81, 0x3C, 0x5F, 0x1C, 0xDA),
1486a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x4D, 0xD0, 0x0A, 0x48, 0x06, 0xF4, 0x48),
1487a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x18, 0x39, 0xF7, 0xD1, 0x20, 0x77, 0x8D),
1488a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x8F, 0x44, 0x13, 0xCB, 0x78, 0x11, 0x11),
1489a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xE2, 0x49, 0xEA, 0x43, 0x79, 0x08, 0x39),
1490a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xD1, 0xD8, 0x73, 0x2C, 0x71, 0x2F, 0x69),
1491a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xE5, 0xE7, 0xF4, 0x46, 0xAB, 0x20, 0xCA),
1492a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1493a8e1175bSopenharmony_ci};
1494a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_3_X[] = {
1495a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x0B, 0xB9, 0x71, 0x1A, 0x27, 0xB7, 0xA7),
1496a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xA2, 0x2C, 0xD1, 0xDA, 0xBC, 0xC1, 0xBD),
1497a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xA3, 0x10, 0x1F, 0x90, 0xF2, 0xA5, 0x52),
1498a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xFB, 0x20, 0xF4, 0xC0, 0x70, 0xC0, 0xF5),
1499a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xA7, 0x99, 0xF0, 0xA5, 0xD3, 0x09, 0xDD),
1500a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0xE8, 0x14, 0x39, 0xBE, 0xCB, 0x60, 0xAF),
1501a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xD6, 0x14, 0xA9, 0xC9, 0x20, 0xC3, 0xEA),
1502a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA8, 0x5B, 0xFD, 0x2D, 0x96, 0xBC, 0x78),
1503a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1504a8e1175bSopenharmony_ci};
1505a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_3_Y[] = {
1506a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x04, 0x45, 0xBE, 0xCE, 0x75, 0x95, 0xF6),
1507a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xDA, 0x58, 0x49, 0x35, 0x09, 0x8D, 0x41),
1508a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xF0, 0xC0, 0x36, 0xF2, 0xA6, 0x2D, 0x14),
1509a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xFC, 0x3D, 0xA8, 0xFB, 0x3C, 0xD2, 0x51),
1510a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x4D, 0x71, 0x09, 0x18, 0x42, 0xF0, 0x2D),
1511a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xC1, 0xCE, 0x9E, 0x6A, 0x49, 0x60, 0x12),
1512a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xB1, 0x00, 0xF7, 0xA1, 0x7A, 0x31, 0xB4),
1513a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xC3, 0x86, 0xCD, 0x20, 0x4A, 0x17, 0x86),
1514a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1515a8e1175bSopenharmony_ci};
1516a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_4_X[] = {
1517a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xAB, 0x8B, 0x47, 0x8D, 0xAA, 0xA6, 0x5B),
1518a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x97, 0xF0, 0xBC, 0x2D, 0xDC, 0x9D, 0x84),
1519a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x86, 0xB0, 0x74, 0xB2, 0xF4, 0xF6, 0x67),
1520a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBD, 0xAC, 0xE3, 0x8F, 0x43, 0x5C, 0xB1),
1521a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xC3, 0xE2, 0x6E, 0x25, 0x49, 0xCD, 0x0B),
1522a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x5E, 0x08, 0xB3, 0xB9, 0xAC, 0x5F, 0xD1),
1523a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xB7, 0xD1, 0xF4, 0xDC, 0x19, 0xE9, 0xC8),
1524a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xE4, 0xFA, 0xE1, 0x36, 0x3E, 0xED, 0x6E),
1525a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1526a8e1175bSopenharmony_ci};
1527a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_4_Y[] = {
1528a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x67, 0x92, 0x84, 0x6E, 0x48, 0x03, 0x51),
1529a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x95, 0xEF, 0x8F, 0xB2, 0x82, 0x6B, 0x1C),
1530a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFA, 0xB9, 0x55, 0x23, 0xFE, 0x09, 0xB3),
1531a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x79, 0x85, 0x4B, 0x0E, 0xD4, 0x35, 0xDB),
1532a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x27, 0x45, 0x81, 0xE0, 0x88, 0x52, 0xAD),
1533a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x63, 0xA2, 0x4B, 0xBC, 0x5D, 0xB1, 0x92),
1534a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x8C, 0x83, 0xD9, 0x3E, 0xD3, 0x42, 0xDA),
1535a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x03, 0x3A, 0x31, 0xBA, 0xE9, 0x3A, 0xD1),
1536a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1537a8e1175bSopenharmony_ci};
1538a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_5_X[] = {
1539a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x10, 0xCD, 0x2D, 0x00, 0xFE, 0x32, 0xA7),
1540a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x6E, 0x1F, 0xDA, 0xF8, 0x6F, 0x4D, 0x03),
1541a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x79, 0x7D, 0x09, 0xE5, 0xD3, 0x03, 0x21),
1542a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xC3, 0xBE, 0xDF, 0x07, 0x65, 0x49, 0xCC),
1543a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x57, 0x33, 0xEF, 0xAE, 0x4F, 0x04, 0x27),
1544a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0xE9, 0x9B, 0xFE, 0xBF, 0xE6, 0x85, 0xF6),
1545a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xBA, 0xAA, 0x06, 0xC4, 0xC6, 0xB8, 0x57),
1546a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x83, 0x01, 0xA9, 0xF6, 0x51, 0xE7, 0xB8),
1547a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1548a8e1175bSopenharmony_ci};
1549a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_5_Y[] = {
1550a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xA6, 0x15, 0x8E, 0xAB, 0x1F, 0x10, 0x87),
1551a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x08, 0x27, 0x1A, 0xA1, 0x21, 0xAD, 0xF5),
1552a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x09, 0x90, 0x6E, 0x50, 0x90, 0x9A, 0x5D),
1553a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x9A, 0xFE, 0xD7, 0xA1, 0xF5, 0xA2, 0x15),
1554a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x7D, 0xE3, 0xDC, 0x21, 0xFB, 0xA4, 0x7B),
1555a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xBF, 0x07, 0xFF, 0x45, 0xDF, 0x51, 0x77),
1556a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x5C, 0x34, 0x02, 0x62, 0x9B, 0x08, 0x12),
1557a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xCE, 0x9A, 0x6A, 0xEC, 0x75, 0xF6, 0x46),
1558a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1559a8e1175bSopenharmony_ci};
1560a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_6_X[] = {
1561a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x59, 0xF4, 0x78, 0x3C, 0x60, 0xB1, 0x4A),
1562a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x37, 0x84, 0x6A, 0xDC, 0xF2, 0x9A, 0x7D),
1563a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x9A, 0x9A, 0x15, 0x36, 0xE0, 0x2B, 0x2D),
1564a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x38, 0x9C, 0x50, 0x3D, 0x1E, 0x37, 0x82),
1565a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x79, 0xF0, 0x92, 0xF2, 0x8B, 0x18, 0x82),
1566a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xE0, 0x82, 0x1E, 0x80, 0x82, 0x4B, 0xD7),
1567a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xBB, 0x59, 0x6B, 0x8A, 0x77, 0x41, 0x40),
1568a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xF9, 0xD4, 0xB8, 0x4A, 0x82, 0xCF, 0x40),
1569a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1570a8e1175bSopenharmony_ci};
1571a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_6_Y[] = {
1572a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x8C, 0xC8, 0x9B, 0x72, 0x9E, 0xF7, 0xF9),
1573a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xCE, 0xE9, 0x77, 0x0A, 0x19, 0x59, 0x84),
1574a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xA1, 0x41, 0x6A, 0x72, 0x4B, 0xB4, 0xDC),
1575a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x35, 0x43, 0xE2, 0x8C, 0xBE, 0x0D, 0xE3),
1576a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xEB, 0xAD, 0xF3, 0xA9, 0xA6, 0x68, 0xA1),
1577a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x2F, 0xE2, 0x48, 0x0C, 0xDB, 0x1F, 0x42),
1578a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x1E, 0x60, 0x9B, 0x2A, 0xD2, 0xC1, 0x3C),
1579a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x64, 0xB5, 0xD2, 0xF6, 0xF6, 0x6E, 0x22),
1580a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1581a8e1175bSopenharmony_ci};
1582a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_7_X[] = {
1583a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x3D, 0x30, 0x78, 0x10, 0x18, 0x41, 0x51),
1584a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x1D, 0x1C, 0xE0, 0x6D, 0x83, 0xD1, 0x93),
1585a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x03, 0x0B, 0xF5, 0x2F, 0x6C, 0x04, 0x98),
1586a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x3E, 0xD5, 0xFC, 0x31, 0x5B, 0x3A, 0xEB),
1587a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x82, 0x2F, 0xFB, 0xFE, 0xF8, 0x76, 0x39),
1588a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x26, 0xDA, 0x9C, 0x36, 0xF5, 0x93, 0xD1),
1589a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xE7, 0x6E, 0xD2, 0x7D, 0x81, 0x09, 0xC6),
1590a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x03, 0xF9, 0x58, 0x48, 0x24, 0xA2, 0xEE),
1591a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1592a8e1175bSopenharmony_ci};
1593a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_7_Y[] = {
1594a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x79, 0x0C, 0x8E, 0x6B, 0x95, 0xF3, 0xC4),
1595a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x10, 0x5C, 0x87, 0x03, 0x39, 0xCF, 0x68),
1596a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xF0, 0xF7, 0xC1, 0x07, 0xA4, 0xF4, 0x3F),
1597a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xE8, 0x02, 0x89, 0x65, 0xC4, 0x72, 0x36),
1598a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x88, 0xEA, 0x96, 0x67, 0x0B, 0x5D, 0xDF),
1599a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x75, 0x60, 0xA8, 0xBD, 0x74, 0xDF, 0x68),
1600a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xE5, 0x71, 0x50, 0x67, 0xD0, 0xD2, 0xE6),
1601a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xFC, 0xE5, 0xC7, 0x77, 0xB0, 0x7F, 0x8C),
1602a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1603a8e1175bSopenharmony_ci};
1604a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_8_X[] = {
1605a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x86, 0x69, 0xCD, 0x0D, 0x9A, 0xBD, 0x66),
1606a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x17, 0xBC, 0xBB, 0x59, 0x85, 0x7D, 0x0E),
1607a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xA8, 0x76, 0xAC, 0x80, 0xA9, 0x72, 0xE0),
1608a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x78, 0xC1, 0xE2, 0x4D, 0xAF, 0xF9, 0x3C),
1609a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x97, 0x8E, 0x74, 0xC4, 0x4B, 0xB2, 0x85),
1610a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD8, 0xF6, 0xF3, 0xAF, 0x2F, 0x52, 0xE5),
1611a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x57, 0xF4, 0xCE, 0xEE, 0x43, 0xED, 0x60),
1612a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x46, 0x38, 0xDE, 0x20, 0xFD, 0x59, 0x18),
1613a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1614a8e1175bSopenharmony_ci};
1615a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_8_Y[] = {
1616a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x18, 0xE8, 0x58, 0xB9, 0x76, 0x2C, 0xE6),
1617a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x54, 0xE4, 0xFE, 0xC7, 0xBC, 0x31, 0x37),
1618a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xF8, 0x89, 0xEE, 0x70, 0xB5, 0xB0, 0x2C),
1619a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x22, 0x26, 0x9A, 0x53, 0xB9, 0x38, 0x0A),
1620a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xA7, 0x19, 0x8C, 0x74, 0x7E, 0x88, 0x46),
1621a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xDA, 0x0A, 0xE8, 0xDA, 0xA5, 0xBE, 0x1D),
1622a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x5C, 0xF7, 0xB1, 0x0C, 0x72, 0xFB, 0x09),
1623a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xE2, 0x23, 0xE7, 0x46, 0xB7, 0xE0, 0x91),
1624a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1625a8e1175bSopenharmony_ci};
1626a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_9_X[] = {
1627a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x36, 0xBC, 0xBD, 0x48, 0x11, 0x8E, 0x72),
1628a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xBB, 0xA1, 0xF7, 0x0B, 0x9E, 0xBF, 0xDF),
1629a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x28, 0xE1, 0xA2, 0x8F, 0xFC, 0xFC, 0xD6),
1630a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xFE, 0x19, 0x0A, 0xE5, 0xE7, 0x69, 0x39),
1631a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xCD, 0x12, 0xF5, 0xBE, 0xD3, 0x04, 0xF1),
1632a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xA8, 0x0D, 0x81, 0x59, 0xC4, 0x79, 0x98),
1633a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xF3, 0x4B, 0x92, 0x65, 0xC3, 0x31, 0xAD),
1634a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xB5, 0x4F, 0x4D, 0x91, 0xD4, 0xE2, 0xB2),
1635a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1636a8e1175bSopenharmony_ci};
1637a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_9_Y[] = {
1638a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x09, 0x41, 0x79, 0x1D, 0x4D, 0x0D, 0x33),
1639a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x31, 0x18, 0xBA, 0xA0, 0xF2, 0x6E, 0x7E),
1640a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x5B, 0x4D, 0x4F, 0xAF, 0xC9, 0x8C, 0xA1),
1641a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x99, 0x9C, 0x06, 0x68, 0xDE, 0xD8, 0x29),
1642a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x04, 0xE1, 0xB5, 0x9D, 0x00, 0xBC, 0xB8),
1643a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x95, 0x92, 0x8D, 0x72, 0xD3, 0x37, 0x42),
1644a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x4B, 0x27, 0xA2, 0xE8, 0xA4, 0x26, 0xA1),
1645a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x45, 0x9C, 0xA9, 0xCB, 0x9F, 0xBA, 0x85),
1646a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1647a8e1175bSopenharmony_ci};
1648a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_10_X[] = {
1649a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x7E, 0x1B, 0x64, 0xF4, 0xE8, 0xA5, 0x55),
1650a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x20, 0xA9, 0xCA, 0xF3, 0x89, 0xE5, 0xE1),
1651a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xED, 0xFC, 0xAB, 0xD9, 0x0A, 0xB9, 0x07),
1652a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x6F, 0x46, 0x7C, 0xCD, 0x78, 0xFF, 0x05),
1653a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xAB, 0x71, 0x5A, 0x94, 0xAB, 0x20, 0x20),
1654a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x2E, 0xEE, 0x87, 0x57, 0x1F, 0xAD, 0xD3),
1655a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x4C, 0x3D, 0xFB, 0x7E, 0xA1, 0x8B, 0x07),
1656a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xCF, 0x07, 0x86, 0xBA, 0x53, 0x37, 0xCF),
1657a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1658a8e1175bSopenharmony_ci};
1659a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_10_Y[] = {
1660a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x26, 0xB2, 0xB9, 0xE2, 0x91, 0xE3, 0xB5),
1661a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xC9, 0x54, 0x84, 0x08, 0x3D, 0x0B, 0xD2),
1662a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA8, 0x77, 0x2F, 0x64, 0x45, 0x99, 0x4C),
1663a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x96, 0x16, 0x1F, 0xDB, 0x96, 0x28, 0x97),
1664a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x2B, 0x8D, 0xFF, 0xA2, 0x4F, 0x55, 0xD3),
1665a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xE6, 0x48, 0xBD, 0x99, 0x3D, 0x12, 0x57),
1666a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x84, 0x59, 0xDA, 0xB9, 0xB6, 0x66, 0x12),
1667a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x78, 0x41, 0x92, 0xDF, 0xF4, 0x3F, 0x63),
1668a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1669a8e1175bSopenharmony_ci};
1670a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_11_X[] = {
1671a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x86, 0x6F, 0x4F, 0xBF, 0x67, 0xDF, 0x2F),
1672a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x2B, 0x1E, 0x5F, 0x00, 0xEA, 0xF6, 0x56),
1673a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xB9, 0x6A, 0x89, 0xD8, 0xC0, 0xD7, 0xA7),
1674a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x9A, 0x32, 0x23, 0xA0, 0x02, 0x91, 0x58),
1675a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x7F, 0x6A, 0x15, 0x64, 0x6A, 0x8B, 0xBB),
1676a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x57, 0x82, 0x58, 0xA9, 0x56, 0xB5, 0xFB),
1677a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x50, 0x92, 0x60, 0xCC, 0x81, 0x24, 0xA8),
1678a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x3D, 0xAD, 0xDA, 0xD9, 0x51, 0x3E, 0x57),
1679a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1680a8e1175bSopenharmony_ci};
1681a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_11_Y[] = {
1682a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xFE, 0x8F, 0xB0, 0x0B, 0xDE, 0x2E, 0x7E),
1683a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xD2, 0xBE, 0xEF, 0xAC, 0x76, 0x71, 0xA3),
1684a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xE8, 0x72, 0x0B, 0xAC, 0xFE, 0xCA, 0x5A),
1685a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x5B, 0xC7, 0xFC, 0xE3, 0x3C, 0x7C, 0x4C),
1686a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x04, 0xA7, 0xB9, 0x9B, 0x93, 0xC0, 0x2F),
1687a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x48, 0x4B, 0x8E, 0x32, 0xC5, 0xF0, 0x6B),
1688a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x42, 0x07, 0xC1, 0xF2, 0xF1, 0x72, 0x5B),
1689a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x37, 0x54, 0x9C, 0x88, 0xD2, 0x62, 0xAA),
1690a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1691a8e1175bSopenharmony_ci};
1692a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_12_X[] = {
1693a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x19, 0x8A, 0x89, 0x58, 0xA2, 0x0F, 0xDB),
1694a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xCC, 0x4C, 0x97, 0x30, 0x66, 0x34, 0x26),
1695a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x6A, 0x1E, 0x1F, 0xDB, 0xC9, 0x5E, 0x13),
1696a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x4D, 0x49, 0xFF, 0x9B, 0x9C, 0xAC, 0x9B),
1697a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xE4, 0x4B, 0xF2, 0xD4, 0x1A, 0xD2, 0x78),
1698a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xDA, 0xE8, 0x61, 0x9F, 0xC8, 0x49, 0x32),
1699a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xCB, 0xF2, 0x2D, 0x85, 0xF6, 0x8D, 0x52),
1700a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xC5, 0xCD, 0x2C, 0x79, 0xC6, 0x0E, 0x4F),
1701a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1702a8e1175bSopenharmony_ci};
1703a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_12_Y[] = {
1704a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x1D, 0x55, 0x0F, 0xF8, 0x22, 0x9F, 0x78),
1705a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x56, 0xBA, 0xE7, 0x57, 0x32, 0xEC, 0x42),
1706a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x9A, 0xC6, 0x4C, 0x09, 0xC4, 0x52, 0x3F),
1707a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x1E, 0x6F, 0xF4, 0x7D, 0x27, 0xDD, 0xAF),
1708a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x11, 0x16, 0xEC, 0x79, 0x83, 0xAD, 0xAE),
1709a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x4E, 0x92, 0x1F, 0x19, 0x7D, 0x65, 0xDC),
1710a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xFF, 0x78, 0x15, 0x45, 0x63, 0x32, 0xE4),
1711a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x91, 0xD0, 0x78, 0x58, 0xDA, 0x50, 0x47),
1712a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1713a8e1175bSopenharmony_ci};
1714a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_13_X[] = {
1715a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0xDE, 0x40, 0xF6, 0x41, 0xB4, 0x3B, 0x95),
1716a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x8D, 0xE0, 0xE1, 0xA9, 0xF0, 0x35, 0x5D),
1717a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xD4, 0xBA, 0x7B, 0xCC, 0x1B, 0x3A, 0x32),
1718a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x5A, 0x2E, 0x74, 0x47, 0x14, 0xC3, 0x4D),
1719a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xF0, 0x8B, 0x06, 0x15, 0x8E, 0x0E, 0xCA),
1720a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0xD2, 0xEB, 0x97, 0x50, 0x7D, 0x31, 0xFC),
1721a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x93, 0x4C, 0xDB, 0x97, 0x79, 0x44, 0xF5),
1722a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xA2, 0xA0, 0x0B, 0xC8, 0x3A, 0x8A, 0xF9),
1723a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1724a8e1175bSopenharmony_ci};
1725a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_13_Y[] = {
1726a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x50, 0x92, 0x9E, 0x24, 0x1F, 0xCB, 0x4C),
1727a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x16, 0xC9, 0xC5, 0x3D, 0x5A, 0xAF, 0x97),
1728a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xE3, 0x97, 0xE4, 0xA8, 0x50, 0xF6, 0x7E),
1729a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x57, 0x97, 0x42, 0x78, 0x92, 0x49, 0x0D),
1730a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xEB, 0x62, 0x24, 0xFB, 0x8F, 0x32, 0xCF),
1731a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x0C, 0x36, 0x6E, 0x8F, 0xE8, 0xE8, 0x8E),
1732a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xD3, 0x7C, 0xC7, 0x8D, 0x3F, 0x5C, 0xE1),
1733a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x64, 0x6A, 0x73, 0x10, 0x79, 0xB8, 0x5A),
1734a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1735a8e1175bSopenharmony_ci};
1736a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_14_X[] = {
1737a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xF9, 0xEF, 0xA5, 0x20, 0x4A, 0x5C, 0xA1),
1738a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xF3, 0xF4, 0x49, 0x5B, 0x73, 0xAA, 0x1B),
1739a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xF2, 0xEA, 0x0F, 0x00, 0xAD, 0x53, 0xAB),
1740a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xB8, 0x66, 0xED, 0xC4, 0x2B, 0x4C, 0x35),
1741a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x2F, 0xC1, 0x9A, 0x37, 0xD2, 0x7F, 0x58),
1742a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xA7, 0x81, 0x38, 0x64, 0xC9, 0x37, 0x38),
1743a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x3B, 0x6C, 0x9F, 0x5B, 0xD9, 0x8B, 0x1D),
1744a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x14, 0xD9, 0x08, 0xD8, 0xD2, 0x7E, 0x23),
1745a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1746a8e1175bSopenharmony_ci};
1747a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_14_Y[] = {
1748a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x71, 0xE6, 0x3D, 0xD1, 0xB0, 0xE7, 0xCD),
1749a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x81, 0x23, 0xEC, 0x2D, 0x42, 0x45, 0xE6),
1750a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x5B, 0x44, 0x6B, 0x89, 0x03, 0x67, 0x28),
1751a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x27, 0xAE, 0x80, 0x5A, 0x33, 0xBE, 0x11),
1752a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xB6, 0x64, 0x1A, 0xDF, 0xD3, 0x85, 0x91),
1753a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x8C, 0x22, 0xBA, 0xD0, 0xBD, 0xCC, 0xA0),
1754a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x3C, 0x01, 0x3A, 0xFF, 0x9D, 0xC7, 0x6B),
1755a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xC7, 0x64, 0xB4, 0x59, 0x4E, 0x9F, 0x22),
1756a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1757a8e1175bSopenharmony_ci};
1758a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_15_X[] = {
1759a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x34, 0x0A, 0x41, 0x94, 0xA8, 0xF2, 0xB7),
1760a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xD4, 0xE4, 0xF0, 0x97, 0x45, 0x6D, 0xCA),
1761a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x1F, 0x4D, 0x6D, 0xFE, 0xA0, 0xC4, 0x84),
1762a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x28, 0x5C, 0x40, 0xBB, 0x65, 0xD4, 0x42),
1763a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xA8, 0x87, 0x35, 0x20, 0x3A, 0x89, 0x44),
1764a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFD, 0x4F, 0xAB, 0x2D, 0xD1, 0xD0, 0xC0),
1765a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xE8, 0x00, 0xFC, 0x69, 0x52, 0xF8, 0xD5),
1766a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x9A, 0x99, 0xE1, 0xDC, 0x9C, 0x3F, 0xD9),
1767a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1768a8e1175bSopenharmony_ci};
1769a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_15_Y[] = {
1770a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x08, 0x98, 0xD9, 0xCA, 0x73, 0xD5, 0xA9),
1771a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x2C, 0xE0, 0xA7, 0x3E, 0x91, 0xD7, 0x87),
1772a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x04, 0xB0, 0x54, 0x09, 0xF4, 0x72, 0xB7),
1773a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xEE, 0x28, 0xCC, 0xE8, 0x50, 0x78, 0x20),
1774a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x91, 0x03, 0x76, 0xDB, 0x68, 0x24, 0x77),
1775a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xE0, 0x56, 0xB2, 0x5D, 0x12, 0xD3, 0xB5),
1776a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x42, 0x59, 0x8B, 0xDF, 0x67, 0xB5, 0xBE),
1777a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xCC, 0xE5, 0x31, 0x53, 0x7A, 0x46, 0xB3),
1778a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1779a8e1175bSopenharmony_ci};
1780a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_16_X[] = {
1781a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x8D, 0x59, 0xB5, 0x1B, 0x0F, 0xF4, 0xAF),
1782a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x2F, 0xD1, 0x2C, 0xE0, 0xD8, 0x04, 0xEF),
1783a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF4, 0xD7, 0xBA, 0xB0, 0xA3, 0x7E, 0xC9),
1784a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x08, 0x51, 0x56, 0xA6, 0x76, 0x67, 0x33),
1785a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x17, 0x63, 0xFE, 0x56, 0xD0, 0xD9, 0x71),
1786a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xF6, 0xC3, 0x14, 0x47, 0xC5, 0xA7, 0x31),
1787a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x4C, 0x80, 0xF6, 0xA2, 0x57, 0xA7, 0x5D),
1788a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xB3, 0x7B, 0xF8, 0x2F, 0xE1, 0x3E, 0x7B),
1789a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1790a8e1175bSopenharmony_ci};
1791a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_16_Y[] = {
1792a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0xF4, 0xF9, 0x6B, 0x7B, 0x90, 0xDF, 0x30),
1793a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x82, 0xEF, 0x62, 0xA1, 0x4C, 0x53, 0xCA),
1794a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x99, 0x76, 0x01, 0xBA, 0x8D, 0x0F, 0x54),
1795a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xF4, 0x58, 0x73, 0x56, 0xFE, 0xDD, 0x7C),
1796a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xCE, 0xF9, 0xE8, 0xA1, 0x34, 0xC3, 0x5B),
1797a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x5F, 0xDC, 0x6A, 0x3D, 0xD8, 0x7F, 0x42),
1798a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xF4, 0x51, 0xB8, 0xB8, 0xC1, 0xD7, 0x2F),
1799a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x7D, 0x58, 0xD1, 0xD4, 0x1B, 0x4D, 0x23),
1800a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1801a8e1175bSopenharmony_ci};
1802a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_17_X[] = {
1803a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x95, 0xDF, 0x00, 0xD8, 0x21, 0xDE, 0x94),
1804a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x47, 0x3C, 0xC3, 0xB2, 0x01, 0x53, 0x5D),
1805a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x17, 0x43, 0x23, 0xBD, 0xCA, 0x71, 0xF2),
1806a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xBA, 0x0F, 0x4F, 0xDC, 0x41, 0x54, 0xBE),
1807a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x39, 0x26, 0x70, 0x53, 0x32, 0x18, 0x11),
1808a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x46, 0x07, 0x97, 0x3A, 0x57, 0xE0, 0x01),
1809a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x92, 0x4F, 0xCE, 0xDF, 0x25, 0x80, 0x26),
1810a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x6F, 0x9A, 0x03, 0x05, 0x4B, 0xD1, 0x47),
1811a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1812a8e1175bSopenharmony_ci};
1813a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_17_Y[] = {
1814a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x01, 0x72, 0x30, 0x90, 0x17, 0x51, 0x20),
1815a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xFB, 0x41, 0x65, 0x5C, 0xB4, 0x2D, 0xEE),
1816a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xCD, 0xCD, 0xAA, 0x41, 0xCC, 0xBB, 0x07),
1817a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xCE, 0x08, 0x0A, 0x63, 0xE9, 0xA2, 0xFF),
1818a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA8, 0x21, 0x7F, 0x7A, 0x5B, 0x9B, 0x81),
1819a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x6B, 0x89, 0x44, 0x0A, 0x7F, 0x85, 0x5F),
1820a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xDE, 0x7C, 0x19, 0x5C, 0x65, 0x26, 0x61),
1821a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xAC, 0x62, 0x29, 0x4A, 0xF1, 0xD0, 0x81),
1822a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1823a8e1175bSopenharmony_ci};
1824a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_18_X[] = {
1825a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x00, 0x40, 0x87, 0xEB, 0xA9, 0x58, 0x56),
1826a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x51, 0x0B, 0xFF, 0x56, 0x35, 0x51, 0xB3),
1827a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xAC, 0x08, 0x94, 0x71, 0xDA, 0xEC, 0x99),
1828a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x4D, 0xC5, 0x7B, 0x31, 0x8B, 0x8D, 0x5E),
1829a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x05, 0xF1, 0x3E, 0x9E, 0x8F, 0x17, 0x8F),
1830a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x9C, 0x4B, 0x62, 0x94, 0xAD, 0x49, 0xFC),
1831a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xC9, 0xC6, 0x8F, 0xFD, 0x33, 0x44, 0x34),
1832a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x96, 0x17, 0x7F, 0x42, 0xBE, 0xF7, 0x0D),
1833a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1834a8e1175bSopenharmony_ci};
1835a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_18_Y[] = {
1836a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x29, 0x39, 0x13, 0x08, 0x8D, 0x91, 0x47),
1837a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x79, 0xF9, 0x2F, 0xA9, 0x0A, 0xCF, 0xD6),
1838a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x87, 0x7A, 0xA3, 0x19, 0xAB, 0x55, 0xAD),
1839a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x0B, 0x01, 0xC5, 0x56, 0x19, 0x9D, 0x9E),
1840a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xDE, 0x82, 0x3B, 0xEA, 0xD3, 0x0B, 0x8C),
1841a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x6B, 0xC7, 0xF3, 0x0F, 0x82, 0x87, 0x6C),
1842a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x2E, 0x23, 0xF2, 0x39, 0x9D, 0x49, 0x70),
1843a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0xDE, 0xAF, 0x7A, 0xEE, 0xB0, 0xDA, 0x70),
1844a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1845a8e1175bSopenharmony_ci};
1846a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_19_X[] = {
1847a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x4E, 0x2A, 0x50, 0xFD, 0x8E, 0xC0, 0xEB),
1848a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x0F, 0x7C, 0x76, 0x63, 0xD8, 0x89, 0x45),
1849a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x2D, 0xB9, 0x4E, 0xF4, 0xEE, 0x85, 0xCF),
1850a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x95, 0x5C, 0x96, 0x5D, 0xAA, 0x59, 0x0B),
1851a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xDB, 0xD2, 0x68, 0x8E, 0x5A, 0x94, 0x60),
1852a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x02, 0xBF, 0x77, 0x9F, 0xB9, 0x4C, 0xC9),
1853a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xDC, 0xC0, 0xCF, 0x81, 0x1E, 0xC4, 0x6C),
1854a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xCC, 0x37, 0x86, 0xDC, 0xE2, 0x64, 0x72),
1855a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1856a8e1175bSopenharmony_ci};
1857a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_19_Y[] = {
1858a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x30, 0xB1, 0x59, 0x20, 0x9D, 0x98, 0x28),
1859a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x0C, 0x9D, 0xF8, 0x20, 0xDC, 0x90, 0xBA),
1860a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xA0, 0xF4, 0xE7, 0x3E, 0x9C, 0x9E, 0xA2),
1861a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x25, 0xA2, 0xB0, 0x54, 0xCD, 0x2E, 0x33),
1862a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD9, 0x42, 0xB0, 0x80, 0xB0, 0xA3, 0x38),
1863a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xFE, 0x9D, 0x8D, 0x40, 0xFF, 0x27, 0x6D),
1864a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x9D, 0xA6, 0x88, 0x3A, 0x8B, 0x6F, 0x14),
1865a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x39, 0xEE, 0x1F, 0x3F, 0xB1, 0x4F, 0x63),
1866a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1867a8e1175bSopenharmony_ci};
1868a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_20_X[] = {
1869a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xD7, 0x9E, 0xFF, 0xD2, 0x35, 0x67, 0x03),
1870a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x4F, 0x15, 0x5D, 0xE3, 0xE8, 0x53, 0x86),
1871a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xF7, 0x24, 0x98, 0xA2, 0xCB, 0x11, 0x68),
1872a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x2E, 0x25, 0xE1, 0x94, 0xC5, 0xA3, 0x96),
1873a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x82, 0x6E, 0xBA, 0xE7, 0x43, 0x25, 0xB0),
1874a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x65, 0xB4, 0x49, 0x73, 0x18, 0x35, 0x54),
1875a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x5B, 0xBC, 0x62, 0x86, 0x4C, 0xC1, 0xB7),
1876a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xF2, 0x95, 0xA2, 0xBB, 0xA2, 0x35, 0x65),
1877a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1878a8e1175bSopenharmony_ci};
1879a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_20_Y[] = {
1880a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x59, 0x62, 0xB0, 0x4B, 0x1E, 0xB4, 0xD8),
1881a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x55, 0xCE, 0xB0, 0x69, 0xBA, 0x63, 0x10),
1882a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0x69, 0x86, 0xDB, 0x34, 0x7D, 0x68, 0x64),
1883a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x06, 0xCA, 0x55, 0x44, 0x36, 0x2B, 0xBA),
1884a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xD4, 0xC4, 0x3D, 0xCD, 0x9E, 0x69, 0xA4),
1885a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x44, 0xE4, 0xBF, 0x31, 0xE6, 0x40, 0x9F),
1886a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x4F, 0xFA, 0x75, 0xE3, 0xFB, 0x97, 0x0E),
1887a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xC0, 0xBD, 0x1C, 0x48, 0xB0, 0x26, 0xD0),
1888a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1889a8e1175bSopenharmony_ci};
1890a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_21_X[] = {
1891a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x7B, 0x32, 0xFA, 0xF2, 0x6D, 0x84, 0x8E),
1892a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x21, 0x03, 0x1D, 0x0D, 0x22, 0x55, 0x67),
1893a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xF9, 0x42, 0x03, 0x9C, 0xC2, 0xCB, 0xBA),
1894a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xA1, 0x96, 0xD9, 0x9D, 0x11, 0x6F, 0xBE),
1895a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x40, 0x57, 0xEB, 0x40, 0x2D, 0xC0, 0x11),
1896a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x96, 0xBB, 0x4F, 0x2F, 0x23, 0xA8, 0x28),
1897a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x29, 0x85, 0x21, 0xA5, 0x50, 0x62, 0x06),
1898a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x7D, 0x92, 0xCF, 0x87, 0x0C, 0x22, 0xF9),
1899a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1900a8e1175bSopenharmony_ci};
1901a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_21_Y[] = {
1902a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x0E, 0xA5, 0x32, 0x5B, 0xDF, 0x9C, 0xD5),
1903a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x96, 0x37, 0x2C, 0x88, 0x35, 0x30, 0xA1),
1904a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xB4, 0x69, 0xFF, 0xEB, 0xC6, 0x94, 0x08),
1905a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x55, 0x60, 0xAD, 0xAA, 0x58, 0x14, 0x88),
1906a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xFF, 0xF2, 0xB2, 0xD5, 0xA7, 0xD9, 0x27),
1907a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xAE, 0x54, 0xD2, 0x60, 0x31, 0xF3, 0x15),
1908a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x92, 0x83, 0xE3, 0xF1, 0x42, 0x83, 0x6E),
1909a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xD2, 0xC8, 0xB7, 0x76, 0x45, 0x7F, 0x7D),
1910a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1911a8e1175bSopenharmony_ci};
1912a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_22_X[] = {
1913a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x11, 0xA4, 0xFB, 0x7A, 0x01, 0xBC, 0xC8),
1914a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x27, 0x73, 0x8D, 0x02, 0x91, 0x27, 0x8E),
1915a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x62, 0xF6, 0xDD, 0x6B, 0xFA, 0x5B, 0xB9),
1916a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xCA, 0xA2, 0x44, 0x2C, 0xF0, 0x28, 0xD8),
1917a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xF1, 0x7A, 0xA2, 0x42, 0x4C, 0x50, 0xC6),
1918a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x83, 0x3E, 0x50, 0xAB, 0x9C, 0xF7, 0x67),
1919a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xED, 0x78, 0xCB, 0x76, 0x69, 0xDA, 0x42),
1920a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x01, 0x1E, 0x43, 0x27, 0x47, 0x6E, 0xDA),
1921a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1922a8e1175bSopenharmony_ci};
1923a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_22_Y[] = {
1924a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x4F, 0x54, 0xB9, 0x3E, 0xBD, 0xD5, 0x44),
1925a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x35, 0x40, 0x69, 0x7F, 0x74, 0x9D, 0x32),
1926a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x06, 0x6F, 0x67, 0x68, 0x2B, 0x4D, 0x10),
1927a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x65, 0x41, 0xFC, 0x7C, 0x1E, 0xE8, 0xC8),
1928a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x79, 0x37, 0xAF, 0xFD, 0xD2, 0xDA, 0x4C),
1929a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xA8, 0x69, 0x56, 0x62, 0xA4, 0xE4, 0xA3),
1930a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x71, 0x73, 0x21, 0x8A, 0x17, 0x81, 0xA2),
1931a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x55, 0x8F, 0x7B, 0xB8, 0xAF, 0xF7, 0x86),
1932a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1933a8e1175bSopenharmony_ci};
1934a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_23_X[] = {
1935a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xD1, 0xBD, 0xBE, 0x8C, 0xBC, 0x60, 0x6E),
1936a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xA6, 0x57, 0x8C, 0xAE, 0x5C, 0x19, 0xFE),
1937a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x43, 0xE4, 0xD9, 0xD8, 0x7B, 0xE7, 0x41),
1938a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xB9, 0xE4, 0x85, 0x7C, 0x2E, 0xFC, 0x20),
1939a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x2E, 0x01, 0x2A, 0x6D, 0x56, 0xBE, 0x97),
1940a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x0C, 0x25, 0x9B, 0xAE, 0x86, 0x37, 0x43),
1941a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x22, 0xB3, 0xCB, 0x99, 0x66, 0xB7, 0x9E),
1942a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xF7, 0x90, 0xF0, 0x1B, 0x09, 0x27, 0xF7),
1943a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1944a8e1175bSopenharmony_ci};
1945a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_23_Y[] = {
1946a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x16, 0x08, 0xEF, 0x39, 0x64, 0x49, 0x31),
1947a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xA0, 0xE3, 0x97, 0xA9, 0x07, 0x54, 0x26),
1948a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xFF, 0xE2, 0x00, 0x07, 0x21, 0x88, 0x20),
1949a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xFD, 0x59, 0x53, 0x05, 0x6C, 0x42, 0x27),
1950a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xF7, 0x39, 0x5C, 0x82, 0x36, 0xE8, 0x03),
1951a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x83, 0xA8, 0xE2, 0xA8, 0x43, 0x07, 0x38),
1952a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xAF, 0x2B, 0x79, 0xED, 0xD8, 0x39, 0x87),
1953a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x20, 0x91, 0x7A, 0xC4, 0x07, 0xEF, 0x6C),
1954a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1955a8e1175bSopenharmony_ci};
1956a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_24_X[] = {
1957a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x10, 0x2F, 0xAA, 0x0C, 0x94, 0x0E, 0x5A),
1958a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x81, 0x87, 0x41, 0x23, 0xEB, 0x55, 0x7C),
1959a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x53, 0xCC, 0x79, 0xB6, 0xEB, 0x6C, 0xCC),
1960a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x77, 0x73, 0x9D, 0xFC, 0x64, 0x6F, 0x7F),
1961a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x40, 0xE3, 0x6D, 0x1C, 0x16, 0x71, 0x15),
1962a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xF4, 0x1B, 0xFF, 0x1C, 0x2F, 0xA5, 0xD7),
1963a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x0E, 0x0B, 0x11, 0xF4, 0x8D, 0x93, 0xAF),
1964a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xC5, 0x64, 0x6F, 0x24, 0x19, 0xF2, 0x9B),
1965a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1966a8e1175bSopenharmony_ci};
1967a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_24_Y[] = {
1968a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xB3, 0xAF, 0xA5, 0x0E, 0x4F, 0x5E, 0xE1),
1969a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x77, 0xCA, 0xF2, 0x6D, 0xC5, 0xF6, 0x9F),
1970a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x18, 0x8E, 0x33, 0x68, 0x6C, 0xE8, 0xE0),
1971a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x8B, 0x80, 0x90, 0x19, 0x7F, 0x90, 0x96),
1972a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x80, 0x6B, 0x68, 0xE2, 0x7D, 0xD4, 0xD0),
1973a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xC1, 0x67, 0xB3, 0x72, 0xCB, 0xBF, 0x2F),
1974a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xD5, 0xD3, 0x1D, 0x14, 0x58, 0x0A, 0x80),
1975a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x7A, 0x65, 0x98, 0xB3, 0x07, 0x4B, 0x2F),
1976a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1977a8e1175bSopenharmony_ci};
1978a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_25_X[] = {
1979a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x87, 0x0F, 0x5F, 0xCF, 0xA2, 0x01, 0x08),
1980a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xC9, 0xC8, 0x6E, 0x35, 0x87, 0xA5, 0x67),
1981a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x3E, 0x91, 0xA0, 0xAB, 0x24, 0x1E, 0xF2),
1982a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xBC, 0x02, 0x35, 0x70, 0xC1, 0x5F, 0x98),
1983a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x59, 0xA0, 0x50, 0x04, 0x80, 0x52, 0x85),
1984a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x56, 0x6E, 0x42, 0x8F, 0x8C, 0x91, 0x65),
1985a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xA2, 0xCB, 0xA5, 0xDE, 0x14, 0x24, 0x38),
1986a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xCB, 0x74, 0x28, 0xE6, 0xA7, 0xE7, 0xC3),
1987a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1988a8e1175bSopenharmony_ci};
1989a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_25_Y[] = {
1990a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x73, 0xA8, 0x8F, 0x9E, 0x0E, 0x63, 0x96),
1991a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x1B, 0x77, 0xC7, 0xC1, 0x38, 0xF9, 0xDC),
1992a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x3C, 0xCF, 0xA8, 0x7A, 0xD7, 0xF3, 0xC4),
1993a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x5F, 0x9A, 0xC9, 0xAD, 0xE9, 0x1A, 0x93),
1994a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xCF, 0x2B, 0x5E, 0xD5, 0x81, 0x95, 0xA8),
1995a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x88, 0x75, 0x29, 0x1F, 0xC7, 0xC7, 0xD0),
1996a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA9, 0x5A, 0x4D, 0x63, 0x95, 0xF9, 0x4E),
1997a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xCD, 0x04, 0x8F, 0xCD, 0x91, 0xDE, 0xC6),
1998a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
1999a8e1175bSopenharmony_ci};
2000a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_26_X[] = {
2001a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xD4, 0xFD, 0x25, 0x11, 0x99, 0x6E, 0xEA),
2002a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x83, 0x01, 0x3D, 0xFB, 0x56, 0xA5, 0x4E),
2003a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x3A, 0xDC, 0x74, 0xC2, 0xD7, 0xCF, 0xE8),
2004a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xBD, 0xF1, 0xDD, 0xA3, 0x07, 0x03, 0xE2),
2005a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xBE, 0xE9, 0x2E, 0x58, 0x84, 0x66, 0xFC),
2006a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x20, 0x78, 0x37, 0x79, 0x0B, 0xA6, 0x64),
2007a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xF2, 0xAC, 0x65, 0xC8, 0xC9, 0x2F, 0x61),
2008a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x93, 0xE5, 0x0D, 0x0C, 0xC6, 0xB8, 0xCB),
2009a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2010a8e1175bSopenharmony_ci};
2011a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_26_Y[] = {
2012a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xAD, 0x5C, 0x19, 0x12, 0x61, 0x0E, 0x25),
2013a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x4F, 0x0B, 0x1F, 0x49, 0x7E, 0xCD, 0x81),
2014a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2E, 0x30, 0x61, 0xDB, 0x08, 0x68, 0x9B),
2015a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x78, 0xAF, 0xB3, 0x08, 0xC1, 0x69, 0xE5),
2016a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x5F, 0x5D, 0xC1, 0x57, 0x6F, 0xD8, 0x34),
2017a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0xD3, 0x6A, 0xF7, 0xFD, 0x86, 0xE5, 0xB3),
2018a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x63, 0xBD, 0x70, 0x7B, 0x47, 0xE8, 0x6D),
2019a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x62, 0xC8, 0x7E, 0x9D, 0x11, 0x2B, 0xA5),
2020a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2021a8e1175bSopenharmony_ci};
2022a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_27_X[] = {
2023a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x84, 0xFD, 0xD5, 0x9A, 0x56, 0x7F, 0x5C),
2024a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xBB, 0xA4, 0x6F, 0x12, 0x6E, 0x4D, 0xF8),
2025a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x08, 0xA1, 0x82, 0x9C, 0x62, 0x74, 0x7B),
2026a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x58, 0x22, 0x05, 0x1D, 0x15, 0x35, 0x79),
2027a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x88, 0xCF, 0x5C, 0x05, 0x78, 0xFB, 0x94),
2028a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x6B, 0x2F, 0x79, 0x09, 0x73, 0x67, 0xEC),
2029a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA0, 0x80, 0xD8, 0xE8, 0xEC, 0xFB, 0x42),
2030a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xE7, 0x0B, 0xB7, 0x81, 0x48, 0x7B, 0xD9),
2031a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2032a8e1175bSopenharmony_ci};
2033a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_27_Y[] = {
2034a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x53, 0xA9, 0xED, 0x61, 0x92, 0xD7, 0x85),
2035a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x49, 0xD9, 0x5D, 0x9B, 0x4E, 0x89, 0x35),
2036a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x12, 0xEB, 0x9A, 0xC9, 0xCB, 0xC1, 0x95),
2037a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xDC, 0x95, 0x16, 0xFE, 0x29, 0x70, 0x01),
2038a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x33, 0xB1, 0xD6, 0x78, 0xB9, 0xE2, 0x36),
2039a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xCE, 0x88, 0xC3, 0xFD, 0x7A, 0x6B, 0xB8),
2040a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x1E, 0x50, 0x1E, 0xAF, 0xB1, 0x25, 0x2D),
2041a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xE7, 0xD7, 0xD5, 0xBD, 0x7A, 0x12, 0xF9),
2042a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2043a8e1175bSopenharmony_ci};
2044a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_28_X[] = {
2045a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xAA, 0xA2, 0x80, 0x5D, 0x8F, 0xCD, 0xC8),
2046a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x39, 0x79, 0x64, 0xA1, 0x67, 0x3C, 0xB7),
2047a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xC7, 0x49, 0xFF, 0x7F, 0xAC, 0xAB, 0x55),
2048a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x54, 0x3E, 0x83, 0xF0, 0x3D, 0xBC, 0xB5),
2049a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x92, 0x4A, 0x38, 0x42, 0x8A, 0xAB, 0xF6),
2050a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x0B, 0x4F, 0xEE, 0x9E, 0x92, 0xA5, 0xBE),
2051a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xDD, 0x19, 0x96, 0xF2, 0xF0, 0x6B, 0x2E),
2052a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xFC, 0xDD, 0xB2, 0x8A, 0xE5, 0x4C, 0x22),
2053a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2054a8e1175bSopenharmony_ci};
2055a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_28_Y[] = {
2056a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x06, 0x49, 0xAC, 0x99, 0x7E, 0xF8, 0x12),
2057a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xC8, 0x01, 0x51, 0xEA, 0xF6, 0x52, 0xE7),
2058a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x89, 0x66, 0x2B, 0x1F, 0x9B, 0x2A, 0xA3),
2059a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x0F, 0x95, 0x07, 0x2B, 0x6C, 0x6E, 0x9E),
2060a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xC3, 0xB4, 0xBB, 0x91, 0x1F, 0xA3, 0x72),
2061a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x6E, 0x54, 0x28, 0x7B, 0x9C, 0x79, 0x2E),
2062a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x45, 0xFF, 0xA6, 0xDA, 0xA2, 0x83, 0x71),
2063a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xDE, 0x8F, 0x17, 0x37, 0x82, 0xCB, 0xE2),
2064a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2065a8e1175bSopenharmony_ci};
2066a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_29_X[] = {
2067a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x94, 0x3F, 0x26, 0xC9, 0x1D, 0xD9, 0xAE),
2068a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x97, 0x28, 0x20, 0xCD, 0xC1, 0xF3, 0x40),
2069a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xC9, 0xB5, 0x60, 0x9B, 0x1E, 0xDC, 0x74),
2070a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xB9, 0x5B, 0x7D, 0xA0, 0xB2, 0x8C, 0xF0),
2071a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xD1, 0x42, 0xE6, 0x39, 0x33, 0x6D, 0xBB),
2072a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xC0, 0xFC, 0xD2, 0x14, 0x5D, 0x3E, 0x3C),
2073a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x4A, 0x3E, 0x40, 0x16, 0x93, 0x15, 0xCF),
2074a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x24, 0xC1, 0x27, 0x27, 0xE5, 0x4B, 0xD8),
2075a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2076a8e1175bSopenharmony_ci};
2077a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_29_Y[] = {
2078a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x50, 0xD8, 0xBC, 0xC1, 0x46, 0x22, 0xBB),
2079a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x0E, 0x60, 0xA1, 0xB3, 0x50, 0xD4, 0x86),
2080a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xB1, 0x26, 0xB6, 0x6D, 0x47, 0x5A, 0x6F),
2081a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0xAC, 0x11, 0x35, 0x3E, 0xB9, 0xF4, 0x01),
2082a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x97, 0xFA, 0xBB, 0x6B, 0x39, 0x13, 0xD8),
2083a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x7B, 0x34, 0x12, 0x75, 0x8E, 0x9B, 0xC6),
2084a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x9E, 0xCD, 0x29, 0xB6, 0xEF, 0x8D, 0x10),
2085a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xAC, 0xE9, 0x25, 0x27, 0xBB, 0x78, 0x47),
2086a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2087a8e1175bSopenharmony_ci};
2088a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_30_X[] = {
2089a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x7A, 0xA8, 0xD3, 0xE3, 0x66, 0xE5, 0x66),
2090a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x4C, 0xC4, 0x2C, 0x76, 0x81, 0x50, 0x32),
2091a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x71, 0x08, 0xB8, 0x52, 0x7C, 0xAF, 0xDC),
2092a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x59, 0x24, 0xDD, 0xFB, 0x2F, 0xD0, 0xDA),
2093a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xCD, 0x56, 0xE9, 0xAC, 0x91, 0xE6, 0xB9),
2094a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x64, 0x20, 0xC6, 0x9F, 0xE4, 0xEF, 0xDF),
2095a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x2C, 0x8F, 0x8C, 0x97, 0xF6, 0x22, 0xC3),
2096a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF4, 0x88, 0xAA, 0xA8, 0xD7, 0xA5, 0x68),
2097a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2098a8e1175bSopenharmony_ci};
2099a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_30_Y[] = {
2100a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x6C, 0xAE, 0x83, 0xB1, 0x55, 0x55, 0xEE),
2101a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x67, 0x84, 0x47, 0x7C, 0x83, 0x5C, 0x89),
2102a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x10, 0x4D, 0xDD, 0x30, 0x60, 0xB0, 0xE6),
2103a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xA7, 0x36, 0x76, 0x24, 0x32, 0x9F, 0x9D),
2104a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x42, 0x81, 0xFB, 0xA4, 0x2E, 0x13, 0x68),
2105a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x94, 0x91, 0xFF, 0x99, 0xA0, 0x09, 0x61),
2106a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x83, 0xA1, 0x76, 0xAF, 0x37, 0x5C, 0x77),
2107a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xA8, 0x04, 0x86, 0xC4, 0xA9, 0x79, 0x42),
2108a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2109a8e1175bSopenharmony_ci};
2110a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_31_X[] = {
2111a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x8C, 0xC2, 0x34, 0xFB, 0x83, 0x28, 0x27),
2112a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x03, 0x7D, 0x5E, 0x9E, 0x0E, 0xB0, 0x22),
2113a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x02, 0x46, 0x7F, 0xB9, 0xAC, 0xBB, 0x23),
2114a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xED, 0x48, 0xC2, 0x96, 0x4D, 0x56, 0x27),
2115a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xB5, 0xC5, 0xD1, 0xE6, 0x1C, 0x7E, 0x9B),
2116a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x2E, 0x18, 0x71, 0x2D, 0x7B, 0xD7, 0xB3),
2117a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x46, 0x9D, 0xDE, 0xAA, 0x78, 0x8E, 0xB1),
2118a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xD7, 0x69, 0x2E, 0xE1, 0xD9, 0x48, 0xDE),
2119a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2120a8e1175bSopenharmony_ci};
2121a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_31_Y[] = {
2122a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xFF, 0x9E, 0x09, 0x22, 0x22, 0xE6, 0x8D),
2123a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x14, 0x28, 0x13, 0x1B, 0x62, 0x12, 0x22),
2124a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x7F, 0x67, 0x03, 0xB0, 0xC0, 0xF3, 0x05),
2125a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xC3, 0x0F, 0xFB, 0x25, 0x48, 0x3E, 0xF4),
2126a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x6E, 0x53, 0x98, 0x36, 0xB3, 0xD3, 0x94),
2127a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x81, 0x54, 0x22, 0xA4, 0xCC, 0xC1, 0x22),
2128a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xBA, 0xFC, 0xA9, 0xDF, 0x68, 0x86, 0x2B),
2129a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x92, 0x0E, 0xC3, 0xF2, 0x58, 0xE8, 0x51),
2130a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2131a8e1175bSopenharmony_ci};
2132a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp521r1_T[32] = {
2133a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp521r1_T_0_X, secp521r1_T_0_Y),
2134a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_1_X, secp521r1_T_1_Y),
2135a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_2_X, secp521r1_T_2_Y),
2136a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_3_X, secp521r1_T_3_Y),
2137a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_4_X, secp521r1_T_4_Y),
2138a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_5_X, secp521r1_T_5_Y),
2139a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_6_X, secp521r1_T_6_Y),
2140a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_7_X, secp521r1_T_7_Y),
2141a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_8_X, secp521r1_T_8_Y),
2142a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_9_X, secp521r1_T_9_Y),
2143a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_10_X, secp521r1_T_10_Y),
2144a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_11_X, secp521r1_T_11_Y),
2145a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_12_X, secp521r1_T_12_Y),
2146a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_13_X, secp521r1_T_13_Y),
2147a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_14_X, secp521r1_T_14_Y),
2148a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_15_X, secp521r1_T_15_Y),
2149a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_16_X, secp521r1_T_16_Y),
2150a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_17_X, secp521r1_T_17_Y),
2151a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_18_X, secp521r1_T_18_Y),
2152a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_19_X, secp521r1_T_19_Y),
2153a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_20_X, secp521r1_T_20_Y),
2154a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_21_X, secp521r1_T_21_Y),
2155a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_22_X, secp521r1_T_22_Y),
2156a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_23_X, secp521r1_T_23_Y),
2157a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_24_X, secp521r1_T_24_Y),
2158a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_25_X, secp521r1_T_25_Y),
2159a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_26_X, secp521r1_T_26_Y),
2160a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_27_X, secp521r1_T_27_Y),
2161a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_28_X, secp521r1_T_28_Y),
2162a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_29_X, secp521r1_T_29_Y),
2163a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_30_X, secp521r1_T_30_Y),
2164a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp521r1_T_31_X, secp521r1_T_31_Y),
2165a8e1175bSopenharmony_ci};
2166a8e1175bSopenharmony_ci#else
2167a8e1175bSopenharmony_ci#define secp521r1_T NULL
2168a8e1175bSopenharmony_ci#endif
2169a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
2170a8e1175bSopenharmony_ci
2171a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
2172a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_p[] = {
2173a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xEE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF),
2174a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2175a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2176a8e1175bSopenharmony_ci};
2177a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_a[] = {
2178a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00),
2179a8e1175bSopenharmony_ci};
2180a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_b[] = {
2181a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x03, 0x00),
2182a8e1175bSopenharmony_ci};
2183a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_gx[] = {
2184a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0xE0, 0xEA, 0xB1, 0xD1, 0xA5, 0x1D),
2185a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF4, 0xB7, 0x80, 0x02, 0x7D, 0xB0, 0x26),
2186a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xE9, 0x57, 0xC0, 0x0E, 0xF1, 0x4F, 0xDB),
2187a8e1175bSopenharmony_ci};
2188a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_gy[] = {
2189a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x2F, 0x5E, 0xD9, 0x88, 0xAA, 0x82, 0x40),
2190a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x86, 0xBE, 0x15, 0xD0, 0x63, 0x41, 0x84),
2191a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x28, 0x56, 0x9C, 0x6D, 0x2F, 0x2F, 0x9B),
2192a8e1175bSopenharmony_ci};
2193a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_n[] = {
2194a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFD, 0xDE, 0x74, 0x6A, 0x46, 0x69, 0x0F),
2195a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xFC, 0xF2, 0x26, 0xFE, 0xFF, 0xFF, 0xFF),
2196a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2197a8e1175bSopenharmony_ci};
2198a8e1175bSopenharmony_ci
2199a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
2200a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_0_X[] = {
2201a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0xE0, 0xEA, 0xB1, 0xD1, 0xA5, 0x1D),
2202a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF4, 0xB7, 0x80, 0x02, 0x7D, 0xB0, 0x26),
2203a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xE9, 0x57, 0xC0, 0x0E, 0xF1, 0x4F, 0xDB),
2204a8e1175bSopenharmony_ci};
2205a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_0_Y[] = {
2206a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x2F, 0x5E, 0xD9, 0x88, 0xAA, 0x82, 0x40),
2207a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x86, 0xBE, 0x15, 0xD0, 0x63, 0x41, 0x84),
2208a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x28, 0x56, 0x9C, 0x6D, 0x2F, 0x2F, 0x9B),
2209a8e1175bSopenharmony_ci};
2210a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_1_X[] = {
2211a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x77, 0x3D, 0x0D, 0x85, 0x48, 0xA8, 0xA9),
2212a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x07, 0xDF, 0x1D, 0xB3, 0xB3, 0x01, 0x54),
2213a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x86, 0xF6, 0xAF, 0x19, 0x2A, 0x88, 0x2E),
2214a8e1175bSopenharmony_ci};
2215a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_1_Y[] = {
2216a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x90, 0xB6, 0x2F, 0x48, 0x36, 0x4C, 0x5B),
2217a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x11, 0x14, 0xA6, 0xCB, 0xBA, 0x15, 0xD9),
2218a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0xB0, 0xF2, 0xD4, 0xC9, 0xDA, 0xBA, 0xD7),
2219a8e1175bSopenharmony_ci};
2220a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_2_X[] = {
2221a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xC1, 0x9C, 0xE6, 0xBB, 0xFB, 0xCF, 0x23),
2222a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x19, 0xAC, 0x5A, 0xC9, 0x8A, 0x1C, 0x75),
2223a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xF6, 0x76, 0x86, 0x89, 0x27, 0x8D, 0x28),
2224a8e1175bSopenharmony_ci};
2225a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_2_Y[] = {
2226a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xE0, 0x6F, 0x34, 0xBA, 0x5E, 0xD3, 0x96),
2227a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xDC, 0xA6, 0x87, 0xC9, 0x9D, 0xC0, 0x82),
2228a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x11, 0x7E, 0xD6, 0xF7, 0x33, 0xFC, 0xE4),
2229a8e1175bSopenharmony_ci};
2230a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_3_X[] = {
2231a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x37, 0x3E, 0xC0, 0x7F, 0x62, 0xE7, 0x54),
2232a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x3B, 0x69, 0x9D, 0x44, 0xBC, 0x82, 0x99),
2233a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x84, 0xB3, 0x5F, 0x2B, 0xA5, 0x9E, 0x2C),
2234a8e1175bSopenharmony_ci};
2235a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_3_Y[] = {
2236a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x95, 0xEB, 0x4C, 0x04, 0xB4, 0xF4, 0x75),
2237a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xAD, 0x4B, 0xD5, 0x9A, 0xEB, 0xC4, 0x4E),
2238a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xB1, 0xC5, 0x59, 0xE3, 0xD5, 0x16, 0x2A),
2239a8e1175bSopenharmony_ci};
2240a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_4_X[] = {
2241a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x2A, 0xCC, 0xAC, 0xD0, 0xEE, 0x50, 0xEC),
2242a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x83, 0xE0, 0x5B, 0x14, 0x44, 0x52, 0x20),
2243a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x15, 0x2D, 0x78, 0xF6, 0x51, 0x32, 0xCF),
2244a8e1175bSopenharmony_ci};
2245a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_4_Y[] = {
2246a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x36, 0x9B, 0xDD, 0xF8, 0xDD, 0xEF, 0xB2),
2247a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xB1, 0x6A, 0x2B, 0xAF, 0xEB, 0x2B, 0xB1),
2248a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x87, 0x7A, 0x66, 0x5D, 0x5B, 0xDF, 0x8F),
2249a8e1175bSopenharmony_ci};
2250a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_5_X[] = {
2251a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x45, 0xE5, 0x81, 0x9B, 0xEB, 0x37, 0x23),
2252a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x29, 0xE2, 0x20, 0x64, 0x23, 0x6B, 0x6E),
2253a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x1D, 0x41, 0xE1, 0x9B, 0x61, 0x7B, 0xD9),
2254a8e1175bSopenharmony_ci};
2255a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_5_Y[] = {
2256a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x57, 0xA3, 0x0A, 0x13, 0xE4, 0x59, 0x15),
2257a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x6E, 0x4A, 0x48, 0x84, 0x90, 0xAC, 0xC7),
2258a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xB8, 0xF5, 0xF3, 0xDE, 0xA0, 0xA1, 0x1D),
2259a8e1175bSopenharmony_ci};
2260a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_6_X[] = {
2261a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x32, 0x81, 0xA9, 0x91, 0x5A, 0x4E, 0x33),
2262a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xA8, 0x90, 0xBE, 0x0F, 0xEC, 0xC0, 0x85),
2263a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x30, 0xD7, 0x08, 0xAE, 0xC4, 0x3A, 0xA5),
2264a8e1175bSopenharmony_ci};
2265a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_6_Y[] = {
2266a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x55, 0xE3, 0x76, 0xB3, 0x64, 0x74, 0x9F),
2267a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x75, 0xD4, 0xDB, 0x98, 0xD7, 0x39, 0xAE),
2268a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xEB, 0x8A, 0xAB, 0x16, 0xD9, 0xD4, 0x0B),
2269a8e1175bSopenharmony_ci};
2270a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_7_X[] = {
2271a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xBE, 0xF9, 0xC7, 0xC7, 0xBA, 0xF3, 0xA1),
2272a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x85, 0x59, 0xF3, 0x60, 0x41, 0x02, 0xD2),
2273a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x1C, 0x4A, 0xA4, 0xC7, 0xED, 0x66, 0xBC),
2274a8e1175bSopenharmony_ci};
2275a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_7_Y[] = {
2276a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x9C, 0x2E, 0x46, 0x52, 0x18, 0x87, 0x14),
2277a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x35, 0x5A, 0x75, 0xAC, 0x4D, 0x75, 0x91),
2278a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x2F, 0xAC, 0xFC, 0xBC, 0xE6, 0x93, 0x5E),
2279a8e1175bSopenharmony_ci};
2280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_8_X[] = {
2281a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x4D, 0xC9, 0x18, 0xE9, 0x00, 0xEB, 0x33),
2282a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x69, 0x72, 0x07, 0x5A, 0x59, 0xA8, 0x26),
2283a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x65, 0x83, 0x20, 0x10, 0xF9, 0x69, 0x82),
2284a8e1175bSopenharmony_ci};
2285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_8_Y[] = {
2286a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x56, 0x7F, 0x9F, 0xBF, 0x46, 0x0C, 0x7E),
2287a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xCF, 0xF0, 0xDC, 0xDF, 0x2D, 0xE6, 0xE5),
2288a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xF0, 0x72, 0x3A, 0x7A, 0x03, 0xE5, 0x22),
2289a8e1175bSopenharmony_ci};
2290a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_9_X[] = {
2291a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xAA, 0x57, 0x13, 0x37, 0xA7, 0x2C, 0xD4),
2292a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xAC, 0xA2, 0x23, 0xF9, 0x84, 0x60, 0xD3),
2293a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xEB, 0x51, 0x70, 0x64, 0x78, 0xCA, 0x05),
2294a8e1175bSopenharmony_ci};
2295a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_9_Y[] = {
2296a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xCC, 0x30, 0x62, 0x93, 0x46, 0x13, 0xE9),
2297a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x26, 0xCC, 0x6C, 0x3D, 0x5C, 0xDA, 0x2C),
2298a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xAA, 0xB8, 0x03, 0xA4, 0x1A, 0x00, 0x96),
2299a8e1175bSopenharmony_ci};
2300a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_10_X[] = {
2301a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x9D, 0xE6, 0xCC, 0x4E, 0x2E, 0xC2, 0xD5),
2302a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xC3, 0x8A, 0xAE, 0x6F, 0x40, 0x05, 0xEB),
2303a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x8F, 0x4A, 0x4D, 0x35, 0xD3, 0x50, 0x9D),
2304a8e1175bSopenharmony_ci};
2305a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_10_Y[] = {
2306a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xFD, 0x98, 0xAB, 0xC7, 0x03, 0xB4, 0x55),
2307a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x40, 0xD2, 0x9F, 0xCA, 0xD0, 0x53, 0x00),
2308a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x84, 0x00, 0x6F, 0xC8, 0xAD, 0xED, 0x8D),
2309a8e1175bSopenharmony_ci};
2310a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_11_X[] = {
2311a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xD3, 0x57, 0xD7, 0xC3, 0x07, 0xBD, 0xD7),
2312a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xBA, 0x47, 0x1D, 0x3D, 0xEF, 0x98, 0x6C),
2313a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xC0, 0x6C, 0x7F, 0x12, 0xEE, 0x9F, 0x67),
2314a8e1175bSopenharmony_ci};
2315a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_11_Y[] = {
2316a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x02, 0xDA, 0x79, 0xAA, 0xC9, 0x27, 0xC4),
2317a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x79, 0xC7, 0x71, 0x84, 0xCB, 0xE5, 0x5A),
2318a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x37, 0x06, 0xBA, 0xB5, 0xD5, 0x18, 0x4C),
2319a8e1175bSopenharmony_ci};
2320a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_12_X[] = {
2321a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x65, 0x72, 0x6C, 0xF2, 0x63, 0x27, 0x6A),
2322a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xBC, 0x71, 0xDF, 0x75, 0xF8, 0x98, 0x4D),
2323a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x70, 0x9B, 0xDC, 0xE7, 0x18, 0x71, 0xFF),
2324a8e1175bSopenharmony_ci};
2325a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_12_Y[] = {
2326a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x5B, 0x9F, 0x00, 0x5A, 0xB6, 0x80, 0x7A),
2327a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xE0, 0xBB, 0xFC, 0x5E, 0x78, 0x9C, 0x89),
2328a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x03, 0x68, 0x83, 0x3D, 0x2E, 0x4C, 0xDD),
2329a8e1175bSopenharmony_ci};
2330a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_13_X[] = {
2331a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x49, 0x23, 0xA8, 0xCB, 0x3B, 0x1A, 0xF6),
2332a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x3D, 0xA7, 0x46, 0xCF, 0x75, 0xB6, 0x2C),
2333a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xFD, 0x30, 0x01, 0xB6, 0xEF, 0xF9, 0xE8),
2334a8e1175bSopenharmony_ci};
2335a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_13_Y[] = {
2336a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xFA, 0xDA, 0xB8, 0x29, 0x42, 0xC9, 0xC7),
2337a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xD7, 0xA0, 0xE6, 0x6B, 0x86, 0x61, 0x39),
2338a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0xE9, 0xD3, 0x37, 0xD8, 0xE7, 0x35, 0xA9),
2339a8e1175bSopenharmony_ci};
2340a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_14_X[] = {
2341a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC8, 0x8E, 0xB1, 0xCB, 0xB1, 0xB5, 0x4D),
2342a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xD7, 0x46, 0x7D, 0xAF, 0xE2, 0xDC, 0xBB),
2343a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x46, 0xE7, 0xD8, 0x76, 0x31, 0x90, 0x76),
2344a8e1175bSopenharmony_ci};
2345a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_14_Y[] = {
2346a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xD3, 0xF4, 0x74, 0xE1, 0x67, 0xD8, 0x66),
2347a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x70, 0x3C, 0xC8, 0xAF, 0x5F, 0xF4, 0x58),
2348a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x4E, 0xED, 0x5C, 0x43, 0xB3, 0x16, 0x35),
2349a8e1175bSopenharmony_ci};
2350a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_15_X[] = {
2351a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAE, 0xD1, 0xDD, 0x31, 0x14, 0xD3, 0xF0),
2352a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x14, 0x06, 0x13, 0x12, 0x1C, 0x81, 0xF5),
2353a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xF9, 0x0C, 0x91, 0xF7, 0x67, 0x59, 0x63),
2354a8e1175bSopenharmony_ci};
2355a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_15_Y[] = {
2356a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x91, 0xE2, 0xF4, 0x9D, 0xEB, 0x88, 0x87),
2357a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x82, 0x30, 0x9C, 0xAE, 0x18, 0x4D, 0xB7),
2358a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x79, 0xCF, 0x17, 0xA5, 0x1E, 0xE8, 0xC8),
2359a8e1175bSopenharmony_ci};
2360a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp192k1_T[16] = {
2361a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp192k1_T_0_X, secp192k1_T_0_Y),
2362a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_1_X, secp192k1_T_1_Y),
2363a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_2_X, secp192k1_T_2_Y),
2364a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_3_X, secp192k1_T_3_Y),
2365a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_4_X, secp192k1_T_4_Y),
2366a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_5_X, secp192k1_T_5_Y),
2367a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_6_X, secp192k1_T_6_Y),
2368a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_7_X, secp192k1_T_7_Y),
2369a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_8_X, secp192k1_T_8_Y),
2370a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_9_X, secp192k1_T_9_Y),
2371a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_10_X, secp192k1_T_10_Y),
2372a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_11_X, secp192k1_T_11_Y),
2373a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_12_X, secp192k1_T_12_Y),
2374a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_13_X, secp192k1_T_13_Y),
2375a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_14_X, secp192k1_T_14_Y),
2376a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp192k1_T_15_X, secp192k1_T_15_Y),
2377a8e1175bSopenharmony_ci};
2378a8e1175bSopenharmony_ci#else
2379a8e1175bSopenharmony_ci#define secp192k1_T NULL
2380a8e1175bSopenharmony_ci#endif
2381a8e1175bSopenharmony_ci
2382a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
2383a8e1175bSopenharmony_ci
2384a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
2385a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_p[] = {
2386a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE5, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF),
2387a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2388a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2389a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0xFF, 0xFF, 0xFF, 0xFF),
2390a8e1175bSopenharmony_ci};
2391a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_a[] = {
2392a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00),
2393a8e1175bSopenharmony_ci};
2394a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_b[] = {
2395a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x05, 0x00),
2396a8e1175bSopenharmony_ci};
2397a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_gx[] = {
2398a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xA4, 0xB7, 0xB6, 0x0E, 0x65, 0x7E, 0x0F),
2399a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x75, 0x70, 0xE4, 0xE9, 0x67, 0xA4, 0x69),
2400a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x28, 0xFC, 0x30, 0xDF, 0x99, 0xF0, 0x4D),
2401a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0x33, 0x5B, 0x45, 0xA1),
2402a8e1175bSopenharmony_ci};
2403a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_gy[] = {
2404a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x61, 0x6D, 0x55, 0xDB, 0x4B, 0xCA, 0xE2),
2405a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBD, 0xB0, 0xC0, 0xF7, 0x19, 0xE3, 0xF7),
2406a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFB, 0xCA, 0x82, 0x42, 0x34, 0xBA, 0x7F),
2407a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_4(0xED, 0x9F, 0x08, 0x7E),
2408a8e1175bSopenharmony_ci};
2409a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_n[] = {
2410a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xB1, 0x9F, 0x76, 0x71, 0xA9, 0xF0, 0xCA),
2411a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x61, 0xEC, 0xD2, 0xE8, 0xDC, 0x01, 0x00),
2412a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00),
2413a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00),
2414a8e1175bSopenharmony_ci};
2415a8e1175bSopenharmony_ci
2416a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
2417a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_0_X[] = {
2418a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xA4, 0xB7, 0xB6, 0x0E, 0x65, 0x7E, 0x0F),
2419a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x75, 0x70, 0xE4, 0xE9, 0x67, 0xA4, 0x69),
2420a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x28, 0xFC, 0x30, 0xDF, 0x99, 0xF0, 0x4D),
2421a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x5B, 0x45, 0xA1, 0x00, 0x00, 0x00, 0x00),
2422a8e1175bSopenharmony_ci};
2423a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_0_Y[] = {
2424a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x61, 0x6D, 0x55, 0xDB, 0x4B, 0xCA, 0xE2),
2425a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBD, 0xB0, 0xC0, 0xF7, 0x19, 0xE3, 0xF7),
2426a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFB, 0xCA, 0x82, 0x42, 0x34, 0xBA, 0x7F),
2427a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x9F, 0x08, 0x7E, 0x00, 0x00, 0x00, 0x00),
2428a8e1175bSopenharmony_ci};
2429a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_1_X[] = {
2430a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x6C, 0x22, 0x22, 0x40, 0x89, 0xAE, 0x7A),
2431a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x92, 0xE1, 0x87, 0x56, 0x35, 0xAF, 0x9B),
2432a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xAF, 0x08, 0x35, 0x27, 0xEA, 0x04, 0xED),
2433a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x53, 0xFD, 0xCF, 0x00, 0x00, 0x00, 0x00),
2434a8e1175bSopenharmony_ci};
2435a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_1_Y[] = {
2436a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xD0, 0x9F, 0x8D, 0xF3, 0x63, 0x54, 0x30),
2437a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xDB, 0x0F, 0x61, 0x54, 0x26, 0xD1, 0x98),
2438a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x21, 0xF7, 0x1B, 0xB5, 0x1D, 0xF6, 0x7E),
2439a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x05, 0xDA, 0x8F, 0x00, 0x00, 0x00, 0x00),
2440a8e1175bSopenharmony_ci};
2441a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_2_X[] = {
2442a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x26, 0x73, 0xBC, 0xE4, 0x29, 0x62, 0x56),
2443a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x95, 0x17, 0x8B, 0xC3, 0x9B, 0xAC, 0xCC),
2444a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xDB, 0x77, 0xDF, 0xDD, 0x13, 0x04, 0x98),
2445a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0xFC, 0x22, 0x93, 0x00, 0x00, 0x00, 0x00),
2446a8e1175bSopenharmony_ci};
2447a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_2_Y[] = {
2448a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x65, 0xF1, 0x5A, 0x37, 0xEF, 0x79, 0xAD),
2449a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x01, 0x37, 0xAC, 0x9A, 0x5B, 0x51, 0x65),
2450a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x75, 0x13, 0xA9, 0x4A, 0xAD, 0xFE, 0x9B),
2451a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x82, 0x6F, 0x66, 0x00, 0x00, 0x00, 0x00),
2452a8e1175bSopenharmony_ci};
2453a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_3_X[] = {
2454a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x5E, 0xF0, 0x40, 0xC3, 0xA6, 0xE2, 0x1E),
2455a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x9A, 0x6F, 0xCF, 0x11, 0x26, 0x66, 0x85),
2456a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x73, 0xA8, 0xCF, 0x2B, 0x12, 0x36, 0x37),
2457a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xB3, 0x0A, 0x58, 0x00, 0x00, 0x00, 0x00),
2458a8e1175bSopenharmony_ci};
2459a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_3_Y[] = {
2460a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x79, 0x00, 0x55, 0x04, 0x34, 0x90, 0x1A),
2461a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x54, 0x1C, 0xC2, 0x45, 0x0C, 0x1B, 0x23),
2462a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x19, 0xAB, 0xA8, 0xFC, 0x73, 0xDC, 0xEE),
2463a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0xFB, 0x93, 0xCE, 0x00, 0x00, 0x00, 0x00),
2464a8e1175bSopenharmony_ci};
2465a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_4_X[] = {
2466a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x75, 0xD0, 0x66, 0x95, 0x86, 0xCA, 0x66),
2467a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xEA, 0x29, 0x16, 0x6A, 0x38, 0xDF, 0x41),
2468a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA2, 0x36, 0x2F, 0xDC, 0xBB, 0x5E, 0xF7),
2469a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x89, 0x59, 0x49, 0x00, 0x00, 0x00, 0x00),
2470a8e1175bSopenharmony_ci};
2471a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_4_Y[] = {
2472a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xA3, 0x99, 0x9D, 0xB8, 0x77, 0x9D, 0x1D),
2473a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x93, 0x43, 0x47, 0xC6, 0x5C, 0xF9, 0xFD),
2474a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x00, 0x79, 0x42, 0x64, 0xB8, 0x25, 0x3E),
2475a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x54, 0xB4, 0x33, 0x00, 0x00, 0x00, 0x00),
2476a8e1175bSopenharmony_ci};
2477a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_5_X[] = {
2478a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x0C, 0x42, 0x90, 0x83, 0x0B, 0x31, 0x5F),
2479a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x2E, 0xAE, 0xC8, 0xC7, 0x5F, 0xD2, 0x70),
2480a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xBC, 0xAD, 0x41, 0xE7, 0x32, 0x3A, 0x81),
2481a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x97, 0x52, 0x83, 0x00, 0x00, 0x00, 0x00),
2482a8e1175bSopenharmony_ci};
2483a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_5_Y[] = {
2484a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x13, 0x7A, 0xBD, 0xAE, 0x94, 0x60, 0xFD),
2485a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x9B, 0x95, 0xB4, 0x6E, 0x68, 0xB2, 0x1F),
2486a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x49, 0xBE, 0x51, 0xFE, 0x66, 0x15, 0x74),
2487a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x37, 0xE4, 0xFE, 0x00, 0x00, 0x00, 0x00),
2488a8e1175bSopenharmony_ci};
2489a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_6_X[] = {
2490a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x9B, 0xEE, 0x64, 0xC9, 0x1B, 0xBD, 0x77),
2491a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x5F, 0x34, 0xA9, 0x0B, 0xB7, 0x25, 0x52),
2492a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x13, 0xB1, 0x38, 0xFB, 0x9D, 0x78, 0xED),
2493a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xE7, 0x1B, 0xFA, 0x00, 0x00, 0x00, 0x00),
2494a8e1175bSopenharmony_ci};
2495a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_6_Y[] = {
2496a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xB3, 0xB7, 0x44, 0x92, 0x6B, 0x00, 0x82),
2497a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x82, 0x44, 0x3E, 0x18, 0x1A, 0x58, 0x6A),
2498a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xF8, 0xC0, 0xE4, 0xEE, 0xC1, 0xBF, 0x44),
2499a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x32, 0x27, 0xB2, 0x00, 0x00, 0x00, 0x00),
2500a8e1175bSopenharmony_ci};
2501a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_7_X[] = {
2502a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x9A, 0x42, 0x62, 0x8B, 0x26, 0x54, 0x21),
2503a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x85, 0x74, 0xA0, 0x79, 0xA8, 0xEE, 0xBE),
2504a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x36, 0x60, 0xB3, 0x28, 0x4D, 0x55, 0xBE),
2505a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x27, 0x82, 0x29, 0x00, 0x00, 0x00, 0x00),
2506a8e1175bSopenharmony_ci};
2507a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_7_Y[] = {
2508a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0xFC, 0x73, 0x77, 0xAF, 0x5C, 0xAC, 0x78),
2509a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xED, 0xE5, 0xF6, 0x1D, 0xA8, 0x67, 0x43),
2510a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xDE, 0x33, 0x1C, 0xF1, 0x80, 0x73, 0xF8),
2511a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE2, 0xDE, 0x3C, 0x00, 0x00, 0x00, 0x00),
2512a8e1175bSopenharmony_ci};
2513a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_8_X[] = {
2514a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x3E, 0x6B, 0xFE, 0xF0, 0x04, 0x28, 0x01),
2515a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xB2, 0x14, 0x9D, 0x18, 0x11, 0x7D, 0x9D),
2516a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC4, 0xD6, 0x2E, 0x6E, 0x57, 0x4D, 0xE1),
2517a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x55, 0x1B, 0xDE, 0x00, 0x00, 0x00, 0x00),
2518a8e1175bSopenharmony_ci};
2519a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_8_Y[] = {
2520a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xF7, 0x17, 0xBC, 0x45, 0xAB, 0x16, 0xAB),
2521a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xB0, 0xEF, 0x61, 0xE3, 0x20, 0x7C, 0xF8),
2522a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x85, 0x41, 0x4D, 0xF1, 0x7E, 0x4D, 0x41),
2523a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xC2, 0x9B, 0x5E, 0x00, 0x00, 0x00, 0x00),
2524a8e1175bSopenharmony_ci};
2525a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_9_X[] = {
2526a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x2E, 0x49, 0x3D, 0x3E, 0x4B, 0xD3, 0x32),
2527a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x2B, 0x9D, 0xD5, 0x27, 0xFA, 0xCA, 0xE0),
2528a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0xB3, 0x6A, 0xE0, 0x79, 0x14, 0x28, 0x0F),
2529a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x1E, 0xDC, 0xF5, 0x00, 0x00, 0x00, 0x00),
2530a8e1175bSopenharmony_ci};
2531a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_9_Y[] = {
2532a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x44, 0x56, 0xCD, 0xFC, 0x9F, 0x09, 0xFF),
2533a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x8C, 0x59, 0xA4, 0x64, 0x2A, 0x3A, 0xED),
2534a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xA0, 0xB5, 0x86, 0x4E, 0x69, 0xDA, 0x06),
2535a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x8B, 0x11, 0x38, 0x00, 0x00, 0x00, 0x00),
2536a8e1175bSopenharmony_ci};
2537a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_10_X[] = {
2538a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x17, 0x16, 0x12, 0x17, 0xDC, 0x00, 0x7E),
2539a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x76, 0x24, 0x6C, 0x97, 0x2C, 0xB5, 0xF9),
2540a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x71, 0xE3, 0xB0, 0xBB, 0x4E, 0x50, 0x52),
2541a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0x48, 0x26, 0xD5, 0x00, 0x00, 0x00, 0x00),
2542a8e1175bSopenharmony_ci};
2543a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_10_Y[] = {
2544a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x5F, 0x28, 0xF6, 0x01, 0x5A, 0x60, 0x41),
2545a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x95, 0xFE, 0xD0, 0xAD, 0x15, 0xD4, 0xD9),
2546a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x5B, 0x7A, 0xFD, 0x80, 0xF7, 0x9F, 0x64),
2547a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xBC, 0x1B, 0xDF, 0x00, 0x00, 0x00, 0x00),
2548a8e1175bSopenharmony_ci};
2549a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_11_X[] = {
2550a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xE6, 0xDF, 0x14, 0x29, 0xF4, 0xD4, 0x14),
2551a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x12, 0xDD, 0xEC, 0x5B, 0x8A, 0x59, 0xE5),
2552a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x92, 0x3E, 0x35, 0x08, 0xE9, 0xCF, 0x0E),
2553a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x35, 0x29, 0x97, 0x00, 0x00, 0x00, 0x00),
2554a8e1175bSopenharmony_ci};
2555a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_11_Y[] = {
2556a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xDB, 0xD6, 0x6A, 0xC5, 0x43, 0xA4, 0xA1),
2557a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x33, 0x50, 0x61, 0x70, 0xA1, 0xE9, 0xCE),
2558a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x15, 0x6E, 0x5F, 0x01, 0x0C, 0x8C, 0xFA),
2559a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0xA1, 0x9A, 0x9D, 0x00, 0x00, 0x00, 0x00),
2560a8e1175bSopenharmony_ci};
2561a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_12_X[] = {
2562a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xC6, 0xF7, 0xE2, 0x4A, 0xCD, 0x9B, 0x61),
2563a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x4D, 0x5A, 0xB8, 0xE2, 0x6D, 0xA6, 0x50),
2564a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x3F, 0xB6, 0x17, 0xE3, 0x2C, 0x6F, 0x65),
2565a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xA4, 0x59, 0x51, 0x00, 0x00, 0x00, 0x00),
2566a8e1175bSopenharmony_ci};
2567a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_12_Y[] = {
2568a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x4F, 0x7C, 0x49, 0xCD, 0x6E, 0xEB, 0x3C),
2569a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xC9, 0x1F, 0xB7, 0x4D, 0x98, 0xC7, 0x67),
2570a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xFD, 0x98, 0x20, 0x95, 0xBB, 0x20, 0x3A),
2571a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xF2, 0x73, 0x92, 0x00, 0x00, 0x00, 0x00),
2572a8e1175bSopenharmony_ci};
2573a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_13_X[] = {
2574a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xEF, 0xFB, 0x30, 0xFA, 0x12, 0x1A, 0xB0),
2575a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x4C, 0x24, 0xB4, 0x5B, 0xC9, 0x4C, 0x0F),
2576a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xDD, 0x5E, 0x84, 0x95, 0x4D, 0x26, 0xED),
2577a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xFA, 0xF9, 0x3A, 0x00, 0x00, 0x00, 0x00),
2578a8e1175bSopenharmony_ci};
2579a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_13_Y[] = {
2580a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xA3, 0x2E, 0x7A, 0xDC, 0xA7, 0x53, 0xA9),
2581a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x9F, 0x81, 0x84, 0xB2, 0x0D, 0xFE, 0x31),
2582a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x89, 0x1B, 0x77, 0x0C, 0x89, 0x71, 0xEC),
2583a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xFF, 0x7F, 0xB2, 0x00, 0x00, 0x00, 0x00),
2584a8e1175bSopenharmony_ci};
2585a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_14_X[] = {
2586a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xE9, 0x2C, 0x79, 0xA6, 0x3C, 0xAD, 0x93),
2587a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xE0, 0x23, 0x02, 0x86, 0x0F, 0x77, 0x2A),
2588a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x93, 0x6D, 0xE9, 0xF9, 0x3C, 0xBE, 0xB9),
2589a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xE7, 0x24, 0x92, 0x00, 0x00, 0x00, 0x00),
2590a8e1175bSopenharmony_ci};
2591a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_14_Y[] = {
2592a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x3C, 0x5B, 0x4B, 0x1B, 0x25, 0x37, 0xD6),
2593a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xE8, 0x38, 0x1B, 0xA1, 0x5A, 0x2E, 0x68),
2594a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x19, 0xFD, 0xF4, 0x78, 0x01, 0x6B, 0x44),
2595a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x69, 0x37, 0x4F, 0x00, 0x00, 0x00, 0x00),
2596a8e1175bSopenharmony_ci};
2597a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_15_X[] = {
2598a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xE2, 0xBF, 0xD3, 0xEC, 0x95, 0x9C, 0x03),
2599a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x7B, 0xFC, 0xD5, 0xD3, 0x25, 0x5E, 0x0F),
2600a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x55, 0x09, 0xA2, 0x58, 0x6A, 0xC9, 0xFF),
2601a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xCC, 0x3B, 0xD9, 0x00, 0x00, 0x00, 0x00),
2602a8e1175bSopenharmony_ci};
2603a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_15_Y[] = {
2604a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x08, 0x65, 0x5E, 0xCB, 0xAB, 0x48, 0xC8),
2605a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x79, 0x8B, 0xC0, 0x11, 0xC0, 0x69, 0x38),
2606a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xE8, 0x8C, 0x4C, 0xC5, 0x28, 0xE4, 0xAE),
2607a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x1F, 0x34, 0x5C, 0x00, 0x00, 0x00, 0x00),
2608a8e1175bSopenharmony_ci};
2609a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp224k1_T[16] = {
2610a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp224k1_T_0_X, secp224k1_T_0_Y),
2611a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_1_X, secp224k1_T_1_Y),
2612a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_2_X, secp224k1_T_2_Y),
2613a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_3_X, secp224k1_T_3_Y),
2614a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_4_X, secp224k1_T_4_Y),
2615a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_5_X, secp224k1_T_5_Y),
2616a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_6_X, secp224k1_T_6_Y),
2617a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_7_X, secp224k1_T_7_Y),
2618a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_8_X, secp224k1_T_8_Y),
2619a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_9_X, secp224k1_T_9_Y),
2620a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_10_X, secp224k1_T_10_Y),
2621a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_11_X, secp224k1_T_11_Y),
2622a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_12_X, secp224k1_T_12_Y),
2623a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_13_X, secp224k1_T_13_Y),
2624a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_14_X, secp224k1_T_14_Y),
2625a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp224k1_T_15_X, secp224k1_T_15_Y),
2626a8e1175bSopenharmony_ci};
2627a8e1175bSopenharmony_ci#else
2628a8e1175bSopenharmony_ci#define secp224k1_T NULL
2629a8e1175bSopenharmony_ci#endif
2630a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
2631a8e1175bSopenharmony_ci
2632a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
2633a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_p[] = {
2634a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF),
2635a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2636a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2637a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2638a8e1175bSopenharmony_ci};
2639a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_a[] = {
2640a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00),
2641a8e1175bSopenharmony_ci};
2642a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_b[] = {
2643a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_2(0x07, 0x00),
2644a8e1175bSopenharmony_ci};
2645a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_gx[] = {
2646a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x17, 0xF8, 0x16, 0x5B, 0x81, 0xF2, 0x59),
2647a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x28, 0xCE, 0x2D, 0xDB, 0xFC, 0x9B, 0x02),
2648a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x0B, 0x87, 0xCE, 0x95, 0x62, 0xA0, 0x55),
2649a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBB, 0xDC, 0xF9, 0x7E, 0x66, 0xBE, 0x79),
2650a8e1175bSopenharmony_ci};
2651a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_gy[] = {
2652a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xD4, 0x10, 0xFB, 0x8F, 0xD0, 0x47, 0x9C),
2653a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x54, 0x85, 0xA6, 0x48, 0xB4, 0x17, 0xFD),
2654a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x08, 0x11, 0x0E, 0xFC, 0xFB, 0xA4, 0x5D),
2655a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC4, 0xA3, 0x26, 0x77, 0xDA, 0x3A, 0x48),
2656a8e1175bSopenharmony_ci};
2657a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_n[] = {
2658a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x41, 0x36, 0xD0, 0x8C, 0x5E, 0xD2, 0xBF),
2659a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0xA0, 0x48, 0xAF, 0xE6, 0xDC, 0xAE, 0xBA),
2660a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2661a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF),
2662a8e1175bSopenharmony_ci};
2663a8e1175bSopenharmony_ci
2664a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
2665a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_0_X[] = {
2666a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x17, 0xF8, 0x16, 0x5B, 0x81, 0xF2, 0x59),
2667a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x28, 0xCE, 0x2D, 0xDB, 0xFC, 0x9B, 0x02),
2668a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x0B, 0x87, 0xCE, 0x95, 0x62, 0xA0, 0x55),
2669a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBB, 0xDC, 0xF9, 0x7E, 0x66, 0xBE, 0x79),
2670a8e1175bSopenharmony_ci};
2671a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_0_Y[] = {
2672a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xD4, 0x10, 0xFB, 0x8F, 0xD0, 0x47, 0x9C),
2673a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x54, 0x85, 0xA6, 0x48, 0xB4, 0x17, 0xFD),
2674a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x08, 0x11, 0x0E, 0xFC, 0xFB, 0xA4, 0x5D),
2675a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC4, 0xA3, 0x26, 0x77, 0xDA, 0x3A, 0x48),
2676a8e1175bSopenharmony_ci};
2677a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_1_X[] = {
2678a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xEE, 0xD7, 0x1E, 0x67, 0x86, 0x32, 0x74),
2679a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x73, 0xB1, 0xA9, 0xD5, 0xCC, 0x27, 0x78),
2680a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x0E, 0x11, 0x01, 0x71, 0xFE, 0x92, 0x73),
2681a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x28, 0x63, 0x6D, 0x72, 0x09, 0xA6, 0xC0),
2682a8e1175bSopenharmony_ci};
2683a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_1_Y[] = {
2684a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE1, 0x69, 0xDC, 0x3E, 0x2C, 0x75, 0xC3),
2685a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xB7, 0x3F, 0x30, 0x26, 0x3C, 0xDF, 0x8E),
2686a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xBE, 0xB9, 0x5D, 0x0E, 0xE8, 0x5E, 0x14),
2687a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xC3, 0x05, 0xD6, 0xB7, 0xD5, 0x24, 0xFC),
2688a8e1175bSopenharmony_ci};
2689a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_2_X[] = {
2690a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xCF, 0x7B, 0xDC, 0xCD, 0xC3, 0x39, 0x9D),
2691a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xDA, 0xB9, 0xE5, 0x64, 0xA7, 0x47, 0x91),
2692a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x46, 0xA8, 0x61, 0xF6, 0x23, 0xEB, 0x58),
2693a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xC1, 0xFF, 0xE4, 0x55, 0xD5, 0xC2, 0xBF),
2694a8e1175bSopenharmony_ci};
2695a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_2_Y[] = {
2696a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xBE, 0xB9, 0x59, 0x24, 0x13, 0x4A, 0x2A),
2697a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x45, 0x12, 0xDE, 0xBA, 0x4F, 0xEF, 0x56),
2698a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x08, 0xBF, 0xC1, 0x66, 0xAA, 0x0A, 0xBC),
2699a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xFE, 0x30, 0x55, 0x31, 0x86, 0xA7, 0xB4),
2700a8e1175bSopenharmony_ci};
2701a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_3_X[] = {
2702a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xBF, 0x18, 0x81, 0x67, 0x27, 0x42, 0xBD),
2703a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x05, 0x83, 0xA4, 0xDD, 0x57, 0xD3, 0x50),
2704a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x63, 0xAB, 0xE4, 0x90, 0x70, 0xD0, 0x7C),
2705a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x5D, 0xFD, 0xA0, 0xEF, 0xCF, 0x1C, 0x54),
2706a8e1175bSopenharmony_ci};
2707a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_3_Y[] = {
2708a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x80, 0xE4, 0xF6, 0x09, 0xBC, 0x57, 0x90),
2709a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x9F, 0x6E, 0x88, 0x54, 0x6E, 0x51, 0xF2),
2710a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x5F, 0x85, 0xFB, 0x84, 0x3E, 0x4A, 0xAA),
2711a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x19, 0xF5, 0x55, 0xC9, 0x07, 0xD8, 0xCE),
2712a8e1175bSopenharmony_ci};
2713a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_4_X[] = {
2714a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xB4, 0xC3, 0xD9, 0x5C, 0xA0, 0xD4, 0x90),
2715a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x30, 0xAF, 0x59, 0x9B, 0xF8, 0x04, 0x85),
2716a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xA6, 0xFD, 0x66, 0x7B, 0xC3, 0x39, 0x85),
2717a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xBF, 0xF0, 0xC2, 0xE9, 0x71, 0xA4, 0x9E),
2718a8e1175bSopenharmony_ci};
2719a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_4_Y[] = {
2720a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x2D, 0xB9, 0x88, 0x28, 0xF1, 0xBE, 0x78),
2721a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xF3, 0x1A, 0x0E, 0xB9, 0x01, 0x66, 0x34),
2722a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xA7, 0xA4, 0xF4, 0x05, 0xD0, 0xAA, 0x53),
2723a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x39, 0x1E, 0x47, 0xE5, 0x68, 0xC8, 0xC0),
2724a8e1175bSopenharmony_ci};
2725a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_5_X[] = {
2726a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xB9, 0xFC, 0xE0, 0x33, 0x8A, 0x7D, 0x96),
2727a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x93, 0xA5, 0x53, 0x55, 0x16, 0xB4, 0x6E),
2728a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x5F, 0xEA, 0x9B, 0x29, 0x52, 0x71, 0xDA),
2729a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xF0, 0x24, 0xB8, 0x7D, 0xB7, 0xA0, 0x9B),
2730a8e1175bSopenharmony_ci};
2731a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_5_Y[] = {
2732a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x00, 0x27, 0xB2, 0xDF, 0x73, 0xA2, 0xE0),
2733a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x2E, 0x4D, 0x7C, 0xDE, 0x7A, 0x23, 0x32),
2734a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x65, 0x60, 0xC7, 0x97, 0x1E, 0xA4, 0x22),
2735a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x13, 0x5B, 0x77, 0x59, 0xCB, 0x36, 0xE1),
2736a8e1175bSopenharmony_ci};
2737a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_6_X[] = {
2738a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xBC, 0x9F, 0x9E, 0x2D, 0x53, 0x2A, 0xA8),
2739a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x5F, 0x64, 0x9F, 0x1A, 0x19, 0xE6, 0x77),
2740a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x7B, 0x39, 0xD2, 0xDB, 0x85, 0x84, 0xD5),
2741a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xC7, 0x0D, 0x58, 0x6E, 0x3F, 0x52, 0x15),
2742a8e1175bSopenharmony_ci};
2743a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_6_Y[] = {
2744a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x68, 0x19, 0x0B, 0x68, 0xC9, 0x1E, 0xFB),
2745a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x4E, 0x21, 0x49, 0x3D, 0x55, 0xCC, 0x25),
2746a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xF9, 0x25, 0x45, 0x54, 0x45, 0xB1, 0x0F),
2747a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xB3, 0xF7, 0xCD, 0x80, 0xA4, 0x04, 0x05),
2748a8e1175bSopenharmony_ci};
2749a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_7_X[] = {
2750a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x1E, 0x88, 0xC4, 0xAA, 0x18, 0x7E, 0x45),
2751a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xAC, 0xD9, 0xB2, 0xA1, 0xC0, 0x71, 0x5D),
2752a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xA2, 0xF1, 0x15, 0xA6, 0x5F, 0x6C, 0x86),
2753a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x5B, 0x05, 0xBC, 0xB7, 0xC6, 0x4E, 0x72),
2754a8e1175bSopenharmony_ci};
2755a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_7_Y[] = {
2756a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x80, 0xF8, 0x5C, 0x20, 0x2A, 0xE1, 0xE2),
2757a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x48, 0x2E, 0x68, 0x82, 0x7F, 0xEB, 0x5F),
2758a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x3B, 0x25, 0xDB, 0x32, 0x4D, 0x88, 0x42),
2759a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x6E, 0xA6, 0xB6, 0x6D, 0x62, 0x78, 0x22),
2760a8e1175bSopenharmony_ci};
2761a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_8_X[] = {
2762a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x4D, 0x3E, 0x86, 0x58, 0xC3, 0xEB, 0xBA),
2763a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x89, 0x33, 0x18, 0x21, 0x1D, 0x9B, 0xE7),
2764a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x9D, 0xFF, 0xC3, 0x79, 0xC1, 0x88, 0xF8),
2765a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xD4, 0x48, 0x53, 0xE8, 0xAD, 0x21, 0x16),
2766a8e1175bSopenharmony_ci};
2767a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_8_Y[] = {
2768a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x7B, 0xDE, 0xCB, 0xD8, 0x39, 0x17, 0x7C),
2769a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xF3, 0x03, 0xF2, 0x5C, 0xBC, 0xC8, 0x8A),
2770a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xAE, 0x4C, 0xB0, 0x16, 0xA4, 0x93, 0x86),
2771a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x8B, 0x6B, 0xDC, 0xD7, 0x9A, 0x3E, 0x7E),
2772a8e1175bSopenharmony_ci};
2773a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_9_X[] = {
2774a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x2D, 0x7A, 0xD2, 0x59, 0x05, 0xA2, 0x82),
2775a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x56, 0x09, 0x32, 0xF1, 0xE8, 0xE3, 0x72),
2776a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xCA, 0xE5, 0x2E, 0xF0, 0xFB, 0x18, 0x19),
2777a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x85, 0xA9, 0x23, 0x15, 0x31, 0x1F, 0x0E),
2778a8e1175bSopenharmony_ci};
2779a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_9_Y[] = {
2780a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xE5, 0xB1, 0x86, 0xB9, 0x6E, 0x8D, 0xD3),
2781a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x77, 0xFC, 0xC9, 0xA3, 0x3F, 0x89, 0xD2),
2782a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x6A, 0xDC, 0x25, 0xB0, 0xC7, 0x41, 0x54),
2783a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x11, 0x6B, 0xA6, 0x11, 0x62, 0xD4, 0x2D),
2784a8e1175bSopenharmony_ci};
2785a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_10_X[] = {
2786a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x7D, 0x34, 0xB3, 0x20, 0x7F, 0x37, 0xAA),
2787a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xD4, 0x45, 0xE8, 0xC2, 0xE9, 0xC5, 0xEA),
2788a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x32, 0x3B, 0x25, 0x7E, 0x79, 0xAF, 0xE7),
2789a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xE4, 0x54, 0x71, 0xBE, 0x35, 0x4E, 0xD0),
2790a8e1175bSopenharmony_ci};
2791a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_10_Y[] = {
2792a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x94, 0xDD, 0x8F, 0xB5, 0xC2, 0xDD, 0x75),
2793a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x49, 0xE9, 0x1C, 0x2F, 0x08, 0x49, 0xC6),
2794a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xB6, 0x03, 0x88, 0x6F, 0xB8, 0x15, 0x67),
2795a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xD3, 0x1C, 0xF3, 0xA5, 0xEB, 0x79, 0x01),
2796a8e1175bSopenharmony_ci};
2797a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_11_X[] = {
2798a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xF9, 0x43, 0x88, 0x89, 0x0D, 0x06, 0xEA),
2799a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x2D, 0xF5, 0x98, 0x32, 0xF6, 0xB1, 0x05),
2800a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x73, 0x8F, 0x2B, 0x50, 0x27, 0x0A, 0xE7),
2801a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xE3, 0xBD, 0x16, 0x05, 0xC8, 0x93, 0x12),
2802a8e1175bSopenharmony_ci};
2803a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_11_Y[] = {
2804a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x6A, 0xF7, 0xE3, 0x3D, 0xDE, 0x5F, 0x2F),
2805a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xA3, 0x9C, 0x22, 0x3C, 0x33, 0x36, 0x5D),
2806a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x24, 0x4C, 0x69, 0x45, 0x78, 0x14, 0xAE),
2807a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xF8, 0xD4, 0xBF, 0xB8, 0xC0, 0xA1, 0x25),
2808a8e1175bSopenharmony_ci};
2809a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_12_X[] = {
2810a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x88, 0xE1, 0x91, 0x03, 0xEB, 0xB3, 0x2B),
2811a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x11, 0xA1, 0xEF, 0x14, 0x0D, 0xC4, 0x7D),
2812a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xD4, 0x0D, 0x1D, 0x96, 0x33, 0x5C, 0x19),
2813a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x45, 0x2A, 0x1A, 0xE6, 0x57, 0x04, 0x9B),
2814a8e1175bSopenharmony_ci};
2815a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_12_Y[] = {
2816a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xB5, 0xA7, 0x80, 0xE9, 0x93, 0x97, 0x8D),
2817a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xB9, 0x7C, 0xA0, 0xC9, 0x57, 0x26, 0x43),
2818a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0xEF, 0x56, 0xDA, 0x66, 0xF6, 0x1B, 0x9A),
2819a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x89, 0x6B, 0x91, 0xE0, 0xA9, 0x65, 0x2B),
2820a8e1175bSopenharmony_ci};
2821a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_13_X[] = {
2822a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x98, 0x96, 0x9B, 0x06, 0x7D, 0x5E, 0x5A),
2823a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xFA, 0xC1, 0x5F, 0x19, 0x37, 0x94, 0x9D),
2824a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xBE, 0x6B, 0x1A, 0x05, 0xE4, 0xBF, 0x9F),
2825a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xCD, 0x5D, 0x35, 0xB4, 0x51, 0xF7, 0x64),
2826a8e1175bSopenharmony_ci};
2827a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_13_Y[] = {
2828a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xEF, 0x96, 0xDB, 0xF2, 0x61, 0x63, 0x59),
2829a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x04, 0x88, 0xC9, 0x9F, 0x1B, 0x94, 0xB9),
2830a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x30, 0x79, 0x7E, 0x24, 0xE7, 0x5F, 0xB8),
2831a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xB8, 0x90, 0xB7, 0x94, 0x25, 0xBB, 0x0F),
2832a8e1175bSopenharmony_ci};
2833a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_14_X[] = {
2834a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x79, 0xEA, 0xAD, 0xC0, 0x6D, 0x18, 0x57),
2835a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xA4, 0x58, 0x2A, 0x8D, 0x95, 0xB3, 0xE6),
2836a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC4, 0xC2, 0x12, 0x0D, 0x79, 0xE2, 0x2B),
2837a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x6F, 0xBE, 0x97, 0x4D, 0xA4, 0x20, 0x07),
2838a8e1175bSopenharmony_ci};
2839a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_14_Y[] = {
2840a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x31, 0x71, 0xC6, 0xA6, 0x91, 0xEB, 0x1F),
2841a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x9B, 0xA8, 0x4A, 0xE7, 0x77, 0xE1, 0xAA),
2842a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x06, 0xD3, 0x3D, 0x94, 0x30, 0xEF, 0x8C),
2843a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xDF, 0xCA, 0xFA, 0xF5, 0x28, 0xF8, 0xC9),
2844a8e1175bSopenharmony_ci};
2845a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_15_X[] = {
2846a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xE1, 0x32, 0xFD, 0x3E, 0x81, 0xF8, 0x11),
2847a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xF2, 0x4B, 0x1D, 0x19, 0xC9, 0x0F, 0xCC),
2848a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xB1, 0x8A, 0x22, 0x8B, 0x05, 0x6B, 0x56),
2849a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x21, 0xEF, 0x30, 0xEC, 0x09, 0x2A, 0x89),
2850a8e1175bSopenharmony_ci};
2851a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_15_Y[] = {
2852a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x84, 0x4A, 0x46, 0x07, 0x6C, 0x3C, 0x4C),
2853a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x18, 0x3A, 0xF4, 0xCC, 0xF5, 0xB2, 0xF2),
2854a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x8F, 0xCD, 0x0A, 0x9C, 0xF4, 0xBD, 0x95),
2855a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x89, 0x7F, 0x8A, 0xB1, 0x52, 0x3A, 0xAB),
2856a8e1175bSopenharmony_ci};
2857a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp256k1_T[16] = {
2858a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(secp256k1_T_0_X, secp256k1_T_0_Y),
2859a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_1_X, secp256k1_T_1_Y),
2860a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_2_X, secp256k1_T_2_Y),
2861a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_3_X, secp256k1_T_3_Y),
2862a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_4_X, secp256k1_T_4_Y),
2863a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_5_X, secp256k1_T_5_Y),
2864a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_6_X, secp256k1_T_6_Y),
2865a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_7_X, secp256k1_T_7_Y),
2866a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_8_X, secp256k1_T_8_Y),
2867a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_9_X, secp256k1_T_9_Y),
2868a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_10_X, secp256k1_T_10_Y),
2869a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_11_X, secp256k1_T_11_Y),
2870a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_12_X, secp256k1_T_12_Y),
2871a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_13_X, secp256k1_T_13_Y),
2872a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_14_X, secp256k1_T_14_Y),
2873a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(secp256k1_T_15_X, secp256k1_T_15_Y),
2874a8e1175bSopenharmony_ci};
2875a8e1175bSopenharmony_ci#else
2876a8e1175bSopenharmony_ci#define secp256k1_T NULL
2877a8e1175bSopenharmony_ci#endif
2878a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
2879a8e1175bSopenharmony_ci
2880a8e1175bSopenharmony_ci/*
2881a8e1175bSopenharmony_ci * Domain parameters for brainpoolP256r1 (RFC 5639 3.4)
2882a8e1175bSopenharmony_ci */
2883a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)
2884a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_p[] = {
2885a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x53, 0x6E, 0x1F, 0x1D, 0x48, 0x13, 0x20),
2886a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x20, 0x26, 0xD5, 0x23, 0xF6, 0x3B, 0x6E),
2887a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x8D, 0x83, 0x9D, 0x90, 0x0A, 0x66, 0x3E),
2888a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA9, 0xEE, 0xA1, 0xDB, 0x57, 0xFB, 0xA9),
2889a8e1175bSopenharmony_ci};
2890a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_a[] = {
2891a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xB5, 0x30, 0xF3, 0x44, 0x4B, 0x4A, 0xE9),
2892a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x5C, 0xDC, 0x26, 0xC1, 0x55, 0x80, 0xFB),
2893a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xFF, 0x7A, 0x41, 0x30, 0x75, 0xF6, 0xEE),
2894a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x30, 0x2C, 0xFC, 0x75, 0x09, 0x5A, 0x7D),
2895a8e1175bSopenharmony_ci};
2896a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_b[] = {
2897a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x07, 0x8C, 0xFF, 0x18, 0xDC, 0xCC, 0x6B),
2898a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE1, 0xF7, 0x5C, 0x29, 0x16, 0x84, 0x95),
2899a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x7C, 0xD7, 0xBB, 0xD9, 0xB5, 0x30, 0xF3),
2900a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x4B, 0x4A, 0xE9, 0x6C, 0x5C, 0xDC, 0x26),
2901a8e1175bSopenharmony_ci};
2902a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_gx[] = {
2903a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x32, 0xCE, 0x9A, 0xBD, 0x53, 0x44, 0x3A),
2904a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x23, 0xBD, 0xE3, 0xE1, 0x27, 0xDE, 0xB9),
2905a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xB7, 0x81, 0xFC, 0x2F, 0x48, 0x4B, 0x2C),
2906a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x57, 0x7E, 0xCB, 0xB9, 0xAE, 0xD2, 0x8B),
2907a8e1175bSopenharmony_ci};
2908a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_gy[] = {
2909a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x69, 0x04, 0x2F, 0xC7, 0x54, 0x1D, 0x5C),
2910a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x8E, 0xED, 0x2D, 0x13, 0x45, 0x77, 0xC2),
2911a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x1D, 0x61, 0x14, 0x1A, 0x46, 0xF8, 0x97),
2912a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC4, 0xDA, 0xC3, 0x35, 0xF8, 0x7E, 0x54),
2913a8e1175bSopenharmony_ci};
2914a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_n[] = {
2915a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x56, 0x48, 0x97, 0x82, 0x0E, 0x1E, 0x90),
2916a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xA6, 0x61, 0xB5, 0xA3, 0x7A, 0x39, 0x8C),
2917a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x8D, 0x83, 0x9D, 0x90, 0x0A, 0x66, 0x3E),
2918a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA9, 0xEE, 0xA1, 0xDB, 0x57, 0xFB, 0xA9),
2919a8e1175bSopenharmony_ci};
2920a8e1175bSopenharmony_ci
2921a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
2922a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_0_X[] = {
2923a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x32, 0xCE, 0x9A, 0xBD, 0x53, 0x44, 0x3A),
2924a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x23, 0xBD, 0xE3, 0xE1, 0x27, 0xDE, 0xB9),
2925a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xB7, 0x81, 0xFC, 0x2F, 0x48, 0x4B, 0x2C),
2926a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x57, 0x7E, 0xCB, 0xB9, 0xAE, 0xD2, 0x8B),
2927a8e1175bSopenharmony_ci};
2928a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_0_Y[] = {
2929a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x69, 0x04, 0x2F, 0xC7, 0x54, 0x1D, 0x5C),
2930a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x8E, 0xED, 0x2D, 0x13, 0x45, 0x77, 0xC2),
2931a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x1D, 0x61, 0x14, 0x1A, 0x46, 0xF8, 0x97),
2932a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC4, 0xDA, 0xC3, 0x35, 0xF8, 0x7E, 0x54),
2933a8e1175bSopenharmony_ci};
2934a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_1_X[] = {
2935a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xA2, 0xED, 0x52, 0xC9, 0x8C, 0xE3, 0xA5),
2936a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0xC9, 0xC4, 0x87, 0x3F, 0x93, 0x7A, 0xD1),
2937a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x12, 0x53, 0x61, 0x3E, 0x76, 0x08, 0xCB),
2938a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x8C, 0x74, 0xF4, 0x08, 0xC3, 0x76, 0x80),
2939a8e1175bSopenharmony_ci};
2940a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_1_Y[] = {
2941a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xDD, 0x09, 0xA6, 0xED, 0xEE, 0xC4, 0x38),
2942a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xD9, 0xBE, 0x4B, 0xA5, 0xB7, 0x2B, 0x6E),
2943a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x20, 0x12, 0xCA, 0x0A, 0x38, 0x24, 0xAB),
2944a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x72, 0x71, 0x90, 0x7A, 0x2E, 0xB7, 0x23),
2945a8e1175bSopenharmony_ci};
2946a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_2_X[] = {
2947a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0xA1, 0x93, 0x10, 0x2A, 0x51, 0x17),
2948a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x10, 0x11, 0x12, 0xBC, 0xB0, 0xB6, 0x93),
2949a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x58, 0xD7, 0x0A, 0x84, 0x05, 0xA3, 0x9C),
2950a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x8E, 0x95, 0x61, 0xD3, 0x0B, 0xDF, 0x36),
2951a8e1175bSopenharmony_ci};
2952a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_2_Y[] = {
2953a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x92, 0x12, 0x0F, 0x5E, 0x87, 0x70, 0x1B),
2954a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0xE9, 0x9B, 0xEB, 0x3A, 0xFB, 0xCF, 0xC4),
2955a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0x92, 0xB9, 0xF7, 0x45, 0xD3, 0x06, 0xB6),
2956a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x28, 0x65, 0xE1, 0xC5, 0x6C, 0x57, 0x18),
2957a8e1175bSopenharmony_ci};
2958a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_3_X[] = {
2959a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x0E, 0x77, 0x01, 0x81, 0x9E, 0x38, 0x5C),
2960a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xF0, 0xD5, 0xA5, 0x91, 0x2B, 0xDF, 0xC0),
2961a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xEE, 0xB6, 0x25, 0xD6, 0x98, 0xDE, 0x2D),
2962a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xA1, 0x55, 0x63, 0x39, 0xEB, 0xB5, 0x47),
2963a8e1175bSopenharmony_ci};
2964a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_3_Y[] = {
2965a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xD6, 0xB8, 0xE3, 0x13, 0xED, 0x7F, 0xA3),
2966a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xE8, 0xAE, 0x36, 0xB8, 0xCD, 0x19, 0x02),
2967a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x82, 0x83, 0x7A, 0x7B, 0x46, 0x56, 0xE8),
2968a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x60, 0x46, 0x15, 0x5A, 0xAC, 0x99, 0x30),
2969a8e1175bSopenharmony_ci};
2970a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_4_X[] = {
2971a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x61, 0x50, 0xC6, 0xFF, 0x10, 0x7D, 0x04),
2972a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x51, 0xDF, 0xA9, 0x7D, 0x78, 0x26, 0x74),
2973a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0x15, 0x9A, 0xF7, 0x01, 0xC1, 0xBB, 0x40),
2974a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x0F, 0xE6, 0x2A, 0xBD, 0x4A, 0x9E, 0x87),
2975a8e1175bSopenharmony_ci};
2976a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_4_Y[] = {
2977a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xF8, 0xD1, 0x77, 0xD2, 0x49, 0xB3, 0xDD),
2978a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x86, 0xFB, 0x9E, 0x1F, 0x5A, 0x60, 0x47),
2979a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xC4, 0x8D, 0xCD, 0x86, 0x61, 0x2F, 0xF9),
2980a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xF6, 0xB9, 0xAC, 0x37, 0x9D, 0xE9, 0x28),
2981a8e1175bSopenharmony_ci};
2982a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_5_X[] = {
2983a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x77, 0xAA, 0x97, 0x9C, 0x0B, 0x04, 0x20),
2984a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xA6, 0x60, 0x81, 0xCE, 0x25, 0x13, 0x3E),
2985a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x00, 0xF3, 0xBB, 0x82, 0x99, 0x95, 0xB7),
2986a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x5A, 0xCE, 0x90, 0x71, 0x38, 0x2F, 0x10),
2987a8e1175bSopenharmony_ci};
2988a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_5_Y[] = {
2989a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x1A, 0xC0, 0x84, 0x27, 0xD6, 0x9D, 0xB7),
2990a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x37, 0x52, 0x16, 0x13, 0x0E, 0xCE, 0x92),
2991a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xBF, 0x5A, 0xDB, 0xDB, 0x6E, 0x1E, 0x69),
2992a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xB7, 0x5E, 0xF9, 0x86, 0xDD, 0x8A, 0x5C),
2993a8e1175bSopenharmony_ci};
2994a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_6_X[] = {
2995a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xAB, 0x5C, 0x8D, 0x1D, 0xF2, 0x2D, 0x1E),
2996a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC5, 0xF8, 0xF7, 0x1D, 0x96, 0x0B, 0x4D),
2997a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x4C, 0xA7, 0x45, 0x20, 0x6A, 0x1E, 0x5B),
2998a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x5D, 0xEF, 0xDE, 0xEE, 0x39, 0x44, 0x19),
2999a8e1175bSopenharmony_ci};
3000a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_6_Y[] = {
3001a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x2F, 0x6D, 0x52, 0xC9, 0x58, 0x60, 0xE8),
3002a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xC9, 0x62, 0xCB, 0x38, 0x3C, 0x55, 0xCA),
3003a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xA5, 0x09, 0x10, 0x88, 0xDB, 0xE3, 0xBD),
3004a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xE0, 0x3C, 0xCE, 0x06, 0x0B, 0x4B, 0x5D),
3005a8e1175bSopenharmony_ci};
3006a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_7_X[] = {
3007a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x1D, 0xB4, 0x10, 0x76, 0x8F, 0xBA, 0x09),
3008a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x70, 0x5A, 0x07, 0xF5, 0x1A, 0x74, 0xC7),
3009a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xE9, 0x94, 0xA8, 0xC0, 0xD5, 0x4A, 0x4A),
3010a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x6D, 0xD4, 0xE8, 0x9B, 0xE9, 0x6D, 0x0E),
3011a8e1175bSopenharmony_ci};
3012a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_7_Y[] = {
3013a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x00, 0x32, 0x41, 0x57, 0x84, 0x89, 0x52),
3014a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xC7, 0x14, 0xEC, 0xE9, 0x27, 0xFF, 0xF3),
3015a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x67, 0x9E, 0xFB, 0xB6, 0xB8, 0x96, 0xF3),
3016a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x4A, 0xE3, 0x97, 0x4B, 0x58, 0xDE, 0x30),
3017a8e1175bSopenharmony_ci};
3018a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_8_X[] = {
3019a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x1E, 0x5C, 0xF5, 0x7F, 0xD5, 0xD4, 0xAA),
3020a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x08, 0x7A, 0xF1, 0xBD, 0x89, 0xC7, 0x1E),
3021a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xF9, 0x11, 0x1B, 0xF5, 0x3C, 0x6D, 0x8C),
3022a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x50, 0xE5, 0x69, 0x1D, 0x59, 0xFC, 0x0C),
3023a8e1175bSopenharmony_ci};
3024a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_8_Y[] = {
3025a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x2F, 0xF8, 0x3F, 0xEC, 0x55, 0x99, 0x57),
3026a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xA7, 0x29, 0x90, 0x43, 0x81, 0x31, 0x4C),
3027a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x18, 0x44, 0x50, 0x5D, 0x76, 0xCB, 0xDD),
3028a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xC5, 0x5B, 0x9A, 0x03, 0xE6, 0x17, 0x39),
3029a8e1175bSopenharmony_ci};
3030a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_9_X[] = {
3031a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x89, 0xFC, 0x55, 0x94, 0x91, 0x6A, 0xA2),
3032a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x46, 0x35, 0xF2, 0x3A, 0x42, 0x08, 0x2F),
3033a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xD2, 0x76, 0x49, 0x42, 0x87, 0xD3, 0x7F),
3034a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xEA, 0xA0, 0x52, 0xF1, 0x6A, 0x30, 0x57),
3035a8e1175bSopenharmony_ci};
3036a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_9_Y[] = {
3037a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xB2, 0x57, 0xA3, 0x8A, 0x4D, 0x1B, 0x3C),
3038a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xA3, 0x99, 0x94, 0xB5, 0x3D, 0x64, 0x09),
3039a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xC3, 0xD7, 0x53, 0xF6, 0x49, 0x1C, 0x60),
3040a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x23, 0x41, 0x4D, 0xFB, 0x7A, 0x5C, 0x53),
3041a8e1175bSopenharmony_ci};
3042a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_10_X[] = {
3043a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xB8, 0x15, 0x65, 0x5C, 0x85, 0x94, 0xD7),
3044a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x37, 0xC7, 0xF8, 0x7E, 0xAE, 0x6C, 0x10),
3045a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xD8, 0x11, 0x54, 0x98, 0x44, 0xE3, 0xF1),
3046a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x4D, 0xA6, 0x4B, 0x28, 0xF2, 0x57, 0x9E),
3047a8e1175bSopenharmony_ci};
3048a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_10_Y[] = {
3049a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xD0, 0xEB, 0x1E, 0xAA, 0x30, 0xD3, 0x6A),
3050a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x9B, 0x4D, 0xA7, 0x73, 0x6E, 0xB6, 0x45),
3051a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x47, 0xF6, 0xED, 0x37, 0xEF, 0x71, 0x4D),
3052a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xB5, 0x49, 0x61, 0x5E, 0x45, 0xF6, 0x4A),
3053a8e1175bSopenharmony_ci};
3054a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_11_X[] = {
3055a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x0E, 0xB3, 0x84, 0x3A, 0x63, 0x72, 0x84),
3056a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x53, 0x5C, 0xA7, 0xC6, 0x2E, 0xAB, 0x9E),
3057a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x0F, 0x8F, 0x87, 0x50, 0x28, 0xB4, 0xAE),
3058a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x98, 0x4A, 0x98, 0x31, 0x86, 0xCA, 0x51),
3059a8e1175bSopenharmony_ci};
3060a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_11_Y[] = {
3061a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xC9, 0xE2, 0xFD, 0x5D, 0x1F, 0xE8, 0xC2),
3062a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x90, 0x91, 0xC4, 0x84, 0xF0, 0xBA, 0xC5),
3063a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x5A, 0xB3, 0x4E, 0xFB, 0xE0, 0x57, 0xE8),
3064a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x0B, 0x90, 0xA6, 0xFD, 0x9D, 0x8E, 0x02),
3065a8e1175bSopenharmony_ci};
3066a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_12_X[] = {
3067a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x41, 0x8F, 0x31, 0xFA, 0x5A, 0xF6, 0x33),
3068a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xE9, 0xE3, 0xF6, 0xE0, 0x4A, 0xE7, 0xD2),
3069a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x4E, 0xCD, 0xA2, 0x22, 0x14, 0xD4, 0x12),
3070a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xED, 0x21, 0xB7, 0x0F, 0x53, 0x10, 0x17),
3071a8e1175bSopenharmony_ci};
3072a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_12_Y[] = {
3073a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x06, 0x24, 0x2C, 0x4E, 0xD1, 0x1E, 0x9F),
3074a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x3F, 0xC1, 0x9F, 0xAB, 0xF0, 0x37, 0x95),
3075a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x5E, 0x12, 0xCE, 0x83, 0x1B, 0x2A, 0x18),
3076a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x65, 0xCF, 0xE8, 0x5C, 0xA5, 0xA2, 0x70),
3077a8e1175bSopenharmony_ci};
3078a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_13_X[] = {
3079a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x86, 0x76, 0x3A, 0x94, 0xF6, 0x1D, 0xC1),
3080a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xDA, 0xC9, 0xA6, 0x29, 0x93, 0x15, 0x10),
3081a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x61, 0x6A, 0x7D, 0xC7, 0xA9, 0xF3, 0x76),
3082a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x03, 0x71, 0xA2, 0x15, 0xCE, 0x50, 0x72),
3083a8e1175bSopenharmony_ci};
3084a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_13_Y[] = {
3085a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xD0, 0xA8, 0x1E, 0x91, 0xC4, 0x4F, 0x24),
3086a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x4B, 0x7E, 0xD7, 0x71, 0x58, 0x7E, 0x1E),
3087a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x45, 0xAF, 0x2A, 0x18, 0x93, 0x95, 0x3B),
3088a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x8F, 0xC7, 0xFA, 0x4C, 0x7A, 0x86, 0x54),
3089a8e1175bSopenharmony_ci};
3090a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_14_X[] = {
3091a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xAF, 0x68, 0x3A, 0x23, 0xC1, 0x2E, 0xBF),
3092a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x50, 0x11, 0x67, 0x39, 0xB9, 0xAF, 0x48),
3093a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x86, 0xAA, 0x1E, 0x88, 0x21, 0x29, 0x8B),
3094a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x28, 0xA4, 0x9D, 0x89, 0xA9, 0x9A, 0x10),
3095a8e1175bSopenharmony_ci};
3096a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_14_Y[] = {
3097a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBA, 0x04, 0x67, 0xB7, 0x01, 0x40, 0x38),
3098a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xE9, 0x09, 0xA3, 0xCA, 0xA6, 0x37, 0xF6),
3099a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x97, 0xA8, 0xB6, 0x3C, 0xEE, 0x90, 0x3D),
3100a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xED, 0xC4, 0xF7, 0xC3, 0x95, 0xEC, 0x85),
3101a8e1175bSopenharmony_ci};
3102a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_15_X[] = {
3103a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x84, 0xBD, 0xEB, 0xD5, 0x64, 0xBB, 0x9D),
3104a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x9B, 0xE2, 0x28, 0x50, 0xC2, 0x72, 0x40),
3105a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xF2, 0x74, 0xD1, 0x26, 0xBF, 0x32, 0x68),
3106a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xCB, 0xAF, 0x72, 0xDB, 0x6D, 0x30, 0x98),
3107a8e1175bSopenharmony_ci};
3108a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_15_Y[] = {
3109a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x50, 0x85, 0xF4, 0x2B, 0x48, 0xC1, 0xAD),
3110a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x28, 0xBB, 0x11, 0xBA, 0x5B, 0x22, 0x6C),
3111a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xA1, 0xE5, 0x5C, 0xC9, 0x1D, 0x44, 0x45),
3112a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xE8, 0xE6, 0x6F, 0xBB, 0xC1, 0x81, 0x7F),
3113a8e1175bSopenharmony_ci};
3114a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP256r1_T[16] = {
3115a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(brainpoolP256r1_T_0_X, brainpoolP256r1_T_0_Y),
3116a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_1_X, brainpoolP256r1_T_1_Y),
3117a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_2_X, brainpoolP256r1_T_2_Y),
3118a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_3_X, brainpoolP256r1_T_3_Y),
3119a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_4_X, brainpoolP256r1_T_4_Y),
3120a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_5_X, brainpoolP256r1_T_5_Y),
3121a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_6_X, brainpoolP256r1_T_6_Y),
3122a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_7_X, brainpoolP256r1_T_7_Y),
3123a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_8_X, brainpoolP256r1_T_8_Y),
3124a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_9_X, brainpoolP256r1_T_9_Y),
3125a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_10_X, brainpoolP256r1_T_10_Y),
3126a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_11_X, brainpoolP256r1_T_11_Y),
3127a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_12_X, brainpoolP256r1_T_12_Y),
3128a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_13_X, brainpoolP256r1_T_13_Y),
3129a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_14_X, brainpoolP256r1_T_14_Y),
3130a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_15_X, brainpoolP256r1_T_15_Y),
3131a8e1175bSopenharmony_ci};
3132a8e1175bSopenharmony_ci#else
3133a8e1175bSopenharmony_ci#define brainpoolP256r1_T NULL
3134a8e1175bSopenharmony_ci#endif
3135a8e1175bSopenharmony_ci
3136a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
3137a8e1175bSopenharmony_ci
3138a8e1175bSopenharmony_ci/*
3139a8e1175bSopenharmony_ci * Domain parameters for brainpoolP384r1 (RFC 5639 3.6)
3140a8e1175bSopenharmony_ci */
3141a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)
3142a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_p[] = {
3143a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xEC, 0x07, 0x31, 0x13, 0x00, 0x47, 0x87),
3144a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x1A, 0x1D, 0x90, 0x29, 0xA7, 0xD3, 0xAC),
3145a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x11, 0xB7, 0x7F, 0x19, 0xDA, 0xB1, 0x12),
3146a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x56, 0x54, 0xED, 0x09, 0x71, 0x2F, 0x15),
3147a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x41, 0xE6, 0x50, 0x7E, 0x6F, 0x5D, 0x0F),
3148a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x38, 0xA3, 0x82, 0x1E, 0xB9, 0x8C),
3149a8e1175bSopenharmony_ci};
3150a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_a[] = {
3151a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x28, 0xCE, 0x22, 0xDD, 0xC7, 0xA8, 0x04),
3152a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xD4, 0x3A, 0x50, 0x4A, 0x81, 0xA5, 0x8A),
3153a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xF9, 0x91, 0xBA, 0xEF, 0x65, 0x91, 0x13),
3154a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x27, 0xB2, 0x4F, 0x8E, 0xA2, 0xBE, 0xC2),
3155a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xAF, 0x05, 0xCE, 0x0A, 0x08, 0x72, 0x3C),
3156a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x15, 0x8C, 0x3D, 0xC6, 0x82, 0xC3, 0x7B),
3157a8e1175bSopenharmony_ci};
3158a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_b[] = {
3159a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x4C, 0x50, 0xFA, 0x96, 0x86, 0xB7, 0x3A),
3160a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0xC9, 0xDB, 0x95, 0x02, 0x39, 0xB4, 0x7C),
3161a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x62, 0xEB, 0x3E, 0xA5, 0x0E, 0x88, 0x2E),
3162a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xD2, 0xDC, 0x07, 0xE1, 0x7D, 0xB7, 0x2F),
3163a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x44, 0xF0, 0x16, 0x54, 0xB5, 0x39, 0x8B),
3164a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x28, 0xCE, 0x22, 0xDD, 0xC7, 0xA8, 0x04),
3165a8e1175bSopenharmony_ci};
3166a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_gx[] = {
3167a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xD4, 0x47, 0xE2, 0xB2, 0x87, 0xEF),
3168a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x46, 0xD6, 0x36, 0x34, 0xE0, 0x26, 0xE8),
3169a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x10, 0xBD, 0x0C, 0xFE, 0xCA, 0x7F, 0xDB),
3170a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x4F, 0xF1, 0x7E, 0xE7, 0xA3, 0x47, 0x88),
3171a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x3F, 0xC1, 0xB7, 0x81, 0x3A, 0xA6, 0xA2),
3172a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x45, 0xCF, 0x68, 0xF0, 0x64, 0x1C, 0x1D),
3173a8e1175bSopenharmony_ci};
3174a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_gy[] = {
3175a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x53, 0x3C, 0x26, 0x41, 0x03, 0x82, 0x42),
3176a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x91, 0x77, 0x21, 0x46, 0x46, 0x0E),
3177a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x29, 0x91, 0xF9, 0x4F, 0x05, 0x9C, 0xE1),
3178a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x58, 0xEC, 0xFE, 0x29, 0x0B, 0xB7, 0x62),
3179a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xD5, 0xCF, 0x95, 0x8E, 0xEB, 0xB1, 0x5C),
3180a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xC2, 0xF9, 0x20, 0x75, 0x1D, 0xBE, 0x8A),
3181a8e1175bSopenharmony_ci};
3182a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_n[] = {
3183a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x65, 0x04, 0xE9, 0x02, 0x32, 0x88, 0x3B),
3184a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xC3, 0x7F, 0x6B, 0xAF, 0xB6, 0x3A, 0xCF),
3185a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x25, 0x04, 0xAC, 0x6C, 0x6E, 0x16, 0x1F),
3186a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x56, 0x54, 0xED, 0x09, 0x71, 0x2F, 0x15),
3187a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x41, 0xE6, 0x50, 0x7E, 0x6F, 0x5D, 0x0F),
3188a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x38, 0xA3, 0x82, 0x1E, 0xB9, 0x8C),
3189a8e1175bSopenharmony_ci};
3190a8e1175bSopenharmony_ci
3191a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
3192a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_0_X[] = {
3193a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xD4, 0x47, 0xE2, 0xB2, 0x87, 0xEF),
3194a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x46, 0xD6, 0x36, 0x34, 0xE0, 0x26, 0xE8),
3195a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x10, 0xBD, 0x0C, 0xFE, 0xCA, 0x7F, 0xDB),
3196a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x4F, 0xF1, 0x7E, 0xE7, 0xA3, 0x47, 0x88),
3197a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x3F, 0xC1, 0xB7, 0x81, 0x3A, 0xA6, 0xA2),
3198a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x45, 0xCF, 0x68, 0xF0, 0x64, 0x1C, 0x1D),
3199a8e1175bSopenharmony_ci};
3200a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_0_Y[] = {
3201a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x53, 0x3C, 0x26, 0x41, 0x03, 0x82, 0x42),
3202a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x91, 0x77, 0x21, 0x46, 0x46, 0x0E),
3203a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x29, 0x91, 0xF9, 0x4F, 0x05, 0x9C, 0xE1),
3204a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x58, 0xEC, 0xFE, 0x29, 0x0B, 0xB7, 0x62),
3205a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xD5, 0xCF, 0x95, 0x8E, 0xEB, 0xB1, 0x5C),
3206a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xC2, 0xF9, 0x20, 0x75, 0x1D, 0xBE, 0x8A),
3207a8e1175bSopenharmony_ci};
3208a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_1_X[] = {
3209a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0xD8, 0x8A, 0x54, 0x41, 0xD6, 0x6B, 0x1D),
3210a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x3B, 0xF1, 0x22, 0xFD, 0x2D, 0x4B, 0x03),
3211a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x55, 0xE3, 0x33, 0xF0, 0x73, 0x52, 0x5A),
3212a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x3F, 0x30, 0x26, 0xCA, 0x7F, 0x52, 0xA3),
3213a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x6E, 0x17, 0x9B, 0xD5, 0x2A, 0x4A, 0x31),
3214a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xDA, 0x6B, 0xE5, 0x03, 0x07, 0x1D, 0x2E),
3215a8e1175bSopenharmony_ci};
3216a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_1_Y[] = {
3217a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x7A, 0xAF, 0x98, 0xE3, 0xA4, 0xF6, 0x19),
3218a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x7D, 0xFE, 0x51, 0x40, 0x3B, 0x47, 0xD2),
3219a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x88, 0xEC, 0xC4, 0xE2, 0x8F, 0xCB, 0xA4),
3220a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xE2, 0x88, 0x2D, 0x4E, 0x50, 0xEB, 0x9A),
3221a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x54, 0x94, 0x5E, 0xF4, 0x7F, 0x3A, 0x04),
3222a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x07, 0x1C, 0xE1, 0xBD, 0x0F, 0xF8, 0x63),
3223a8e1175bSopenharmony_ci};
3224a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_2_X[] = {
3225a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x92, 0x28, 0x2E, 0x32, 0x04, 0xB1, 0x4D),
3226a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x82, 0x44, 0x43, 0x76, 0x0D, 0x55, 0xBF),
3227a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xE3, 0xFF, 0x89, 0x46, 0xDE, 0x4E, 0xFE),
3228a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x22, 0xBB, 0x67, 0x1A, 0x81, 0xEE, 0x27),
3229a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x54, 0xE2, 0x7A, 0xAE, 0xDA, 0x2C, 0xD0),
3230a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x9A, 0x90, 0xAA, 0x6E, 0x8B, 0xCC, 0x5F),
3231a8e1175bSopenharmony_ci};
3232a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_2_Y[] = {
3233a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x40, 0xAC, 0xED, 0x7D, 0x37, 0x87, 0xAC),
3234a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xF8, 0xB1, 0x80, 0x4C, 0x8C, 0x04, 0x42),
3235a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x98, 0x2C, 0xAD, 0x30, 0x69, 0x35, 0xC0),
3236a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x2E, 0x00, 0x2F, 0x44, 0x8C, 0xF0, 0xC0),
3237a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x58, 0x07, 0xD7, 0xCD, 0x60, 0xA1, 0x5B),
3238a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xFB, 0x7B, 0x03, 0x05, 0x5E, 0x79, 0x73),
3239a8e1175bSopenharmony_ci};
3240a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_3_X[] = {
3241a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x17, 0xCE, 0x38, 0x4B, 0x5E, 0x5B, 0xC8),
3242a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x0E, 0x0A, 0x61, 0x9D, 0x7C, 0x62, 0x08),
3243a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xF0, 0x98, 0x71, 0x7F, 0x17, 0x26, 0xD7),
3244a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xD3, 0xFA, 0x3C, 0xF0, 0x70, 0x07, 0x82),
3245a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x47, 0x5C, 0x09, 0x43, 0xB7, 0x65, 0x15),
3246a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xA9, 0xA7, 0x3E, 0xFA, 0xF3, 0xEC, 0x22),
3247a8e1175bSopenharmony_ci};
3248a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_3_Y[] = {
3249a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x78, 0x22, 0x2B, 0x58, 0x71, 0xFA, 0xAA),
3250a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x30, 0xCE, 0x6A, 0xB3, 0xB0, 0x4F, 0x83),
3251a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x95, 0x20, 0xA9, 0x23, 0xC2, 0x65, 0xE7),
3252a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xCF, 0x03, 0x5B, 0x8A, 0x80, 0x44, 0xBB),
3253a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xF8, 0x91, 0xF7, 0xD5, 0xED, 0xEA, 0x81),
3254a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x5B, 0x16, 0x10, 0x25, 0xAC, 0x2A, 0x17),
3255a8e1175bSopenharmony_ci};
3256a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_4_X[] = {
3257a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xEC, 0xDC, 0xC4, 0x7B, 0x8C, 0x6B, 0xE9),
3258a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xBB, 0x1C, 0xD3, 0x5A, 0xEE, 0xD9, 0x97),
3259a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x5D, 0x30, 0x5E, 0xF7, 0xB2, 0x41, 0x9D),
3260a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xCE, 0x0F, 0x1A, 0xC6, 0x41, 0x64, 0x62),
3261a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x18, 0xE1, 0xE3, 0x82, 0x15, 0x66, 0x4B),
3262a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xE2, 0x24, 0x04, 0x72, 0x39, 0xA0, 0x7C),
3263a8e1175bSopenharmony_ci};
3264a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_4_Y[] = {
3265a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x51, 0xA2, 0x58, 0x88, 0x62, 0xE1, 0x02),
3266a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xD2, 0x65, 0x14, 0xE9, 0x4C, 0x82, 0x30),
3267a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xE1, 0xAC, 0x87, 0xAE, 0x31, 0x1A, 0x7A),
3268a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x4F, 0x96, 0x1E, 0x85, 0x7A, 0xC3, 0x2B),
3269a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x86, 0xBB, 0xF0, 0xC0, 0x9D, 0x08, 0x7B),
3270a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x53, 0x03, 0x09, 0x80, 0x91, 0xEF, 0x68),
3271a8e1175bSopenharmony_ci};
3272a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_5_X[] = {
3273a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xD7, 0xAF, 0x6F, 0x69, 0x7B, 0x88, 0xA1),
3274a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x13, 0xE4, 0x30, 0xA2, 0x47, 0xB5, 0xC1),
3275a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xD2, 0xC0, 0xDD, 0x8A, 0x1C, 0x3C, 0xF2),
3276a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x8C, 0xB3, 0x4C, 0xBA, 0x8B, 0x6D, 0xCF),
3277a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0xC7, 0xA1, 0xA8, 0x6E, 0x3C, 0x4F, 0xF1),
3278a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x4A, 0x97, 0xC8, 0x03, 0x6F, 0x01, 0x82),
3279a8e1175bSopenharmony_ci};
3280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_5_Y[] = {
3281a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x18, 0x12, 0xA9, 0x39, 0xD5, 0x22, 0x26),
3282a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xA7, 0xC0, 0xBD, 0x9D, 0x8D, 0x78, 0x38),
3283a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xB3, 0xD0, 0x7F, 0xDF, 0xD0, 0x30, 0xDE),
3284a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x25, 0x73, 0x96, 0xEC, 0xA8, 0x1D, 0x7C),
3285a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xD1, 0x65, 0x66, 0xDC, 0xD9, 0xCF, 0xDF),
3286a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xED, 0x7B, 0x37, 0xAD, 0xE2, 0xBE, 0x2D),
3287a8e1175bSopenharmony_ci};
3288a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_6_X[] = {
3289a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x79, 0x42, 0x6A, 0x07, 0x66, 0xB1, 0xBD),
3290a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x53, 0x62, 0x65, 0x92, 0x09, 0x4C, 0xA1),
3291a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xAF, 0xC3, 0x03, 0xF6, 0xF4, 0x2D, 0x9B),
3292a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xCA, 0x41, 0xD9, 0xA2, 0x69, 0x9B, 0xC9),
3293a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xB2, 0xA6, 0x8D, 0xE1, 0xAA, 0x61, 0x76),
3294a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xBA, 0x4D, 0x12, 0xB6, 0xBE, 0xF3, 0x7E),
3295a8e1175bSopenharmony_ci};
3296a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_6_Y[] = {
3297a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xD9, 0x92, 0x22, 0x07, 0xCE, 0xC9, 0x26),
3298a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xA1, 0x7C, 0x91, 0xDB, 0x32, 0xF7, 0xE5),
3299a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x49, 0x4B, 0x6D, 0xFB, 0xD9, 0x70, 0x3B),
3300a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xFB, 0x4E, 0x4C, 0x5E, 0x66, 0x81, 0x1D),
3301a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xB3, 0xE1, 0x00, 0xB7, 0xD9, 0xCC, 0x58),
3302a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x36, 0x8B, 0xC4, 0x39, 0x20, 0xFD, 0x30),
3303a8e1175bSopenharmony_ci};
3304a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_7_X[] = {
3305a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x1F, 0x60, 0x03, 0xBB, 0xD7, 0x60, 0x57),
3306a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x3C, 0x62, 0xDD, 0x71, 0x95, 0xE9, 0x61),
3307a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x5B, 0x7A, 0x5F, 0x68, 0x81, 0xC5, 0x90),
3308a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xB5, 0xB9, 0x98, 0x42, 0x28, 0xA5),
3309a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x29, 0x8E, 0x11, 0x49, 0xB4, 0xD7, 0x20),
3310a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x3E, 0xD2, 0x30, 0xA1, 0xBA, 0xCA, 0x03),
3311a8e1175bSopenharmony_ci};
3312a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_7_Y[] = {
3313a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x37, 0x64, 0x44, 0x2F, 0x03, 0xE5, 0x41),
3314a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x42, 0xBC, 0xFF, 0xA2, 0x1A, 0x5F, 0x06),
3315a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x04, 0xAB, 0x04, 0xE0, 0x24, 0xAD, 0x2A),
3316a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x45, 0x17, 0x67, 0x1F, 0x3E, 0x53, 0xF8),
3317a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x0F, 0xB3, 0x1B, 0x57, 0x54, 0xC2, 0x03),
3318a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xD3, 0xF8, 0xC4, 0x1B, 0x9B, 0xFA, 0x30),
3319a8e1175bSopenharmony_ci};
3320a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_8_X[] = {
3321a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x90, 0xFD, 0xFB, 0xCA, 0x49, 0x38, 0x4E),
3322a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xCF, 0xC6, 0xDD, 0xF0, 0xFF, 0x8C, 0x11),
3323a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x69, 0x9D, 0xBD, 0x5F, 0x33, 0xE9, 0xB4),
3324a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x19, 0x82, 0x3D, 0xAC, 0x1C, 0x40, 0x23),
3325a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC7, 0x02, 0x46, 0x14, 0x77, 0x00, 0xBE),
3326a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x05, 0xF2, 0x77, 0x3A, 0x66, 0x5C, 0x39),
3327a8e1175bSopenharmony_ci};
3328a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_8_Y[] = {
3329a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xE6, 0x17, 0xDE, 0xB2, 0xA1, 0xE5, 0xB8),
3330a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x71, 0xEC, 0x9D, 0xD8, 0xF5, 0xD4, 0x66),
3331a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xC6, 0x42, 0x5E, 0xE7, 0x18, 0xBA, 0xD0),
3332a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x21, 0x68, 0x5A, 0x26, 0xFB, 0xD7, 0x17),
3333a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x00, 0x5C, 0xBA, 0x8A, 0x34, 0xEC, 0x75),
3334a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x9C, 0x3C, 0xAF, 0x53, 0xE8, 0x65, 0x35),
3335a8e1175bSopenharmony_ci};
3336a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_9_X[] = {
3337a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xEF, 0x28, 0xDC, 0x67, 0x05, 0xC8, 0xDF),
3338a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x78, 0xC3, 0x85, 0x49, 0xA0, 0xBC, 0x0F),
3339a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x3E, 0x2D, 0xA0, 0xCF, 0xD4, 0x7A, 0xF5),
3340a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x93, 0xFE, 0x60, 0xB3, 0x6E, 0x99, 0xE2),
3341a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xAD, 0x04, 0xE7, 0x49, 0xAF, 0x5E, 0xE3),
3342a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x7A, 0xED, 0xA6, 0x9E, 0x18, 0x09, 0x31),
3343a8e1175bSopenharmony_ci};
3344a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_9_Y[] = {
3345a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x05, 0x94, 0x44, 0xDC, 0xB8, 0x85, 0x94),
3346a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xB7, 0x37, 0xC2, 0x50, 0x75, 0x15, 0xDA),
3347a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xC6, 0x0F, 0xB2, 0xA9, 0x91, 0x3E, 0xE8),
3348a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x81, 0xAD, 0x25, 0xA1, 0x26, 0x73, 0x15),
3349a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xF1, 0xD1, 0x61, 0x7C, 0x76, 0x8F, 0x13),
3350a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xDB, 0x4A, 0xFF, 0x14, 0xA7, 0x48, 0x0B),
3351a8e1175bSopenharmony_ci};
3352a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_10_X[] = {
3353a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x73, 0xC6, 0xC2, 0xCC, 0xF1, 0x57, 0x04),
3354a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xED, 0x73, 0x27, 0x70, 0x82, 0xB6, 0x5E),
3355a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xBA, 0xAC, 0x3A, 0xCF, 0xF4, 0xEA, 0xA6),
3356a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xD6, 0xB1, 0x8F, 0x0E, 0x08, 0x2C, 0x5E),
3357a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xE3, 0x8F, 0x2F, 0x0E, 0xA1, 0xF3, 0x07),
3358a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xF5, 0x7C, 0x9B, 0x29, 0x0A, 0xF6, 0x28),
3359a8e1175bSopenharmony_ci};
3360a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_10_Y[] = {
3361a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xEE, 0x17, 0x47, 0x34, 0x15, 0xA3, 0xAF),
3362a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xBE, 0x88, 0x48, 0xE7, 0xA2, 0xBB, 0xDE),
3363a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xAD, 0xDC, 0x65, 0x61, 0x37, 0x0F, 0xC1),
3364a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x67, 0xAD, 0xA2, 0x3A, 0x1C, 0x91, 0x78),
3365a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x07, 0x0C, 0x3A, 0x41, 0x6E, 0x13, 0x28),
3366a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0xBD, 0x7E, 0xED, 0xAA, 0x14, 0xDD, 0x61),
3367a8e1175bSopenharmony_ci};
3368a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_11_X[] = {
3369a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xDC, 0x20, 0x01, 0x72, 0x11, 0x48, 0x55),
3370a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xC4, 0x7B, 0xF8, 0x62, 0x3D, 0xF0, 0x9F),
3371a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xC2, 0x3D, 0x2E, 0x52, 0xA3, 0x4A, 0x89),
3372a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE2, 0x53, 0x46, 0x5E, 0x21, 0xF8, 0xCE),
3373a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xC7, 0x8F, 0xA9, 0x26, 0x42, 0x32, 0x3A),
3374a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xA6, 0xA0, 0x8D, 0x4B, 0x9A, 0x19, 0x03),
3375a8e1175bSopenharmony_ci};
3376a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_11_Y[] = {
3377a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xAB, 0x6D, 0x1E, 0xFB, 0xEE, 0x60, 0x0C),
3378a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x56, 0x3C, 0xC5, 0x5D, 0x10, 0x79, 0x1C),
3379a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xBC, 0x41, 0x9F, 0x71, 0xEF, 0x02, 0xF9),
3380a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x36, 0xC4, 0xD0, 0x88, 0x9B, 0x32, 0xFC),
3381a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xD4, 0x5D, 0x17, 0x39, 0xE6, 0x22, 0x2C),
3382a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x26, 0x01, 0xCE, 0xBE, 0x4A, 0x9C, 0x27),
3383a8e1175bSopenharmony_ci};
3384a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_12_X[] = {
3385a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x6D, 0x11, 0xCA, 0x6C, 0x5A, 0x93, 0x0C),
3386a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x96, 0x26, 0xAF, 0x2F, 0xE4, 0x30, 0x98),
3387a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xC1, 0x4C, 0xC6, 0x30, 0x1F, 0x5C, 0x04),
3388a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xB3, 0xE8, 0xFC, 0x35, 0xEB, 0x63, 0x6C),
3389a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x1D, 0xCA, 0xFC, 0x50, 0x36, 0x4B, 0x96),
3390a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x0E, 0x23, 0x5B, 0xAF, 0xEB, 0x2D, 0x31),
3391a8e1175bSopenharmony_ci};
3392a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_12_Y[] = {
3393a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x88, 0xB6, 0xD7, 0x74, 0x4A, 0x23, 0xB6),
3394a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x66, 0xE2, 0xBB, 0x29, 0xA6, 0x4F, 0x55),
3395a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x6F, 0x7E, 0x68, 0x6E, 0xA0, 0x14, 0x94),
3396a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x73, 0xD4, 0xE8, 0xAB, 0x5B, 0xF6, 0x0D),
3397a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xE0, 0x3C, 0x24, 0x00, 0x95, 0xE9, 0xAD),
3398a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x0D, 0x4F, 0x81, 0xD0, 0xF2, 0x3F, 0x00),
3399a8e1175bSopenharmony_ci};
3400a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_13_X[] = {
3401a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x1D, 0xCD, 0x78, 0x39, 0xC4, 0x6B, 0xD9),
3402a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x45, 0xC7, 0xB8, 0x2F, 0xAA, 0x5D, 0xE3),
3403a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x8C, 0x6E, 0xA3, 0x24, 0xB2, 0xDB, 0x4B),
3404a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x2D, 0xD9, 0xF1, 0xC7, 0x9B, 0x8A, 0xAF),
3405a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xE1, 0x2C, 0xB9, 0x40, 0x37, 0x91, 0x75),
3406a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x2C, 0xB5, 0x23, 0x03, 0x2B, 0xAF, 0x2F),
3407a8e1175bSopenharmony_ci};
3408a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_13_Y[] = {
3409a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x9D, 0x5A, 0x20, 0x10, 0xA9, 0x84, 0xDA),
3410a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x30, 0x89, 0x20, 0x13, 0xE9, 0xB2, 0xCA),
3411a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x6E, 0x52, 0xEB, 0x03, 0x18, 0x1F, 0xA6),
3412a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x9E, 0x1C, 0x35, 0x87, 0x92, 0x69, 0xC7),
3413a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0xC9, 0x88, 0xAF, 0xC6, 0x6C, 0x83, 0x72),
3414a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xD5, 0x7A, 0x54, 0x34, 0x99, 0xB6, 0x6F),
3415a8e1175bSopenharmony_ci};
3416a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_14_X[] = {
3417a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0xAD, 0x45, 0x9B, 0x4B, 0x41, 0x4D, 0x50),
3418a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x5D, 0xAB, 0x7F, 0x35, 0x34, 0xE9, 0x29),
3419a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0xBE, 0x78, 0x34, 0x44, 0xF3, 0x4A, 0x87),
3420a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xDE, 0xE3, 0xC4, 0xEE, 0x0B, 0xF9, 0xEB),
3421a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x86, 0x16, 0x48, 0x32, 0xB8, 0x74, 0x41),
3422a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xEE, 0x7C, 0xBA, 0xBD, 0x81, 0xE3, 0x55),
3423a8e1175bSopenharmony_ci};
3424a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_14_Y[] = {
3425a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x6A, 0xFA, 0x84, 0xDA, 0xB8, 0xD5, 0x14),
3426a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x9F, 0x8A, 0xD5, 0x1B, 0x2E, 0x1A, 0x0B),
3427a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0C, 0x61, 0xE2, 0xFF, 0x5B, 0xE6, 0xD5),
3428a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x62, 0xC1, 0x87, 0x53, 0x1B, 0x92, 0xA3),
3429a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x90, 0x00, 0xD1, 0x6A, 0x0C, 0x0E, 0x28),
3430a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x2E, 0xB5, 0x3B, 0x44, 0xB5, 0xA0, 0x78),
3431a8e1175bSopenharmony_ci};
3432a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_15_X[] = {
3433a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x5D, 0x02, 0x58, 0xB5, 0xBE, 0x45, 0x14),
3434a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xEF, 0x8E, 0x90, 0x4D, 0x2A, 0x32, 0xAC),
3435a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x99, 0x75, 0x5C, 0x0A, 0x33, 0x8F, 0x36),
3436a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x6C, 0x95, 0xD4, 0x1F, 0xF3, 0xEB, 0xDA),
3437a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xE4, 0x4C, 0x91, 0x20, 0xF3, 0x25, 0xEB),
3438a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x95, 0xEB, 0x29, 0x6F, 0x20, 0x34, 0x81),
3439a8e1175bSopenharmony_ci};
3440a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_15_Y[] = {
3441a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x15, 0xE5, 0x13, 0x7E, 0x64, 0x8B, 0xAD),
3442a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xBC, 0x0D, 0x18, 0x7E, 0x37, 0x9E, 0xFA),
3443a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x82, 0x20, 0xF7, 0x2D, 0x7A, 0x77, 0x52),
3444a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x29, 0xA2, 0xDB, 0x7A, 0xE6, 0x6F, 0xA5),
3445a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xC6, 0x50, 0x5C, 0xBC, 0xE6, 0x4F, 0xBD),
3446a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x9F, 0xD5, 0xE8, 0xC5, 0x3D, 0xB7, 0x30),
3447a8e1175bSopenharmony_ci};
3448a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_16_X[] = {
3449a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x03, 0x55, 0x10, 0xDB, 0xA6, 0x8B, 0x22),
3450a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x17, 0xAE, 0x78, 0xC9, 0x1D, 0x43, 0xCA),
3451a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x35, 0x49, 0xD4, 0x47, 0x84, 0x8D, 0x20),
3452a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x95, 0x2F, 0xEA, 0xBC, 0xB4, 0x18, 0xB3),
3453a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x48, 0xAE, 0x89, 0xF5, 0x65, 0x3D, 0x89),
3454a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xF2, 0x2B, 0x20, 0xD1, 0x75, 0x50, 0x63),
3455a8e1175bSopenharmony_ci};
3456a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_16_Y[] = {
3457a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xE6, 0x5C, 0x2C, 0xE0, 0x7D, 0xDF, 0x2D),
3458a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x07, 0x3E, 0xCE, 0x9F, 0x18, 0xB6, 0x05),
3459a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0xF8, 0xF0, 0xD5, 0xFA, 0x42, 0x1D, 0x6D),
3460a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x6C, 0x1D, 0x03, 0xC9, 0x0E, 0x2B, 0x2F),
3461a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x18, 0x52, 0xA5, 0xB4, 0x63, 0xE1, 0x06),
3462a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0xD9, 0xC4, 0xFD, 0x16, 0x60, 0x54),
3463a8e1175bSopenharmony_ci};
3464a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_17_X[] = {
3465a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x7D, 0xDE, 0xDF, 0x4B, 0x4A, 0xB0, 0xCB),
3466a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x4E, 0x8C, 0x94, 0xC1, 0xE2, 0x85, 0xDF),
3467a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xF0, 0xEA, 0xB5, 0x9B, 0x70, 0xEF, 0x10),
3468a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xC2, 0x39, 0x5D, 0xF3, 0x2C, 0xD9, 0x2C),
3469a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x1C, 0x2E, 0xCC, 0x2F, 0x54, 0x87, 0x80),
3470a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x72, 0xC7, 0xB5, 0x50, 0xA3, 0x84, 0x77),
3471a8e1175bSopenharmony_ci};
3472a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_17_Y[] = {
3473a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xD1, 0xAF, 0xA9, 0xB4, 0x8B, 0x5D, 0xFA),
3474a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xF6, 0x52, 0x8A, 0xC3, 0x56, 0xA5, 0x5E),
3475a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x52, 0xFF, 0xEA, 0x05, 0x42, 0x77, 0x83),
3476a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x08, 0x90, 0x72, 0x86, 0xC4, 0xC3, 0xB8),
3477a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x15, 0xF8, 0xF1, 0x16, 0x67, 0xC6, 0xD5),
3478a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x87, 0xAC, 0x8F, 0x71, 0xEC, 0x83, 0x81),
3479a8e1175bSopenharmony_ci};
3480a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_18_X[] = {
3481a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xE1, 0xE6, 0x2D, 0x0E, 0x11, 0xA1, 0x62),
3482a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xE2, 0xA8, 0x32, 0xE6, 0xE3, 0x83, 0xD1),
3483a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x56, 0xE5, 0xCD, 0xB7, 0x2B, 0x67, 0x6F),
3484a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xED, 0xC9, 0x65, 0x6D, 0x87, 0xE1, 0x8E),
3485a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x8E, 0xFD, 0x9A, 0x53, 0x0E, 0xFA, 0xA3),
3486a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x4C, 0x4A, 0xE2, 0x23, 0x84, 0xFA, 0x01),
3487a8e1175bSopenharmony_ci};
3488a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_18_Y[] = {
3489a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xFE, 0x49, 0x81, 0xD1, 0x3E, 0xF4, 0x7C),
3490a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x72, 0xE0, 0xEF, 0x0D, 0xB8, 0x3E, 0x6F),
3491a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x00, 0x0F, 0x5F, 0xCE, 0x60, 0x72, 0x2C),
3492a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xCC, 0xD8, 0x03, 0x07, 0x6E, 0x5A, 0xCD),
3493a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x3A, 0x35, 0x50, 0x4E, 0x1F, 0xCA, 0x5F),
3494a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xEA, 0x88, 0x55, 0xBD, 0x6E, 0x05, 0x7F),
3495a8e1175bSopenharmony_ci};
3496a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_19_X[] = {
3497a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x6D, 0xF1, 0x97, 0xA6, 0x69, 0x39, 0x24),
3498a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x41, 0x99, 0xFF, 0x3B, 0xA1, 0x26, 0xEC),
3499a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x2F, 0x95, 0x80, 0x12, 0x4A, 0x1B, 0xCB),
3500a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xBF, 0x51, 0xAA, 0xAE, 0x2D, 0xDA, 0xCF),
3501a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x1C, 0xB3, 0x52, 0x36, 0x49, 0xD4, 0x86),
3502a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xC1, 0x1F, 0x3A, 0xD3, 0x3E, 0x5C, 0x1A),
3503a8e1175bSopenharmony_ci};
3504a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_19_Y[] = {
3505a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x51, 0xF7, 0x2B, 0xC8, 0xA9, 0xA7, 0x15),
3506a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x4E, 0x7F, 0x98, 0x41, 0x66, 0xB0, 0x03),
3507a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x1D, 0xC0, 0x42, 0xCD, 0xF8, 0xC3, 0x2B),
3508a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x41, 0x91, 0x7D, 0xCC, 0x8B, 0xCC, 0x41),
3509a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xAE, 0x76, 0xED, 0x56, 0x18, 0xC5, 0xAB),
3510a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x6A, 0x06, 0xA3, 0x7F, 0x65, 0x10, 0x1F),
3511a8e1175bSopenharmony_ci};
3512a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_20_X[] = {
3513a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xEC, 0x3C, 0x05, 0x05, 0xCA, 0xF6, 0xED),
3514a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0xCD, 0x02, 0x51, 0x12, 0x16, 0x3C, 0x63),
3515a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xEB, 0xB3, 0x43, 0x7B, 0xDD, 0xB2, 0x7C),
3516a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x59, 0x90, 0x41, 0xDB, 0xE4, 0xF5, 0x91),
3517a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x0E, 0x18, 0x2A, 0x5A, 0x83, 0x7C, 0x2F),
3518a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x37, 0xA1, 0x0D, 0xF1, 0x2F, 0x63, 0x79),
3519a8e1175bSopenharmony_ci};
3520a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_20_Y[] = {
3521a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xC0, 0xFA, 0x6F, 0x1F, 0x67, 0xCF, 0xEC),
3522a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x34, 0x45, 0xBB, 0xF4, 0xF9, 0x9B, 0x89),
3523a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x69, 0xFE, 0x67, 0x1D, 0x64, 0x8F, 0xB9),
3524a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x39, 0xBF, 0xD8, 0xB3, 0xC7, 0xAD, 0x8A),
3525a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x93, 0xFF, 0xF3, 0x28, 0xFA, 0x39, 0xF6),
3526a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xF9, 0xC3, 0x85, 0x26, 0x7A, 0x88, 0x89),
3527a8e1175bSopenharmony_ci};
3528a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_21_X[] = {
3529a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xD5, 0x79, 0xD8, 0x11, 0xDE, 0xEB, 0x4E),
3530a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x46, 0xA4, 0x6A, 0xDA, 0x74, 0x34, 0xA8),
3531a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xBD, 0xD3, 0xF5, 0x14, 0xEE, 0xFE, 0xAE),
3532a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x4C, 0xA3, 0x71, 0x43, 0x65, 0xF8, 0x94),
3533a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x6C, 0x35, 0xFA, 0x90, 0x25, 0xD8, 0xE2),
3534a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x34, 0x84, 0x96, 0xA1, 0x43, 0x03, 0x4D),
3535a8e1175bSopenharmony_ci};
3536a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_21_Y[] = {
3537a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x3B, 0x3B, 0x2F, 0xCA, 0x59, 0xF2, 0x42),
3538a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x48, 0x24, 0x74, 0xD8, 0x72, 0x90, 0xA3),
3539a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x42, 0x74, 0x8C, 0x6F, 0x52, 0x19, 0x3D),
3540a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x9E, 0x41, 0x63, 0x68, 0x78, 0x4C, 0x2F),
3541a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x94, 0xB6, 0x6B, 0x38, 0x52, 0xA8, 0x9F),
3542a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x30, 0x25, 0x93, 0xA1, 0x6F, 0x6E, 0x68),
3543a8e1175bSopenharmony_ci};
3544a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_22_X[] = {
3545a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x2F, 0x4B, 0x64, 0x79, 0x50, 0xFF, 0x01),
3546a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x36, 0xED, 0x57, 0x39, 0x3B, 0xE7, 0xF3),
3547a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x85, 0xEA, 0x35, 0xD6, 0xC0, 0xA0, 0x52),
3548a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x89, 0x3A, 0xCC, 0x22, 0x1C, 0x46, 0x02),
3549a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x7A, 0xB0, 0xA1, 0x1B, 0x69, 0x62, 0x55),
3550a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xB8, 0x8A, 0x6C, 0x18, 0x85, 0x0D, 0x88),
3551a8e1175bSopenharmony_ci};
3552a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_22_Y[] = {
3553a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xB6, 0x50, 0xE9, 0x4E, 0x7F, 0xE8, 0x07),
3554a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x5B, 0x5C, 0xD1, 0x4B, 0x11, 0x9A, 0xD8),
3555a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x25, 0x56, 0x74, 0x51, 0x9C, 0xEC, 0x9C),
3556a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x7F, 0xB6, 0x8A, 0xCB, 0x3A, 0x10, 0x6A),
3557a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x33, 0x07, 0x01, 0xE9, 0x49, 0x59, 0xE6),
3558a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xA5, 0x2E, 0xF2, 0xBA, 0x32, 0x63, 0x44),
3559a8e1175bSopenharmony_ci};
3560a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_23_X[] = {
3561a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x06, 0x0B, 0xA5, 0x44, 0x27, 0x7F, 0x22),
3562a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x74, 0xAC, 0x0F, 0xCC, 0x4F, 0x13, 0x61),
3563a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xB1, 0xBF, 0x97, 0x49, 0xA5, 0x1C, 0x1D),
3564a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x64, 0x68, 0x7B, 0x0F, 0xCC, 0x77, 0xF8),
3565a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x39, 0xF9, 0x4E, 0x84, 0x9C, 0xF6, 0x96),
3566a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xCF, 0x6D, 0xE2, 0xA1, 0x2D, 0xF9, 0x2B),
3567a8e1175bSopenharmony_ci};
3568a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_23_Y[] = {
3569a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xC4, 0x90, 0x57, 0x31, 0x01, 0x05, 0x5E),
3570a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x1E, 0xBB, 0xBF, 0x98, 0xA4, 0x7C, 0xE3),
3571a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xE3, 0xA0, 0xB2, 0xCD, 0x39, 0x9A, 0x3F),
3572a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x34, 0x60, 0x7A, 0x89, 0x98, 0xB5, 0x52),
3573a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0x20, 0x3D, 0x3A, 0x04, 0x8F, 0x5A, 0xAC),
3574a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x26, 0xB6, 0x49, 0x09, 0x9C, 0x0F, 0x59),
3575a8e1175bSopenharmony_ci};
3576a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_24_X[] = {
3577a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x66, 0xD2, 0x38, 0x2A, 0x62, 0x81, 0xCA),
3578a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xC8, 0x20, 0x5E, 0x28, 0xA3, 0x81, 0xA7),
3579a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x31, 0xA4, 0xF1, 0xEA, 0x7D, 0x87, 0x45),
3580a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x2C, 0x99, 0x09, 0x6F, 0x63, 0xEB, 0x2F),
3581a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x76, 0xDA, 0x1A, 0x06, 0xBE, 0xDE, 0xA2),
3582a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x09, 0x2E, 0x75, 0x39, 0x30, 0x2D, 0x42),
3583a8e1175bSopenharmony_ci};
3584a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_24_Y[] = {
3585a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x9B, 0xC1, 0x5A, 0x17, 0xC3, 0x8C, 0x31),
3586a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x8D, 0x94, 0x4D, 0x3D, 0xAB, 0x60, 0xD4),
3587a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFD, 0x1E, 0x0F, 0x43, 0xAE, 0x9D, 0x62),
3588a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0xF2, 0xF3, 0x20, 0x1B, 0xAA, 0xB7, 0x41),
3589a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x5B, 0xA4, 0xF4, 0x90, 0x3B, 0xE3, 0x71),
3590a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x78, 0x72, 0xBD, 0x65, 0x09, 0x0B, 0x01),
3591a8e1175bSopenharmony_ci};
3592a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_25_X[] = {
3593a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x37, 0x2A, 0x6C, 0x16, 0x4F, 0x64, 0x59),
3594a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xCE, 0xA3, 0x90, 0xB4, 0x9A, 0xBC, 0xF7),
3595a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x38, 0x55, 0x63, 0x1D, 0x3A, 0x6E, 0x18),
3596a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xB4, 0xAA, 0x99, 0x22, 0x45, 0x89, 0x2C),
3597a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x7C, 0x8C, 0xA6, 0x3D, 0xA7, 0x3E, 0xE8),
3598a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x06, 0x42, 0xDC, 0xA6, 0xE3, 0xC6, 0x12),
3599a8e1175bSopenharmony_ci};
3600a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_25_Y[] = {
3601a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x8C, 0x3D, 0x5D, 0x47, 0x31, 0x7C, 0xEB),
3602a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x85, 0xEE, 0x46, 0x7E, 0x13, 0x04, 0x41),
3603a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x3C, 0x8B, 0x43, 0x2E, 0x74, 0xF5, 0xF6),
3604a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x88, 0x8E, 0x07, 0x29, 0x08, 0x03, 0x26),
3605a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x9B, 0x89, 0xEB, 0x08, 0xE8, 0x43, 0xB5),
3606a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x07, 0x67, 0xFD, 0xD9, 0x73, 0x6F, 0x18),
3607a8e1175bSopenharmony_ci};
3608a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_26_X[] = {
3609a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xEB, 0x21, 0x8D, 0x98, 0x43, 0x74, 0x98),
3610a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xCC, 0x14, 0xD8, 0x08, 0xBB, 0xA6, 0xE3),
3611a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x98, 0xF2, 0x6A, 0x18, 0xC3, 0xDD, 0x9E),
3612a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x38, 0x91, 0xA0, 0x03, 0xF2, 0x04, 0x62),
3613a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xAF, 0xE8, 0xFD, 0xFB, 0x13, 0x70, 0x74),
3614a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x93, 0x87, 0x98, 0x4A, 0xE0, 0x00, 0x12),
3615a8e1175bSopenharmony_ci};
3616a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_26_Y[] = {
3617a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x2E, 0x69, 0x9C, 0xA2, 0x2D, 0x03, 0x3F),
3618a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xFE, 0xF3, 0xB9, 0xC1, 0x85, 0x2A, 0xEE),
3619a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xFD, 0x86, 0xB1, 0xCD, 0xBF, 0x41, 0xB7),
3620a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xD8, 0x9A, 0x21, 0xF3, 0xFE, 0xCB, 0xF1),
3621a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x78, 0x04, 0x60, 0xB7, 0xA9, 0xA2, 0x84),
3622a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1E, 0x66, 0x2A, 0x54, 0x51, 0xBD, 0x8B),
3623a8e1175bSopenharmony_ci};
3624a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_27_X[] = {
3625a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x16, 0x36, 0xEF, 0x61, 0x2D, 0xEE, 0x3B),
3626a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x5F, 0x88, 0xA0, 0x13, 0x12, 0xF7, 0x23),
3627a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xC6, 0xAD, 0x4A, 0x4A, 0x07, 0x01, 0x5B),
3628a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x74, 0xB1, 0x4F, 0xEB, 0xBD, 0xD5, 0x6B),
3629a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xF9, 0x71, 0xA2, 0x06, 0x4F, 0xD7, 0xBC),
3630a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x8B, 0x4D, 0x48, 0xE0, 0x98, 0xFB, 0x6A),
3631a8e1175bSopenharmony_ci};
3632a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_27_Y[] = {
3633a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0xBA, 0x10, 0xA3, 0x0D, 0x52, 0xAC, 0x3A),
3634a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xD0, 0xE0, 0x36, 0xE6, 0x07, 0x3A, 0x30),
3635a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x80, 0xF0, 0xAA, 0x49, 0x22, 0x4B, 0xDD),
3636a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xC7, 0xAB, 0x1C, 0x89, 0xCD, 0x24, 0x40),
3637a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x2A, 0xFC, 0xB3, 0x6D, 0x45, 0x96, 0x49),
3638a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xE4, 0xDB, 0x52, 0x3F, 0xC4, 0xB4, 0x19),
3639a8e1175bSopenharmony_ci};
3640a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_28_X[] = {
3641a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xCC, 0xC8, 0x7F, 0xBB, 0x6B, 0x87, 0x47),
3642a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x21, 0x3C, 0x69, 0x7D, 0x38, 0x57, 0x50),
3643a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x4C, 0x18, 0x3C, 0x53, 0xA5, 0x48, 0x6D),
3644a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xC3, 0x64, 0x45, 0xDB, 0xC4, 0x6D, 0x15),
3645a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xCC, 0xD1, 0xBB, 0x17, 0xB8, 0x34, 0x2D),
3646a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x69, 0x71, 0xFA, 0xA0, 0x28, 0x4A, 0x3D),
3647a8e1175bSopenharmony_ci};
3648a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_28_Y[] = {
3649a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xE8, 0x9E, 0x39, 0xEA, 0x8D, 0x38, 0xDB),
3650a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x9C, 0xBB, 0xCD, 0x80, 0x1A, 0xEE, 0xB7),
3651a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA0, 0x45, 0xBF, 0xD9, 0x22, 0x11, 0x32),
3652a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x7C, 0x5C, 0xD9, 0xC0, 0x9F, 0x69, 0xF5),
3653a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x8A, 0xA6, 0x79, 0x4E, 0x35, 0xB9, 0xD5),
3654a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x8B, 0x9A, 0x3E, 0xA1, 0xB8, 0x28, 0x10),
3655a8e1175bSopenharmony_ci};
3656a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_29_X[] = {
3657a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x2F, 0xEF, 0xBB, 0xA9, 0x72, 0x7F, 0xEA),
3658a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x34, 0xB7, 0x12, 0xB9, 0xE7, 0xC3, 0x2A),
3659a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x1D, 0xD9, 0x42, 0x77, 0x0C, 0x71, 0x6E),
3660a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x01, 0x59, 0xA7, 0x56, 0x03, 0x91, 0x8D),
3661a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x91, 0x99, 0x33, 0x30, 0x3E, 0xEF, 0x13),
3662a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xC9, 0x5A, 0x9A, 0x54, 0x66, 0xF1, 0x70),
3663a8e1175bSopenharmony_ci};
3664a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_29_Y[] = {
3665a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x2C, 0xB7, 0x6E, 0x71, 0x7D, 0x35, 0x30),
3666a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x0D, 0xEF, 0xD1, 0x2D, 0x99, 0x63, 0x2F),
3667a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x31, 0xAF, 0x2D, 0xC9, 0xC6, 0xC2, 0xAE),
3668a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xC0, 0xDF, 0x80, 0x54, 0xC4, 0xAC, 0xF3),
3669a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x6B, 0xA0, 0x84, 0x96, 0xF7, 0x31, 0xC8),
3670a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0xE2, 0x7C, 0x7A, 0x41, 0x45, 0x75, 0x6A),
3671a8e1175bSopenharmony_ci};
3672a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_30_X[] = {
3673a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xEE, 0x58, 0x31, 0xE8, 0x68, 0xD6, 0x76),
3674a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x2E, 0x48, 0xB7, 0x09, 0x9F, 0xD4, 0xCA),
3675a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xA9, 0x5C, 0xE7, 0x64, 0x43, 0x5D, 0xC9),
3676a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x58, 0x9F, 0x50, 0xAB, 0x68, 0xFF, 0x6D),
3677a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x88, 0x2D, 0xBA, 0x12, 0xBF, 0x8D, 0x7D),
3678a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xDF, 0x6F, 0xB3, 0x75, 0xA4, 0x55, 0x73),
3679a8e1175bSopenharmony_ci};
3680a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_30_Y[] = {
3681a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x17, 0x92, 0x39, 0xB7, 0x13, 0x37, 0x6F),
3682a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x43, 0x71, 0xA7, 0xCA, 0x17, 0x1B, 0x32),
3683a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xB9, 0xB0, 0x78, 0xEF, 0xA0, 0xDA, 0x83),
3684a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x84, 0xF2, 0x0F, 0x85, 0xA2, 0xB6, 0x1F),
3685a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x65, 0x2E, 0x6E, 0x45, 0xB9, 0x4C, 0x3C),
3686a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x6A, 0x8C, 0x2B, 0x77, 0x96, 0x36, 0x22),
3687a8e1175bSopenharmony_ci};
3688a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_31_X[] = {
3689a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x7A, 0x13, 0x4A, 0x97, 0x63, 0x02, 0x10),
3690a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x1E, 0x06, 0x03, 0x8F, 0xB9, 0xEE, 0x64),
3691a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0xEE, 0x8B, 0x89, 0xA9, 0x70, 0xDB, 0xCE),
3692a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x7B, 0x81, 0xC9, 0x70, 0x8D, 0x62, 0x32),
3693a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xDA, 0x46, 0xF8, 0xF9, 0x3A, 0xBE, 0x55),
3694a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x9C, 0x7A, 0x97, 0x62, 0xEB, 0xFA, 0x0F),
3695a8e1175bSopenharmony_ci};
3696a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_31_Y[] = {
3697a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x03, 0x3D, 0x3C, 0x46, 0x27, 0x9E, 0x65),
3698a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x08, 0x1C, 0xD5, 0x25, 0xAF, 0xE9, 0x40),
3699a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x69, 0xDC, 0x59, 0xF4, 0x8A, 0x7C, 0x1F),
3700a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x9A, 0x7A, 0x99, 0x21, 0x0C, 0x4E, 0xE3),
3701a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xCE, 0x85, 0x5F, 0xAC, 0xAA, 0x82, 0x10),
3702a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x57, 0x69, 0x90, 0x76, 0xF3, 0x53, 0x3F),
3703a8e1175bSopenharmony_ci};
3704a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP384r1_T[32] = {
3705a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(brainpoolP384r1_T_0_X, brainpoolP384r1_T_0_Y),
3706a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_1_X, brainpoolP384r1_T_1_Y),
3707a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_2_X, brainpoolP384r1_T_2_Y),
3708a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_3_X, brainpoolP384r1_T_3_Y),
3709a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_4_X, brainpoolP384r1_T_4_Y),
3710a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_5_X, brainpoolP384r1_T_5_Y),
3711a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_6_X, brainpoolP384r1_T_6_Y),
3712a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_7_X, brainpoolP384r1_T_7_Y),
3713a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_8_X, brainpoolP384r1_T_8_Y),
3714a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_9_X, brainpoolP384r1_T_9_Y),
3715a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_10_X, brainpoolP384r1_T_10_Y),
3716a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_11_X, brainpoolP384r1_T_11_Y),
3717a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_12_X, brainpoolP384r1_T_12_Y),
3718a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_13_X, brainpoolP384r1_T_13_Y),
3719a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_14_X, brainpoolP384r1_T_14_Y),
3720a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_15_X, brainpoolP384r1_T_15_Y),
3721a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_16_X, brainpoolP384r1_T_16_Y),
3722a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_17_X, brainpoolP384r1_T_17_Y),
3723a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_18_X, brainpoolP384r1_T_18_Y),
3724a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_19_X, brainpoolP384r1_T_19_Y),
3725a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_20_X, brainpoolP384r1_T_20_Y),
3726a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_21_X, brainpoolP384r1_T_21_Y),
3727a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_22_X, brainpoolP384r1_T_22_Y),
3728a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_23_X, brainpoolP384r1_T_23_Y),
3729a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_24_X, brainpoolP384r1_T_24_Y),
3730a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_25_X, brainpoolP384r1_T_25_Y),
3731a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_26_X, brainpoolP384r1_T_26_Y),
3732a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_27_X, brainpoolP384r1_T_27_Y),
3733a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_28_X, brainpoolP384r1_T_28_Y),
3734a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_29_X, brainpoolP384r1_T_29_Y),
3735a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_30_X, brainpoolP384r1_T_30_Y),
3736a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_31_X, brainpoolP384r1_T_31_Y),
3737a8e1175bSopenharmony_ci};
3738a8e1175bSopenharmony_ci#else
3739a8e1175bSopenharmony_ci#define brainpoolP384r1_T NULL
3740a8e1175bSopenharmony_ci#endif
3741a8e1175bSopenharmony_ci
3742a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */
3743a8e1175bSopenharmony_ci
3744a8e1175bSopenharmony_ci/*
3745a8e1175bSopenharmony_ci * Domain parameters for brainpoolP512r1 (RFC 5639 3.7)
3746a8e1175bSopenharmony_ci */
3747a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)
3748a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_p[] = {
3749a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x48, 0x3A, 0x58, 0x56, 0x60, 0xAA, 0x28),
3750a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0xC6, 0x82, 0x2D, 0x2F, 0xFF, 0x81, 0x28),
3751a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x80, 0xA3, 0xE6, 0x2A, 0xA1, 0xCD, 0xAE),
3752a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x68, 0xC6, 0x9B, 0x00, 0x9B, 0x4D, 0x7D),
3753a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x08, 0x33, 0x70, 0xCA, 0x9C, 0x63, 0xD6),
3754a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xD2, 0xC9, 0xB3, 0xB3, 0x8D, 0x30, 0xCB),
3755a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFC, 0xC9, 0x33, 0xAE, 0xE6, 0xD4, 0x3F),
3756a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xC4, 0xE9, 0xDB, 0xB8, 0x9D, 0xDD, 0xAA),
3757a8e1175bSopenharmony_ci};
3758a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_a[] = {
3759a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x94, 0xFC, 0x77, 0x4D, 0xAC, 0xC1, 0xE7),
3760a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xC7, 0xF2, 0x2B, 0xA7, 0x17, 0x11, 0x7F),
3761a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0xC8, 0x9A, 0x8B, 0xC9, 0xF1, 0x2E, 0x0A),
3762a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x3A, 0x25, 0xA8, 0x5A, 0x5D, 0xED, 0x2D),
3763a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x63, 0x98, 0xEA, 0xCA, 0x41, 0x34, 0xA8),
3764a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x16, 0xF9, 0x3D, 0x8D, 0xDD, 0xCB, 0x94),
3765a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x4C, 0x23, 0xAC, 0x45, 0x71, 0x32, 0xE2),
3766a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x3B, 0x60, 0x8B, 0x31, 0xA3, 0x30, 0x78),
3767a8e1175bSopenharmony_ci};
3768a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_b[] = {
3769a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0xF7, 0x16, 0x80, 0x63, 0xBD, 0x09, 0x28),
3770a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xE5, 0xBA, 0x5E, 0xB7, 0x50, 0x40, 0x98),
3771a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x3E, 0x08, 0xDC, 0xCA, 0x94, 0xFC, 0x77),
3772a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xAC, 0xC1, 0xE7, 0xB9, 0xC7, 0xF2, 0x2B),
3773a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x17, 0x11, 0x7F, 0xB5, 0xC8, 0x9A, 0x8B),
3774a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xF1, 0x2E, 0x0A, 0xA1, 0x3A, 0x25, 0xA8),
3775a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x5D, 0xED, 0x2D, 0xBC, 0x63, 0x98, 0xEA),
3776a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x41, 0x34, 0xA8, 0x10, 0x16, 0xF9, 0x3D),
3777a8e1175bSopenharmony_ci};
3778a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_gx[] = {
3779a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xF8, 0xB9, 0xBC, 0x09, 0x22, 0x35, 0x8B),
3780a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5E, 0x6A, 0x40, 0x47, 0x50, 0x6D, 0x7C),
3781a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x7D, 0xB9, 0x93, 0x7B, 0x68, 0xD1, 0x50),
3782a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD4, 0xD0, 0xE2, 0x78, 0x1F, 0x3B, 0xFF),
3783a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x09, 0xD0, 0xF4, 0xEE, 0x62, 0x3B, 0xB4),
3784a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x16, 0xD9, 0xB5, 0x70, 0x9F, 0xED, 0x85),
3785a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x6A, 0x4C, 0x9C, 0x2E, 0x32, 0x21, 0x5A),
3786a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD9, 0x2E, 0xD8, 0xBD, 0xE4, 0xAE, 0x81),
3787a8e1175bSopenharmony_ci};
3788a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_gy[] = {
3789a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x08, 0xD8, 0x3A, 0x0F, 0x1E, 0xCD, 0x78),
3790a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x54, 0xF0, 0xA8, 0x2F, 0x2B, 0xCA, 0xD1),
3791a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x63, 0x27, 0x8A, 0xD8, 0x4B, 0xCA, 0x5B),
3792a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x48, 0x5F, 0x4A, 0x49, 0xDE, 0xDC, 0xB2),
3793a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x1F, 0x88, 0x5B, 0xC5, 0x00, 0xA0),
3794a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x7B, 0xA5, 0x24, 0x00, 0xF7, 0x09, 0xF2),
3795a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x22, 0x78, 0xCF, 0xA9, 0xBF, 0xEA, 0xC0),
3796a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x32, 0x63, 0x56, 0x5D, 0x38, 0xDE, 0x7D),
3797a8e1175bSopenharmony_ci};
3798a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_n[] = {
3799a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x00, 0xA9, 0x9C, 0x82, 0x96, 0x87, 0xB5),
3800a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xDA, 0x5D, 0x08, 0x81, 0xD3, 0xB1, 0x1D),
3801a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x10, 0xAC, 0x7F, 0x19, 0x61, 0x86, 0x41),
3802a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x26, 0xA9, 0x4C, 0x41, 0x5C, 0x3E, 0x55),
3803a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x08, 0x33, 0x70, 0xCA, 0x9C, 0x63, 0xD6),
3804a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xD2, 0xC9, 0xB3, 0xB3, 0x8D, 0x30, 0xCB),
3805a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFC, 0xC9, 0x33, 0xAE, 0xE6, 0xD4, 0x3F),
3806a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xC4, 0xE9, 0xDB, 0xB8, 0x9D, 0xDD, 0xAA),
3807a8e1175bSopenharmony_ci};
3808a8e1175bSopenharmony_ci
3809a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1
3810a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_0_X[] = {
3811a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xF8, 0xB9, 0xBC, 0x09, 0x22, 0x35, 0x8B),
3812a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5E, 0x6A, 0x40, 0x47, 0x50, 0x6D, 0x7C),
3813a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x7D, 0xB9, 0x93, 0x7B, 0x68, 0xD1, 0x50),
3814a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD4, 0xD0, 0xE2, 0x78, 0x1F, 0x3B, 0xFF),
3815a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x09, 0xD0, 0xF4, 0xEE, 0x62, 0x3B, 0xB4),
3816a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x16, 0xD9, 0xB5, 0x70, 0x9F, 0xED, 0x85),
3817a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x6A, 0x4C, 0x9C, 0x2E, 0x32, 0x21, 0x5A),
3818a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD9, 0x2E, 0xD8, 0xBD, 0xE4, 0xAE, 0x81),
3819a8e1175bSopenharmony_ci};
3820a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_0_Y[] = {
3821a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x08, 0xD8, 0x3A, 0x0F, 0x1E, 0xCD, 0x78),
3822a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x54, 0xF0, 0xA8, 0x2F, 0x2B, 0xCA, 0xD1),
3823a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x63, 0x27, 0x8A, 0xD8, 0x4B, 0xCA, 0x5B),
3824a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x48, 0x5F, 0x4A, 0x49, 0xDE, 0xDC, 0xB2),
3825a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x1F, 0x88, 0x5B, 0xC5, 0x00, 0xA0),
3826a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x7B, 0xA5, 0x24, 0x00, 0xF7, 0x09, 0xF2),
3827a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x22, 0x78, 0xCF, 0xA9, 0xBF, 0xEA, 0xC0),
3828a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x32, 0x63, 0x56, 0x5D, 0x38, 0xDE, 0x7D),
3829a8e1175bSopenharmony_ci};
3830a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_1_X[] = {
3831a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xE9, 0x6B, 0x8C, 0x6F, 0x9D, 0x88, 0x43),
3832a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x4F, 0x86, 0x96, 0xA7, 0x56, 0xD1, 0x37),
3833a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xAB, 0xFA, 0xEE, 0xA7, 0xF5, 0x0E, 0xA6),
3834a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x40, 0xEF, 0x9E, 0x6D, 0xD6, 0x32, 0x33),
3835a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xED, 0x56, 0x14, 0x57, 0x1A, 0x8D, 0x69),
3836a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xED, 0x4D, 0x3A, 0xFA, 0x71, 0x75, 0x6B),
3837a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xC5, 0x76, 0x1C, 0x14, 0xBE, 0xB5, 0xCD),
3838a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x5A, 0xCB, 0xE7, 0x36, 0x1D, 0x52, 0x1C),
3839a8e1175bSopenharmony_ci};
3840a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_1_Y[] = {
3841a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x8D, 0x7A, 0xEB, 0xA3, 0x8B, 0xD5, 0xB0),
3842a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xA3, 0x41, 0xF8, 0xAC, 0x9E, 0xAB, 0x74),
3843a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xE3, 0x65, 0x0D, 0x1C, 0xFE, 0x09, 0x2B),
3844a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xCA, 0x13, 0x3F, 0xC5, 0xF9, 0x7E, 0xEC),
3845a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x5D, 0x63, 0x28, 0xA6, 0x89, 0xD3, 0x91),
3846a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x95, 0x3F, 0x7A, 0x82, 0xD4, 0x77, 0xE3),
3847a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xBB, 0x92, 0x32, 0x00, 0xF4, 0x66, 0x42),
3848a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x58, 0x31, 0xD1, 0x17, 0x9F, 0x2A, 0x22),
3849a8e1175bSopenharmony_ci};
3850a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_2_X[] = {
3851a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x36, 0xA9, 0xCD, 0x80, 0xA5, 0x2D, 0x78),
3852a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x44, 0xAB, 0xCE, 0x71, 0xFF, 0x0C, 0x9B),
3853a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x24, 0x58, 0x35, 0x5A, 0x21, 0x32, 0x93),
3854a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0xA6, 0x28, 0xF8, 0x7A, 0x97, 0xAE, 0x8B),
3855a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xE7, 0x08, 0xFA, 0x47, 0xC9, 0x55, 0x09),
3856a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xAC, 0x2E, 0x84, 0xA4, 0xF5, 0x52, 0xC4),
3857a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x58, 0x05, 0x9D, 0xA7, 0xC8, 0x71, 0xBF),
3858a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x92, 0xB4, 0x92, 0xC1, 0x92, 0xEC, 0x6B),
3859a8e1175bSopenharmony_ci};
3860a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_2_Y[] = {
3861a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x48, 0x2D, 0x79, 0x5E, 0x58, 0xE5, 0x69),
3862a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x85, 0x26, 0xEC, 0xE9, 0x6E, 0xD4, 0x06),
3863a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x68, 0x26, 0x87, 0x38, 0xA2, 0xD2, 0x0B),
3864a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x17, 0x60, 0xCE, 0x75, 0xF8, 0xA5, 0x6F),
3865a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x51, 0xDB, 0xA9, 0xAE, 0x87, 0xF1, 0x15),
3866a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x49, 0x92, 0x3B, 0x19, 0x96, 0xF5, 0xB0),
3867a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0xD5, 0x52, 0x52, 0x8C, 0xCE, 0xFD, 0xFA),
3868a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x18, 0x0A, 0xE6, 0xF6, 0xAE, 0x08, 0x41),
3869a8e1175bSopenharmony_ci};
3870a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_3_X[] = {
3871a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x2B, 0xD8, 0x54, 0xCE, 0xB0, 0x57, 0xFE),
3872a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xB0, 0xF8, 0x9E, 0x03, 0x03, 0x3C, 0x5D),
3873a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x0E, 0x29, 0x29, 0x00, 0xF3, 0x70, 0xBF),
3874a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x33, 0x99, 0x0E, 0x00, 0x5D, 0xFE, 0x4B),
3875a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2D, 0xF2, 0x59, 0x32, 0xCF, 0x03, 0xF4),
3876a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0xC9, 0x72, 0xAE, 0x0C, 0xEF, 0xD1, 0x5B),
3877a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x5A, 0x27, 0xBF, 0x2F, 0x45, 0xF9, 0x51),
3878a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xBE, 0xE5, 0x2C, 0xFF, 0x5B, 0x1E, 0x88),
3879a8e1175bSopenharmony_ci};
3880a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_3_Y[] = {
3881a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xAC, 0xBB, 0xD8, 0x83, 0xC2, 0x46, 0xF6),
3882a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xDC, 0xCE, 0x15, 0xB4, 0xEF, 0xCF, 0x46),
3883a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xDB, 0x5E, 0x94, 0x31, 0x0B, 0xB2, 0x7A),
3884a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xB9, 0xE3, 0xE3, 0x11, 0x71, 0x41, 0x1E),
3885a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xE3, 0x01, 0xB7, 0x7D, 0xBC, 0x65, 0xBE),
3886a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x07, 0x65, 0x87, 0xA7, 0xE8, 0x48, 0xE3),
3887a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x48, 0x8F, 0xD4, 0x30, 0x8E, 0xB4, 0x6C),
3888a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xE0, 0x73, 0xBE, 0x1E, 0xBF, 0x56, 0x36),
3889a8e1175bSopenharmony_ci};
3890a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_4_X[] = {
3891a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x0E, 0x5E, 0x87, 0xC5, 0xAB, 0x0E, 0x3C),
3892a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xF9, 0x5F, 0x80, 0x24, 0x4C, 0x2A, 0xF1),
3893a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x15, 0x21, 0x54, 0x92, 0x84, 0x8D, 0x6A),
3894a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x8A, 0x47, 0x74, 0xDC, 0x42, 0xB1, 0xF8),
3895a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xF7, 0x30, 0xFD, 0xC1, 0x9B, 0x0C, 0x5B),
3896a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x6C, 0xCC, 0xDF, 0xC5, 0xE3, 0xA9, 0xD5),
3897a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x67, 0x59, 0x10, 0x5C, 0x51, 0x54, 0x40),
3898a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x37, 0xFB, 0x6E, 0xB0, 0x78, 0x63, 0x8E),
3899a8e1175bSopenharmony_ci};
3900a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_4_Y[] = {
3901a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xEF, 0xC4, 0x39, 0x20, 0xF1, 0x46, 0x66),
3902a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x62, 0xAE, 0xFF, 0x10, 0xE4, 0xE2, 0xE9),
3903a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x5C, 0xF5, 0x2E, 0x22, 0x89, 0xE5, 0x82),
3904a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x0C, 0x29, 0xA8, 0x62, 0xAE, 0xDB, 0x65),
3905a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x9E, 0x0F, 0xCA, 0x87, 0x2A, 0x6F, 0x7B),
3906a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xDC, 0x9B, 0x9F, 0x65, 0xD4, 0xAD, 0x27),
3907a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xC3, 0x08, 0x0F, 0xCF, 0x67, 0xE9, 0xF4),
3908a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x5C, 0xD7, 0xFF, 0x41, 0x9C, 0xCB, 0x26),
3909a8e1175bSopenharmony_ci};
3910a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_5_X[] = {
3911a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x25, 0x05, 0x12, 0xAD, 0x73, 0x63, 0x90),
3912a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x99, 0x07, 0x86, 0x57, 0xE7, 0x94, 0xB1),
3913a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x4B, 0xA5, 0xBF, 0x18, 0xA9, 0xEF, 0x6A),
3914a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x4C, 0xC4, 0x09, 0xF2, 0x2F, 0x0C, 0xAA),
3915a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x3A, 0x04, 0xEA, 0x89, 0x6C, 0x91, 0xB9),
3916a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0x3A, 0xE7, 0xA3, 0xEC, 0x24, 0x7B),
3917a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xA1, 0x26, 0x21, 0x04, 0xE3, 0xB9, 0x40),
3918a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x71, 0x4B, 0x7B, 0xC2, 0x89, 0xCD, 0xA2),
3919a8e1175bSopenharmony_ci};
3920a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_5_Y[] = {
3921a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xB9, 0xA8, 0x9D, 0xFD, 0x00, 0x3A, 0x1F),
3922a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x41, 0x6C, 0xBB, 0x5A, 0xCA, 0x1F, 0x74),
3923a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xD7, 0xE2, 0x6C, 0x6B, 0xA7, 0x48, 0xC9),
3924a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x19, 0xAD, 0xA7, 0xC1, 0x7E, 0x4F, 0x6E),
3925a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xF7, 0x19, 0x3C, 0x06, 0x74, 0x2C, 0x3A),
3926a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x23, 0x4F, 0x0C, 0x09, 0xB0, 0x80, 0x4A),
3927a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x74, 0x34, 0x08, 0x44, 0x7E, 0xA3, 0xDD),
3928a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xCC, 0x8D, 0x12, 0x6E, 0xE1, 0x3D, 0x0B),
3929a8e1175bSopenharmony_ci};
3930a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_6_X[] = {
3931a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x18, 0xB1, 0x71, 0x02, 0x93, 0xC2, 0xA4),
3932a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x89, 0x40, 0xE2, 0x1F, 0xE7, 0x5E, 0x68),
3933a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x8E, 0xAE, 0x89, 0x01, 0xD4, 0x0C, 0xEB),
3934a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xDA, 0x58, 0x70, 0x24, 0xF2, 0xE4, 0x5F),
3935a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0xC7, 0x1D, 0xD6, 0x4A, 0x6F, 0x66, 0x4F),
3936a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x1D, 0x7E, 0x4A, 0x2C, 0xCA, 0xEC, 0x3B),
3937a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x06, 0x7F, 0xA8, 0x99, 0xE4, 0xD3, 0x4E),
3938a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x1D, 0x5A, 0xDF, 0x5E, 0x58, 0x36, 0x49),
3939a8e1175bSopenharmony_ci};
3940a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_6_Y[] = {
3941a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xB9, 0x32, 0x69, 0x1F, 0x72, 0x2A, 0xB3),
3942a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x73, 0xE2, 0x03, 0x39, 0x35, 0xAA, 0xA8),
3943a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x5E, 0x5D, 0x48, 0xEF, 0xAE, 0x30, 0xF5),
3944a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x7F, 0x60, 0x19, 0xAF, 0xEC, 0x9D, 0xFC),
3945a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xD9, 0x19, 0xE4, 0x1B, 0x56, 0x15, 0x5F),
3946a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xD7, 0x33, 0x59, 0x1F, 0x43, 0x59, 0x2C),
3947a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xCE, 0xEE, 0xCA, 0xA4, 0x7F, 0x63, 0xD4),
3948a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x40, 0xC0, 0xF6, 0x19, 0x89, 0x43, 0x20),
3949a8e1175bSopenharmony_ci};
3950a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_7_X[] = {
3951a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x92, 0xEA, 0x07, 0x65, 0x79, 0x86, 0xD3),
3952a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xB7, 0x13, 0x75, 0xD3, 0xC5, 0x0A, 0xC9),
3953a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x9E, 0xFA, 0xE1, 0x1F, 0x0C, 0xF9, 0x74),
3954a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x8C, 0xED, 0x5C, 0x21, 0xE9, 0x09, 0xDD),
3955a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x4D, 0xD8, 0x18, 0xC4, 0xF6, 0x36, 0x39),
3956a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xC9, 0xAC, 0x5C, 0xFA, 0x69, 0xA4, 0xA0),
3957a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x8C, 0x94, 0x1C, 0x7B, 0x71, 0x36, 0x58),
3958a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xBD, 0x46, 0xCE, 0xB7, 0x1D, 0x9C, 0x5E),
3959a8e1175bSopenharmony_ci};
3960a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_7_Y[] = {
3961a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD6, 0x96, 0x4B, 0xA6, 0x47, 0xEB, 0xE5),
3962a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0xF1, 0x5F, 0x15, 0xDE, 0x99, 0x6F, 0x66),
3963a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xBD, 0xE5, 0x04, 0xB8, 0xE6, 0xC0, 0x0B),
3964a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xD3, 0xF0, 0x04, 0x00, 0xE4, 0x05, 0xDB),
3965a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xF3, 0x06, 0xA3, 0x1A, 0xFF, 0xEA, 0x73),
3966a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x32, 0xAA, 0x99, 0x33, 0x09, 0xB6, 0x34),
3967a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xEF, 0xFC, 0x61, 0x10, 0x42, 0x31, 0x94),
3968a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF1, 0xF4, 0x33, 0xCF, 0x28, 0x90, 0x9C),
3969a8e1175bSopenharmony_ci};
3970a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_8_X[] = {
3971a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xDE, 0xF9, 0x88, 0x87, 0x7B, 0xEB, 0xC9),
3972a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xB8, 0xDA, 0xFA, 0xDA, 0x3D, 0xA6, 0x17),
3973a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xF0, 0x62, 0x82, 0x53, 0x32, 0x55, 0x03),
3974a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xA5, 0x32, 0x4A, 0x19, 0x11, 0x9C, 0x10),
3975a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xB3, 0x27, 0xE9, 0x75, 0x90, 0x05, 0x2D),
3976a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x1C, 0x90, 0x48, 0x77, 0x01, 0x85, 0x1B),
3977a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xD6, 0x9B, 0x84, 0xA8, 0xD7, 0xC5, 0x28),
3978a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x7A, 0xCB, 0xB3, 0x11, 0x46, 0xD7, 0x99),
3979a8e1175bSopenharmony_ci};
3980a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_8_Y[] = {
3981a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x23, 0xBF, 0x75, 0x75, 0xA1, 0x95, 0x90),
3982a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x66, 0x5D, 0x34, 0x13, 0xA9, 0x03, 0xBE),
3983a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x80, 0x9D, 0x5F, 0xD2, 0x44, 0xE1, 0x62),
3984a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x5D, 0xBD, 0xA8, 0xBF, 0xB4, 0x25, 0x1F),
3985a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x99, 0x1F, 0x53, 0xF1, 0x57, 0xDB, 0xE7),
3986a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x7C, 0xE5, 0xC5, 0x51, 0x0B, 0x4C, 0x9B),
3987a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0xB0, 0x1A, 0x9C, 0x16, 0xB0, 0x32, 0x1F),
3988a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xE3, 0xCF, 0xDD, 0x48, 0xB4, 0x7B, 0x33),
3989a8e1175bSopenharmony_ci};
3990a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_9_X[] = {
3991a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xDD, 0x9E, 0x3C, 0x98, 0x0E, 0x77, 0x65),
3992a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xAB, 0x01, 0xD3, 0x87, 0x74, 0x25, 0x4A),
3993a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xA3, 0xE3, 0x76, 0x43, 0x87, 0x12, 0xBD),
3994a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0xB1, 0x3B, 0x60, 0x66, 0xEB, 0x98, 0x54),
3995a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x78, 0xC8, 0xD7, 0x4E, 0x75, 0xCA, 0x69),
3996a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xDF, 0x71, 0x19, 0xE7, 0x07, 0x36, 0xB5),
3997a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xC9, 0xA8, 0x5F, 0x91, 0xBF, 0x47, 0xB2),
3998a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x96, 0x58, 0x96, 0x18, 0xB6, 0xFA, 0x01),
3999a8e1175bSopenharmony_ci};
4000a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_9_Y[] = {
4001a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x2D, 0xA9, 0x9B, 0x86, 0xDB, 0x0C, 0x4C),
4002a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x0B, 0x2D, 0x56, 0x4A, 0xD3, 0x93, 0x8A),
4003a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x15, 0xE2, 0x65, 0x12, 0x86, 0x0E, 0xB2),
4004a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x41, 0x4D, 0xC1, 0xCB, 0xE4, 0xC3, 0xD7),
4005a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x53, 0x10, 0xCA, 0xA3, 0xAC, 0x83, 0x26),
4006a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x01, 0x22, 0x96, 0x10, 0xAD, 0x69, 0xDB),
4007a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x46, 0x4E, 0xD8, 0xEA, 0xD6, 0x9D, 0xF3),
4008a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x2F, 0x7F, 0x62, 0x62, 0x80, 0xD0, 0x14),
4009a8e1175bSopenharmony_ci};
4010a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_10_X[] = {
4011a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xDA, 0x00, 0x63, 0x09, 0xBD, 0x6A, 0x83),
4012a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xD4, 0x6E, 0x48, 0x05, 0xB7, 0xF7, 0x17),
4013a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x4D, 0xD7, 0x00, 0x4A, 0x15, 0x27, 0x7A),
4014a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x15, 0xAA, 0x37, 0x27, 0x34, 0x18, 0x24),
4015a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x20, 0x2C, 0x84, 0x1B, 0x88, 0xBA, 0x05),
4016a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x09, 0xD6, 0x04, 0xA2, 0x60, 0x84, 0x72),
4017a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x04, 0x94, 0x08, 0xD4, 0xED, 0x47, 0xDB),
4018a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xF3, 0xE4, 0x3E, 0xB9, 0x5B, 0x35, 0x42),
4019a8e1175bSopenharmony_ci};
4020a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_10_Y[] = {
4021a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0xD8, 0xB6, 0x80, 0xD6, 0xF1, 0x30, 0xDD),
4022a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x14, 0xA6, 0x85, 0xEE, 0xA7, 0xD8, 0x61),
4023a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x49, 0x2A, 0x1E, 0x7C, 0xE9, 0x2D, 0xEC),
4024a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x87, 0x56, 0x91, 0x03, 0x77, 0x4D, 0x55),
4025a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x52, 0xD4, 0xAA, 0xF7, 0xFA, 0xB0, 0xC5),
4026a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x5D, 0x11, 0x39, 0xB1, 0xE7, 0x76, 0xAD),
4027a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x13, 0xBC, 0x37, 0x5D, 0x74, 0xCD, 0xC2),
4028a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x48, 0x14, 0x23, 0x30, 0xF8, 0x46, 0x37),
4029a8e1175bSopenharmony_ci};
4030a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_11_X[] = {
4031a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x27, 0xB0, 0xD9, 0xB2, 0x74, 0xB4, 0xC0),
4032a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xA6, 0xB9, 0x6F, 0x9F, 0x64, 0x36, 0x92),
4033a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x2B, 0x78, 0x40, 0x05, 0x2B, 0x7B, 0xA9),
4034a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x68, 0x3A, 0xB6, 0x4A, 0xE2, 0xDB, 0xB8),
4035a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x33, 0xD7, 0x34, 0x8B, 0x25, 0x45, 0xEF),
4036a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xCE, 0xA8, 0xC9, 0x01, 0xFB, 0x0E, 0x7B),
4037a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xF9, 0x51, 0x4C, 0x12, 0x9F, 0x60, 0xE4),
4038a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x85, 0xBD, 0x30, 0x37, 0x84, 0x39, 0x44),
4039a8e1175bSopenharmony_ci};
4040a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_11_Y[] = {
4041a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x33, 0xAF, 0x2E, 0xB8, 0x2E, 0xCC, 0x3C),
4042a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xB1, 0x73, 0x59, 0x4E, 0x0C, 0x09, 0x4A),
4043a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x24, 0x89, 0x81, 0x12, 0xFF, 0xBB, 0x6E),
4044a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x37, 0x1A, 0x66, 0xEE, 0xED, 0xB6, 0x9B),
4045a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xBD, 0x04, 0x20, 0x5D, 0xFB, 0xBF, 0x95),
4046a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xF8, 0x34, 0xA3, 0xFF, 0x45, 0xDE, 0x92),
4047a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x18, 0x73, 0xF1, 0x32, 0x25, 0x58, 0xEB),
4048a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xC1, 0x14, 0xE3, 0x9E, 0x40, 0x0F, 0x12),
4049a8e1175bSopenharmony_ci};
4050a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_12_X[] = {
4051a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0x9D, 0x9C, 0x00, 0xF7, 0x56, 0x19),
4052a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xBA, 0x87, 0xF9, 0x15, 0x0C, 0x66, 0x5D),
4053a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x1F, 0xC1, 0x28, 0xB0, 0x47, 0x0D, 0xF5),
4054a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xCA, 0x27, 0xEE, 0x4B, 0x23, 0x2B, 0x89),
4055a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0xB5, 0x68, 0xC8, 0x17, 0x5D, 0xC3, 0xAA),
4056a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x02, 0x08, 0xEE, 0x20, 0x9D, 0xEA, 0x64),
4057a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x14, 0x50, 0xD4, 0x7D, 0x5F, 0xCF, 0xA0),
4058a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xFA, 0xF8, 0xA7, 0xC6, 0xDC, 0x14, 0x8C),
4059a8e1175bSopenharmony_ci};
4060a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_12_Y[] = {
4061a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xBD, 0x0A, 0x1A, 0x18, 0x98, 0xDC, 0xB0),
4062a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x63, 0x02, 0xB7, 0xD5, 0x5B, 0x5A, 0xC6),
4063a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xB1, 0xD7, 0x4B, 0x15, 0x39, 0x61, 0x5D),
4064a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x32, 0xE1, 0x9E, 0x70, 0x1B, 0xCE, 0x51),
4065a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD8, 0x18, 0x83, 0x52, 0x9B, 0x6D, 0xA2),
4066a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x55, 0x56, 0x19, 0x34, 0xA4, 0xEA, 0xFC),
4067a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xA9, 0x55, 0x80, 0xE3, 0x15, 0x36, 0x8B),
4068a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x06, 0xC8, 0x1D, 0x17, 0x0D, 0xAD, 0x16),
4069a8e1175bSopenharmony_ci};
4070a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_13_X[] = {
4071a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0xD6, 0xF0, 0xCC, 0xF3, 0x63, 0x53, 0xD2),
4072a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x5A, 0xDC, 0x46, 0xBD, 0x0D, 0xAD, 0x96),
4073a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x2F, 0x11, 0x60, 0x15, 0x51, 0x4A, 0xEA),
4074a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xE3, 0x93, 0x38, 0xD5, 0x83, 0xAA, 0x0D),
4075a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xA6, 0xCC, 0xB1, 0xFD, 0xBB, 0x1A, 0x0F),
4076a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x54, 0xC8, 0x54, 0x6F, 0x79, 0x1A, 0x59),
4077a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x4A, 0xDA, 0x28, 0x92, 0x97, 0x9D, 0x7F),
4078a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x4B, 0xDB, 0xC7, 0x52, 0xC5, 0x66, 0x34),
4079a8e1175bSopenharmony_ci};
4080a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_13_Y[] = {
4081a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x7E, 0x92, 0x53, 0x30, 0x93, 0xFD, 0xFF),
4082a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x16, 0x6A, 0xB1, 0x91, 0x0A, 0xB4, 0x52),
4083a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x9D, 0x40, 0x3F, 0xE3, 0xF1, 0x01, 0x46),
4084a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x0E, 0xD8, 0xED, 0x11, 0x8E, 0x4C, 0xED),
4085a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x4A, 0x1B, 0x88, 0xDF, 0x8D, 0x29, 0xE7),
4086a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x23, 0x21, 0x11, 0xAB, 0x77, 0x81, 0x62),
4087a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xAF, 0x11, 0xFA, 0xBA, 0x40, 0x63, 0xE7),
4088a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x6F, 0x8D, 0x80, 0xDF, 0x67, 0xF5, 0x44),
4089a8e1175bSopenharmony_ci};
4090a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_14_X[] = {
4091a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x8B, 0xB7, 0x08, 0xF4, 0xD7, 0x2D, 0xA8),
4092a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x2B, 0x30, 0x02, 0x45, 0x71, 0x08, 0x49),
4093a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x3A, 0xCA, 0x50, 0xF6, 0xC2, 0x19, 0x8C),
4094a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xB9, 0x9B, 0x3E, 0x73, 0x95, 0x1D, 0x49),
4095a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x60, 0x59, 0x48, 0xCB, 0xD8, 0xD6, 0xAA),
4096a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xB9, 0x6C, 0x89, 0xAB, 0x99, 0xA8, 0xF8),
4097a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xA1, 0x8B, 0x4E, 0x06, 0x19, 0xEC, 0x99),
4098a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x95, 0x04, 0xCF, 0xD5, 0x94, 0xB3, 0x02),
4099a8e1175bSopenharmony_ci};
4100a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_14_Y[] = {
4101a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x35, 0x93, 0x7C, 0xB3, 0xB8, 0x9E, 0x1B),
4102a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x45, 0x5C, 0x7E, 0xBF, 0x75, 0x81, 0x0F),
4103a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xE8, 0x24, 0xDF, 0xEC, 0x2F, 0x7D, 0xB9),
4104a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x8B, 0xD5, 0x6A, 0x9B, 0xA0, 0xE0, 0x4F),
4105a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xE3, 0x27, 0x82, 0xDE, 0xDD, 0xCA, 0x4B),
4106a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x57, 0x56, 0x46, 0x05, 0x06, 0x01, 0x2E),
4107a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x35, 0xA7, 0x47, 0xE2, 0x6B, 0x2C, 0x4F),
4108a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x9D, 0x4C, 0xEC, 0x1F, 0x11, 0x75, 0x2B),
4109a8e1175bSopenharmony_ci};
4110a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_15_X[] = {
4111a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xAA, 0x41, 0xC1, 0xE9, 0x0E, 0xE9, 0xAA),
4112a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xCF, 0x9C, 0x4B, 0xE8, 0xED, 0x0A, 0x49),
4113a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x73, 0xCA, 0x0C, 0x46, 0x0A, 0x9C, 0xE4),
4114a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xE1, 0x9E, 0xBC, 0xFE, 0x44, 0x63, 0x6D),
4115a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x43, 0x71, 0xEE, 0xF8, 0xC1, 0x8C, 0x5C),
4116a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x4B, 0xF0, 0x69, 0x25, 0xBD, 0x71, 0x1A),
4117a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x9A, 0xFE, 0x82, 0xE7, 0xC1, 0xC1, 0xEE),
4118a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x5A, 0x6E, 0x5E, 0x97, 0x6A, 0x35, 0x8D),
4119a8e1175bSopenharmony_ci};
4120a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_15_Y[] = {
4121a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x18, 0x6C, 0x7E, 0xB8, 0x9E, 0x57, 0x32),
4122a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xB9, 0xC1, 0xD0, 0xFE, 0x78, 0xFB, 0x32),
4123a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x08, 0xAE, 0x46, 0x34, 0xEA, 0x7A, 0x7F),
4124a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1C, 0x56, 0xA9, 0x18, 0x37, 0xD4, 0x9E),
4125a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x63, 0xE9, 0x0A, 0xB6, 0x38, 0x3C, 0xC1),
4126a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x4F, 0xA4, 0x6E, 0x85, 0x31, 0x23, 0x52),
4127a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0xAD, 0xC4, 0xC3, 0xB1, 0x4B, 0x1C, 0x82),
4128a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x56, 0x4A, 0x38, 0xB3, 0x6B, 0x6F, 0x2C),
4129a8e1175bSopenharmony_ci};
4130a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_16_X[] = {
4131a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xC7, 0x19, 0xDE, 0x21, 0xED, 0x89, 0xD0),
4132a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xBE, 0xA6, 0xAE, 0xEB, 0x9D, 0xA7, 0x2A),
4133a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x0E, 0x13, 0x1E, 0x86, 0x57, 0xC3, 0x3B),
4134a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x4B, 0x30, 0x46, 0x52, 0xC1, 0xEC, 0x52),
4135a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xD5, 0x44, 0x31, 0x96, 0x3B, 0x26, 0x27),
4136a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x68, 0xA8, 0x67, 0x78, 0x39, 0xE8, 0x68),
4137a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x78, 0xB7, 0xDD, 0xF2, 0x58, 0xB6, 0x3D),
4138a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x3C, 0xB3, 0x26, 0xC4, 0x2C, 0x8C, 0xA5),
4139a8e1175bSopenharmony_ci};
4140a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_16_Y[] = {
4141a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x24, 0xE5, 0x73, 0xEE, 0x9A, 0x02, 0xA9),
4142a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x6A, 0x65, 0x60, 0xF3, 0x62, 0xE3, 0xE9),
4143a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x07, 0x84, 0xE6, 0x3B, 0x46, 0x65, 0x9F),
4144a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x8F, 0x0C, 0xB0, 0xE1, 0x04, 0x82, 0x9D),
4145a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x13, 0xBF, 0x3D, 0xA0, 0x48, 0xA2, 0x74),
4146a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x26, 0x76, 0x74, 0xAB, 0x0B, 0x29, 0xE8),
4147a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x6E, 0x5F, 0x03, 0x34, 0x7C, 0x38, 0xCE),
4148a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x72, 0xF9, 0x3B, 0x3C, 0xA4, 0xBC, 0x7C),
4149a8e1175bSopenharmony_ci};
4150a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_17_X[] = {
4151a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xCE, 0x18, 0x80, 0xB8, 0x24, 0x45, 0x81),
4152a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x09, 0x03, 0xB8, 0x06, 0x64, 0xF7, 0xEC),
4153a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x26, 0xB1, 0x10, 0x6D, 0x71, 0x12, 0x2E),
4154a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x12, 0xC6, 0x6E, 0x1E, 0x6A, 0xC3, 0x80),
4155a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xD3, 0x0A, 0xDE, 0xD8, 0x6B, 0x04, 0x5C),
4156a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x87, 0x5B, 0xAE, 0xDB, 0x3C, 0xC0, 0xC5),
4157a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0xF5, 0xF9, 0xC1, 0x9A, 0x89, 0xBB, 0x7E),
4158a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x69, 0x72, 0x8B, 0xAE, 0x32, 0x13, 0x11),
4159a8e1175bSopenharmony_ci};
4160a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_17_Y[] = {
4161a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x16, 0x07, 0x50, 0xFA, 0x4C, 0xCF, 0xE8),
4162a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x50, 0x21, 0xE9, 0xDE, 0xEC, 0x7E, 0xDF),
4163a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x2F, 0xE8, 0x83, 0x30, 0x0B, 0x65, 0x0E),
4164a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x0B, 0x99, 0xAC, 0xC9, 0xBA, 0x6C, 0x2A),
4165a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x59, 0x5A, 0x0D, 0x7B, 0x9E, 0x08, 0xAD),
4166a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x91, 0xB2, 0xDC, 0x90, 0xCE, 0x67, 0xED),
4167a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x93, 0x60, 0x0C, 0xD7, 0x1F, 0x2F, 0x17),
4168a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x7F, 0x9D, 0x40, 0xF8, 0x78, 0x7A, 0x54),
4169a8e1175bSopenharmony_ci};
4170a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_18_X[] = {
4171a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x22, 0x95, 0xE8, 0xEF, 0x31, 0x57, 0x35),
4172a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x88, 0x53, 0xFE, 0xAF, 0x7C, 0x47, 0x14),
4173a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xCE, 0xCC, 0x79, 0xE8, 0x9F, 0x8C, 0xC4),
4174a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x16, 0xDD, 0x77, 0x6E, 0x8A, 0x73, 0x97),
4175a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x07, 0x97, 0x21, 0x3B, 0xF8, 0x5F, 0xA8),
4176a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xB5, 0xD2, 0x81, 0x84, 0xF0, 0xE7, 0x9F),
4177a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x8F, 0x75, 0x09, 0x6A, 0x0E, 0x53, 0xAD),
4178a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x4F, 0x70, 0x97, 0xC7, 0xAC, 0x7D, 0x3F),
4179a8e1175bSopenharmony_ci};
4180a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_18_Y[] = {
4181a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x3C, 0x6A, 0xB4, 0x10, 0xA9, 0xC8, 0x1D),
4182a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xC5, 0xD6, 0x69, 0x16, 0xB8, 0xAC, 0x25),
4183a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x44, 0xDC, 0xEB, 0x48, 0x54, 0x5D, 0x5F),
4184a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x48, 0x9B, 0xD7, 0x72, 0x69, 0xA4, 0x8A),
4185a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x0D, 0x36, 0x9A, 0x66, 0x0B, 0xEC, 0x24),
4186a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xC6, 0xD4, 0xB6, 0x60, 0xE5, 0xC3, 0x3A),
4187a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x29, 0x42, 0xE0, 0x9D, 0xFD, 0x7C, 0x3E),
4188a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x10, 0xBA, 0x55, 0xBC, 0x3B, 0x38, 0x5D),
4189a8e1175bSopenharmony_ci};
4190a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_19_X[] = {
4191a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x66, 0xFA, 0x05, 0x73, 0x03, 0x1B, 0x69),
4192a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xA4, 0x66, 0x12, 0x96, 0x7B, 0x02, 0x4C),
4193a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xB5, 0xDE, 0x6D, 0x98, 0xD1, 0xD5, 0xA8),
4194a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xF5, 0x44, 0xB8, 0x8E, 0xF6, 0x8C, 0x05),
4195a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x15, 0x2B, 0x72, 0xBC, 0x49, 0xE5, 0xDF),
4196a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x44, 0xD7, 0xDF, 0x8F, 0xEB, 0x8D, 0x80),
4197a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x64, 0x88, 0xAA, 0xB7, 0xE4, 0x70, 0x1D),
4198a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x14, 0xBB, 0xE9, 0x9B, 0xB9, 0x65, 0x5D),
4199a8e1175bSopenharmony_ci};
4200a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_19_Y[] = {
4201a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x8E, 0x88, 0xF5, 0xF1, 0xC1, 0x89, 0xA2),
4202a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x30, 0x53, 0xE6, 0xFB, 0x2D, 0x82, 0xB4),
4203a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xE4, 0xFF, 0xBA, 0x31, 0x79, 0xAB, 0xC2),
4204a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x09, 0xF7, 0xB7, 0x09, 0x78, 0x4C, 0x90),
4205a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xAE, 0xC2, 0x44, 0xDC, 0x17, 0x78, 0x47),
4206a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xD4, 0x17, 0x43, 0x19, 0x74, 0x9E, 0x23),
4207a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x64, 0x3B, 0x73, 0xA2, 0x99, 0x27, 0x76),
4208a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x74, 0x36, 0x5F, 0xD3, 0x14, 0xB1, 0x31),
4209a8e1175bSopenharmony_ci};
4210a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_20_X[] = {
4211a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x07, 0xAB, 0xFD, 0x9B, 0x03, 0xC5, 0xD5),
4212a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xBE, 0xB0, 0x1D, 0xF2, 0x0C, 0x73, 0x73),
4213a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xE7, 0x7B, 0x87, 0xD3, 0x34, 0xFD, 0xE2),
4214a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x25, 0x3D, 0xC7, 0x36, 0x83, 0x53, 0xDC),
4215a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x7C, 0xCF, 0x63, 0x55, 0x12, 0x11, 0xB0),
4216a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x34, 0x4D, 0x27, 0x92, 0xAC, 0x18, 0x16),
4217a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x42, 0x61, 0x9D, 0x2E, 0xFF, 0x13, 0x16),
4218a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xDE, 0x92, 0x65, 0x57, 0x0D, 0xBC, 0x0A),
4219a8e1175bSopenharmony_ci};
4220a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_20_Y[] = {
4221a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x7B, 0x6E, 0xC6, 0x2A, 0x21, 0x74, 0x0A),
4222a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xA7, 0x53, 0x4D, 0x29, 0x36, 0xEF, 0xE5),
4223a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xD6, 0x41, 0xC7, 0x99, 0xAD, 0x50, 0x53),
4224a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xAC, 0x41, 0x9F, 0xFB, 0x4C, 0x86, 0xF1),
4225a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xBB, 0xE6, 0x25, 0x28, 0xAA, 0xEB, 0x1E),
4226a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x04, 0xA2, 0xC3, 0xAA, 0x08, 0x8A, 0xCC),
4227a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x2B, 0x5B, 0xE2, 0x8D, 0x76, 0xEA, 0x34),
4228a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x33, 0xD2, 0x21, 0x4D, 0x62, 0xE3, 0x8E),
4229a8e1175bSopenharmony_ci};
4230a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_21_X[] = {
4231a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x06, 0x8B, 0x2B, 0xC2, 0xC4, 0xB1, 0xD2),
4232a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xF5, 0xA1, 0xC0, 0x03, 0x6A, 0x29, 0x12),
4233a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xA9, 0xEF, 0x55, 0xB6, 0x1A, 0x9F, 0x6B),
4234a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x54, 0x32, 0xBE, 0x06, 0x43, 0xB5, 0xFD),
4235a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xD6, 0xD9, 0x20, 0x89, 0xBE, 0xD4, 0x1B),
4236a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x26, 0x95, 0x10, 0xCE, 0xB4, 0x88, 0x79),
4237a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xA6, 0x27, 0xAC, 0x32, 0xBA, 0xBD, 0xC7),
4238a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xA6, 0xAE, 0x9C, 0x7B, 0xBE, 0xA1, 0x63),
4239a8e1175bSopenharmony_ci};
4240a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_21_Y[] = {
4241a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xCD, 0x4D, 0x3D, 0xDF, 0x96, 0xBB, 0x7D),
4242a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xA7, 0x11, 0x06, 0xCC, 0x0E, 0x31, 0x81),
4243a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0xE4, 0xF4, 0xAD, 0x7B, 0x5F, 0xF1, 0xEF),
4244a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x54, 0xBE, 0xF4, 0x8A, 0x03, 0x47, 0xDF),
4245a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x53, 0x00, 0x7F, 0xB0, 0x8A, 0x68, 0xA6),
4246a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x16, 0xB1, 0x73, 0x6F, 0x5B, 0x0E, 0xC3),
4247a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x32, 0xE3, 0x43, 0x64, 0x75, 0xFB, 0xFB),
4248a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x18, 0x55, 0x8A, 0x4E, 0x6E, 0x35, 0x54),
4249a8e1175bSopenharmony_ci};
4250a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_22_X[] = {
4251a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x97, 0x15, 0x1E, 0xCB, 0xF2, 0x9C, 0xA5),
4252a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xD1, 0xBB, 0xF3, 0x70, 0xAD, 0x13, 0xAD),
4253a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x96, 0xA4, 0xC5, 0x5E, 0xDA, 0xD5, 0x57),
4254a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x81, 0xE9, 0x65, 0x66, 0x76, 0x47, 0x45),
4255a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x35, 0x87, 0x06, 0x73, 0xCF, 0x34, 0xD2),
4256a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x81, 0x15, 0x42, 0xA2, 0x79, 0x5B, 0x42),
4257a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xA2, 0x7D, 0x09, 0x14, 0x64, 0xC6, 0xAE),
4258a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x6D, 0xC4, 0xED, 0xF1, 0xD6, 0xE9, 0x24),
4259a8e1175bSopenharmony_ci};
4260a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_22_Y[] = {
4261a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xD5, 0xBB, 0x25, 0xA3, 0xDD, 0xA3, 0x88),
4262a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xF2, 0x68, 0x67, 0x39, 0x8F, 0x73, 0x93),
4263a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x76, 0x28, 0x89, 0xAD, 0x32, 0xE0, 0xDF),
4264a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x90, 0xCC, 0x57, 0x58, 0xAA, 0xC9, 0x75),
4265a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xD7, 0x43, 0xD2, 0xCE, 0x5E, 0xA0, 0x08),
4266a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xB0, 0xB8, 0xA4, 0x9E, 0x96, 0x26, 0x86),
4267a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x61, 0x1D, 0xF3, 0x65, 0x5E, 0x60, 0xCA),
4268a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x1E, 0x65, 0xED, 0xCF, 0x07, 0x60, 0x20),
4269a8e1175bSopenharmony_ci};
4270a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_23_X[] = {
4271a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x30, 0x17, 0x8A, 0x91, 0x88, 0x0A, 0xA4),
4272a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x7D, 0x18, 0xA4, 0xAC, 0x59, 0xFC, 0x5F),
4273a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x31, 0x8B, 0x25, 0x65, 0x39, 0x9A, 0xDC),
4274a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x16, 0x4B, 0x68, 0xBA, 0x59, 0x13, 0x2F),
4275a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFD, 0xD3, 0xC5, 0x56, 0xC9, 0x8C, 0x5E),
4276a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xC6, 0x9F, 0xF4, 0xE6, 0xF7, 0xB4, 0x01),
4277a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x7C, 0x03, 0x00, 0x26, 0x9F, 0xD8, 0x7B),
4278a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x1D, 0x6E, 0x00, 0xB9, 0x00, 0x6E, 0x93),
4279a8e1175bSopenharmony_ci};
4280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_23_Y[] = {
4281a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x63, 0xDA, 0x03, 0x2B, 0xD5, 0x0B, 0xFE),
4282a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xFC, 0xE2, 0xC8, 0x47, 0xF0, 0xAE, 0xF2),
4283a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x4C, 0xF7, 0x50, 0x0C, 0x48, 0x06, 0x2A),
4284a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x2B, 0x32, 0x98, 0x0E, 0x7E, 0x61, 0x41),
4285a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x02, 0x27, 0xFE, 0x75, 0x86, 0xDF, 0x24),
4286a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x30, 0xB1, 0x22, 0x32, 0x1B, 0xFE, 0x24),
4287a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x27, 0xF7, 0x78, 0x6F, 0xD7, 0xFD, 0xE4),
4288a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x78, 0xCC, 0xEA, 0xC0, 0x50, 0x24, 0x44),
4289a8e1175bSopenharmony_ci};
4290a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_24_X[] = {
4291a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x2B, 0x4F, 0x7F, 0x58, 0xE6, 0xC2, 0x70),
4292a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x43, 0xD5, 0xA7, 0x35, 0x3C, 0x80, 0xB8),
4293a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x6D, 0x4B, 0x12, 0x00, 0x7B, 0xE6, 0xA6),
4294a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x15, 0xBD, 0xD0, 0x9B, 0xCA, 0xAA, 0x81),
4295a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xCE, 0x9C, 0xE3, 0x8B, 0x60, 0x7A, 0x53),
4296a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xDA, 0x4B, 0x03, 0xA7, 0x8D, 0x43, 0x22),
4297a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAF, 0x00, 0x2B, 0x32, 0xF0, 0x22, 0x68),
4298a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xD9, 0x99, 0x99, 0xBE, 0x43, 0x99, 0x3E),
4299a8e1175bSopenharmony_ci};
4300a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_24_Y[] = {
4301a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x71, 0x41, 0xF4, 0xB5, 0xFD, 0xDD, 0x36),
4302a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xE2, 0x20, 0x4C, 0xD1, 0x2E, 0x1F, 0x06),
4303a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x43, 0x48, 0x76, 0x8A, 0x49, 0xAC, 0x87),
4304a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x1A, 0x55, 0xA8, 0xA3, 0xD4, 0x57, 0x75),
4305a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xA6, 0x84, 0x39, 0xC9, 0x13, 0xBB, 0x60),
4306a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xFA, 0xA9, 0x70, 0xDE, 0x83, 0xDD, 0xC9),
4307a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xC9, 0xD9, 0x3E, 0x44, 0x91, 0x68, 0x7B),
4308a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x9F, 0x85, 0x6D, 0xF7, 0x54, 0x36, 0x82),
4309a8e1175bSopenharmony_ci};
4310a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_25_X[] = {
4311a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x6B, 0xA6, 0xA3, 0xE5, 0xD4, 0x46, 0xDB),
4312a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x3E, 0xDC, 0x84, 0x7C, 0x7B, 0x24, 0x34),
4313a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xED, 0x7F, 0x86, 0x07, 0x6C, 0x57, 0xCA),
4314a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x06, 0xFE, 0x52, 0x12, 0x79, 0x69, 0x56),
4315a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xD1, 0x44, 0x5F, 0x21, 0x3A, 0xC3, 0x84),
4316a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xD9, 0x4A, 0xC0, 0x75, 0xAB, 0x17, 0xAC),
4317a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x81, 0x94, 0xB6, 0x80, 0x6B, 0x6F, 0xC3),
4318a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xBE, 0x8E, 0xA5, 0xAA, 0xBC, 0x1E, 0x3E),
4319a8e1175bSopenharmony_ci};
4320a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_25_Y[] = {
4321a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xC7, 0x85, 0xA6, 0x59, 0x9B, 0xB1, 0x52),
4322a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xCE, 0x40, 0xD1, 0xFB, 0xDF, 0x94, 0xF7),
4323a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xB8, 0x5E, 0xBF, 0x45, 0xA8, 0x2D, 0x2D),
4324a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9C, 0x06, 0x1B, 0xA9, 0x57, 0xB9, 0x79),
4325a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xE9, 0xCE, 0xA2, 0xD3, 0x74, 0xA1, 0x3C),
4326a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x5F, 0x34, 0x78, 0xDB, 0xAE, 0x3A, 0x14),
4327a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x32, 0x84, 0x3E, 0x68, 0x6A, 0x43, 0x0F),
4328a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xBC, 0x39, 0x36, 0xA4, 0xC5, 0xBB, 0x11),
4329a8e1175bSopenharmony_ci};
4330a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_26_X[] = {
4331a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x07, 0xA2, 0xB5, 0xC9, 0x0F, 0x4D, 0x0F),
4332a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x1D, 0x67, 0xE6, 0xF1, 0x46, 0xEB, 0x71),
4333a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x41, 0x23, 0x95, 0xE7, 0xE0, 0x10, 0xDD),
4334a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x69, 0xFE, 0x68, 0x8C, 0xC6, 0x5F, 0xB6),
4335a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xB9, 0x2B, 0x3D, 0xD2, 0x4F, 0xD8, 0x1A),
4336a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x09, 0xF5, 0x5F, 0xCF, 0xF6, 0x91, 0x57),
4337a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x15, 0x42, 0x6B, 0x6D, 0xB5, 0xF3, 0xB6),
4338a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x56, 0x9D, 0xC5, 0xFF, 0xCA, 0x13, 0x9B),
4339a8e1175bSopenharmony_ci};
4340a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_26_Y[] = {
4341a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x38, 0xE6, 0x23, 0x63, 0x48, 0x3C, 0xCA),
4342a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x68, 0x3C, 0xD1, 0x3B, 0xE9, 0x3B, 0x82),
4343a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x08, 0x54, 0x49, 0xD1, 0x46, 0x45, 0x13),
4344a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x70, 0x52, 0x6E, 0x79, 0xC4, 0x5E, 0x95),
4345a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xDF, 0xE8, 0x5A, 0x32, 0x81, 0xDA, 0xD3),
4346a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x2D, 0x94, 0x5B, 0xB5, 0x35, 0x9F, 0x0A),
4347a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x12, 0x8D, 0xC3, 0x36, 0x36, 0xB2, 0x2A),
4348a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x2F, 0x22, 0x38, 0x5B, 0x18, 0x4C, 0x35),
4349a8e1175bSopenharmony_ci};
4350a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_27_X[] = {
4351a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xC1, 0x22, 0x0E, 0xF0, 0x73, 0x11, 0x05),
4352a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xAE, 0xA4, 0x56, 0x18, 0x61, 0x66, 0x12),
4353a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xFB, 0x72, 0x08, 0x84, 0x38, 0x51, 0xB0),
4354a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x86, 0xA8, 0xB9, 0x31, 0x99, 0x29, 0xC3),
4355a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xFB, 0xC3, 0x42, 0xB3, 0xC7, 0x6F, 0x3A),
4356a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xF8, 0xE1, 0x09, 0xBE, 0x75, 0xB0, 0x22),
4357a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x7D, 0xFF, 0xF4, 0x99, 0xFC, 0x13, 0xAB),
4358a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x1B, 0x84, 0x81, 0x42, 0x22, 0xC6, 0x3D),
4359a8e1175bSopenharmony_ci};
4360a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_27_Y[] = {
4361a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xE0, 0x37, 0xA4, 0xA0, 0x2F, 0x38, 0x7F),
4362a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x3D, 0xB7, 0x40, 0x2F, 0x39, 0x3C, 0x7A),
4363a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x3B, 0x8A, 0x51, 0xAE, 0x40, 0x49, 0x7A),
4364a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x20, 0x9F, 0xDD, 0xA9, 0xD0, 0x77, 0xC7),
4365a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x1D, 0x64, 0xDA, 0xA0, 0x53, 0xC7, 0x7D),
4366a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x7B, 0x66, 0x55, 0x94, 0xD1, 0x51, 0x44),
4367a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xA9, 0xB5, 0x5B, 0x38, 0x35, 0x40, 0xC0),
4368a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC9, 0x0F, 0xF0, 0x73, 0x79, 0x43, 0x61),
4369a8e1175bSopenharmony_ci};
4370a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_28_X[] = {
4371a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x47, 0x45, 0x69, 0x80, 0x72, 0x72, 0x42),
4372a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x11, 0x99, 0x59, 0xDB, 0x48, 0x80, 0x39),
4373a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x6E, 0x3D, 0xFC, 0x37, 0x15, 0xF4, 0xBF),
4374a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xBB, 0x5B, 0xA6, 0x35, 0x8D, 0x28, 0x20),
4375a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x1A, 0x3B, 0x2C, 0x8F, 0xD3, 0xAA, 0x2D),
4376a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x1C, 0x1A, 0xF8, 0x02, 0xD9, 0x7B, 0x41),
4377a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x69, 0xAC, 0xF8, 0x54, 0x31, 0x14, 0xA1),
4378a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x8A, 0xE6, 0xDE, 0x58, 0xB9, 0xC4, 0x7A),
4379a8e1175bSopenharmony_ci};
4380a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_28_Y[] = {
4381a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x83, 0x52, 0xFE, 0xF9, 0x7B, 0xE9, 0x1F),
4382a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xA2, 0x55, 0x46, 0x15, 0x49, 0xC1, 0x3A),
4383a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xBC, 0x5C, 0x91, 0xBD, 0xB9, 0x9C, 0xF4),
4384a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xFD, 0xB1, 0x4E, 0x5F, 0x74, 0xEE, 0x53),
4385a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x8B, 0xD8, 0x8B, 0x17, 0x73, 0x1B, 0x96),
4386a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x92, 0xD7, 0x67, 0x06, 0xAD, 0x25, 0xCD),
4387a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x0F, 0x80, 0x24, 0xE2, 0x27, 0x5F, 0x8B),
4388a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x1C, 0xCE, 0xD0, 0x67, 0xCA, 0xD4, 0x0B),
4389a8e1175bSopenharmony_ci};
4390a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_29_X[] = {
4391a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xF1, 0xDD, 0x33, 0x66, 0xF9, 0x05, 0xD6),
4392a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xE5, 0x6B, 0x79, 0xBD, 0x48, 0x42, 0xAA),
4393a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x14, 0x52, 0xE3, 0x53, 0xB4, 0x50, 0xD4),
4394a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x84, 0x6C, 0xCF, 0xDA, 0xB2, 0x20, 0x0A),
4395a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xD6, 0x1A, 0xE5, 0xE2, 0x29, 0x70, 0xCE),
4396a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x61, 0xFE, 0xBB, 0x21, 0x82, 0xD1, 0xFE),
4397a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0xF0, 0x9C, 0x8B, 0x1A, 0x42, 0x30, 0x06),
4398a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xD6, 0x49, 0x81, 0x92, 0xF1, 0xD0, 0x90),
4399a8e1175bSopenharmony_ci};
4400a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_29_Y[] = {
4401a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x91, 0x93, 0x6A, 0xA6, 0x22, 0xE9, 0xD6),
4402a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xDC, 0xC3, 0x69, 0x11, 0x95, 0x7D, 0xEC),
4403a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xA3, 0x9D, 0x87, 0x5E, 0x64, 0x41, 0xA2),
4404a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x87, 0x5A, 0x15, 0xBD, 0x6E, 0x3C, 0x8D),
4405a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x8D, 0x50, 0xCC, 0xCF, 0xB7, 0x8F, 0x0B),
4406a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x65, 0xCD, 0x31, 0x30, 0xF1, 0x68, 0x13),
4407a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x5C, 0x66, 0x67, 0x92, 0x30, 0x57, 0x95),
4408a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x9B, 0x01, 0x3D, 0x20, 0x8B, 0xD1, 0x0D),
4409a8e1175bSopenharmony_ci};
4410a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_30_X[] = {
4411a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xC0, 0xE6, 0x4F, 0xDE, 0x62, 0xAB, 0xB3),
4412a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x48, 0xB3, 0x1C, 0x0F, 0x16, 0x93, 0x45),
4413a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x63, 0xBD, 0x1F, 0x16, 0x50, 0x56, 0x98),
4414a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x06, 0xBC, 0xE9, 0x27, 0x1C, 0x9A, 0x7B),
4415a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xFE, 0x21, 0xC5, 0x39, 0x55, 0xE1, 0xFD),
4416a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xA8, 0xD0, 0x96, 0x0E, 0xB5, 0xB2, 0x84),
4417a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xE7, 0x4B, 0xF3, 0x11, 0x0C, 0xC9, 0x5B),
4418a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x3A, 0xC4, 0x87, 0x71, 0xEE, 0xFA, 0x18),
4419a8e1175bSopenharmony_ci};
4420a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_30_Y[] = {
4421a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x77, 0xEE, 0x81, 0x5E, 0x96, 0xEA, 0x4B),
4422a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xDF, 0xA9, 0xF4, 0x4F, 0x7C, 0xB2, 0x43),
4423a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xD4, 0xDF, 0x35, 0x63, 0x47, 0x25, 0x8A),
4424a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x3D, 0xFF, 0xA4, 0x02, 0xC3, 0x95, 0x11),
4425a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x10, 0x78, 0xD1, 0x2B, 0xB7, 0xBE, 0x0E),
4426a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xE9, 0x57, 0xF9, 0xE0, 0xD8, 0xFC, 0xBC),
4427a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xC4, 0x01, 0xD6, 0xB4, 0xE7, 0x78, 0xE2),
4428a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x6C, 0xB9, 0x13, 0xA4, 0xE8, 0x6D, 0x6F),
4429a8e1175bSopenharmony_ci};
4430a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_31_X[] = {
4431a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xB0, 0xC9, 0xCD, 0xBF, 0xA2, 0x1E, 0x63),
4432a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x4F, 0x86, 0x22, 0x9B, 0xEA, 0xE8, 0xBB),
4433a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x46, 0xDF, 0x43, 0xB9, 0x82, 0x2D, 0x0A),
4434a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x32, 0xF1, 0x4E, 0x95, 0x41, 0xAE, 0x8E),
4435a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x93, 0x26, 0xFC, 0xD3, 0x90, 0xDC, 0xEB),
4436a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x05, 0x45, 0xCA, 0xF9, 0x5A, 0x89, 0x93),
4437a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x82, 0x63, 0x4E, 0x55, 0x1D, 0x3A, 0x08),
4438a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x69, 0x52, 0x49, 0xE9, 0xED, 0x57, 0x34),
4439a8e1175bSopenharmony_ci};
4440a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_31_Y[] = {
4441a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x64, 0xE9, 0xAC, 0x4C, 0x4A, 0xEA, 0x25),
4442a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xE9, 0x0B, 0x99, 0xE7, 0xF9, 0xA9, 0x2C),
4443a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x0C, 0xC1, 0xF4, 0x8D, 0x07, 0xB6, 0xB1),
4444a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x68, 0xFA, 0x35, 0xE4, 0x9E, 0xAE, 0xD9),
4445a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x2D, 0x1A, 0x13, 0x8E, 0x02, 0xE2, 0x63),
4446a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x38, 0x28, 0x86, 0x46, 0x7B, 0x3A, 0xE1),
4447a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x4C, 0x64, 0x59, 0x0A, 0xF9, 0x02, 0xC4),
4448a8e1175bSopenharmony_ci    MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x4F, 0x23, 0xA2, 0xC3, 0xD5, 0xEF, 0x42),
4449a8e1175bSopenharmony_ci};
4450a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP512r1_T[32] = {
4451a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z1(brainpoolP512r1_T_0_X, brainpoolP512r1_T_0_Y),
4452a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_1_X, brainpoolP512r1_T_1_Y),
4453a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_2_X, brainpoolP512r1_T_2_Y),
4454a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_3_X, brainpoolP512r1_T_3_Y),
4455a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_4_X, brainpoolP512r1_T_4_Y),
4456a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_5_X, brainpoolP512r1_T_5_Y),
4457a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_6_X, brainpoolP512r1_T_6_Y),
4458a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_7_X, brainpoolP512r1_T_7_Y),
4459a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_8_X, brainpoolP512r1_T_8_Y),
4460a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_9_X, brainpoolP512r1_T_9_Y),
4461a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_10_X, brainpoolP512r1_T_10_Y),
4462a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_11_X, brainpoolP512r1_T_11_Y),
4463a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_12_X, brainpoolP512r1_T_12_Y),
4464a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_13_X, brainpoolP512r1_T_13_Y),
4465a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_14_X, brainpoolP512r1_T_14_Y),
4466a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_15_X, brainpoolP512r1_T_15_Y),
4467a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_16_X, brainpoolP512r1_T_16_Y),
4468a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_17_X, brainpoolP512r1_T_17_Y),
4469a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_18_X, brainpoolP512r1_T_18_Y),
4470a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_19_X, brainpoolP512r1_T_19_Y),
4471a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_20_X, brainpoolP512r1_T_20_Y),
4472a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_21_X, brainpoolP512r1_T_21_Y),
4473a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_22_X, brainpoolP512r1_T_22_Y),
4474a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_23_X, brainpoolP512r1_T_23_Y),
4475a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_24_X, brainpoolP512r1_T_24_Y),
4476a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_25_X, brainpoolP512r1_T_25_Y),
4477a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_26_X, brainpoolP512r1_T_26_Y),
4478a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_27_X, brainpoolP512r1_T_27_Y),
4479a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_28_X, brainpoolP512r1_T_28_Y),
4480a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_29_X, brainpoolP512r1_T_29_Y),
4481a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_30_X, brainpoolP512r1_T_30_Y),
4482a8e1175bSopenharmony_ci    ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_31_X, brainpoolP512r1_T_31_Y),
4483a8e1175bSopenharmony_ci};
4484a8e1175bSopenharmony_ci#else
4485a8e1175bSopenharmony_ci#define brainpoolP512r1_T NULL
4486a8e1175bSopenharmony_ci#endif
4487a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
4488a8e1175bSopenharmony_ci
4489a8e1175bSopenharmony_ci#if defined(ECP_LOAD_GROUP)
4490a8e1175bSopenharmony_ci/*
4491a8e1175bSopenharmony_ci * Create an MPI from embedded constants
4492a8e1175bSopenharmony_ci * (assumes len is an exact multiple of sizeof(mbedtls_mpi_uint))
4493a8e1175bSopenharmony_ci */
4494a8e1175bSopenharmony_cistatic inline void ecp_mpi_load(mbedtls_mpi *X, const mbedtls_mpi_uint *p, size_t len)
4495a8e1175bSopenharmony_ci{
4496a8e1175bSopenharmony_ci    X->s = 1;
4497a8e1175bSopenharmony_ci    X->n = (unsigned short) (len / sizeof(mbedtls_mpi_uint));
4498a8e1175bSopenharmony_ci    X->p = (mbedtls_mpi_uint *) p;
4499a8e1175bSopenharmony_ci}
4500a8e1175bSopenharmony_ci
4501a8e1175bSopenharmony_ci/*
4502a8e1175bSopenharmony_ci * Set an MPI to static value 1
4503a8e1175bSopenharmony_ci */
4504a8e1175bSopenharmony_cistatic inline void ecp_mpi_set1(mbedtls_mpi *X)
4505a8e1175bSopenharmony_ci{
4506a8e1175bSopenharmony_ci    X->s = 1;
4507a8e1175bSopenharmony_ci    X->n = 1;
4508a8e1175bSopenharmony_ci    X->p = (mbedtls_mpi_uint *) mpi_one; /* X->p will not be modified so the cast is safe */
4509a8e1175bSopenharmony_ci}
4510a8e1175bSopenharmony_ci
4511a8e1175bSopenharmony_ci/*
4512a8e1175bSopenharmony_ci * Make group available from embedded constants
4513a8e1175bSopenharmony_ci */
4514a8e1175bSopenharmony_cistatic int ecp_group_load(mbedtls_ecp_group *grp,
4515a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *p,  size_t plen,
4516a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *a,  size_t alen,
4517a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *b,  size_t blen,
4518a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *gx, size_t gxlen,
4519a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *gy, size_t gylen,
4520a8e1175bSopenharmony_ci                          const mbedtls_mpi_uint *n,  size_t nlen,
4521a8e1175bSopenharmony_ci                          const mbedtls_ecp_point *T)
4522a8e1175bSopenharmony_ci{
4523a8e1175bSopenharmony_ci    ecp_mpi_load(&grp->P, p, plen);
4524a8e1175bSopenharmony_ci    if (a != NULL) {
4525a8e1175bSopenharmony_ci        ecp_mpi_load(&grp->A, a, alen);
4526a8e1175bSopenharmony_ci    }
4527a8e1175bSopenharmony_ci    ecp_mpi_load(&grp->B, b, blen);
4528a8e1175bSopenharmony_ci    ecp_mpi_load(&grp->N, n, nlen);
4529a8e1175bSopenharmony_ci
4530a8e1175bSopenharmony_ci    ecp_mpi_load(&grp->G.X, gx, gxlen);
4531a8e1175bSopenharmony_ci    ecp_mpi_load(&grp->G.Y, gy, gylen);
4532a8e1175bSopenharmony_ci    ecp_mpi_set1(&grp->G.Z);
4533a8e1175bSopenharmony_ci
4534a8e1175bSopenharmony_ci    grp->pbits = mbedtls_mpi_bitlen(&grp->P);
4535a8e1175bSopenharmony_ci    grp->nbits = mbedtls_mpi_bitlen(&grp->N);
4536a8e1175bSopenharmony_ci
4537a8e1175bSopenharmony_ci    grp->h = 1;
4538a8e1175bSopenharmony_ci
4539a8e1175bSopenharmony_ci    grp->T = (mbedtls_ecp_point *) T;
4540a8e1175bSopenharmony_ci    /*
4541a8e1175bSopenharmony_ci     * Set T_size to 0 to prevent T free by mbedtls_ecp_group_free.
4542a8e1175bSopenharmony_ci     */
4543a8e1175bSopenharmony_ci    grp->T_size = 0;
4544a8e1175bSopenharmony_ci
4545a8e1175bSopenharmony_ci    return 0;
4546a8e1175bSopenharmony_ci}
4547a8e1175bSopenharmony_ci#endif /* ECP_LOAD_GROUP */
4548a8e1175bSopenharmony_ci
4549a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM)
4550a8e1175bSopenharmony_ci/* Forward declarations */
4551a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
4552a8e1175bSopenharmony_cistatic int ecp_mod_p192(mbedtls_mpi *);
4553a8e1175bSopenharmony_ci#endif
4554a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
4555a8e1175bSopenharmony_cistatic int ecp_mod_p224(mbedtls_mpi *);
4556a8e1175bSopenharmony_ci#endif
4557a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
4558a8e1175bSopenharmony_cistatic int ecp_mod_p256(mbedtls_mpi *);
4559a8e1175bSopenharmony_ci#endif
4560a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
4561a8e1175bSopenharmony_cistatic int ecp_mod_p384(mbedtls_mpi *);
4562a8e1175bSopenharmony_ci#endif
4563a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
4564a8e1175bSopenharmony_cistatic int ecp_mod_p521(mbedtls_mpi *);
4565a8e1175bSopenharmony_ci#endif
4566a8e1175bSopenharmony_ci
4567a8e1175bSopenharmony_ci#define NIST_MODP(P)      grp->modp = ecp_mod_ ## P;
4568a8e1175bSopenharmony_ci#else
4569a8e1175bSopenharmony_ci#define NIST_MODP(P)
4570a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_NIST_OPTIM */
4571a8e1175bSopenharmony_ci
4572a8e1175bSopenharmony_ci/* Additional forward declarations */
4573a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
4574a8e1175bSopenharmony_cistatic int ecp_mod_p255(mbedtls_mpi *);
4575a8e1175bSopenharmony_ci#endif
4576a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
4577a8e1175bSopenharmony_cistatic int ecp_mod_p448(mbedtls_mpi *);
4578a8e1175bSopenharmony_ci#endif
4579a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
4580a8e1175bSopenharmony_cistatic int ecp_mod_p192k1(mbedtls_mpi *);
4581a8e1175bSopenharmony_ci#endif
4582a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
4583a8e1175bSopenharmony_cistatic int ecp_mod_p224k1(mbedtls_mpi *);
4584a8e1175bSopenharmony_ci#endif
4585a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
4586a8e1175bSopenharmony_cistatic int ecp_mod_p256k1(mbedtls_mpi *);
4587a8e1175bSopenharmony_ci#endif
4588a8e1175bSopenharmony_ci
4589a8e1175bSopenharmony_ci#if defined(ECP_LOAD_GROUP)
4590a8e1175bSopenharmony_ci#define LOAD_GROUP_A(G)   ecp_group_load(grp,            \
4591a8e1175bSopenharmony_ci                                         G ## _p,  sizeof(G ## _p),   \
4592a8e1175bSopenharmony_ci                                         G ## _a,  sizeof(G ## _a),   \
4593a8e1175bSopenharmony_ci                                         G ## _b,  sizeof(G ## _b),   \
4594a8e1175bSopenharmony_ci                                         G ## _gx, sizeof(G ## _gx),   \
4595a8e1175bSopenharmony_ci                                         G ## _gy, sizeof(G ## _gy),   \
4596a8e1175bSopenharmony_ci                                         G ## _n,  sizeof(G ## _n),   \
4597a8e1175bSopenharmony_ci                                         G ## _T                         \
4598a8e1175bSopenharmony_ci                                         )
4599a8e1175bSopenharmony_ci
4600a8e1175bSopenharmony_ci#define LOAD_GROUP(G)     ecp_group_load(grp,            \
4601a8e1175bSopenharmony_ci                                         G ## _p,  sizeof(G ## _p),   \
4602a8e1175bSopenharmony_ci                                         NULL,     0,                    \
4603a8e1175bSopenharmony_ci                                         G ## _b,  sizeof(G ## _b),   \
4604a8e1175bSopenharmony_ci                                         G ## _gx, sizeof(G ## _gx),   \
4605a8e1175bSopenharmony_ci                                         G ## _gy, sizeof(G ## _gy),   \
4606a8e1175bSopenharmony_ci                                         G ## _n,  sizeof(G ## _n),   \
4607a8e1175bSopenharmony_ci                                         G ## _T                         \
4608a8e1175bSopenharmony_ci                                         )
4609a8e1175bSopenharmony_ci#endif /* ECP_LOAD_GROUP */
4610a8e1175bSopenharmony_ci
4611a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
4612a8e1175bSopenharmony_ci/* Constants used by ecp_use_curve25519() */
4613a8e1175bSopenharmony_cistatic const mbedtls_mpi_sint curve25519_a24 = 0x01DB42;
4614a8e1175bSopenharmony_cistatic const unsigned char curve25519_part_of_n[] = {
4615a8e1175bSopenharmony_ci    0x14, 0xDE, 0xF9, 0xDE, 0xA2, 0xF7, 0x9C, 0xD6,
4616a8e1175bSopenharmony_ci    0x58, 0x12, 0x63, 0x1A, 0x5C, 0xF5, 0xD3, 0xED,
4617a8e1175bSopenharmony_ci};
4618a8e1175bSopenharmony_ci
4619a8e1175bSopenharmony_ci/*
4620a8e1175bSopenharmony_ci * Specialized function for creating the Curve25519 group
4621a8e1175bSopenharmony_ci */
4622a8e1175bSopenharmony_cistatic int ecp_use_curve25519(mbedtls_ecp_group *grp)
4623a8e1175bSopenharmony_ci{
4624a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
4625a8e1175bSopenharmony_ci
4626a8e1175bSopenharmony_ci    /* Actually ( A + 2 ) / 4 */
4627a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->A, curve25519_a24));
4628a8e1175bSopenharmony_ci
4629a8e1175bSopenharmony_ci    /* P = 2^255 - 19 */
4630a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->P, 1));
4631a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_l(&grp->P, 255));
4632a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_sub_int(&grp->P, &grp->P, 19));
4633a8e1175bSopenharmony_ci    grp->pbits = mbedtls_mpi_bitlen(&grp->P);
4634a8e1175bSopenharmony_ci
4635a8e1175bSopenharmony_ci    /* N = 2^252 + 27742317777372353535851937790883648493 */
4636a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(&grp->N,
4637a8e1175bSopenharmony_ci                                            curve25519_part_of_n, sizeof(curve25519_part_of_n)));
4638a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_set_bit(&grp->N, 252, 1));
4639a8e1175bSopenharmony_ci
4640a8e1175bSopenharmony_ci    /* Y intentionally not set, since we use x/z coordinates.
4641a8e1175bSopenharmony_ci     * This is used as a marker to identify Montgomery curves! */
4642a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.X, 9));
4643a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.Z, 1));
4644a8e1175bSopenharmony_ci    mbedtls_mpi_free(&grp->G.Y);
4645a8e1175bSopenharmony_ci
4646a8e1175bSopenharmony_ci    /* Actually, the required msb for private keys */
4647a8e1175bSopenharmony_ci    grp->nbits = 254;
4648a8e1175bSopenharmony_ci
4649a8e1175bSopenharmony_cicleanup:
4650a8e1175bSopenharmony_ci    if (ret != 0) {
4651a8e1175bSopenharmony_ci        mbedtls_ecp_group_free(grp);
4652a8e1175bSopenharmony_ci    }
4653a8e1175bSopenharmony_ci
4654a8e1175bSopenharmony_ci    return ret;
4655a8e1175bSopenharmony_ci}
4656a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
4657a8e1175bSopenharmony_ci
4658a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
4659a8e1175bSopenharmony_ci/* Constants used by ecp_use_curve448() */
4660a8e1175bSopenharmony_cistatic const mbedtls_mpi_sint curve448_a24 = 0x98AA;
4661a8e1175bSopenharmony_cistatic const unsigned char curve448_part_of_n[] = {
4662a8e1175bSopenharmony_ci    0x83, 0x35, 0xDC, 0x16, 0x3B, 0xB1, 0x24,
4663a8e1175bSopenharmony_ci    0xB6, 0x51, 0x29, 0xC9, 0x6F, 0xDE, 0x93,
4664a8e1175bSopenharmony_ci    0x3D, 0x8D, 0x72, 0x3A, 0x70, 0xAA, 0xDC,
4665a8e1175bSopenharmony_ci    0x87, 0x3D, 0x6D, 0x54, 0xA7, 0xBB, 0x0D,
4666a8e1175bSopenharmony_ci};
4667a8e1175bSopenharmony_ci
4668a8e1175bSopenharmony_ci/*
4669a8e1175bSopenharmony_ci * Specialized function for creating the Curve448 group
4670a8e1175bSopenharmony_ci */
4671a8e1175bSopenharmony_cistatic int ecp_use_curve448(mbedtls_ecp_group *grp)
4672a8e1175bSopenharmony_ci{
4673a8e1175bSopenharmony_ci    mbedtls_mpi Ns;
4674a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
4675a8e1175bSopenharmony_ci
4676a8e1175bSopenharmony_ci    mbedtls_mpi_init(&Ns);
4677a8e1175bSopenharmony_ci
4678a8e1175bSopenharmony_ci    /* Actually ( A + 2 ) / 4 */
4679a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->A, curve448_a24));
4680a8e1175bSopenharmony_ci
4681a8e1175bSopenharmony_ci    /* P = 2^448 - 2^224 - 1 */
4682a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->P, 1));
4683a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_l(&grp->P, 224));
4684a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_sub_int(&grp->P, &grp->P, 1));
4685a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_l(&grp->P, 224));
4686a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_sub_int(&grp->P, &grp->P, 1));
4687a8e1175bSopenharmony_ci    grp->pbits = mbedtls_mpi_bitlen(&grp->P);
4688a8e1175bSopenharmony_ci
4689a8e1175bSopenharmony_ci    /* Y intentionally not set, since we use x/z coordinates.
4690a8e1175bSopenharmony_ci     * This is used as a marker to identify Montgomery curves! */
4691a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.X, 5));
4692a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.Z, 1));
4693a8e1175bSopenharmony_ci    mbedtls_mpi_free(&grp->G.Y);
4694a8e1175bSopenharmony_ci
4695a8e1175bSopenharmony_ci    /* N = 2^446 - 13818066809895115352007386748515426880336692474882178609894547503885 */
4696a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_set_bit(&grp->N, 446, 1));
4697a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(&Ns,
4698a8e1175bSopenharmony_ci                                            curve448_part_of_n, sizeof(curve448_part_of_n)));
4699a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_sub_mpi(&grp->N, &grp->N, &Ns));
4700a8e1175bSopenharmony_ci
4701a8e1175bSopenharmony_ci    /* Actually, the required msb for private keys */
4702a8e1175bSopenharmony_ci    grp->nbits = 447;
4703a8e1175bSopenharmony_ci
4704a8e1175bSopenharmony_cicleanup:
4705a8e1175bSopenharmony_ci    mbedtls_mpi_free(&Ns);
4706a8e1175bSopenharmony_ci    if (ret != 0) {
4707a8e1175bSopenharmony_ci        mbedtls_ecp_group_free(grp);
4708a8e1175bSopenharmony_ci    }
4709a8e1175bSopenharmony_ci
4710a8e1175bSopenharmony_ci    return ret;
4711a8e1175bSopenharmony_ci}
4712a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
4713a8e1175bSopenharmony_ci
4714a8e1175bSopenharmony_ci/*
4715a8e1175bSopenharmony_ci * Set a group using well-known domain parameters
4716a8e1175bSopenharmony_ci */
4717a8e1175bSopenharmony_ciint mbedtls_ecp_group_load(mbedtls_ecp_group *grp, mbedtls_ecp_group_id id)
4718a8e1175bSopenharmony_ci{
4719a8e1175bSopenharmony_ci    mbedtls_ecp_group_free(grp);
4720a8e1175bSopenharmony_ci
4721a8e1175bSopenharmony_ci    mbedtls_ecp_group_init(grp);
4722a8e1175bSopenharmony_ci
4723a8e1175bSopenharmony_ci    grp->id = id;
4724a8e1175bSopenharmony_ci
4725a8e1175bSopenharmony_ci    switch (id) {
4726a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
4727a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP192R1:
4728a8e1175bSopenharmony_ci            NIST_MODP(p192);
4729a8e1175bSopenharmony_ci            return LOAD_GROUP(secp192r1);
4730a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
4731a8e1175bSopenharmony_ci
4732a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
4733a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP224R1:
4734a8e1175bSopenharmony_ci            NIST_MODP(p224);
4735a8e1175bSopenharmony_ci            return LOAD_GROUP(secp224r1);
4736a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
4737a8e1175bSopenharmony_ci
4738a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
4739a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP256R1:
4740a8e1175bSopenharmony_ci            NIST_MODP(p256);
4741a8e1175bSopenharmony_ci            return LOAD_GROUP(secp256r1);
4742a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
4743a8e1175bSopenharmony_ci
4744a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
4745a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP384R1:
4746a8e1175bSopenharmony_ci            NIST_MODP(p384);
4747a8e1175bSopenharmony_ci            return LOAD_GROUP(secp384r1);
4748a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
4749a8e1175bSopenharmony_ci
4750a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
4751a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP521R1:
4752a8e1175bSopenharmony_ci            NIST_MODP(p521);
4753a8e1175bSopenharmony_ci            return LOAD_GROUP(secp521r1);
4754a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
4755a8e1175bSopenharmony_ci
4756a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
4757a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP192K1:
4758a8e1175bSopenharmony_ci            grp->modp = ecp_mod_p192k1;
4759a8e1175bSopenharmony_ci            return LOAD_GROUP_A(secp192k1);
4760a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
4761a8e1175bSopenharmony_ci
4762a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
4763a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP224K1:
4764a8e1175bSopenharmony_ci            grp->modp = ecp_mod_p224k1;
4765a8e1175bSopenharmony_ci            return LOAD_GROUP_A(secp224k1);
4766a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
4767a8e1175bSopenharmony_ci
4768a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
4769a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_SECP256K1:
4770a8e1175bSopenharmony_ci            grp->modp = ecp_mod_p256k1;
4771a8e1175bSopenharmony_ci            return LOAD_GROUP_A(secp256k1);
4772a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
4773a8e1175bSopenharmony_ci
4774a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)
4775a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_BP256R1:
4776a8e1175bSopenharmony_ci            return LOAD_GROUP_A(brainpoolP256r1);
4777a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
4778a8e1175bSopenharmony_ci
4779a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)
4780a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_BP384R1:
4781a8e1175bSopenharmony_ci            return LOAD_GROUP_A(brainpoolP384r1);
4782a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */
4783a8e1175bSopenharmony_ci
4784a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)
4785a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_BP512R1:
4786a8e1175bSopenharmony_ci            return LOAD_GROUP_A(brainpoolP512r1);
4787a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
4788a8e1175bSopenharmony_ci
4789a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
4790a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_CURVE25519:
4791a8e1175bSopenharmony_ci            grp->modp = ecp_mod_p255;
4792a8e1175bSopenharmony_ci            return ecp_use_curve25519(grp);
4793a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
4794a8e1175bSopenharmony_ci
4795a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
4796a8e1175bSopenharmony_ci        case MBEDTLS_ECP_DP_CURVE448:
4797a8e1175bSopenharmony_ci            grp->modp = ecp_mod_p448;
4798a8e1175bSopenharmony_ci            return ecp_use_curve448(grp);
4799a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
4800a8e1175bSopenharmony_ci
4801a8e1175bSopenharmony_ci        default:
4802a8e1175bSopenharmony_ci            grp->id = MBEDTLS_ECP_DP_NONE;
4803a8e1175bSopenharmony_ci            return MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE;
4804a8e1175bSopenharmony_ci    }
4805a8e1175bSopenharmony_ci}
4806a8e1175bSopenharmony_ci
4807a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM)
4808a8e1175bSopenharmony_ci/*
4809a8e1175bSopenharmony_ci * Fast reduction modulo the primes used by the NIST curves.
4810a8e1175bSopenharmony_ci *
4811a8e1175bSopenharmony_ci * These functions are critical for speed, but not needed for correct
4812a8e1175bSopenharmony_ci * operations. So, we make the choice to heavily rely on the internals of our
4813a8e1175bSopenharmony_ci * bignum library, which creates a tight coupling between these functions and
4814a8e1175bSopenharmony_ci * our MPI implementation.  However, the coupling between the ECP module and
4815a8e1175bSopenharmony_ci * MPI remains loose, since these functions can be deactivated at will.
4816a8e1175bSopenharmony_ci */
4817a8e1175bSopenharmony_ci
4818a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
4819a8e1175bSopenharmony_ci/*
4820a8e1175bSopenharmony_ci * Compared to the way things are presented in FIPS 186-3 D.2,
4821a8e1175bSopenharmony_ci * we proceed in columns, from right (least significant chunk) to left,
4822a8e1175bSopenharmony_ci * adding chunks to N in place, and keeping a carry for the next chunk.
4823a8e1175bSopenharmony_ci * This avoids moving things around in memory, and uselessly adding zeros,
4824a8e1175bSopenharmony_ci * compared to the more straightforward, line-oriented approach.
4825a8e1175bSopenharmony_ci *
4826a8e1175bSopenharmony_ci * For this prime we need to handle data in chunks of 64 bits.
4827a8e1175bSopenharmony_ci * Since this is always a multiple of our basic mbedtls_mpi_uint, we can
4828a8e1175bSopenharmony_ci * use a mbedtls_mpi_uint * to designate such a chunk, and small loops to handle it.
4829a8e1175bSopenharmony_ci */
4830a8e1175bSopenharmony_ci
4831a8e1175bSopenharmony_ci/* Add 64-bit chunks (dst += src) and update carry */
4832a8e1175bSopenharmony_cistatic inline void add64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *src, mbedtls_mpi_uint *carry)
4833a8e1175bSopenharmony_ci{
4834a8e1175bSopenharmony_ci    unsigned char i;
4835a8e1175bSopenharmony_ci    mbedtls_mpi_uint c = 0;
4836a8e1175bSopenharmony_ci    for (i = 0; i < 8 / sizeof(mbedtls_mpi_uint); i++, dst++, src++) {
4837a8e1175bSopenharmony_ci        *dst += c;      c  = (*dst < c);
4838a8e1175bSopenharmony_ci        *dst += *src;   c += (*dst < *src);
4839a8e1175bSopenharmony_ci    }
4840a8e1175bSopenharmony_ci    *carry += c;
4841a8e1175bSopenharmony_ci}
4842a8e1175bSopenharmony_ci
4843a8e1175bSopenharmony_ci/* Add carry to a 64-bit chunk and update carry */
4844a8e1175bSopenharmony_cistatic inline void carry64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *carry)
4845a8e1175bSopenharmony_ci{
4846a8e1175bSopenharmony_ci    unsigned char i;
4847a8e1175bSopenharmony_ci    for (i = 0; i < 8 / sizeof(mbedtls_mpi_uint); i++, dst++) {
4848a8e1175bSopenharmony_ci        *dst += *carry;
4849a8e1175bSopenharmony_ci        *carry  = (*dst < *carry);
4850a8e1175bSopenharmony_ci    }
4851a8e1175bSopenharmony_ci}
4852a8e1175bSopenharmony_ci
4853a8e1175bSopenharmony_ci#define WIDTH       8 / sizeof(mbedtls_mpi_uint)
4854a8e1175bSopenharmony_ci#define A(i)      N->p + (i) * WIDTH
4855a8e1175bSopenharmony_ci#define ADD(i)    add64(p, A(i), &c)
4856a8e1175bSopenharmony_ci#define NEXT        p += WIDTH; carry64(p, &c)
4857a8e1175bSopenharmony_ci#define LAST        p += WIDTH; *p = c; while (++p < end) *p = 0
4858a8e1175bSopenharmony_ci
4859a8e1175bSopenharmony_ci/*
4860a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p192 (FIPS 186-3 D.2.1)
4861a8e1175bSopenharmony_ci */
4862a8e1175bSopenharmony_cistatic int ecp_mod_p192(mbedtls_mpi *N)
4863a8e1175bSopenharmony_ci{
4864a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
4865a8e1175bSopenharmony_ci    mbedtls_mpi_uint c = 0;
4866a8e1175bSopenharmony_ci    mbedtls_mpi_uint *p, *end;
4867a8e1175bSopenharmony_ci
4868a8e1175bSopenharmony_ci    /* Make sure we have enough blocks so that A(5) is legal */
4869a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, 6 * WIDTH));
4870a8e1175bSopenharmony_ci
4871a8e1175bSopenharmony_ci    p = N->p;
4872a8e1175bSopenharmony_ci    end = p + N->n;
4873a8e1175bSopenharmony_ci
4874a8e1175bSopenharmony_ci    ADD(3); ADD(5);             NEXT;     // A0 += A3 + A5
4875a8e1175bSopenharmony_ci    ADD(3); ADD(4); ADD(5);   NEXT;       // A1 += A3 + A4 + A5
4876a8e1175bSopenharmony_ci    ADD(4); ADD(5);             LAST;     // A2 += A4 + A5
4877a8e1175bSopenharmony_ci
4878a8e1175bSopenharmony_cicleanup:
4879a8e1175bSopenharmony_ci    return ret;
4880a8e1175bSopenharmony_ci}
4881a8e1175bSopenharmony_ci
4882a8e1175bSopenharmony_ci#undef WIDTH
4883a8e1175bSopenharmony_ci#undef A
4884a8e1175bSopenharmony_ci#undef ADD
4885a8e1175bSopenharmony_ci#undef NEXT
4886a8e1175bSopenharmony_ci#undef LAST
4887a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
4888a8e1175bSopenharmony_ci
4889a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) ||   \
4890a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ||   \
4891a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
4892a8e1175bSopenharmony_ci/*
4893a8e1175bSopenharmony_ci * The reader is advised to first understand ecp_mod_p192() since the same
4894a8e1175bSopenharmony_ci * general structure is used here, but with additional complications:
4895a8e1175bSopenharmony_ci * (1) chunks of 32 bits, and (2) subtractions.
4896a8e1175bSopenharmony_ci */
4897a8e1175bSopenharmony_ci
4898a8e1175bSopenharmony_ci/*
4899a8e1175bSopenharmony_ci * For these primes, we need to handle data in chunks of 32 bits.
4900a8e1175bSopenharmony_ci * This makes it more complicated if we use 64 bits limbs in MPI,
4901a8e1175bSopenharmony_ci * which prevents us from using a uniform access method as for p192.
4902a8e1175bSopenharmony_ci *
4903a8e1175bSopenharmony_ci * So, we define a mini abstraction layer to access 32 bit chunks,
4904a8e1175bSopenharmony_ci * load them in 'cur' for work, and store them back from 'cur' when done.
4905a8e1175bSopenharmony_ci *
4906a8e1175bSopenharmony_ci * While at it, also define the size of N in terms of 32-bit chunks.
4907a8e1175bSopenharmony_ci */
4908a8e1175bSopenharmony_ci#define LOAD32      cur = A(i);
4909a8e1175bSopenharmony_ci
4910a8e1175bSopenharmony_ci#if defined(MBEDTLS_HAVE_INT32)  /* 32 bit */
4911a8e1175bSopenharmony_ci
4912a8e1175bSopenharmony_ci#define MAX32       N->n
4913a8e1175bSopenharmony_ci#define A(j)      N->p[j]
4914a8e1175bSopenharmony_ci#define STORE32     N->p[i] = cur;
4915a8e1175bSopenharmony_ci
4916a8e1175bSopenharmony_ci#else                               /* 64-bit */
4917a8e1175bSopenharmony_ci
4918a8e1175bSopenharmony_ci#define MAX32       N->n * 2
4919a8e1175bSopenharmony_ci#define A(j) (j) % 2 ? (uint32_t) (N->p[(j)/2] >> 32) : \
4920a8e1175bSopenharmony_ci    (uint32_t) (N->p[(j)/2])
4921a8e1175bSopenharmony_ci#define STORE32                                   \
4922a8e1175bSopenharmony_ci    if (i % 2) {                                 \
4923a8e1175bSopenharmony_ci        N->p[i/2] &= 0x00000000FFFFFFFF;          \
4924a8e1175bSopenharmony_ci        N->p[i/2] |= ((mbedtls_mpi_uint) cur) << 32;        \
4925a8e1175bSopenharmony_ci    } else {                                      \
4926a8e1175bSopenharmony_ci        N->p[i/2] &= 0xFFFFFFFF00000000;          \
4927a8e1175bSopenharmony_ci        N->p[i/2] |= (mbedtls_mpi_uint) cur;                \
4928a8e1175bSopenharmony_ci    }
4929a8e1175bSopenharmony_ci
4930a8e1175bSopenharmony_ci#endif /* sizeof( mbedtls_mpi_uint ) */
4931a8e1175bSopenharmony_ci
4932a8e1175bSopenharmony_ci/*
4933a8e1175bSopenharmony_ci * Helpers for addition and subtraction of chunks, with signed carry.
4934a8e1175bSopenharmony_ci */
4935a8e1175bSopenharmony_cistatic inline void add32(uint32_t *dst, uint32_t src, signed char *carry)
4936a8e1175bSopenharmony_ci{
4937a8e1175bSopenharmony_ci    *dst += src;
4938a8e1175bSopenharmony_ci    *carry += (*dst < src);
4939a8e1175bSopenharmony_ci}
4940a8e1175bSopenharmony_ci
4941a8e1175bSopenharmony_cistatic inline void sub32(uint32_t *dst, uint32_t src, signed char *carry)
4942a8e1175bSopenharmony_ci{
4943a8e1175bSopenharmony_ci    *carry -= (*dst < src);
4944a8e1175bSopenharmony_ci    *dst -= src;
4945a8e1175bSopenharmony_ci}
4946a8e1175bSopenharmony_ci
4947a8e1175bSopenharmony_ci#define ADD(j)    add32(&cur, A(j), &c);
4948a8e1175bSopenharmony_ci#define SUB(j)    sub32(&cur, A(j), &c);
4949a8e1175bSopenharmony_ci
4950a8e1175bSopenharmony_ci/*
4951a8e1175bSopenharmony_ci * Helpers for the main 'loop'
4952a8e1175bSopenharmony_ci */
4953a8e1175bSopenharmony_ci#define INIT(b)                                                       \
4954a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;                    \
4955a8e1175bSopenharmony_ci    signed char c = 0, cc;                                              \
4956a8e1175bSopenharmony_ci    uint32_t cur;                                                       \
4957a8e1175bSopenharmony_ci    size_t i = 0, bits = (b);                                           \
4958a8e1175bSopenharmony_ci    /* N is the size of the product of two b-bit numbers, plus one */   \
4959a8e1175bSopenharmony_ci    /* limb for fix_negative */                                         \
4960a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, (b) * 2 / biL + 1));      \
4961a8e1175bSopenharmony_ci    LOAD32;
4962a8e1175bSopenharmony_ci
4963a8e1175bSopenharmony_ci#define NEXT                    \
4964a8e1175bSopenharmony_ci    STORE32; i++; LOAD32;       \
4965a8e1175bSopenharmony_ci    cc = c; c = 0;              \
4966a8e1175bSopenharmony_ci    if (cc < 0)                \
4967a8e1175bSopenharmony_ci    sub32(&cur, -cc, &c); \
4968a8e1175bSopenharmony_ci    else                        \
4969a8e1175bSopenharmony_ci    add32(&cur, cc, &c);  \
4970a8e1175bSopenharmony_ci
4971a8e1175bSopenharmony_ci#define LAST                                    \
4972a8e1175bSopenharmony_ci    STORE32; i++;                               \
4973a8e1175bSopenharmony_ci    cur = c > 0 ? c : 0; STORE32;               \
4974a8e1175bSopenharmony_ci    cur = 0; while (++i < MAX32) { STORE32; }  \
4975a8e1175bSopenharmony_ci    if (c < 0) mbedtls_ecp_fix_negative(N, c, bits);
4976a8e1175bSopenharmony_ci
4977a8e1175bSopenharmony_ci/*
4978a8e1175bSopenharmony_ci * If the result is negative, we get it in the form
4979a8e1175bSopenharmony_ci * c * 2^bits + N, with c negative and N positive shorter than 'bits'
4980a8e1175bSopenharmony_ci */
4981a8e1175bSopenharmony_cistatic void mbedtls_ecp_fix_negative(mbedtls_mpi *N, signed char c, size_t bits)
4982a8e1175bSopenharmony_ci{
4983a8e1175bSopenharmony_ci    size_t i;
4984a8e1175bSopenharmony_ci
4985a8e1175bSopenharmony_ci    /* Set N := 2^bits - 1 - N. We know that 0 <= N < 2^bits, so
4986a8e1175bSopenharmony_ci     * set the absolute value to 0xfff...fff - N. There is no carry
4987a8e1175bSopenharmony_ci     * since we're subtracting from all-bits-one.  */
4988a8e1175bSopenharmony_ci    for (i = 0; i <= bits / 8 / sizeof(mbedtls_mpi_uint); i++) {
4989a8e1175bSopenharmony_ci        N->p[i] = ~(mbedtls_mpi_uint) 0 - N->p[i];
4990a8e1175bSopenharmony_ci    }
4991a8e1175bSopenharmony_ci    /* Add 1, taking care of the carry. */
4992a8e1175bSopenharmony_ci    i = 0;
4993a8e1175bSopenharmony_ci    do {
4994a8e1175bSopenharmony_ci        ++N->p[i];
4995a8e1175bSopenharmony_ci    } while (N->p[i++] == 0 && i <= bits / 8 / sizeof(mbedtls_mpi_uint));
4996a8e1175bSopenharmony_ci    /* Invert the sign.
4997a8e1175bSopenharmony_ci     * Now N = N0 - 2^bits where N0 is the initial value of N. */
4998a8e1175bSopenharmony_ci    N->s = -1;
4999a8e1175bSopenharmony_ci
5000a8e1175bSopenharmony_ci    /* Add |c| * 2^bits to the absolute value. Since c and N are
5001a8e1175bSopenharmony_ci     * negative, this adds c * 2^bits. */
5002a8e1175bSopenharmony_ci    mbedtls_mpi_uint msw = (mbedtls_mpi_uint) -c;
5003a8e1175bSopenharmony_ci#if defined(MBEDTLS_HAVE_INT64)
5004a8e1175bSopenharmony_ci    if (bits == 224) {
5005a8e1175bSopenharmony_ci        msw <<= 32;
5006a8e1175bSopenharmony_ci    }
5007a8e1175bSopenharmony_ci#endif
5008a8e1175bSopenharmony_ci    N->p[bits / 8 / sizeof(mbedtls_mpi_uint)] += msw;
5009a8e1175bSopenharmony_ci}
5010a8e1175bSopenharmony_ci
5011a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
5012a8e1175bSopenharmony_ci/*
5013a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p224 (FIPS 186-3 D.2.2)
5014a8e1175bSopenharmony_ci */
5015a8e1175bSopenharmony_cistatic int ecp_mod_p224(mbedtls_mpi *N)
5016a8e1175bSopenharmony_ci{
5017a8e1175bSopenharmony_ci    INIT(224);
5018a8e1175bSopenharmony_ci
5019a8e1175bSopenharmony_ci    SUB(7); SUB(11);               NEXT;      // A0 += -A7 - A11
5020a8e1175bSopenharmony_ci    SUB(8); SUB(12);               NEXT;      // A1 += -A8 - A12
5021a8e1175bSopenharmony_ci    SUB(9); SUB(13);               NEXT;      // A2 += -A9 - A13
5022a8e1175bSopenharmony_ci    SUB(10); ADD(7); ADD(11);    NEXT;        // A3 += -A10 + A7 + A11
5023a8e1175bSopenharmony_ci    SUB(11); ADD(8); ADD(12);    NEXT;        // A4 += -A11 + A8 + A12
5024a8e1175bSopenharmony_ci    SUB(12); ADD(9); ADD(13);    NEXT;        // A5 += -A12 + A9 + A13
5025a8e1175bSopenharmony_ci    SUB(13); ADD(10);               LAST;     // A6 += -A13 + A10
5026a8e1175bSopenharmony_ci
5027a8e1175bSopenharmony_cicleanup:
5028a8e1175bSopenharmony_ci    return ret;
5029a8e1175bSopenharmony_ci}
5030a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
5031a8e1175bSopenharmony_ci
5032a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
5033a8e1175bSopenharmony_ci/*
5034a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p256 (FIPS 186-3 D.2.3)
5035a8e1175bSopenharmony_ci */
5036a8e1175bSopenharmony_cistatic int ecp_mod_p256(mbedtls_mpi *N)
5037a8e1175bSopenharmony_ci{
5038a8e1175bSopenharmony_ci    INIT(256);
5039a8e1175bSopenharmony_ci
5040a8e1175bSopenharmony_ci    ADD(8); ADD(9);
5041a8e1175bSopenharmony_ci    SUB(11); SUB(12); SUB(13); SUB(14);             NEXT;         // A0
5042a8e1175bSopenharmony_ci
5043a8e1175bSopenharmony_ci    ADD(9); ADD(10);
5044a8e1175bSopenharmony_ci    SUB(12); SUB(13); SUB(14); SUB(15);             NEXT;         // A1
5045a8e1175bSopenharmony_ci
5046a8e1175bSopenharmony_ci    ADD(10); ADD(11);
5047a8e1175bSopenharmony_ci    SUB(13); SUB(14); SUB(15);                        NEXT;       // A2
5048a8e1175bSopenharmony_ci
5049a8e1175bSopenharmony_ci    ADD(11); ADD(11); ADD(12); ADD(12); ADD(13);
5050a8e1175bSopenharmony_ci    SUB(15); SUB(8); SUB(9);                        NEXT;         // A3
5051a8e1175bSopenharmony_ci
5052a8e1175bSopenharmony_ci    ADD(12); ADD(12); ADD(13); ADD(13); ADD(14);
5053a8e1175bSopenharmony_ci    SUB(9); SUB(10);                                   NEXT;      // A4
5054a8e1175bSopenharmony_ci
5055a8e1175bSopenharmony_ci    ADD(13); ADD(13); ADD(14); ADD(14); ADD(15);
5056a8e1175bSopenharmony_ci    SUB(10); SUB(11);                                   NEXT;     // A5
5057a8e1175bSopenharmony_ci
5058a8e1175bSopenharmony_ci    ADD(14); ADD(14); ADD(15); ADD(15); ADD(14); ADD(13);
5059a8e1175bSopenharmony_ci    SUB(8); SUB(9);                                   NEXT;       // A6
5060a8e1175bSopenharmony_ci
5061a8e1175bSopenharmony_ci    ADD(15); ADD(15); ADD(15); ADD(8);
5062a8e1175bSopenharmony_ci    SUB(10); SUB(11); SUB(12); SUB(13);             LAST;         // A7
5063a8e1175bSopenharmony_ci
5064a8e1175bSopenharmony_cicleanup:
5065a8e1175bSopenharmony_ci    return ret;
5066a8e1175bSopenharmony_ci}
5067a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
5068a8e1175bSopenharmony_ci
5069a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
5070a8e1175bSopenharmony_ci/*
5071a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p384 (FIPS 186-3 D.2.4)
5072a8e1175bSopenharmony_ci */
5073a8e1175bSopenharmony_cistatic int ecp_mod_p384(mbedtls_mpi *N)
5074a8e1175bSopenharmony_ci{
5075a8e1175bSopenharmony_ci    INIT(384);
5076a8e1175bSopenharmony_ci
5077a8e1175bSopenharmony_ci    ADD(12); ADD(21); ADD(20);
5078a8e1175bSopenharmony_ci    SUB(23);                                              NEXT;   // A0
5079a8e1175bSopenharmony_ci
5080a8e1175bSopenharmony_ci    ADD(13); ADD(22); ADD(23);
5081a8e1175bSopenharmony_ci    SUB(12); SUB(20);                                   NEXT;     // A2
5082a8e1175bSopenharmony_ci
5083a8e1175bSopenharmony_ci    ADD(14); ADD(23);
5084a8e1175bSopenharmony_ci    SUB(13); SUB(21);                                   NEXT;     // A2
5085a8e1175bSopenharmony_ci
5086a8e1175bSopenharmony_ci    ADD(15); ADD(12); ADD(20); ADD(21);
5087a8e1175bSopenharmony_ci    SUB(14); SUB(22); SUB(23);                        NEXT;       // A3
5088a8e1175bSopenharmony_ci
5089a8e1175bSopenharmony_ci    ADD(21); ADD(21); ADD(16); ADD(13); ADD(12); ADD(20); ADD(22);
5090a8e1175bSopenharmony_ci    SUB(15); SUB(23); SUB(23);                        NEXT;       // A4
5091a8e1175bSopenharmony_ci
5092a8e1175bSopenharmony_ci    ADD(22); ADD(22); ADD(17); ADD(14); ADD(13); ADD(21); ADD(23);
5093a8e1175bSopenharmony_ci    SUB(16);                                              NEXT;   // A5
5094a8e1175bSopenharmony_ci
5095a8e1175bSopenharmony_ci    ADD(23); ADD(23); ADD(18); ADD(15); ADD(14); ADD(22);
5096a8e1175bSopenharmony_ci    SUB(17);                                              NEXT;   // A6
5097a8e1175bSopenharmony_ci
5098a8e1175bSopenharmony_ci    ADD(19); ADD(16); ADD(15); ADD(23);
5099a8e1175bSopenharmony_ci    SUB(18);                                              NEXT;   // A7
5100a8e1175bSopenharmony_ci
5101a8e1175bSopenharmony_ci    ADD(20); ADD(17); ADD(16);
5102a8e1175bSopenharmony_ci    SUB(19);                                              NEXT;   // A8
5103a8e1175bSopenharmony_ci
5104a8e1175bSopenharmony_ci    ADD(21); ADD(18); ADD(17);
5105a8e1175bSopenharmony_ci    SUB(20);                                              NEXT;   // A9
5106a8e1175bSopenharmony_ci
5107a8e1175bSopenharmony_ci    ADD(22); ADD(19); ADD(18);
5108a8e1175bSopenharmony_ci    SUB(21);                                              NEXT;   // A10
5109a8e1175bSopenharmony_ci
5110a8e1175bSopenharmony_ci    ADD(23); ADD(20); ADD(19);
5111a8e1175bSopenharmony_ci    SUB(22);                                              LAST;   // A11
5112a8e1175bSopenharmony_ci
5113a8e1175bSopenharmony_cicleanup:
5114a8e1175bSopenharmony_ci    return ret;
5115a8e1175bSopenharmony_ci}
5116a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
5117a8e1175bSopenharmony_ci
5118a8e1175bSopenharmony_ci#undef A
5119a8e1175bSopenharmony_ci#undef LOAD32
5120a8e1175bSopenharmony_ci#undef STORE32
5121a8e1175bSopenharmony_ci#undef MAX32
5122a8e1175bSopenharmony_ci#undef INIT
5123a8e1175bSopenharmony_ci#undef NEXT
5124a8e1175bSopenharmony_ci#undef LAST
5125a8e1175bSopenharmony_ci
5126a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED ||
5127a8e1175bSopenharmony_ci          MBEDTLS_ECP_DP_SECP256R1_ENABLED ||
5128a8e1175bSopenharmony_ci          MBEDTLS_ECP_DP_SECP384R1_ENABLED */
5129a8e1175bSopenharmony_ci
5130a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
5131a8e1175bSopenharmony_ci/*
5132a8e1175bSopenharmony_ci * Here we have an actual Mersenne prime, so things are more straightforward.
5133a8e1175bSopenharmony_ci * However, chunks are aligned on a 'weird' boundary (521 bits).
5134a8e1175bSopenharmony_ci */
5135a8e1175bSopenharmony_ci
5136a8e1175bSopenharmony_ci/* Size of p521 in terms of mbedtls_mpi_uint */
5137a8e1175bSopenharmony_ci#define P521_WIDTH      (521 / 8 / sizeof(mbedtls_mpi_uint) + 1)
5138a8e1175bSopenharmony_ci
5139a8e1175bSopenharmony_ci/* Bits to keep in the most significant mbedtls_mpi_uint */
5140a8e1175bSopenharmony_ci#define P521_MASK       0x01FF
5141a8e1175bSopenharmony_ci
5142a8e1175bSopenharmony_ci/*
5143a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p521 (FIPS 186-3 D.2.5)
5144a8e1175bSopenharmony_ci * Write N as A1 + 2^521 A0, return A0 + A1
5145a8e1175bSopenharmony_ci */
5146a8e1175bSopenharmony_cistatic int ecp_mod_p521(mbedtls_mpi *N)
5147a8e1175bSopenharmony_ci{
5148a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
5149a8e1175bSopenharmony_ci    size_t i;
5150a8e1175bSopenharmony_ci    mbedtls_mpi M;
5151a8e1175bSopenharmony_ci    mbedtls_mpi_uint Mp[P521_WIDTH + 1];
5152a8e1175bSopenharmony_ci    /* Worst case for the size of M is when mbedtls_mpi_uint is 16 bits:
5153a8e1175bSopenharmony_ci     * we need to hold bits 513 to 1056, which is 34 limbs, that is
5154a8e1175bSopenharmony_ci     * P521_WIDTH + 1. Otherwise P521_WIDTH is enough. */
5155a8e1175bSopenharmony_ci
5156a8e1175bSopenharmony_ci    if (N->n < P521_WIDTH) {
5157a8e1175bSopenharmony_ci        return 0;
5158a8e1175bSopenharmony_ci    }
5159a8e1175bSopenharmony_ci
5160a8e1175bSopenharmony_ci    /* M = A1 */
5161a8e1175bSopenharmony_ci    M.s = 1;
5162a8e1175bSopenharmony_ci    M.n = N->n - (P521_WIDTH - 1);
5163a8e1175bSopenharmony_ci    if (M.n > P521_WIDTH + 1) {
5164a8e1175bSopenharmony_ci        M.n = P521_WIDTH + 1;
5165a8e1175bSopenharmony_ci    }
5166a8e1175bSopenharmony_ci    M.p = Mp;
5167a8e1175bSopenharmony_ci    memcpy(Mp, N->p + P521_WIDTH - 1, M.n * sizeof(mbedtls_mpi_uint));
5168a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_r(&M, 521 % (8 * sizeof(mbedtls_mpi_uint))));
5169a8e1175bSopenharmony_ci
5170a8e1175bSopenharmony_ci    /* N = A0 */
5171a8e1175bSopenharmony_ci    N->p[P521_WIDTH - 1] &= P521_MASK;
5172a8e1175bSopenharmony_ci    for (i = P521_WIDTH; i < N->n; i++) {
5173a8e1175bSopenharmony_ci        N->p[i] = 0;
5174a8e1175bSopenharmony_ci    }
5175a8e1175bSopenharmony_ci
5176a8e1175bSopenharmony_ci    /* N = A0 + A1 */
5177a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_abs(N, N, &M));
5178a8e1175bSopenharmony_ci
5179a8e1175bSopenharmony_cicleanup:
5180a8e1175bSopenharmony_ci    return ret;
5181a8e1175bSopenharmony_ci}
5182a8e1175bSopenharmony_ci
5183a8e1175bSopenharmony_ci#undef P521_WIDTH
5184a8e1175bSopenharmony_ci#undef P521_MASK
5185a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
5186a8e1175bSopenharmony_ci
5187a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_NIST_OPTIM */
5188a8e1175bSopenharmony_ci
5189a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
5190a8e1175bSopenharmony_ci
5191a8e1175bSopenharmony_ci/* Size of p255 in terms of mbedtls_mpi_uint */
5192a8e1175bSopenharmony_ci#define P255_WIDTH      (255 / 8 / sizeof(mbedtls_mpi_uint) + 1)
5193a8e1175bSopenharmony_ci
5194a8e1175bSopenharmony_ci/*
5195a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p255 = 2^255 - 19
5196a8e1175bSopenharmony_ci * Write N as A0 + 2^256 A1, return A0 + 38 * A1
5197a8e1175bSopenharmony_ci */
5198a8e1175bSopenharmony_cistatic int ecp_mod_p255(mbedtls_mpi *N)
5199a8e1175bSopenharmony_ci{
5200a8e1175bSopenharmony_ci    mbedtls_mpi_uint Mp[P255_WIDTH];
5201a8e1175bSopenharmony_ci
5202a8e1175bSopenharmony_ci    /* Helper references for top part of N */
5203a8e1175bSopenharmony_ci    mbedtls_mpi_uint * const NT_p = N->p + P255_WIDTH;
5204a8e1175bSopenharmony_ci    const size_t NT_n = N->n - P255_WIDTH;
5205a8e1175bSopenharmony_ci    if (N->n <= P255_WIDTH) {
5206a8e1175bSopenharmony_ci        return 0;
5207a8e1175bSopenharmony_ci    }
5208a8e1175bSopenharmony_ci    if (NT_n > P255_WIDTH) {
5209a8e1175bSopenharmony_ci        return MBEDTLS_ERR_ECP_BAD_INPUT_DATA;
5210a8e1175bSopenharmony_ci    }
5211a8e1175bSopenharmony_ci
5212a8e1175bSopenharmony_ci    /* Split N as N + 2^256 M */
5213a8e1175bSopenharmony_ci    memcpy(Mp,   NT_p, sizeof(mbedtls_mpi_uint) * NT_n);
5214a8e1175bSopenharmony_ci    memset(NT_p, 0,    sizeof(mbedtls_mpi_uint) * NT_n);
5215a8e1175bSopenharmony_ci
5216a8e1175bSopenharmony_ci    /* N = A0 + 38 * A1 */
5217a8e1175bSopenharmony_ci    mbedtls_mpi_core_mla(N->p, P255_WIDTH + 1,
5218a8e1175bSopenharmony_ci                         Mp, NT_n,
5219a8e1175bSopenharmony_ci                         38);
5220a8e1175bSopenharmony_ci
5221a8e1175bSopenharmony_ci    return 0;
5222a8e1175bSopenharmony_ci}
5223a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
5224a8e1175bSopenharmony_ci
5225a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
5226a8e1175bSopenharmony_ci
5227a8e1175bSopenharmony_ci/* Size of p448 in terms of mbedtls_mpi_uint */
5228a8e1175bSopenharmony_ci#define P448_WIDTH      (448 / 8 / sizeof(mbedtls_mpi_uint))
5229a8e1175bSopenharmony_ci
5230a8e1175bSopenharmony_ci/* Number of limbs fully occupied by 2^224 (max), and limbs used by it (min) */
5231a8e1175bSopenharmony_ci#define DIV_ROUND_UP(X, Y) (((X) + (Y) -1) / (Y))
5232a8e1175bSopenharmony_ci#define P224_SIZE        (224 / 8)
5233a8e1175bSopenharmony_ci#define P224_WIDTH_MIN   (P224_SIZE / sizeof(mbedtls_mpi_uint))
5234a8e1175bSopenharmony_ci#define P224_WIDTH_MAX   DIV_ROUND_UP(P224_SIZE, sizeof(mbedtls_mpi_uint))
5235a8e1175bSopenharmony_ci#define P224_UNUSED_BITS ((P224_WIDTH_MAX * sizeof(mbedtls_mpi_uint) * 8) - 224)
5236a8e1175bSopenharmony_ci
5237a8e1175bSopenharmony_ci/*
5238a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p448 = 2^448 - 2^224 - 1
5239a8e1175bSopenharmony_ci * Write N as A0 + 2^448 A1 and A1 as B0 + 2^224 B1, and return
5240a8e1175bSopenharmony_ci * A0 + A1 + B1 + (B0 + B1) * 2^224.  This is different to the reference
5241a8e1175bSopenharmony_ci * implementation of Curve448, which uses its own special 56-bit limbs rather
5242a8e1175bSopenharmony_ci * than a generic bignum library.  We could squeeze some extra speed out on
5243a8e1175bSopenharmony_ci * 32-bit machines by splitting N up into 32-bit limbs and doing the
5244a8e1175bSopenharmony_ci * arithmetic using the limbs directly as we do for the NIST primes above,
5245a8e1175bSopenharmony_ci * but for 64-bit targets it should use half the number of operations if we do
5246a8e1175bSopenharmony_ci * the reduction with 224-bit limbs, since mpi_add_mpi will then use 64-bit adds.
5247a8e1175bSopenharmony_ci */
5248a8e1175bSopenharmony_cistatic int ecp_mod_p448(mbedtls_mpi *N)
5249a8e1175bSopenharmony_ci{
5250a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
5251a8e1175bSopenharmony_ci    size_t i;
5252a8e1175bSopenharmony_ci    mbedtls_mpi M, Q;
5253a8e1175bSopenharmony_ci    mbedtls_mpi_uint Mp[P448_WIDTH + 1], Qp[P448_WIDTH];
5254a8e1175bSopenharmony_ci
5255a8e1175bSopenharmony_ci    if (N->n <= P448_WIDTH) {
5256a8e1175bSopenharmony_ci        return 0;
5257a8e1175bSopenharmony_ci    }
5258a8e1175bSopenharmony_ci
5259a8e1175bSopenharmony_ci    /* M = A1 */
5260a8e1175bSopenharmony_ci    M.s = 1;
5261a8e1175bSopenharmony_ci    M.n = N->n - (P448_WIDTH);
5262a8e1175bSopenharmony_ci    if (M.n > P448_WIDTH) {
5263a8e1175bSopenharmony_ci        /* Shouldn't be called with N larger than 2^896! */
5264a8e1175bSopenharmony_ci        return MBEDTLS_ERR_ECP_BAD_INPUT_DATA;
5265a8e1175bSopenharmony_ci    }
5266a8e1175bSopenharmony_ci    M.p = Mp;
5267a8e1175bSopenharmony_ci    memset(Mp, 0, sizeof(Mp));
5268a8e1175bSopenharmony_ci    memcpy(Mp, N->p + P448_WIDTH, M.n * sizeof(mbedtls_mpi_uint));
5269a8e1175bSopenharmony_ci
5270a8e1175bSopenharmony_ci    /* N = A0 */
5271a8e1175bSopenharmony_ci    for (i = P448_WIDTH; i < N->n; i++) {
5272a8e1175bSopenharmony_ci        N->p[i] = 0;
5273a8e1175bSopenharmony_ci    }
5274a8e1175bSopenharmony_ci
5275a8e1175bSopenharmony_ci    /* N += A1 */
5276a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_mpi(N, N, &M));
5277a8e1175bSopenharmony_ci
5278a8e1175bSopenharmony_ci    /* Q = B1, N += B1 */
5279a8e1175bSopenharmony_ci    Q = M;
5280a8e1175bSopenharmony_ci    Q.p = Qp;
5281a8e1175bSopenharmony_ci    memcpy(Qp, Mp, sizeof(Qp));
5282a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_r(&Q, 224));
5283a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_mpi(N, N, &Q));
5284a8e1175bSopenharmony_ci
5285a8e1175bSopenharmony_ci    /* M = (B0 + B1) * 2^224, N += M */
5286a8e1175bSopenharmony_ci    if (sizeof(mbedtls_mpi_uint) > 4) {
5287a8e1175bSopenharmony_ci        Mp[P224_WIDTH_MIN] &= ((mbedtls_mpi_uint)-1) >> (P224_UNUSED_BITS);
5288a8e1175bSopenharmony_ci    }
5289a8e1175bSopenharmony_ci    for (i = P224_WIDTH_MAX; i < M.n; ++i) {
5290a8e1175bSopenharmony_ci        Mp[i] = 0;
5291a8e1175bSopenharmony_ci    }
5292a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_mpi(&M, &M, &Q));
5293a8e1175bSopenharmony_ci    M.n = P448_WIDTH + 1; /* Make room for shifted carry bit from the addition */
5294a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_shift_l(&M, 224));
5295a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_mpi(N, N, &M));
5296a8e1175bSopenharmony_ci
5297a8e1175bSopenharmony_cicleanup:
5298a8e1175bSopenharmony_ci    return ret;
5299a8e1175bSopenharmony_ci}
5300a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
5301a8e1175bSopenharmony_ci
5302a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) ||   \
5303a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) ||   \
5304a8e1175bSopenharmony_ci    defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
5305a8e1175bSopenharmony_ci/*
5306a8e1175bSopenharmony_ci * Fast quasi-reduction modulo P = 2^s - R,
5307a8e1175bSopenharmony_ci * with R about 33 bits, used by the Koblitz curves.
5308a8e1175bSopenharmony_ci *
5309a8e1175bSopenharmony_ci * Write N as A0 + 2^224 A1, return A0 + R * A1.
5310a8e1175bSopenharmony_ci * Actually do two passes, since R is big.
5311a8e1175bSopenharmony_ci */
5312a8e1175bSopenharmony_ci#define P_KOBLITZ_MAX   (256 / 8 / sizeof(mbedtls_mpi_uint))      // Max limbs in P
5313a8e1175bSopenharmony_ci#define P_KOBLITZ_R     (8 / sizeof(mbedtls_mpi_uint))            // Limbs in R
5314a8e1175bSopenharmony_cistatic inline int ecp_mod_koblitz(mbedtls_mpi *N, const mbedtls_mpi_uint *Rp, size_t p_limbs,
5315a8e1175bSopenharmony_ci                                  size_t adjust, size_t shift, mbedtls_mpi_uint mask)
5316a8e1175bSopenharmony_ci{
5317a8e1175bSopenharmony_ci    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
5318a8e1175bSopenharmony_ci    size_t i;
5319a8e1175bSopenharmony_ci    mbedtls_mpi M, R;
5320a8e1175bSopenharmony_ci    mbedtls_mpi_uint Mp[P_KOBLITZ_MAX + P_KOBLITZ_R + 1];
5321a8e1175bSopenharmony_ci
5322a8e1175bSopenharmony_ci    if (N->n < p_limbs) {
5323a8e1175bSopenharmony_ci        return 0;
5324a8e1175bSopenharmony_ci    }
5325a8e1175bSopenharmony_ci
5326a8e1175bSopenharmony_ci    /* Init R */
5327a8e1175bSopenharmony_ci    R.s = 1;
5328a8e1175bSopenharmony_ci    R.p = (mbedtls_mpi_uint *) Rp; /* R.p will not be modified so the cast is safe */
5329a8e1175bSopenharmony_ci    R.n = P_KOBLITZ_R;
5330a8e1175bSopenharmony_ci
5331a8e1175bSopenharmony_ci    /* Common setup for M */
5332a8e1175bSopenharmony_ci    M.s = 1;
5333a8e1175bSopenharmony_ci    M.p = Mp;
5334a8e1175bSopenharmony_ci
5335a8e1175bSopenharmony_ci    /* M = A1 */
5336a8e1175bSopenharmony_ci    M.n = (unsigned short) (N->n - (p_limbs - adjust));
5337a8e1175bSopenharmony_ci    if (M.n > p_limbs + adjust) {
5338a8e1175bSopenharmony_ci        M.n = (unsigned short) (p_limbs + adjust);
5339a8e1175bSopenharmony_ci    }
5340a8e1175bSopenharmony_ci    memset(Mp, 0, sizeof(Mp));
5341a8e1175bSopenharmony_ci    memcpy(Mp, N->p + p_limbs - adjust, M.n * sizeof(mbedtls_mpi_uint));
5342a8e1175bSopenharmony_ci    if (shift != 0) {
5343a8e1175bSopenharmony_ci        MBEDTLS_MPI_CHK(mbedtls_mpi_shift_r(&M, shift));
5344a8e1175bSopenharmony_ci    }
5345a8e1175bSopenharmony_ci    M.n += R.n; /* Make room for multiplication by R */
5346a8e1175bSopenharmony_ci
5347a8e1175bSopenharmony_ci    /* N = A0 */
5348a8e1175bSopenharmony_ci    if (mask != 0) {
5349a8e1175bSopenharmony_ci        N->p[p_limbs - 1] &= mask;
5350a8e1175bSopenharmony_ci    }
5351a8e1175bSopenharmony_ci    for (i = p_limbs; i < N->n; i++) {
5352a8e1175bSopenharmony_ci        N->p[i] = 0;
5353a8e1175bSopenharmony_ci    }
5354a8e1175bSopenharmony_ci
5355a8e1175bSopenharmony_ci    /* N = A0 + R * A1 */
5356a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_mul_mpi(&M, &M, &R));
5357a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_abs(N, N, &M));
5358a8e1175bSopenharmony_ci
5359a8e1175bSopenharmony_ci    /* Second pass */
5360a8e1175bSopenharmony_ci
5361a8e1175bSopenharmony_ci    /* M = A1 */
5362a8e1175bSopenharmony_ci    M.n = (unsigned short) (N->n - (p_limbs - adjust));
5363a8e1175bSopenharmony_ci    if (M.n > p_limbs + adjust) {
5364a8e1175bSopenharmony_ci        M.n = (unsigned short) (p_limbs + adjust);
5365a8e1175bSopenharmony_ci    }
5366a8e1175bSopenharmony_ci    memset(Mp, 0, sizeof(Mp));
5367a8e1175bSopenharmony_ci    memcpy(Mp, N->p + p_limbs - adjust, M.n * sizeof(mbedtls_mpi_uint));
5368a8e1175bSopenharmony_ci    if (shift != 0) {
5369a8e1175bSopenharmony_ci        MBEDTLS_MPI_CHK(mbedtls_mpi_shift_r(&M, shift));
5370a8e1175bSopenharmony_ci    }
5371a8e1175bSopenharmony_ci    M.n += R.n; /* Make room for multiplication by R */
5372a8e1175bSopenharmony_ci
5373a8e1175bSopenharmony_ci    /* N = A0 */
5374a8e1175bSopenharmony_ci    if (mask != 0) {
5375a8e1175bSopenharmony_ci        N->p[p_limbs - 1] &= mask;
5376a8e1175bSopenharmony_ci    }
5377a8e1175bSopenharmony_ci    for (i = p_limbs; i < N->n; i++) {
5378a8e1175bSopenharmony_ci        N->p[i] = 0;
5379a8e1175bSopenharmony_ci    }
5380a8e1175bSopenharmony_ci
5381a8e1175bSopenharmony_ci    /* N = A0 + R * A1 */
5382a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_mul_mpi(&M, &M, &R));
5383a8e1175bSopenharmony_ci    MBEDTLS_MPI_CHK(mbedtls_mpi_add_abs(N, N, &M));
5384a8e1175bSopenharmony_ci
5385a8e1175bSopenharmony_cicleanup:
5386a8e1175bSopenharmony_ci    return ret;
5387a8e1175bSopenharmony_ci}
5388a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED) ||
5389a8e1175bSopenharmony_ci          MBEDTLS_ECP_DP_SECP224K1_ENABLED) ||
5390a8e1175bSopenharmony_ci          MBEDTLS_ECP_DP_SECP256K1_ENABLED) */
5391a8e1175bSopenharmony_ci
5392a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
5393a8e1175bSopenharmony_ci/*
5394a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p192k1 = 2^192 - R,
5395a8e1175bSopenharmony_ci * with R = 2^32 + 2^12 + 2^8 + 2^7 + 2^6 + 2^3 + 1 = 0x01000011C9
5396a8e1175bSopenharmony_ci */
5397a8e1175bSopenharmony_cistatic int ecp_mod_p192k1(mbedtls_mpi *N)
5398a8e1175bSopenharmony_ci{
5399a8e1175bSopenharmony_ci    static const mbedtls_mpi_uint Rp[] = {
5400a8e1175bSopenharmony_ci        MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x11, 0x00, 0x00, 0x01, 0x00, 0x00,
5401a8e1175bSopenharmony_ci                                  0x00)
5402a8e1175bSopenharmony_ci    };
5403a8e1175bSopenharmony_ci
5404a8e1175bSopenharmony_ci    return ecp_mod_koblitz(N, Rp, 192 / 8 / sizeof(mbedtls_mpi_uint), 0, 0,
5405a8e1175bSopenharmony_ci                           0);
5406a8e1175bSopenharmony_ci}
5407a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
5408a8e1175bSopenharmony_ci
5409a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
5410a8e1175bSopenharmony_ci/*
5411a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p224k1 = 2^224 - R,
5412a8e1175bSopenharmony_ci * with R = 2^32 + 2^12 + 2^11 + 2^9 + 2^7 + 2^4 + 2 + 1 = 0x0100001A93
5413a8e1175bSopenharmony_ci */
5414a8e1175bSopenharmony_cistatic int ecp_mod_p224k1(mbedtls_mpi *N)
5415a8e1175bSopenharmony_ci{
5416a8e1175bSopenharmony_ci    static const mbedtls_mpi_uint Rp[] = {
5417a8e1175bSopenharmony_ci        MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x1A, 0x00, 0x00, 0x01, 0x00, 0x00,
5418a8e1175bSopenharmony_ci                                  0x00)
5419a8e1175bSopenharmony_ci    };
5420a8e1175bSopenharmony_ci
5421a8e1175bSopenharmony_ci#if defined(MBEDTLS_HAVE_INT64)
5422a8e1175bSopenharmony_ci    return ecp_mod_koblitz(N, Rp, 4, 1, 32, 0xFFFFFFFF);
5423a8e1175bSopenharmony_ci#else
5424a8e1175bSopenharmony_ci    return ecp_mod_koblitz(N, Rp, 224 / 8 / sizeof(mbedtls_mpi_uint), 0, 0,
5425a8e1175bSopenharmony_ci                           0);
5426a8e1175bSopenharmony_ci#endif
5427a8e1175bSopenharmony_ci}
5428a8e1175bSopenharmony_ci
5429a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
5430a8e1175bSopenharmony_ci
5431a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
5432a8e1175bSopenharmony_ci/*
5433a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p256k1 = 2^256 - R,
5434a8e1175bSopenharmony_ci * with R = 2^32 + 2^9 + 2^8 + 2^7 + 2^6 + 2^4 + 1 = 0x01000003D1
5435a8e1175bSopenharmony_ci */
5436a8e1175bSopenharmony_cistatic int ecp_mod_p256k1(mbedtls_mpi *N)
5437a8e1175bSopenharmony_ci{
5438a8e1175bSopenharmony_ci    static const mbedtls_mpi_uint Rp[] = {
5439a8e1175bSopenharmony_ci        MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00,
5440a8e1175bSopenharmony_ci                                  0x00)
5441a8e1175bSopenharmony_ci    };
5442a8e1175bSopenharmony_ci    return ecp_mod_koblitz(N, Rp, 256 / 8 / sizeof(mbedtls_mpi_uint), 0, 0,
5443a8e1175bSopenharmony_ci                           0);
5444a8e1175bSopenharmony_ci}
5445a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
5446a8e1175bSopenharmony_ci
5447a8e1175bSopenharmony_ci#if defined(MBEDTLS_TEST_HOOKS)
5448a8e1175bSopenharmony_ci
5449a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE
5450a8e1175bSopenharmony_cimbedtls_ecp_variant mbedtls_ecp_get_variant(void)
5451a8e1175bSopenharmony_ci{
5452a8e1175bSopenharmony_ci    return MBEDTLS_ECP_VARIANT_WITH_MPI_STRUCT;
5453a8e1175bSopenharmony_ci}
5454a8e1175bSopenharmony_ci
5455a8e1175bSopenharmony_ci#endif /* MBEDTLS_TEST_HOOKS */
5456a8e1175bSopenharmony_ci
5457a8e1175bSopenharmony_ci#endif /* !MBEDTLS_ECP_ALT */
5458a8e1175bSopenharmony_ci
5459a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_LIGHT */
5460a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_WITH_MPI_UINT */
5461