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.h" 16a8e1175bSopenharmony_ci#include "mbedtls/platform_util.h" 17a8e1175bSopenharmony_ci#include "mbedtls/error.h" 18a8e1175bSopenharmony_ci 19a8e1175bSopenharmony_ci#include "mbedtls/platform.h" 20a8e1175bSopenharmony_ci 21a8e1175bSopenharmony_ci#include "constant_time_internal.h" 22a8e1175bSopenharmony_ci 23a8e1175bSopenharmony_ci#include "bn_mul.h" 24a8e1175bSopenharmony_ci#include "bignum_core.h" 25a8e1175bSopenharmony_ci#include "ecp_invasive.h" 26a8e1175bSopenharmony_ci 27a8e1175bSopenharmony_ci#include <string.h> 28a8e1175bSopenharmony_ci 29a8e1175bSopenharmony_ci#if !defined(MBEDTLS_ECP_ALT) 30a8e1175bSopenharmony_ci 31a8e1175bSopenharmony_ci#define ECP_MPI_INIT(_p, _n) { .p = (mbedtls_mpi_uint *) (_p), .s = 1, .n = (_n) } 32a8e1175bSopenharmony_ci 33a8e1175bSopenharmony_ci#define ECP_MPI_INIT_ARRAY(x) \ 34a8e1175bSopenharmony_ci ECP_MPI_INIT(x, sizeof(x) / sizeof(mbedtls_mpi_uint)) 35a8e1175bSopenharmony_ci 36a8e1175bSopenharmony_ci#define ECP_POINT_INIT_XY_Z0(x, y) { \ 37a8e1175bSopenharmony_ci ECP_MPI_INIT_ARRAY(x), ECP_MPI_INIT_ARRAY(y), ECP_MPI_INIT(NULL, 0) } 38a8e1175bSopenharmony_ci#define ECP_POINT_INIT_XY_Z1(x, y) { \ 39a8e1175bSopenharmony_ci ECP_MPI_INIT_ARRAY(x), ECP_MPI_INIT_ARRAY(y), ECP_MPI_INIT(mpi_one, 1) } 40a8e1175bSopenharmony_ci 41a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) || \ 42a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) || \ 43a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) || \ 44a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) || \ 45a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) || \ 46a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) || \ 47a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) || \ 48a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) || \ 49a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) || \ 50a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) || \ 51a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 52a8e1175bSopenharmony_ci/* For these curves, we build the group parameters dynamically. */ 53a8e1175bSopenharmony_ci#define ECP_LOAD_GROUP 54a8e1175bSopenharmony_cistatic mbedtls_mpi_uint mpi_one[] = { 1 }; 55a8e1175bSopenharmony_ci#endif 56a8e1175bSopenharmony_ci 57a8e1175bSopenharmony_ci/* 58a8e1175bSopenharmony_ci * Note: the constants are in little-endian order 59a8e1175bSopenharmony_ci * to be directly usable in MPIs 60a8e1175bSopenharmony_ci */ 61a8e1175bSopenharmony_ci 62a8e1175bSopenharmony_ci/* 63a8e1175bSopenharmony_ci * Domain parameters for secp192r1 64a8e1175bSopenharmony_ci */ 65a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 66a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_p[] = { 67a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 68a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 69a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 70a8e1175bSopenharmony_ci}; 71a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_b[] = { 72a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xB9, 0x46, 0xC1, 0xEC, 0xDE, 0xB8, 0xFE), 73a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x30, 0x24, 0x72, 0xAB, 0xE9, 0xA7, 0x0F), 74a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x80, 0x9C, 0xE5, 0x19, 0x05, 0x21, 0x64), 75a8e1175bSopenharmony_ci}; 76a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_gx[] = { 77a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x10, 0xFF, 0x82, 0xFD, 0x0A, 0xFF, 0xF4), 78a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x88, 0xA1, 0x43, 0xEB, 0x20, 0xBF, 0x7C), 79a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x90, 0x30, 0xB0, 0x0E, 0xA8, 0x8D, 0x18), 80a8e1175bSopenharmony_ci}; 81a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_gy[] = { 82a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x48, 0x79, 0x1E, 0xA1, 0x77, 0xF9, 0x73), 83a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xCD, 0x24, 0x6B, 0xED, 0x11, 0x10, 0x63), 84a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xDA, 0xC8, 0xFF, 0x95, 0x2B, 0x19, 0x07), 85a8e1175bSopenharmony_ci}; 86a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_n[] = { 87a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x28, 0xD2, 0xB4, 0xB1, 0xC9, 0x6B, 0x14), 88a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xF8, 0xDE, 0x99, 0xFF, 0xFF, 0xFF, 0xFF), 89a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 90a8e1175bSopenharmony_ci}; 91a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 92a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_0_X[] = { 93a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x10, 0xFF, 0x82, 0xFD, 0x0A, 0xFF, 0xF4), 94a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x88, 0xA1, 0x43, 0xEB, 0x20, 0xBF, 0x7C), 95a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x90, 0x30, 0xB0, 0x0E, 0xA8, 0x8D, 0x18), 96a8e1175bSopenharmony_ci}; 97a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_0_Y[] = { 98a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x48, 0x79, 0x1E, 0xA1, 0x77, 0xF9, 0x73), 99a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xCD, 0x24, 0x6B, 0xED, 0x11, 0x10, 0x63), 100a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xDA, 0xC8, 0xFF, 0x95, 0x2B, 0x19, 0x07), 101a8e1175bSopenharmony_ci}; 102a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_1_X[] = { 103a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x9E, 0xE3, 0x60, 0x59, 0xD1, 0xC4, 0xC2), 104a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBD, 0x22, 0xD7, 0x2D, 0x07, 0xBD, 0xB6), 105a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x2A, 0xCF, 0x33, 0xF0, 0xBE, 0xD1, 0xED), 106a8e1175bSopenharmony_ci}; 107a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_1_Y[] = { 108a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x71, 0x4B, 0xA8, 0xED, 0x7E, 0xC9, 0x1A), 109a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x2A, 0xF6, 0xDF, 0x0E, 0xE8, 0x4C, 0x0F), 110a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x35, 0xF7, 0x8A, 0xC3, 0xEC, 0xDE, 0x1E), 111a8e1175bSopenharmony_ci}; 112a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_2_X[] = { 113a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x67, 0xC2, 0x1D, 0x32, 0x8F, 0x10, 0xFB), 114a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x2D, 0x17, 0xF3, 0xE4, 0xFE, 0xD8, 0x13), 115a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x45, 0x10, 0x70, 0x2C, 0x3E, 0x52, 0x3E), 116a8e1175bSopenharmony_ci}; 117a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_2_Y[] = { 118a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xF1, 0x04, 0x5D, 0xEE, 0xD4, 0x56, 0xE6), 119a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xB7, 0x38, 0x27, 0x61, 0xAA, 0x81, 0x87), 120a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x37, 0xD7, 0x0E, 0x29, 0x0E, 0x11, 0x14), 121a8e1175bSopenharmony_ci}; 122a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_3_X[] = { 123a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x35, 0x52, 0xC6, 0x31, 0xB7, 0x27, 0xF5), 124a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xD4, 0x15, 0x98, 0x0F, 0xE7, 0xF3, 0x6A), 125a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x31, 0x70, 0x35, 0x09, 0xA0, 0x2B, 0xC2), 126a8e1175bSopenharmony_ci}; 127a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_3_Y[] = { 128a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x75, 0xA7, 0x4C, 0x88, 0xCF, 0x5B, 0xE4), 129a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x17, 0x48, 0x8D, 0xF2, 0xF0, 0x86, 0xED), 130a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xCF, 0xFE, 0x6B, 0xB0, 0xA5, 0x06, 0xAB), 131a8e1175bSopenharmony_ci}; 132a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_4_X[] = { 133a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x6A, 0xDC, 0x9A, 0x6D, 0x7B, 0x47, 0x2E), 134a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xFC, 0x51, 0x12, 0x62, 0x66, 0x0B, 0x59), 135a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x40, 0x93, 0xA0, 0xB5, 0x5A, 0x58, 0xD7), 136a8e1175bSopenharmony_ci}; 137a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_4_Y[] = { 138a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xCB, 0xAF, 0xDC, 0x0B, 0xA1, 0x26, 0xFB), 139a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x36, 0x9D, 0xA3, 0xD7, 0x3B, 0xAD, 0x39), 140a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x3B, 0x05, 0x9A, 0xA8, 0xAA, 0x69, 0xB2), 141a8e1175bSopenharmony_ci}; 142a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_5_X[] = { 143a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xD9, 0xD1, 0x4D, 0x4A, 0x6E, 0x96, 0x1E), 144a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x66, 0x32, 0x39, 0xC6, 0x57, 0x7D, 0xE6), 145a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xA0, 0x36, 0xC2, 0x45, 0xF9, 0x00, 0x62), 146a8e1175bSopenharmony_ci}; 147a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_5_Y[] = { 148a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xEF, 0x59, 0x46, 0xDC, 0x60, 0xD9, 0x8F), 149a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xB0, 0xE9, 0x41, 0xA4, 0x87, 0x76, 0x89), 150a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xD4, 0x0E, 0xB2, 0xFA, 0x16, 0x56, 0xDC), 151a8e1175bSopenharmony_ci}; 152a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_6_X[] = { 153a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x62, 0xD2, 0xB1, 0x34, 0xB2, 0xF1, 0x06), 154a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xED, 0x55, 0xC5, 0x47, 0xB5, 0x07, 0x15), 155a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xF6, 0x2F, 0x94, 0xC3, 0xDD, 0x54, 0x2F), 156a8e1175bSopenharmony_ci}; 157a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_6_Y[] = { 158a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xA6, 0xD4, 0x8C, 0xA9, 0xCE, 0x4D, 0x2E), 159a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x4B, 0x46, 0xCC, 0xB2, 0x55, 0xC8, 0xB2), 160a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xAE, 0x31, 0xED, 0x89, 0x65, 0x59, 0x55), 161a8e1175bSopenharmony_ci}; 162a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_7_X[] = { 163a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x0A, 0xD1, 0x1A, 0xC5, 0xF6, 0xEA, 0x43), 164a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xFC, 0x0C, 0x1A, 0xFB, 0xA0, 0xC8, 0x70), 165a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xFD, 0x53, 0x6F, 0x6D, 0xBF, 0xBA, 0xAF), 166a8e1175bSopenharmony_ci}; 167a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_7_Y[] = { 168a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xB0, 0x7D, 0x83, 0x96, 0xE3, 0xCB, 0x9D), 169a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x6E, 0x55, 0x2C, 0x20, 0x53, 0x2F, 0x46), 170a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x66, 0x00, 0x17, 0x08, 0xFE, 0xAC, 0x31), 171a8e1175bSopenharmony_ci}; 172a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_8_X[] = { 173a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x12, 0x97, 0x3A, 0xC7, 0x57, 0x45, 0xCD), 174a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x25, 0x99, 0x00, 0xF6, 0x97, 0xB4, 0x64), 175a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x74, 0xE6, 0xE6, 0xA3, 0xDF, 0x9C, 0xCC), 176a8e1175bSopenharmony_ci}; 177a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_8_Y[] = { 178a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xF4, 0x76, 0xD5, 0x5F, 0x2A, 0xFD, 0x85), 179a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x80, 0x7E, 0x3E, 0xE5, 0xE8, 0xD6, 0x63), 180a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xAD, 0x1E, 0x70, 0x79, 0x3E, 0x3D, 0x83), 181a8e1175bSopenharmony_ci}; 182a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_9_X[] = { 183a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x15, 0xBB, 0xB3, 0x42, 0x6A, 0xA1, 0x7C), 184a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x58, 0xCB, 0x43, 0x25, 0x00, 0x14, 0x68), 185a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x4E, 0x93, 0x11, 0xE0, 0x32, 0x54, 0x98), 186a8e1175bSopenharmony_ci}; 187a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_9_Y[] = { 188a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x52, 0xA2, 0xB4, 0x57, 0x32, 0xB9, 0x11), 189a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x43, 0xA1, 0xB1, 0xFB, 0x01, 0xE1, 0xE7), 190a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xFB, 0x5A, 0x11, 0xB8, 0xC2, 0x03, 0xE5), 191a8e1175bSopenharmony_ci}; 192a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_10_X[] = { 193a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x2B, 0x71, 0x26, 0x4E, 0x7C, 0xC5, 0x32), 194a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xF5, 0xD3, 0xA8, 0xE4, 0x95, 0x48, 0x65), 195a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xAE, 0xD9, 0x5D, 0x9F, 0x6A, 0x22, 0xAD), 196a8e1175bSopenharmony_ci}; 197a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_10_Y[] = { 198a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xCC, 0xA3, 0x4D, 0xA0, 0x1C, 0x34, 0xEF), 199a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x3C, 0x62, 0xF8, 0x5E, 0xA6, 0x58, 0x7D), 200a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x6E, 0x66, 0x8A, 0x3D, 0x17, 0xFF, 0x0F), 201a8e1175bSopenharmony_ci}; 202a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_11_X[] = { 203a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xCD, 0xA8, 0xDD, 0xD1, 0x20, 0x5C, 0xEA), 204a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xFE, 0x17, 0xE2, 0xCF, 0xEA, 0x63, 0xDE), 205a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x51, 0xC9, 0x16, 0xDE, 0xB4, 0xB2, 0xDD), 206a8e1175bSopenharmony_ci}; 207a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_11_Y[] = { 208a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBE, 0x12, 0xD7, 0xA3, 0x0A, 0x50, 0x33), 209a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x87, 0xC5, 0x8A, 0x76, 0x57, 0x07, 0x60), 210a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x1F, 0xC6, 0x1B, 0x66, 0xC4, 0x3D, 0x8A), 211a8e1175bSopenharmony_ci}; 212a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_12_X[] = { 213a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xA4, 0x85, 0x13, 0x8F, 0xA7, 0x35, 0x19), 214a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x0D, 0xFD, 0xFF, 0x1B, 0xD1, 0xD6, 0xEF), 215a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x7A, 0xD0, 0xC3, 0xB4, 0xEF, 0x39, 0x66), 216a8e1175bSopenharmony_ci}; 217a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_12_Y[] = { 218a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xFE, 0xA5, 0x9C, 0x34, 0x30, 0x49, 0x40), 219a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xC5, 0x39, 0x26, 0x06, 0xE3, 0x01, 0x17), 220a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x2B, 0x66, 0xFC, 0x95, 0x5F, 0x35, 0xF7), 221a8e1175bSopenharmony_ci}; 222a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_13_X[] = { 223a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xCF, 0x54, 0x63, 0x99, 0x57, 0x05, 0x45), 224a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x6F, 0x00, 0x5F, 0x65, 0x08, 0x47, 0x98), 225a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x2A, 0x90, 0x6D, 0x67, 0xC6, 0xBC, 0x45), 226a8e1175bSopenharmony_ci}; 227a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_13_Y[] = { 228a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x4D, 0x88, 0x0A, 0x35, 0x9E, 0x33, 0x9C), 229a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x17, 0x0C, 0xF8, 0xE1, 0x7A, 0x49, 0x02), 230a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x44, 0x06, 0x8F, 0x0B, 0x70, 0x2F, 0x71), 231a8e1175bSopenharmony_ci}; 232a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_14_X[] = { 233a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x4B, 0xCB, 0xF9, 0x8E, 0x6A, 0xDA, 0x1B), 234a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x43, 0xA1, 0x3F, 0xCE, 0x17, 0xD2, 0x32), 235a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x0D, 0xD2, 0x6C, 0x82, 0x37, 0xE5, 0xFC), 236a8e1175bSopenharmony_ci}; 237a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_14_Y[] = { 238a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x3C, 0xF4, 0x92, 0xB4, 0x8A, 0x95, 0x85), 239a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x96, 0xF1, 0x0A, 0x34, 0x2F, 0x74, 0x7E), 240a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xA1, 0xAA, 0xBA, 0x86, 0x77, 0x4F, 0xA2), 241a8e1175bSopenharmony_ci}; 242a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_15_X[] = { 243a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x7F, 0xEF, 0x60, 0x50, 0x80, 0xD7, 0xD4), 244a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0xAC, 0xC9, 0xFE, 0xEC, 0x0A, 0x1A, 0x9F), 245a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x2F, 0xBE, 0x91, 0xD7, 0xB7, 0x38, 0x48), 246a8e1175bSopenharmony_ci}; 247a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192r1_T_15_Y[] = { 248a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xAE, 0x85, 0x98, 0xFE, 0x05, 0x7F, 0x9F), 249a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBE, 0xFD, 0x11, 0x31, 0x3D, 0x14, 0x13), 250a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x75, 0xE8, 0x30, 0x01, 0xCB, 0x9B, 0x1C), 251a8e1175bSopenharmony_ci}; 252a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp192r1_T[16] = { 253a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp192r1_T_0_X, secp192r1_T_0_Y), 254a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_1_X, secp192r1_T_1_Y), 255a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_2_X, secp192r1_T_2_Y), 256a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_3_X, secp192r1_T_3_Y), 257a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_4_X, secp192r1_T_4_Y), 258a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_5_X, secp192r1_T_5_Y), 259a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_6_X, secp192r1_T_6_Y), 260a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_7_X, secp192r1_T_7_Y), 261a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_8_X, secp192r1_T_8_Y), 262a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_9_X, secp192r1_T_9_Y), 263a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_10_X, secp192r1_T_10_Y), 264a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_11_X, secp192r1_T_11_Y), 265a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_12_X, secp192r1_T_12_Y), 266a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_13_X, secp192r1_T_13_Y), 267a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_14_X, secp192r1_T_14_Y), 268a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192r1_T_15_X, secp192r1_T_15_Y), 269a8e1175bSopenharmony_ci}; 270a8e1175bSopenharmony_ci#else 271a8e1175bSopenharmony_ci#define secp192r1_T NULL 272a8e1175bSopenharmony_ci#endif 273a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 274a8e1175bSopenharmony_ci 275a8e1175bSopenharmony_ci/* 276a8e1175bSopenharmony_ci * Domain parameters for secp224r1 277a8e1175bSopenharmony_ci */ 278a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 279a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_p[] = { 280a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 281a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF), 282a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 283a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00), 284a8e1175bSopenharmony_ci}; 285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_b[] = { 286a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xFF, 0x55, 0x23, 0x43, 0x39, 0x0B, 0x27), 287a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xD8, 0xBF, 0xD7, 0xB7, 0xB0, 0x44, 0x50), 288a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0x32, 0x41, 0xF5, 0xAB, 0xB3, 0x04, 0x0C), 289a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0x85, 0x0A, 0x05, 0xB4), 290a8e1175bSopenharmony_ci}; 291a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_gx[] = { 292a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x1D, 0x5C, 0x11, 0xD6, 0x80, 0x32, 0x34), 293a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x11, 0xC2, 0x56, 0xD3, 0xC1, 0x03, 0x4A), 294a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x90, 0x13, 0x32, 0x7F, 0xBF, 0xB4, 0x6B), 295a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0xBD, 0x0C, 0x0E, 0xB7), 296a8e1175bSopenharmony_ci}; 297a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_gy[] = { 298a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x7E, 0x00, 0x85, 0x99, 0x81, 0xD5, 0x44), 299a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x47, 0x07, 0x5A, 0xA0, 0x75, 0x43, 0xCD), 300a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xDF, 0x22, 0x4C, 0xFB, 0x23, 0xF7, 0xB5), 301a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0x88, 0x63, 0x37, 0xBD), 302a8e1175bSopenharmony_ci}; 303a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_n[] = { 304a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x2A, 0x5C, 0x5C, 0x45, 0x29, 0xDD, 0x13), 305a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xF0, 0xB8, 0xE0, 0xA2, 0x16, 0xFF, 0xFF), 306a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 307a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0xFF, 0xFF, 0xFF, 0xFF), 308a8e1175bSopenharmony_ci}; 309a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 310a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_0_X[] = { 311a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x1D, 0x5C, 0x11, 0xD6, 0x80, 0x32, 0x34), 312a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x11, 0xC2, 0x56, 0xD3, 0xC1, 0x03, 0x4A), 313a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x90, 0x13, 0x32, 0x7F, 0xBF, 0xB4, 0x6B), 314a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x0C, 0x0E, 0xB7, 0x00, 0x00, 0x00, 0x00), 315a8e1175bSopenharmony_ci}; 316a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_0_Y[] = { 317a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x7E, 0x00, 0x85, 0x99, 0x81, 0xD5, 0x44), 318a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x47, 0x07, 0x5A, 0xA0, 0x75, 0x43, 0xCD), 319a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xDF, 0x22, 0x4C, 0xFB, 0x23, 0xF7, 0xB5), 320a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x63, 0x37, 0xBD, 0x00, 0x00, 0x00, 0x00), 321a8e1175bSopenharmony_ci}; 322a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_1_X[] = { 323a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xF9, 0xB8, 0xD0, 0x3D, 0xD2, 0xD3, 0xFA), 324a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xFD, 0x99, 0x26, 0x19, 0xFE, 0x13, 0x6E), 325a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x0E, 0x4C, 0x48, 0x7C, 0xA2, 0x17, 0x01), 326a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA3, 0x13, 0x57, 0x00, 0x00, 0x00, 0x00), 327a8e1175bSopenharmony_ci}; 328a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_1_Y[] = { 329a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x16, 0x5C, 0x8F, 0xAA, 0xED, 0x0F, 0x58), 330a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xC5, 0x43, 0x34, 0x93, 0x05, 0x2A, 0x4C), 331a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xE3, 0x6C, 0xCA, 0xC6, 0x14, 0xC2, 0x25), 332a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x43, 0x6C, 0xD7, 0x00, 0x00, 0x00, 0x00), 333a8e1175bSopenharmony_ci}; 334a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_2_X[] = { 335a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x5A, 0x98, 0x1E, 0xC8, 0xA5, 0x42, 0xA3), 336a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x49, 0x56, 0x78, 0xF8, 0xEF, 0xED, 0x65), 337a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0xBB, 0x64, 0xB6, 0x4C, 0x54, 0x5F, 0xD1), 338a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x0C, 0x33, 0xCC, 0x00, 0x00, 0x00, 0x00), 339a8e1175bSopenharmony_ci}; 340a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_2_Y[] = { 341a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x79, 0xCB, 0x2E, 0x08, 0xFF, 0xD8, 0xE6), 342a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x1F, 0xD4, 0xD7, 0x57, 0xE9, 0x39, 0x45), 343a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xD6, 0x3B, 0x0A, 0x1C, 0x87, 0xB7, 0x6A), 344a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x30, 0xD8, 0x05, 0x00, 0x00, 0x00, 0x00), 345a8e1175bSopenharmony_ci}; 346a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_3_X[] = { 347a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x79, 0x74, 0x9A, 0xE6, 0xBB, 0xC2, 0xC2), 348a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x5B, 0xA6, 0x67, 0xC1, 0x91, 0xE7, 0x64), 349a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xDF, 0x38, 0x82, 0x19, 0x2C, 0x4C, 0xCA), 350a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x2E, 0x39, 0xC5, 0x00, 0x00, 0x00, 0x00), 351a8e1175bSopenharmony_ci}; 352a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_3_Y[] = { 353a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x36, 0x78, 0x4E, 0xAE, 0x5B, 0x02, 0x76), 354a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xF6, 0x8B, 0xF8, 0xF4, 0x92, 0x6B, 0x42), 355a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x4D, 0x71, 0x35, 0xE7, 0x0C, 0x2C, 0x98), 356a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xA5, 0x1F, 0xAE, 0x00, 0x00, 0x00, 0x00), 357a8e1175bSopenharmony_ci}; 358a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_4_X[] = { 359a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x1C, 0x4B, 0xDF, 0x5B, 0xF2, 0x51, 0xB7), 360a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x74, 0xB1, 0x5A, 0xC6, 0x0F, 0x0E, 0x61), 361a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x24, 0x09, 0x62, 0xAF, 0xFC, 0xDB, 0x45), 362a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xE1, 0x80, 0x55, 0x00, 0x00, 0x00, 0x00), 363a8e1175bSopenharmony_ci}; 364a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_4_Y[] = { 365a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x82, 0xFE, 0xAD, 0xC3, 0xE5, 0xCF, 0xD8), 366a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xA2, 0x62, 0x17, 0x76, 0xF0, 0x5A, 0xFA), 367a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xB8, 0xE5, 0xAC, 0xB7, 0x66, 0x38, 0xAA), 368a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xFD, 0x86, 0x05, 0x00, 0x00, 0x00, 0x00), 369a8e1175bSopenharmony_ci}; 370a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_5_X[] = { 371a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xD3, 0x0C, 0x3C, 0xD1, 0x66, 0xB0, 0xF1), 372a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x59, 0xB4, 0x8D, 0x90, 0x10, 0xB7, 0xA2), 373a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x47, 0x9B, 0xE6, 0x55, 0x8A, 0xE4, 0xEE), 374a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x49, 0xDB, 0x78, 0x00, 0x00, 0x00, 0x00), 375a8e1175bSopenharmony_ci}; 376a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_5_Y[] = { 377a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x97, 0xED, 0xDE, 0xFF, 0xB3, 0xDF, 0x48), 378a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xB9, 0x83, 0xB7, 0xEB, 0xBE, 0x40, 0x8D), 379a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xD3, 0xD3, 0xCD, 0x0E, 0x82, 0x79, 0x3D), 380a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x83, 0x1B, 0xF0, 0x00, 0x00, 0x00, 0x00), 381a8e1175bSopenharmony_ci}; 382a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_6_X[] = { 383a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x22, 0xBB, 0x54, 0xD3, 0x31, 0x56, 0xFC), 384a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x36, 0xE5, 0xE0, 0x89, 0x96, 0x8E, 0x71), 385a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xEF, 0x0A, 0xED, 0xD0, 0x11, 0x4A, 0xFF), 386a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x00, 0x57, 0x27, 0x00, 0x00, 0x00, 0x00), 387a8e1175bSopenharmony_ci}; 388a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_6_Y[] = { 389a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xCA, 0x3D, 0xF7, 0x64, 0x9B, 0x6E, 0x85), 390a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xE3, 0x70, 0x6B, 0x41, 0xD7, 0xED, 0x8F), 391a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x44, 0x44, 0x80, 0xCE, 0x13, 0x37, 0x92), 392a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x73, 0x80, 0x79, 0x00, 0x00, 0x00, 0x00), 393a8e1175bSopenharmony_ci}; 394a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_7_X[] = { 395a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x4D, 0x70, 0x7D, 0x31, 0x0F, 0x1C, 0x58), 396a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x35, 0x88, 0x47, 0xC4, 0x24, 0x78, 0x3F), 397a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xF0, 0xCD, 0x91, 0x81, 0xB3, 0xDE, 0xB6), 398a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xCE, 0xC6, 0xF7, 0x00, 0x00, 0x00, 0x00), 399a8e1175bSopenharmony_ci}; 400a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_7_Y[] = { 401a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x9C, 0x2D, 0xE8, 0xD2, 0x00, 0x8F, 0x10), 402a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x5E, 0x7C, 0x0E, 0x0C, 0x6E, 0x58, 0x02), 403a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x81, 0x21, 0xCE, 0x43, 0xF4, 0x24, 0x3D), 404a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0xBC, 0xF0, 0xF4, 0x00, 0x00, 0x00, 0x00), 405a8e1175bSopenharmony_ci}; 406a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_8_X[] = { 407a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x10, 0xC2, 0x74, 0x4A, 0x8F, 0x8A, 0xCF), 408a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x67, 0xF4, 0x2B, 0x38, 0x2B, 0x35, 0x17), 409a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xE7, 0x0C, 0xA9, 0xFA, 0x77, 0x5C, 0xBD), 410a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x33, 0x19, 0x2B, 0x00, 0x00, 0x00, 0x00), 411a8e1175bSopenharmony_ci}; 412a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_8_Y[] = { 413a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x3E, 0x96, 0x22, 0x53, 0xE1, 0xE9, 0xBE), 414a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x13, 0xBC, 0xA1, 0x16, 0xEC, 0x01, 0x1A), 415a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x00, 0xC9, 0x7A, 0xC3, 0x73, 0xA5, 0x45), 416a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xF4, 0x5E, 0xC1, 0x00, 0x00, 0x00, 0x00), 417a8e1175bSopenharmony_ci}; 418a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_9_X[] = { 419a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x95, 0xD6, 0xD9, 0x32, 0x30, 0x2B, 0xD0), 420a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x42, 0x09, 0x05, 0x61, 0x2A, 0x7E, 0x82), 421a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x84, 0xA2, 0x05, 0x88, 0x64, 0x65, 0xF9), 422a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x2D, 0x90, 0xB3, 0x00, 0x00, 0x00, 0x00), 423a8e1175bSopenharmony_ci}; 424a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_9_Y[] = { 425a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xE7, 0x2E, 0x85, 0x55, 0x80, 0x7C, 0x79), 426a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xC1, 0xAC, 0x78, 0xB4, 0xAF, 0xFB, 0x6E), 427a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xC3, 0x28, 0x8E, 0x79, 0x18, 0x1F, 0x58), 428a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x46, 0xCF, 0x49, 0x00, 0x00, 0x00, 0x00), 429a8e1175bSopenharmony_ci}; 430a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_10_X[] = { 431a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x5F, 0xA8, 0x6C, 0x46, 0x83, 0x43, 0xFA), 432a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xA9, 0x93, 0x11, 0xB6, 0x07, 0x57, 0x74), 433a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x2A, 0x9D, 0x03, 0x89, 0x7E, 0xD7, 0x3C), 434a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x8C, 0x62, 0xCF, 0x00, 0x00, 0x00, 0x00), 435a8e1175bSopenharmony_ci}; 436a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_10_Y[] = { 437a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x2C, 0x13, 0x59, 0xCC, 0xFA, 0x84, 0x9E), 438a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xB9, 0x48, 0xBC, 0x57, 0xC7, 0xB3, 0x7C), 439a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x0A, 0x38, 0x24, 0x2E, 0x3A, 0x28, 0x25), 440a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x0A, 0x43, 0xB8, 0x00, 0x00, 0x00, 0x00), 441a8e1175bSopenharmony_ci}; 442a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_11_X[] = { 443a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x25, 0xAB, 0xC1, 0xEE, 0x70, 0x3C, 0xE1), 444a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xDB, 0x45, 0x1D, 0x4A, 0x80, 0x75, 0x35), 445a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1F, 0x4D, 0x2D, 0x9A, 0x05, 0xF4, 0xCB), 446a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x10, 0xF0, 0x5A, 0x00, 0x00, 0x00, 0x00), 447a8e1175bSopenharmony_ci}; 448a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_11_Y[] = { 449a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x95, 0xE1, 0xDC, 0x15, 0x86, 0xC3, 0x7B), 450a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xDC, 0x27, 0xD1, 0x56, 0xA1, 0x14, 0x0D), 451a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x0B, 0xD6, 0x77, 0x4E, 0x44, 0xA2, 0xF8), 452a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x42, 0x71, 0x1F, 0x00, 0x00, 0x00, 0x00), 453a8e1175bSopenharmony_ci}; 454a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_12_X[] = { 455a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x86, 0xB2, 0xB0, 0xC8, 0x2F, 0x7B, 0xFE), 456a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xEF, 0xCB, 0xDB, 0xBC, 0x9E, 0x3B, 0xC5), 457a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x03, 0x86, 0xDD, 0x5B, 0xF5, 0x8D, 0x46), 458a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x95, 0x79, 0xD6, 0x00, 0x00, 0x00, 0x00), 459a8e1175bSopenharmony_ci}; 460a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_12_Y[] = { 461a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x32, 0x14, 0xDA, 0x9B, 0x4F, 0x07, 0x39), 462a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x3E, 0xFB, 0x06, 0xEE, 0xA7, 0x40, 0x40), 463a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x1F, 0xDF, 0x71, 0x61, 0xFD, 0x8B, 0xBE), 464a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x8B, 0xAB, 0x8B, 0x00, 0x00, 0x00, 0x00), 465a8e1175bSopenharmony_ci}; 466a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_13_X[] = { 467a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x34, 0xB3, 0xB4, 0xBC, 0x9F, 0xB0, 0x5E), 468a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x58, 0x48, 0xA8, 0x77, 0xBB, 0x13, 0x2F), 469a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xC6, 0xF7, 0x34, 0xCC, 0x89, 0x21, 0x0A), 470a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x33, 0xDD, 0x1F, 0x00, 0x00, 0x00, 0x00), 471a8e1175bSopenharmony_ci}; 472a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_13_Y[] = { 473a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x81, 0xEF, 0xA4, 0xF2, 0x10, 0x0B, 0xCD), 474a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xF7, 0x6E, 0x72, 0x4A, 0xDF, 0xDD, 0xE8), 475a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x23, 0x0A, 0x53, 0x03, 0x16, 0x62, 0xD2), 476a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x76, 0xFD, 0x3C, 0x00, 0x00, 0x00, 0x00), 477a8e1175bSopenharmony_ci}; 478a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_14_X[] = { 479a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x14, 0xA1, 0xFA, 0xA0, 0x18, 0xBE, 0x07), 480a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x2A, 0xE1, 0xD7, 0xB0, 0x6C, 0xA0, 0xDE), 481a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xC0, 0xB0, 0xC6, 0x63, 0x24, 0xCD, 0x4E), 482a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x38, 0x2C, 0xB1, 0x00, 0x00, 0x00, 0x00), 483a8e1175bSopenharmony_ci}; 484a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_14_Y[] = { 485a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xCD, 0x7D, 0x20, 0x0C, 0xFE, 0xAC, 0xC3), 486a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x97, 0x9F, 0xA2, 0xB6, 0x45, 0xF7, 0x7B), 487a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x99, 0xF3, 0xD2, 0x20, 0x02, 0xEB, 0x04), 488a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x18, 0x5B, 0x7B, 0x00, 0x00, 0x00, 0x00), 489a8e1175bSopenharmony_ci}; 490a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_15_X[] = { 491a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xDD, 0x77, 0x91, 0x60, 0xEA, 0xFD, 0xD3), 492a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xD3, 0xB5, 0xD6, 0x90, 0x17, 0x0E, 0x1A), 493a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xF4, 0x28, 0xC1, 0xF2, 0x53, 0xF6, 0x63), 494a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x58, 0xDC, 0x61, 0x00, 0x00, 0x00, 0x00), 495a8e1175bSopenharmony_ci}; 496a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224r1_T_15_Y[] = { 497a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x20, 0x01, 0xFB, 0xF1, 0xBD, 0x5F, 0x45), 498a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x7F, 0x06, 0xDA, 0x11, 0xCB, 0xBA, 0xA6), 499a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x41, 0x00, 0xA4, 0x1B, 0x30, 0x33, 0x79), 500a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xFF, 0x27, 0xCA, 0x00, 0x00, 0x00, 0x00), 501a8e1175bSopenharmony_ci}; 502a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp224r1_T[16] = { 503a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp224r1_T_0_X, secp224r1_T_0_Y), 504a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_1_X, secp224r1_T_1_Y), 505a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_2_X, secp224r1_T_2_Y), 506a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_3_X, secp224r1_T_3_Y), 507a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_4_X, secp224r1_T_4_Y), 508a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_5_X, secp224r1_T_5_Y), 509a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_6_X, secp224r1_T_6_Y), 510a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_7_X, secp224r1_T_7_Y), 511a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_8_X, secp224r1_T_8_Y), 512a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_9_X, secp224r1_T_9_Y), 513a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_10_X, secp224r1_T_10_Y), 514a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_11_X, secp224r1_T_11_Y), 515a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_12_X, secp224r1_T_12_Y), 516a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_13_X, secp224r1_T_13_Y), 517a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_14_X, secp224r1_T_14_Y), 518a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224r1_T_15_X, secp224r1_T_15_Y), 519a8e1175bSopenharmony_ci}; 520a8e1175bSopenharmony_ci#else 521a8e1175bSopenharmony_ci#define secp224r1_T NULL 522a8e1175bSopenharmony_ci#endif 523a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 524a8e1175bSopenharmony_ci 525a8e1175bSopenharmony_ci/* 526a8e1175bSopenharmony_ci * Domain parameters for secp256r1 527a8e1175bSopenharmony_ci */ 528a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 529a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_p[] = { 530a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 531a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00), 532a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 533a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF), 534a8e1175bSopenharmony_ci}; 535a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_b[] = { 536a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x60, 0xD2, 0x27, 0x3E, 0x3C, 0xCE, 0x3B), 537a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xB0, 0x53, 0xCC, 0xB0, 0x06, 0x1D, 0x65), 538a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x86, 0x98, 0x76, 0x55, 0xBD, 0xEB, 0xB3), 539a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x93, 0x3A, 0xAA, 0xD8, 0x35, 0xC6, 0x5A), 540a8e1175bSopenharmony_ci}; 541a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_gx[] = { 542a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC2, 0x98, 0xD8, 0x45, 0x39, 0xA1, 0xF4), 543a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x33, 0xEB, 0x2D, 0x81, 0x7D, 0x03, 0x77), 544a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x40, 0xA4, 0x63, 0xE5, 0xE6, 0xBC, 0xF8), 545a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x42, 0x2C, 0xE1, 0xF2, 0xD1, 0x17, 0x6B), 546a8e1175bSopenharmony_ci}; 547a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_gy[] = { 548a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x51, 0xBF, 0x37, 0x68, 0x40, 0xB6, 0xCB), 549a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x5E, 0x31, 0x6B, 0x57, 0x33, 0xCE, 0x2B), 550a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x9E, 0x0F, 0x7C, 0x4A, 0xEB, 0xE7, 0x8E), 551a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x7F, 0x1A, 0xFE, 0xE2, 0x42, 0xE3, 0x4F), 552a8e1175bSopenharmony_ci}; 553a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_n[] = { 554a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x25, 0x63, 0xFC, 0xC2, 0xCA, 0xB9, 0xF3), 555a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x9E, 0x17, 0xA7, 0xAD, 0xFA, 0xE6, 0xBC), 556a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 557a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF), 558a8e1175bSopenharmony_ci}; 559a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 560a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_0_X[] = { 561a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC2, 0x98, 0xD8, 0x45, 0x39, 0xA1, 0xF4), 562a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x33, 0xEB, 0x2D, 0x81, 0x7D, 0x03, 0x77), 563a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x40, 0xA4, 0x63, 0xE5, 0xE6, 0xBC, 0xF8), 564a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x42, 0x2C, 0xE1, 0xF2, 0xD1, 0x17, 0x6B), 565a8e1175bSopenharmony_ci}; 566a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_0_Y[] = { 567a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x51, 0xBF, 0x37, 0x68, 0x40, 0xB6, 0xCB), 568a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x5E, 0x31, 0x6B, 0x57, 0x33, 0xCE, 0x2B), 569a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x9E, 0x0F, 0x7C, 0x4A, 0xEB, 0xE7, 0x8E), 570a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x7F, 0x1A, 0xFE, 0xE2, 0x42, 0xE3, 0x4F), 571a8e1175bSopenharmony_ci}; 572a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_1_X[] = { 573a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xC8, 0xBA, 0x04, 0xB7, 0x4B, 0xD2, 0xF7), 574a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xC6, 0x23, 0x3A, 0xA0, 0x09, 0x3A, 0x59), 575a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x9D, 0x4C, 0xF9, 0x58, 0x23, 0xCC, 0xDF), 576a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0xED, 0x7B, 0x29, 0x87, 0x0F, 0xFA, 0x3C), 577a8e1175bSopenharmony_ci}; 578a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_1_Y[] = { 579a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x69, 0xF2, 0x40, 0x0B, 0xA3, 0x98, 0xCE), 580a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xA8, 0x48, 0x02, 0x0D, 0x1C, 0x12, 0x62), 581a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xAF, 0x09, 0x83, 0x80, 0xAA, 0x58, 0xA7), 582a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x12, 0xBE, 0x70, 0x94, 0x76, 0xE3, 0xE4), 583a8e1175bSopenharmony_ci}; 584a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_2_X[] = { 585a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x7D, 0xEF, 0x86, 0xFF, 0xE3, 0x37, 0xDD), 586a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x86, 0x8B, 0x08, 0x27, 0x7C, 0xD7, 0xF6), 587a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x54, 0x4C, 0x25, 0x4F, 0x9A, 0xFE, 0x28), 588a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xFD, 0xF0, 0x6D, 0x37, 0x03, 0x69, 0xD6), 589a8e1175bSopenharmony_ci}; 590a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_2_Y[] = { 591a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xD5, 0xDA, 0xAD, 0x92, 0x49, 0xF0, 0x9F), 592a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x73, 0x43, 0x9E, 0xAF, 0xA7, 0xD1, 0xF3), 593a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x41, 0x07, 0xDF, 0x78, 0x95, 0x3E, 0xA1), 594a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x3D, 0xD1, 0xE6, 0x3C, 0xA5, 0xE2, 0x20), 595a8e1175bSopenharmony_ci}; 596a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_3_X[] = { 597a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x6A, 0x5D, 0x52, 0x35, 0xD7, 0xBF, 0xAE), 598a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xA2, 0xBE, 0x96, 0xF4, 0xF8, 0x02, 0xC3), 599a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x20, 0x49, 0x54, 0xEA, 0xB3, 0x82, 0xDB), 600a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0xDB, 0xEA, 0x02, 0xD1, 0x75, 0x1C, 0x62), 601a8e1175bSopenharmony_ci}; 602a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_3_Y[] = { 603a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x85, 0xF4, 0x9E, 0x4C, 0xDC, 0x39, 0x89), 604a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x6D, 0xC4, 0x57, 0xD8, 0x03, 0x5D, 0x22), 605a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x7F, 0x2D, 0x52, 0x6F, 0xC9, 0xDA, 0x4F), 606a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x64, 0xFA, 0xB4, 0xFE, 0xA4, 0xC4, 0xD7), 607a8e1175bSopenharmony_ci}; 608a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_4_X[] = { 609a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x37, 0xB9, 0xC0, 0xAA, 0x59, 0xC6, 0x8B), 610a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x58, 0xD9, 0xED, 0x58, 0x99, 0x65, 0xF7), 611a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x7D, 0x26, 0x8C, 0x4A, 0xF9, 0x05, 0x9F), 612a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x73, 0x9A, 0xC9, 0xE7, 0x46, 0xDC, 0x00), 613a8e1175bSopenharmony_ci}; 614a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_4_Y[] = { 615a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xD0, 0x55, 0xDF, 0x00, 0x0A, 0xF5, 0x4A), 616a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xBF, 0x56, 0x81, 0x2D, 0x20, 0xEB, 0xB5), 617a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xC1, 0x28, 0x52, 0xAB, 0xE3, 0xD1, 0x40), 618a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x34, 0x79, 0x45, 0x57, 0xA5, 0x12, 0x03), 619a8e1175bSopenharmony_ci}; 620a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_5_X[] = { 621a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xCF, 0xB8, 0x7E, 0xF7, 0x92, 0x96, 0x8D), 622a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x01, 0x8C, 0x0D, 0x23, 0xF2, 0xE3, 0x05), 623a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x2E, 0xE3, 0x84, 0x52, 0x7A, 0x34, 0x76), 624a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xA1, 0xB0, 0x15, 0x90, 0xE2, 0x53, 0x3C), 625a8e1175bSopenharmony_ci}; 626a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_5_Y[] = { 627a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x98, 0xE7, 0xFA, 0xA5, 0x7D, 0x8B, 0x53), 628a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x35, 0xD2, 0x00, 0xD1, 0x1B, 0x9F, 0x1B), 629a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x69, 0x08, 0x9A, 0x72, 0xF0, 0xA9, 0x11), 630a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0xFE, 0x0E, 0x14, 0xDA, 0x7C, 0x0E, 0xD3), 631a8e1175bSopenharmony_ci}; 632a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_6_X[] = { 633a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xF6, 0xE8, 0xF8, 0x87, 0xF7, 0xFC, 0x6D), 634a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xBE, 0x7F, 0x3F, 0x7A, 0x2B, 0xD7, 0x13), 635a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x32, 0xF2, 0x2D, 0x94, 0x6D, 0x42, 0xFD), 636a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x9A, 0xE3, 0x5F, 0x42, 0xBB, 0x84, 0xED), 637a8e1175bSopenharmony_ci}; 638a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_6_Y[] = { 639a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x95, 0x29, 0x73, 0xA1, 0x67, 0x3E, 0x02), 640a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x30, 0x54, 0x35, 0x8E, 0x0A, 0xDD, 0x67), 641a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xD7, 0xA1, 0x97, 0x61, 0x3B, 0xF8, 0x0C), 642a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x33, 0x3C, 0x58, 0x55, 0x34, 0x23, 0xA3), 643a8e1175bSopenharmony_ci}; 644a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_7_X[] = { 645a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x5D, 0x16, 0x5F, 0x7B, 0xBC, 0xBB, 0xCE), 646a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xEE, 0x4E, 0x8A, 0xC1, 0x51, 0xCC, 0x50), 647a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x0D, 0x4D, 0x1B, 0x53, 0x23, 0x1D, 0xB3), 648a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x2A, 0x38, 0x66, 0x52, 0x84, 0xE1, 0x95), 649a8e1175bSopenharmony_ci}; 650a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_7_Y[] = { 651a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x9B, 0x83, 0x0A, 0x81, 0x4F, 0xAD, 0xAC), 652a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xFF, 0x42, 0x41, 0x6E, 0xA9, 0xA2, 0xA0), 653a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xA1, 0x4F, 0x1F, 0x89, 0x82, 0xAA, 0x3E), 654a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xB8, 0x0F, 0x6B, 0x8F, 0x8C, 0xD6, 0x68), 655a8e1175bSopenharmony_ci}; 656a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_8_X[] = { 657a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0xB3, 0xBB, 0x51, 0x69, 0xA2, 0x11, 0x93), 658a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x4F, 0x0F, 0x8D, 0xBD, 0x26, 0x0F, 0xE8), 659a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xCB, 0xEC, 0x6B, 0x34, 0xC3, 0x3D, 0x9D), 660a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x5D, 0x1E, 0x10, 0xD5, 0x44, 0xE2, 0x54), 661a8e1175bSopenharmony_ci}; 662a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_8_Y[] = { 663a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x9E, 0xB1, 0xF1, 0x6E, 0x4C, 0xAD, 0xB3), 664a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xE3, 0xC2, 0x58, 0xC0, 0xFB, 0x34, 0x43), 665a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x9C, 0xDF, 0x35, 0x07, 0x41, 0xBD, 0x19), 666a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x6E, 0x10, 0xEC, 0x0E, 0xEC, 0xBB, 0xD6), 667a8e1175bSopenharmony_ci}; 668a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_9_X[] = { 669a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xCF, 0xEF, 0x3F, 0x83, 0x1A, 0x88, 0xE8), 670a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x29, 0xB5, 0xB9, 0xE0, 0xC9, 0xA3, 0xAE), 671a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x46, 0x1E, 0x77, 0xCD, 0x7E, 0xB3, 0x10), 672a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x21, 0xD0, 0xD4, 0xA3, 0x16, 0x08, 0xEE), 673a8e1175bSopenharmony_ci}; 674a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_9_Y[] = { 675a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0xCA, 0xA8, 0xB3, 0xBF, 0x29, 0x99, 0x8E), 676a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xF2, 0x05, 0xC1, 0xCF, 0x5D, 0x91, 0x48), 677a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x01, 0x49, 0xDB, 0x82, 0xDF, 0x5F, 0x3A), 678a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x06, 0x90, 0xAD, 0xE3, 0x38, 0xA4, 0xC4), 679a8e1175bSopenharmony_ci}; 680a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_10_X[] = { 681a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xD2, 0x3A, 0xE8, 0x03, 0xC5, 0x6D, 0x5D), 682a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x35, 0xD0, 0xAE, 0x1D, 0x7A, 0x9F, 0xCA), 683a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x1E, 0xD2, 0xCB, 0xAC, 0x88, 0x27, 0x55), 684a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xB9, 0x9C, 0xE0, 0x31, 0xDD, 0x99, 0x86), 685a8e1175bSopenharmony_ci}; 686a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_10_Y[] = { 687a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xF9, 0x9B, 0x32, 0x96, 0x41, 0x58, 0x38), 688a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x5A, 0x2A, 0xB8, 0x96, 0x0E, 0xB2, 0x4C), 689a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x78, 0x2C, 0xC7, 0x08, 0x99, 0x19, 0x24), 690a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x59, 0x28, 0xE9, 0x84, 0x54, 0xE6, 0x16), 691a8e1175bSopenharmony_ci}; 692a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_11_X[] = { 693a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x38, 0x30, 0xDB, 0x70, 0x2C, 0x0A, 0xA2), 694a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x5C, 0x9D, 0xE9, 0xD5, 0x46, 0x0B, 0x5F), 695a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x0B, 0x60, 0x4B, 0x37, 0x7D, 0xB9, 0xC9), 696a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x24, 0xF3, 0x3D, 0x79, 0x7F, 0x6C, 0x18), 697a8e1175bSopenharmony_ci}; 698a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_11_Y[] = { 699a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7F, 0xE5, 0x1C, 0x4F, 0x60, 0x24, 0xF7, 0x2A), 700a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xD8, 0xE2, 0x91, 0x7F, 0x89, 0x49, 0x92), 701a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xA7, 0x2E, 0x8D, 0x6A, 0xB3, 0x39, 0x81), 702a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x89, 0xB5, 0x9A, 0xB8, 0x8D, 0x42, 0x9C), 703a8e1175bSopenharmony_ci}; 704a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_12_X[] = { 705a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0x45, 0xE6, 0x4B, 0x3F, 0x4F, 0x1E, 0x1F), 706a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x65, 0x5E, 0x59, 0x22, 0xCC, 0x72, 0x5F), 707a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x93, 0x1A, 0x27, 0x1E, 0x34, 0xC5, 0x5B), 708a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xF2, 0xA5, 0x58, 0x5C, 0x15, 0x2E, 0xC6), 709a8e1175bSopenharmony_ci}; 710a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_12_Y[] = { 711a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x7F, 0xBA, 0x58, 0x5A, 0x84, 0x6F, 0x5F), 712a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xA6, 0x36, 0x7E, 0xDC, 0xF7, 0xE1, 0x67), 713a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x4D, 0xAA, 0xEE, 0x57, 0x76, 0x3A, 0xD3), 714a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x7E, 0x26, 0x18, 0x22, 0x23, 0x9F, 0xFF), 715a8e1175bSopenharmony_ci}; 716a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_13_X[] = { 717a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x4C, 0x64, 0xC7, 0x55, 0x02, 0x3F, 0xE3), 718a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x02, 0x90, 0xBB, 0xC3, 0xEC, 0x30, 0x40), 719a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x6F, 0x64, 0xF4, 0x16, 0x69, 0x48, 0xA4), 720a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x44, 0x9C, 0x95, 0x0C, 0x7D, 0x67, 0x5E), 721a8e1175bSopenharmony_ci}; 722a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_13_Y[] = { 723a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x91, 0x8B, 0xD8, 0xD0, 0xD7, 0xE7, 0xE2), 724a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xF9, 0x48, 0x62, 0x6F, 0xA8, 0x93, 0x5D), 725a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x3A, 0x99, 0x02, 0xD5, 0x0B, 0x3D, 0xE3), 726a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xD3, 0x00, 0x31, 0xE6, 0x0C, 0x9F, 0x44), 727a8e1175bSopenharmony_ci}; 728a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_14_X[] = { 729a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xB2, 0xAA, 0xFD, 0x88, 0x15, 0xDF, 0x52), 730a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0x35, 0x27, 0x31, 0x44, 0xCD, 0xC0, 0x68), 731a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xF8, 0x91, 0xA5, 0x71, 0x94, 0x84, 0x2A), 732a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xCB, 0xD0, 0x93, 0xE9, 0x88, 0xDA, 0xE4), 733a8e1175bSopenharmony_ci}; 734a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_14_Y[] = { 735a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xC6, 0x39, 0x16, 0x5D, 0xA3, 0x1E, 0x6D), 736a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x07, 0x37, 0x26, 0x36, 0x2A, 0xFE, 0x60), 737a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xBC, 0xF3, 0xD0, 0xDE, 0x50, 0xFC, 0x97), 738a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x2E, 0x06, 0x10, 0x15, 0x4D, 0xFA, 0xF7), 739a8e1175bSopenharmony_ci}; 740a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_15_X[] = { 741a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x65, 0x69, 0x5B, 0x66, 0xA2, 0x75, 0x2E), 742a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x16, 0x00, 0x5A, 0xB0, 0x30, 0x25, 0x1A), 743a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xFB, 0x86, 0x42, 0x80, 0xC1, 0xC4, 0x76), 744a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x1D, 0x83, 0x8E, 0x94, 0x01, 0x5F, 0x82), 745a8e1175bSopenharmony_ci}; 746a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256r1_T_15_Y[] = { 747a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x37, 0x70, 0xEF, 0x1F, 0xA1, 0xF0, 0xDB), 748a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x10, 0x5B, 0xCE, 0xC4, 0x9B, 0x6F, 0x10), 749a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x11, 0x11, 0x24, 0x4F, 0x4C, 0x79, 0x61), 750a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x3A, 0x72, 0xBC, 0xFE, 0x72, 0x58, 0x43), 751a8e1175bSopenharmony_ci}; 752a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp256r1_T[16] = { 753a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp256r1_T_0_X, secp256r1_T_0_Y), 754a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_1_X, secp256r1_T_1_Y), 755a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_2_X, secp256r1_T_2_Y), 756a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_3_X, secp256r1_T_3_Y), 757a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_4_X, secp256r1_T_4_Y), 758a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_5_X, secp256r1_T_5_Y), 759a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_6_X, secp256r1_T_6_Y), 760a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_7_X, secp256r1_T_7_Y), 761a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_8_X, secp256r1_T_8_Y), 762a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_9_X, secp256r1_T_9_Y), 763a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_10_X, secp256r1_T_10_Y), 764a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_11_X, secp256r1_T_11_Y), 765a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_12_X, secp256r1_T_12_Y), 766a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_13_X, secp256r1_T_13_Y), 767a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_14_X, secp256r1_T_14_Y), 768a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256r1_T_15_X, secp256r1_T_15_Y), 769a8e1175bSopenharmony_ci}; 770a8e1175bSopenharmony_ci#else 771a8e1175bSopenharmony_ci#define secp256r1_T NULL 772a8e1175bSopenharmony_ci#endif 773a8e1175bSopenharmony_ci 774a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 775a8e1175bSopenharmony_ci 776a8e1175bSopenharmony_ci/* 777a8e1175bSopenharmony_ci * Domain parameters for secp384r1 778a8e1175bSopenharmony_ci */ 779a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 780a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_p[] = { 781a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00), 782a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF), 783a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 784a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 785a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 786a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 787a8e1175bSopenharmony_ci}; 788a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_b[] = { 789a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x2A, 0xEC, 0xD3, 0xED, 0xC8, 0x85, 0x2A), 790a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xD1, 0x2E, 0x8A, 0x8D, 0x39, 0x56, 0xC6), 791a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x87, 0x13, 0x50, 0x8F, 0x08, 0x14, 0x03), 792a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x41, 0x81, 0xFE, 0x6E, 0x9C, 0x1D, 0x18), 793a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x2D, 0xF8, 0xE3, 0x6B, 0x05, 0x8E, 0x98), 794a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xE7, 0x3E, 0xE2, 0xA7, 0x2F, 0x31, 0xB3), 795a8e1175bSopenharmony_ci}; 796a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_gx[] = { 797a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0x76, 0x72, 0x38, 0x5E, 0x54, 0x3A), 798a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x29, 0x55, 0xBF, 0x5D, 0xF2, 0x02, 0x55), 799a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x2A, 0x54, 0x82, 0xE0, 0x41, 0xF7, 0x59), 800a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9B, 0xA7, 0x8B, 0x62, 0x3B, 0x1D, 0x6E), 801a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xAD, 0x20, 0xF3, 0x1E, 0xC7, 0xB1, 0x8E), 802a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x05, 0x8B, 0xBE, 0x22, 0xCA, 0x87, 0xAA), 803a8e1175bSopenharmony_ci}; 804a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_gy[] = { 805a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0E, 0xEA, 0x90, 0x7C, 0x1D, 0x43, 0x7A), 806a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x81, 0x7E, 0x1D, 0xCE, 0xB1, 0x60, 0x0A), 807a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xB8, 0xF0, 0xB5, 0x13, 0x31, 0xDA, 0xE9), 808a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x14, 0x9A, 0x28, 0xBD, 0x1D, 0xF4, 0xF8), 809a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xDC, 0x92, 0x92, 0xBF, 0x98, 0x9E, 0x5D), 810a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x2C, 0x26, 0x96, 0x4A, 0xDE, 0x17, 0x36), 811a8e1175bSopenharmony_ci}; 812a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_n[] = { 813a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x29, 0xC5, 0xCC, 0x6A, 0x19, 0xEC, 0xEC), 814a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xA7, 0xB0, 0x48, 0xB2, 0x0D, 0x1A, 0x58), 815a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x2D, 0x37, 0xF4, 0x81, 0x4D, 0x63, 0xC7), 816a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 817a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 818a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 819a8e1175bSopenharmony_ci}; 820a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 821a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_0_X[] = { 822a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0x76, 0x72, 0x38, 0x5E, 0x54, 0x3A), 823a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x29, 0x55, 0xBF, 0x5D, 0xF2, 0x02, 0x55), 824a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x2A, 0x54, 0x82, 0xE0, 0x41, 0xF7, 0x59), 825a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9B, 0xA7, 0x8B, 0x62, 0x3B, 0x1D, 0x6E), 826a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xAD, 0x20, 0xF3, 0x1E, 0xC7, 0xB1, 0x8E), 827a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x05, 0x8B, 0xBE, 0x22, 0xCA, 0x87, 0xAA), 828a8e1175bSopenharmony_ci}; 829a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_0_Y[] = { 830a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0E, 0xEA, 0x90, 0x7C, 0x1D, 0x43, 0x7A), 831a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x81, 0x7E, 0x1D, 0xCE, 0xB1, 0x60, 0x0A), 832a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xB8, 0xF0, 0xB5, 0x13, 0x31, 0xDA, 0xE9), 833a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x14, 0x9A, 0x28, 0xBD, 0x1D, 0xF4, 0xF8), 834a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xDC, 0x92, 0x92, 0xBF, 0x98, 0x9E, 0x5D), 835a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x2C, 0x26, 0x96, 0x4A, 0xDE, 0x17, 0x36), 836a8e1175bSopenharmony_ci}; 837a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_1_X[] = { 838a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x92, 0x00, 0x2C, 0x78, 0xDB, 0x1F, 0x37), 839a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xF3, 0xEB, 0xB7, 0x06, 0xF7, 0xB6, 0xBC), 840a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xBC, 0x2C, 0xCF, 0xD8, 0xED, 0x53, 0xE7), 841a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x75, 0x7B, 0xA3, 0xAB, 0xC3, 0x2C, 0x85), 842a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x9D, 0x78, 0x41, 0xF6, 0x76, 0x84, 0xAC), 843a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x56, 0xE8, 0x52, 0xB3, 0xCB, 0xA8, 0xBD), 844a8e1175bSopenharmony_ci}; 845a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_1_Y[] = { 846a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xF2, 0xAE, 0xA4, 0xB6, 0x89, 0x1B, 0xDA), 847a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x0F, 0xCE, 0x1C, 0x7C, 0xF6, 0x50, 0x4C), 848a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xEB, 0x90, 0xE6, 0x4D, 0xC7, 0xD4, 0x7A), 849a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x49, 0x2D, 0x8A, 0x01, 0x99, 0x60, 0x94), 850a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x80, 0x9B, 0x9B, 0x6A, 0xB0, 0x07, 0xD9), 851a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xA2, 0xEE, 0x59, 0xBE, 0x95, 0xBC, 0x23), 852a8e1175bSopenharmony_ci}; 853a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_2_X[] = { 854a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x9D, 0x56, 0xAE, 0x59, 0xFB, 0x1F, 0x98), 855a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xAC, 0x91, 0x80, 0x87, 0xA8, 0x6E, 0x58), 856a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x08, 0xA7, 0x08, 0x94, 0x32, 0xFC, 0x67), 857a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x29, 0x9E, 0x84, 0xF4, 0xE5, 0x6E, 0x7E), 858a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x21, 0xB9, 0x50, 0x24, 0xF8, 0x9C, 0xC7), 859a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x04, 0x01, 0xC2, 0xFB, 0x77, 0x3E, 0xDE), 860a8e1175bSopenharmony_ci}; 861a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_2_Y[] = { 862a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x38, 0xEE, 0xE3, 0xC7, 0x9D, 0xEC, 0xA6), 863a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x88, 0xCF, 0x43, 0xFA, 0x92, 0x5E, 0x8E), 864a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xCA, 0x43, 0xF8, 0x3B, 0x49, 0x7E, 0x75), 865a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xE7, 0xEB, 0x17, 0x45, 0x86, 0xC2, 0xE1), 866a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x69, 0x57, 0x32, 0xE0, 0x9C, 0xD1, 0x00), 867a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x10, 0xB8, 0x4D, 0xB8, 0xF4, 0x0D, 0xE3), 868a8e1175bSopenharmony_ci}; 869a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_3_X[] = { 870a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0xDC, 0x9A, 0xB2, 0x79, 0x39, 0x27, 0x16), 871a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x71, 0xE4, 0x3B, 0x4D, 0x60, 0x0C, 0xA3), 872a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xBD, 0x19, 0x40, 0xFA, 0x19, 0x2A, 0x5A), 873a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xF8, 0x1E, 0x43, 0xA1, 0x50, 0x8D, 0xEF), 874a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x18, 0x7C, 0x41, 0xFA, 0x7C, 0x1B, 0x58), 875a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x59, 0x24, 0xC4, 0xE9, 0xB7, 0xD3, 0xAD), 876a8e1175bSopenharmony_ci}; 877a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_3_Y[] = { 878a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x01, 0x3D, 0x63, 0x54, 0x45, 0x6F, 0xB7), 879a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xB2, 0x19, 0xA3, 0x86, 0x1D, 0x42, 0x34), 880a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x02, 0x87, 0x18, 0x92, 0x52, 0x1A, 0x71), 881a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x18, 0xB1, 0x5D, 0x18, 0x1B, 0x37, 0xFE), 882a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x74, 0x61, 0xBA, 0x18, 0xAF, 0x40, 0x30), 883a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x7D, 0x3C, 0x52, 0x0F, 0x07, 0xB0, 0x6F), 884a8e1175bSopenharmony_ci}; 885a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_4_X[] = { 886a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x39, 0x13, 0xAA, 0x60, 0x15, 0x99, 0x30), 887a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x00, 0xCB, 0xC6, 0xB1, 0xDB, 0x97, 0x90), 888a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xFA, 0x60, 0xB8, 0x24, 0xE4, 0x7D, 0xD3), 889a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x75, 0xB3, 0x70, 0xB2, 0x83, 0xB1, 0x9B), 890a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xE3, 0x6C, 0xCD, 0x33, 0x62, 0x7A, 0x56), 891a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x30, 0xDC, 0x0F, 0x9F, 0xBB, 0xB8, 0xAA), 892a8e1175bSopenharmony_ci}; 893a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_4_Y[] = { 894a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xD5, 0x0A, 0x60, 0x81, 0xB9, 0xC5, 0x16), 895a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xAA, 0x2F, 0xD6, 0xF2, 0x73, 0xDF, 0xEB), 896a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x7B, 0x74, 0xC9, 0xB3, 0x5B, 0x95, 0x6D), 897a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x04, 0xEB, 0x15, 0xC8, 0x5F, 0x00, 0xF6), 898a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x50, 0x20, 0x28, 0xD1, 0x01, 0xAF, 0xF0), 899a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x4F, 0x31, 0x81, 0x2F, 0x94, 0x48), 900a8e1175bSopenharmony_ci}; 901a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_5_X[] = { 902a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2F, 0xD8, 0xB6, 0x63, 0x7C, 0xE9, 0x50), 903a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x8C, 0xB9, 0x14, 0xD9, 0x37, 0x63, 0xDE), 904a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x02, 0xB8, 0x46, 0xAD, 0xCE, 0x7B, 0x38), 905a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x47, 0x2D, 0x66, 0xA7, 0xE9, 0x33, 0x23), 906a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xF9, 0x93, 0x94, 0xA8, 0x48, 0xB3, 0x4F), 907a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x4A, 0xAC, 0x51, 0x08, 0x72, 0x2F, 0x1A), 908a8e1175bSopenharmony_ci}; 909a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_5_Y[] = { 910a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0xAD, 0xA0, 0xF9, 0x81, 0xE1, 0x78, 0x97), 911a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x9A, 0x63, 0xD8, 0xBA, 0x79, 0x1A, 0x17), 912a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x31, 0x7B, 0x7A, 0x5A, 0x5D, 0x7D, 0x2D), 913a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x96, 0x12, 0x4B, 0x19, 0x09, 0xE0, 0xB7), 914a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x8A, 0x57, 0xEE, 0x4E, 0x6E, 0x7E, 0xEC), 915a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x9D, 0x69, 0xDC, 0xB3, 0xDA, 0xD8, 0x08), 916a8e1175bSopenharmony_ci}; 917a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_6_X[] = { 918a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x49, 0x03, 0x03, 0x33, 0x6F, 0x28, 0x4A), 919a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xDB, 0xA7, 0x05, 0x8C, 0xF3, 0x4D, 0xFB), 920a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x92, 0xB1, 0xA8, 0xEC, 0x0D, 0x64, 0x3B), 921a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0xFC, 0xFD, 0xD0, 0x4B, 0x88, 0x1B, 0x5D), 922a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x9C, 0x51, 0x69, 0xCE, 0x71, 0x73, 0xF5), 923a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x5A, 0x14, 0x23, 0x1A, 0x46, 0x63, 0x5F), 924a8e1175bSopenharmony_ci}; 925a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_6_Y[] = { 926a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x4C, 0x70, 0x44, 0x18, 0xCD, 0xEF, 0xED), 927a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x49, 0xDD, 0x64, 0x7E, 0x7E, 0x4D, 0x92), 928a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x32, 0x7C, 0x09, 0xD0, 0x3F, 0xD6, 0x2C), 929a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE0, 0x4F, 0x65, 0x0C, 0x7A, 0x54, 0x3E), 930a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xFA, 0xFB, 0x4A, 0xB4, 0x79, 0x5A, 0x8C), 931a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x5D, 0x1B, 0x2B, 0xDA, 0xBC, 0x9A, 0x74), 932a8e1175bSopenharmony_ci}; 933a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_7_X[] = { 934a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xAC, 0x56, 0xF7, 0x5F, 0x51, 0x68, 0x0B), 935a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xE0, 0x1D, 0xBC, 0x13, 0x4E, 0xAC, 0x03), 936a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xF5, 0xC5, 0xE6, 0xD2, 0x88, 0xBA, 0xCB), 937a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x0E, 0x28, 0x23, 0x58, 0x67, 0xFA, 0xEE), 938a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x80, 0x4B, 0xD8, 0xC4, 0xDF, 0x15, 0xE4), 939a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x0E, 0x58, 0xE6, 0x2C, 0x59, 0xC2, 0x03), 940a8e1175bSopenharmony_ci}; 941a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_7_Y[] = { 942a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x26, 0x27, 0x99, 0x16, 0x2B, 0x22, 0x0B), 943a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xF3, 0x8F, 0xC3, 0x2A, 0x9B, 0xFC, 0x38), 944a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x2E, 0x83, 0x3D, 0xFE, 0x9E, 0x3C, 0x1B), 945a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x57, 0xCD, 0x2D, 0xC1, 0x49, 0x38, 0xB5), 946a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x42, 0x8B, 0x33, 0x89, 0x1F, 0xEA, 0x01), 947a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x1D, 0x13, 0xD7, 0x50, 0xBB, 0x3E, 0xEB), 948a8e1175bSopenharmony_ci}; 949a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_8_X[] = { 950a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x9A, 0x52, 0xD2, 0x54, 0x7C, 0x97, 0xF2), 951a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x33, 0x6E, 0xED, 0xD9, 0x87, 0x50, 0xC5), 952a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x35, 0x7E, 0x16, 0x40, 0x15, 0x83, 0xB8), 953a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x2B, 0xA4, 0xAB, 0x03, 0x91, 0xEA, 0xFE), 954a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x47, 0x39, 0xEF, 0x05, 0x59, 0xD0, 0x90), 955a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x24, 0x0D, 0x76, 0x11, 0x53, 0x08, 0xAF), 956a8e1175bSopenharmony_ci}; 957a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_8_Y[] = { 958a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x2F, 0xDD, 0xBD, 0x50, 0x48, 0xB1, 0xE5), 959a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x1C, 0x84, 0x55, 0x78, 0x14, 0xEB, 0xF6), 960a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x5E, 0x3E, 0xA6, 0xAF, 0xF6, 0xC7, 0x04), 961a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x11, 0xE2, 0x65, 0xCA, 0x41, 0x95, 0x3B), 962a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x83, 0xD8, 0xE6, 0x4D, 0x22, 0x06, 0x2D), 963a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x7F, 0x25, 0x2A, 0xAA, 0x28, 0x46, 0x97), 964a8e1175bSopenharmony_ci}; 965a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_9_X[] = { 966a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xDB, 0x15, 0x56, 0x84, 0xCB, 0xC0, 0x56), 967a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xDB, 0x0E, 0x08, 0xC9, 0xF5, 0xD4, 0x9E), 968a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x62, 0xD0, 0x1A, 0x7C, 0x13, 0xD5, 0x07), 969a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xAD, 0x53, 0xE0, 0x32, 0x21, 0xA0, 0xC0), 970a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x38, 0x81, 0x21, 0x23, 0x0E, 0xD2, 0xBB), 971a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x51, 0x05, 0xD0, 0x1E, 0x82, 0xA9, 0x71), 972a8e1175bSopenharmony_ci}; 973a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_9_Y[] = { 974a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xC3, 0x27, 0xBF, 0xC6, 0xAA, 0xB7, 0xB9), 975a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x65, 0x45, 0xDF, 0xB9, 0x46, 0x17, 0x46), 976a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x38, 0x3F, 0xB2, 0xB1, 0x5D, 0xCA, 0x1C), 977a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x29, 0x6C, 0x63, 0xE9, 0xD7, 0x48, 0xB8), 978a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xF1, 0xD7, 0x99, 0x8C, 0xC2, 0x05, 0x99), 979a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE6, 0x5E, 0x82, 0x6D, 0xE5, 0x7E, 0xD5), 980a8e1175bSopenharmony_ci}; 981a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_10_X[] = { 982a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x61, 0xFA, 0x7D, 0x01, 0xDB, 0xB6, 0x63), 983a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xC6, 0x58, 0x39, 0xF4, 0xC6, 0x82, 0x23), 984a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x5A, 0x7A, 0x80, 0x08, 0xCD, 0xAA, 0xD8), 985a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x8C, 0xC6, 0x3F, 0x3C, 0xA5, 0x68, 0xF4), 986a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xF5, 0xD5, 0x17, 0xAE, 0x36, 0xD8, 0x8A), 987a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xAD, 0x92, 0xC5, 0x57, 0x6C, 0xDA, 0x91), 988a8e1175bSopenharmony_ci}; 989a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_10_Y[] = { 990a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x67, 0x17, 0xC0, 0x40, 0x78, 0x8C, 0x84), 991a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x9F, 0xF4, 0xAA, 0xDA, 0x5C, 0x7E, 0xB2), 992a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xDB, 0x42, 0x3E, 0x72, 0x64, 0xA0, 0x67), 993a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xF9, 0x41, 0x17, 0x43, 0xE3, 0xE8, 0xA8), 994a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xDD, 0xCC, 0x43, 0x7E, 0x16, 0x05, 0x03), 995a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x4B, 0xCF, 0x48, 0x8F, 0x41, 0x90, 0xE5), 996a8e1175bSopenharmony_ci}; 997a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_11_X[] = { 998a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x0C, 0x6B, 0x9D, 0x22, 0x04, 0xBC, 0x5C), 999a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x63, 0x79, 0x2F, 0x6A, 0x0E, 0x8A, 0xDE), 1000a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x67, 0x3F, 0x02, 0xB8, 0x91, 0x7F, 0x74), 1001a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x14, 0x64, 0xA0, 0x33, 0xF4, 0x6B, 0x50), 1002a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x44, 0x71, 0x87, 0xB8, 0x88, 0x3F, 0x45), 1003a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x2B, 0x85, 0x05, 0xC5, 0x44, 0x53, 0x15), 1004a8e1175bSopenharmony_ci}; 1005a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_11_Y[] = { 1006a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x2B, 0xFE, 0xD1, 0x1C, 0x73, 0xE3, 0x2E), 1007a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x33, 0xA1, 0xD3, 0x69, 0x1C, 0x9D, 0xD2), 1008a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x5A, 0xBA, 0xB6, 0xAE, 0x1B, 0x94, 0x04), 1009a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x74, 0x90, 0x5C, 0x57, 0xB0, 0x3A, 0x45), 1010a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x2F, 0x93, 0x20, 0x24, 0x54, 0x1D, 0x8D), 1011a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x78, 0x9D, 0x71, 0x67, 0x5D, 0x49, 0x98), 1012a8e1175bSopenharmony_ci}; 1013a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_12_X[] = { 1014a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xC8, 0x0E, 0x11, 0x8D, 0xE0, 0x8F, 0x69), 1015a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x7F, 0x79, 0x6C, 0x5F, 0xB7, 0xBC, 0xB1), 1016a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xE1, 0x83, 0x3C, 0x12, 0xBB, 0xEE, 0x96), 1017a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xC2, 0xC4, 0x1B, 0x41, 0x71, 0xB9, 0x17), 1018a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0xEE, 0xBB, 0x1D, 0x89, 0x50, 0x88, 0xF2), 1019a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x1C, 0x55, 0x74, 0xEB, 0xDE, 0x92, 0x3F), 1020a8e1175bSopenharmony_ci}; 1021a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_12_Y[] = { 1022a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x38, 0x92, 0x06, 0x19, 0xD0, 0xB3, 0xB2), 1023a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x99, 0x26, 0xA3, 0x5F, 0xE2, 0xC1, 0x81), 1024a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xFC, 0xFD, 0xC3, 0xB6, 0x26, 0x24, 0x8F), 1025a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xAD, 0xE7, 0x49, 0xB7, 0x64, 0x4B, 0x96), 1026a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x4E, 0x95, 0xAD, 0x07, 0xFE, 0xB6, 0x30), 1027a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x15, 0xE7, 0x2D, 0x19, 0xA9, 0x08, 0x10), 1028a8e1175bSopenharmony_ci}; 1029a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_13_X[] = { 1030a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xBD, 0xAC, 0x0A, 0x3F, 0x6B, 0xFF, 0xFA), 1031a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xE4, 0x74, 0x14, 0xD9, 0x70, 0x1D, 0x71), 1032a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xB0, 0x71, 0xBB, 0xD8, 0x18, 0x96, 0x2B), 1033a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0xB8, 0x19, 0x90, 0x80, 0xB5, 0xEE, 0x01), 1034a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x21, 0x20, 0xA6, 0x17, 0x48, 0x03, 0x6F), 1035a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x1D, 0xBB, 0x6D, 0x94, 0x20, 0x34, 0xF1), 1036a8e1175bSopenharmony_ci}; 1037a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_13_Y[] = { 1038a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x82, 0x67, 0x4B, 0x8E, 0x4E, 0xBE, 0xE2), 1039a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xDA, 0x77, 0xF8, 0x23, 0x55, 0x2B, 0x2D), 1040a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x02, 0xDE, 0x25, 0x35, 0x2D, 0x74, 0x51), 1041a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x0C, 0xB8, 0x0B, 0x39, 0xBA, 0xAD, 0x04), 1042a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x0E, 0x28, 0x4D, 0xE1, 0x3D, 0xE4, 0x1B), 1043a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xEC, 0x0A, 0xD4, 0xB8, 0xC4, 0x8D, 0xB0), 1044a8e1175bSopenharmony_ci}; 1045a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_14_X[] = { 1046a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x68, 0xCE, 0xC2, 0x55, 0x4D, 0x0C, 0x6D), 1047a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x20, 0x93, 0x32, 0x90, 0xD6, 0xAE, 0x47), 1048a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x78, 0xAB, 0x43, 0x9E, 0xEB, 0x73, 0xAE), 1049a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x97, 0xC3, 0x83, 0xA6, 0x3C, 0xF1, 0xBF), 1050a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x25, 0x25, 0x66, 0x08, 0x26, 0xFA, 0x4B), 1051a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xFB, 0x44, 0x5D, 0x82, 0xEC, 0x3B, 0xAC), 1052a8e1175bSopenharmony_ci}; 1053a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_14_Y[] = { 1054a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x90, 0xEA, 0xB5, 0x04, 0x99, 0xD0, 0x69), 1055a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0xF2, 0x22, 0xA0, 0xEB, 0xFD, 0x45, 0x87), 1056a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA4, 0x81, 0x32, 0xFC, 0xFA, 0xEE, 0x5B), 1057a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xBB, 0xA4, 0x6A, 0x77, 0x41, 0x5C, 0x1D), 1058a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x1E, 0xAA, 0x4F, 0xF0, 0x10, 0xB3, 0x50), 1059a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x74, 0x13, 0x14, 0x9E, 0x90, 0xD7, 0xE6), 1060a8e1175bSopenharmony_ci}; 1061a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_15_X[] = { 1062a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0xBD, 0x70, 0x4F, 0xA8, 0xD1, 0x06, 0x2C), 1063a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x4E, 0x2E, 0x68, 0xFC, 0x35, 0xFA, 0x50), 1064a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x53, 0x75, 0xED, 0xF2, 0x5F, 0xC2, 0xEB), 1065a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x87, 0x6B, 0x9F, 0x05, 0xE2, 0x22, 0x93), 1066a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x1A, 0xA8, 0xB7, 0x03, 0x9E, 0x6D, 0x7C), 1067a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xD0, 0x69, 0x88, 0xA8, 0x39, 0x9E, 0x3A), 1068a8e1175bSopenharmony_ci}; 1069a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_15_Y[] = { 1070a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xEF, 0x68, 0xFE, 0xEC, 0x24, 0x08, 0x15), 1071a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x06, 0x4B, 0x92, 0x0D, 0xB7, 0x34, 0x74), 1072a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xF4, 0xDD, 0x1A, 0xA0, 0x4A, 0xE4, 0x45), 1073a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x63, 0x4F, 0x4F, 0xCE, 0xBB, 0xD6, 0xD3), 1074a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xEE, 0x8D, 0xDF, 0x3F, 0x73, 0xB7, 0xAC), 1075a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x06, 0xB6, 0x80, 0x4D, 0x81, 0xD9, 0x53), 1076a8e1175bSopenharmony_ci}; 1077a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_16_X[] = { 1078a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xF5, 0x13, 0xDF, 0x13, 0x19, 0x97, 0x94), 1079a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xF9, 0xB3, 0x33, 0x66, 0x82, 0x21, 0xFE), 1080a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xFC, 0x39, 0x16, 0x23, 0x43, 0x76, 0x0E), 1081a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x48, 0x25, 0xA1, 0x64, 0x95, 0x1C, 0x2F), 1082a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xAC, 0x15, 0x57, 0xD9, 0xDE, 0xA0, 0x28), 1083a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x5F, 0xB8, 0x3D, 0x48, 0x91, 0x24, 0xCC), 1084a8e1175bSopenharmony_ci}; 1085a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_16_Y[] = { 1086a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xF2, 0xC8, 0x54, 0xD1, 0x32, 0xBD, 0xC4), 1087a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x3B, 0xF0, 0xAA, 0x9D, 0xD8, 0xF4, 0x20), 1088a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xC3, 0xBB, 0x6C, 0x66, 0xAC, 0x25, 0x2D), 1089a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x25, 0x10, 0xB2, 0xE1, 0x41, 0xDE, 0x1D), 1090a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xE8, 0x30, 0xB8, 0x37, 0xBC, 0x2A, 0x98), 1091a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x57, 0x01, 0x4A, 0x1E, 0x78, 0x9F, 0x85), 1092a8e1175bSopenharmony_ci}; 1093a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_17_X[] = { 1094a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x19, 0xCD, 0x12, 0x0B, 0x51, 0x4F, 0x56), 1095a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x4B, 0x3D, 0x24, 0xA4, 0x16, 0x59, 0x05), 1096a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xEB, 0xD3, 0x59, 0x2E, 0x75, 0x7C, 0x01), 1097a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xB9, 0xB4, 0xA5, 0xD9, 0x2E, 0x29, 0x4C), 1098a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x16, 0x05, 0x75, 0x02, 0xB3, 0x06, 0xEE), 1099a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x7C, 0x9F, 0x79, 0x91, 0xF1, 0x4F, 0x23), 1100a8e1175bSopenharmony_ci}; 1101a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_17_Y[] = { 1102a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x98, 0x7C, 0x84, 0xE1, 0xFF, 0x30, 0x77), 1103a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xE2, 0xC2, 0x5F, 0x55, 0x40, 0xBD, 0xCD), 1104a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x65, 0x87, 0x3F, 0xC4, 0xC2, 0x24, 0x57), 1105a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x30, 0x0A, 0x60, 0x15, 0xD1, 0x24, 0x48), 1106a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x99, 0xD9, 0xB6, 0xAE, 0xB1, 0xAF, 0x1D), 1107a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x80, 0xEE, 0xA2, 0x0F, 0x74, 0xB9, 0xF3), 1108a8e1175bSopenharmony_ci}; 1109a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_18_X[] = { 1110a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xE6, 0x0F, 0x37, 0xC1, 0x10, 0x99, 0x1E), 1111a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xAD, 0x9D, 0x5D, 0x80, 0x01, 0xA6, 0xFE), 1112a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x0F, 0x10, 0x2A, 0x9D, 0x20, 0x38, 0xEB), 1113a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x60, 0xCB, 0xCE, 0x5A, 0xA0, 0xA7, 0x32), 1114a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xCF, 0x14, 0xDF, 0xBF, 0xE5, 0x74, 0x2D), 1115a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x12, 0x1A, 0xDD, 0x59, 0x02, 0x5D, 0xC6), 1116a8e1175bSopenharmony_ci}; 1117a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_18_Y[] = { 1118a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC9, 0xF8, 0xF5, 0xB6, 0x13, 0x4D, 0x7B), 1119a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x45, 0xB1, 0x93, 0xB3, 0xA2, 0x79, 0xDC), 1120a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xF6, 0xCF, 0xF7, 0xE6, 0x29, 0x9C, 0xCC), 1121a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x50, 0x65, 0x80, 0xBC, 0x59, 0x0A, 0x59), 1122a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xF0, 0x24, 0x35, 0xA2, 0x46, 0xF0, 0x0C), 1123a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x26, 0xC0, 0x9D, 0x61, 0x56, 0x62, 0x67), 1124a8e1175bSopenharmony_ci}; 1125a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_19_X[] = { 1126a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xBB, 0xC2, 0x24, 0x43, 0x2E, 0x37, 0x54), 1127a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xF7, 0xCE, 0x35, 0xFC, 0x77, 0xF3, 0x3F), 1128a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x34, 0x96, 0xD5, 0x4A, 0x76, 0x9D, 0x6B), 1129a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x3B, 0x0F, 0xEA, 0xA8, 0x12, 0x0B, 0x22), 1130a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x3F, 0x5D, 0x2D, 0x1C, 0xD4, 0x9E, 0xFB), 1131a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x2E, 0xDD, 0xC7, 0x6E, 0xAB, 0xAF, 0xDC), 1132a8e1175bSopenharmony_ci}; 1133a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_19_Y[] = { 1134a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xB2, 0x7B, 0x0C, 0x9A, 0x83, 0x8E, 0x59), 1135a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x51, 0x90, 0x92, 0x79, 0x32, 0x19, 0xC3), 1136a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x89, 0xF9, 0xD0, 0xCF, 0x2C, 0xA5, 0x8F), 1137a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x50, 0x21, 0xDE, 0x50, 0x41, 0x9D, 0x81), 1138a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x7D, 0x2B, 0x9E, 0x9D, 0x95, 0xA8, 0xE3), 1139a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA5, 0x20, 0x87, 0x88, 0x97, 0x5F, 0xAA), 1140a8e1175bSopenharmony_ci}; 1141a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_20_X[] = { 1142a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x59, 0xB4, 0x66, 0x7E, 0xE8, 0x5A, 0x60), 1143a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x5C, 0x7E, 0xB2, 0xAD, 0xD9, 0xC9, 0xDA), 1144a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x97, 0x49, 0xA3, 0x13, 0x83, 0x07, 0x2E), 1145a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x26, 0xC7, 0x13, 0x35, 0x0D, 0xB0, 0x6B), 1146a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x60, 0xAB, 0xFA, 0x4B, 0x93, 0x18, 0x2C), 1147a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x2D, 0x1C, 0x31, 0x4C, 0xE4, 0x61, 0xAE), 1148a8e1175bSopenharmony_ci}; 1149a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_20_Y[] = { 1150a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x4D, 0x1E, 0x51, 0x59, 0x6E, 0x91, 0xC5), 1151a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x54, 0x4D, 0x51, 0xED, 0x36, 0xCC, 0x60), 1152a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xA8, 0x56, 0xC7, 0x78, 0x27, 0x33, 0xC5), 1153a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB7, 0x95, 0xC9, 0x8B, 0xC8, 0x6A, 0xBC), 1154a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xE9, 0x13, 0x96, 0xB3, 0xE1, 0xF9, 0xEE), 1155a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x46, 0xB0, 0x5E, 0xC3, 0x94, 0x03, 0x05), 1156a8e1175bSopenharmony_ci}; 1157a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_21_X[] = { 1158a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x5B, 0x29, 0x30, 0x41, 0x1A, 0x9E, 0xB6), 1159a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xCA, 0x83, 0x31, 0x5B, 0xA7, 0xCB, 0x42), 1160a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x41, 0x50, 0x44, 0x4D, 0x64, 0x31, 0x89), 1161a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x84, 0xC2, 0x5D, 0x97, 0xA5, 0x3C, 0x18), 1162a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x0F, 0xA5, 0xFD, 0x8E, 0x5A, 0x47, 0x2C), 1163a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x58, 0x02, 0x2D, 0x40, 0xB1, 0x0B, 0xBA), 1164a8e1175bSopenharmony_ci}; 1165a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_21_Y[] = { 1166a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x33, 0x8C, 0x67, 0xCE, 0x23, 0x43, 0x99), 1167a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x53, 0x47, 0x72, 0x44, 0x1F, 0x5B, 0x2A), 1168a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xC1, 0xD9, 0xA4, 0x50, 0x88, 0x63, 0x18), 1169a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xF2, 0x75, 0x69, 0x73, 0x00, 0xC4, 0x31), 1170a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x90, 0x1D, 0xDF, 0x1A, 0x00, 0xD8, 0x69), 1171a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xB1, 0x89, 0x48, 0xA8, 0x70, 0x62, 0xEF), 1172a8e1175bSopenharmony_ci}; 1173a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_22_X[] = { 1174a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x8A, 0x55, 0x50, 0x7B, 0xEF, 0x8A, 0x3C), 1175a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x1B, 0x23, 0x48, 0x23, 0x63, 0x91, 0xB6), 1176a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x04, 0x54, 0x3C, 0x24, 0x9B, 0xC7, 0x9A), 1177a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x38, 0xC3, 0x84, 0xFB, 0xFF, 0x9F, 0x49), 1178a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x2A, 0xE0, 0x6D, 0x68, 0x8A, 0x5C, 0xCB), 1179a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x93, 0x53, 0x85, 0xA1, 0x0D, 0xAF, 0x63), 1180a8e1175bSopenharmony_ci}; 1181a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_22_Y[] = { 1182a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x88, 0x95, 0x4C, 0x0B, 0xD0, 0x06, 0x51), 1183a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xAF, 0x8D, 0x49, 0xA2, 0xC8, 0xB4, 0xE0), 1184a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x76, 0x53, 0x09, 0x88, 0x43, 0x87, 0xCA), 1185a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xA4, 0x77, 0x3F, 0x5E, 0x21, 0xB4, 0x0A), 1186a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x9E, 0x86, 0x64, 0xCC, 0x91, 0xC1, 0x77), 1187a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x17, 0x56, 0xCB, 0xC3, 0x7D, 0x5B, 0xB1), 1188a8e1175bSopenharmony_ci}; 1189a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_23_X[] = { 1190a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x74, 0x9F, 0xB5, 0x91, 0x21, 0xB1, 0x1C), 1191a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xED, 0xE1, 0x11, 0xEF, 0x45, 0xAF, 0xC1), 1192a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x31, 0xBE, 0xB2, 0xBC, 0x72, 0x65, 0x1F), 1193a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x4B, 0x8C, 0x77, 0xCE, 0x1E, 0x42, 0xB5), 1194a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xC9, 0xAA, 0xB9, 0xD9, 0x86, 0x99, 0x55), 1195a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x23, 0x80, 0xC6, 0x4E, 0x35, 0x0B, 0x6D), 1196a8e1175bSopenharmony_ci}; 1197a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_23_Y[] = { 1198a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xD8, 0xA2, 0x0A, 0x39, 0x32, 0x1D, 0x23), 1199a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0xC8, 0x86, 0xF1, 0x12, 0x9A, 0x4A, 0x05), 1200a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xF1, 0x7C, 0xAA, 0x70, 0x8E, 0xBC, 0x01), 1201a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x01, 0x47, 0x8F, 0xDD, 0x8B, 0xA5, 0xC8), 1202a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x08, 0x21, 0xF4, 0xAB, 0xC7, 0xF5, 0x96), 1203a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x76, 0xA5, 0x95, 0xC4, 0x0F, 0x88, 0x1D), 1204a8e1175bSopenharmony_ci}; 1205a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_24_X[] = { 1206a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x42, 0x2A, 0x52, 0xCD, 0x75, 0x51, 0x49), 1207a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x36, 0xE5, 0x04, 0x2B, 0x44, 0xC6, 0xEF), 1208a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xEE, 0x16, 0x13, 0x07, 0x83, 0xB5, 0x30), 1209a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x59, 0xC6, 0xA2, 0x19, 0x05, 0xD3, 0xC6), 1210a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x8B, 0xA8, 0x16, 0x09, 0xB7, 0xEA, 0xD6), 1211a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xEE, 0x14, 0xAF, 0xB5, 0xFD, 0xD0, 0xEF), 1212a8e1175bSopenharmony_ci}; 1213a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_24_Y[] = { 1214a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x7C, 0xCA, 0x71, 0x3E, 0x6E, 0x66, 0x75), 1215a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x31, 0x0E, 0x3F, 0xE5, 0x91, 0xC4, 0x7F), 1216a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x3D, 0xC2, 0x3E, 0x95, 0x37, 0x58, 0x2B), 1217a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x1F, 0x02, 0x03, 0xF3, 0xEF, 0xEE, 0x66), 1218a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x5B, 0x1A, 0xFC, 0x38, 0xCD, 0xE8, 0x24), 1219a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x57, 0x42, 0x85, 0xC6, 0x21, 0x68, 0x71), 1220a8e1175bSopenharmony_ci}; 1221a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_25_X[] = { 1222a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xA2, 0x4A, 0x66, 0xB1, 0x0A, 0xE6, 0xC0), 1223a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x0C, 0x94, 0x9D, 0x5E, 0x99, 0xB2, 0xCE), 1224a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x03, 0x40, 0xCA, 0xB2, 0xB3, 0x30, 0x55), 1225a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x78, 0x48, 0x27, 0x34, 0x1E, 0xE2, 0x42), 1226a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x72, 0x5B, 0xAC, 0xC1, 0x6D, 0xE3, 0x82), 1227a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAB, 0x46, 0xCB, 0xEA, 0x5E, 0x4B, 0x0B), 1228a8e1175bSopenharmony_ci}; 1229a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_25_Y[] = { 1230a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x08, 0xAD, 0x4E, 0x51, 0x9F, 0x2A, 0x52), 1231a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5C, 0x7D, 0x4C, 0xD6, 0xCF, 0xDD, 0x02), 1232a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x76, 0x26, 0xE0, 0x8B, 0x10, 0xD9, 0x7C), 1233a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xA7, 0x23, 0x4E, 0x5F, 0xD2, 0x42, 0x17), 1234a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xE5, 0xA4, 0xEC, 0x77, 0x21, 0x34, 0x28), 1235a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x14, 0x65, 0xEA, 0x4A, 0x85, 0xC3, 0x2F), 1236a8e1175bSopenharmony_ci}; 1237a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_26_X[] = { 1238a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xD8, 0x40, 0x27, 0x73, 0x15, 0x7E, 0x65), 1239a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xBB, 0x53, 0x7E, 0x0F, 0x40, 0xC8, 0xD4), 1240a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x37, 0x19, 0x73, 0xEF, 0x5A, 0x5E, 0x04), 1241a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x73, 0x2B, 0x49, 0x7E, 0xAC, 0x97, 0x5C), 1242a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xB2, 0xC3, 0x1E, 0x0E, 0xE7, 0xD2, 0x21), 1243a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x08, 0xD6, 0xDD, 0xAC, 0x21, 0xD6, 0x3E), 1244a8e1175bSopenharmony_ci}; 1245a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_26_Y[] = { 1246a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x26, 0xBE, 0x6D, 0x6D, 0xF2, 0x38, 0x3F), 1247a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x6C, 0x31, 0xA7, 0x49, 0x50, 0x3A, 0x89), 1248a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x99, 0xC6, 0xF5, 0xD2, 0xC2, 0x30, 0x5A), 1249a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE4, 0xF6, 0x8B, 0x8B, 0x97, 0xE9, 0xB2), 1250a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x21, 0xB7, 0x0D, 0xFC, 0x15, 0x54, 0x0B), 1251a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x83, 0x1C, 0xA4, 0xCD, 0x6B, 0x9D, 0xF2), 1252a8e1175bSopenharmony_ci}; 1253a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_27_X[] = { 1254a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xE8, 0x4C, 0x48, 0xE4, 0xAA, 0x69, 0x93), 1255a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x7A, 0x27, 0xFC, 0x37, 0x96, 0x1A, 0x7B), 1256a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0xE7, 0x30, 0xA5, 0xCF, 0x13, 0x46, 0x5C), 1257a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xD8, 0xAF, 0x74, 0x23, 0x4D, 0x56, 0x84), 1258a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x3D, 0x44, 0x14, 0x1B, 0x97, 0x83, 0xF0), 1259a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x47, 0xD7, 0x5F, 0xFD, 0x98, 0x38, 0xF7), 1260a8e1175bSopenharmony_ci}; 1261a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_27_Y[] = { 1262a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x73, 0x64, 0x36, 0xFD, 0x7B, 0xC1, 0x15), 1263a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x5D, 0x32, 0xD2, 0x47, 0x94, 0x89, 0x2D), 1264a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xE9, 0x30, 0xAC, 0x06, 0xC8, 0x65, 0x04), 1265a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x6C, 0xB9, 0x1B, 0xF7, 0x61, 0x49, 0x53), 1266a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xFF, 0x32, 0x43, 0x80, 0xDA, 0xA6, 0xB1), 1267a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF8, 0x04, 0x01, 0x95, 0x35, 0xCE, 0x21), 1268a8e1175bSopenharmony_ci}; 1269a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_28_X[] = { 1270a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x06, 0x46, 0x0D, 0x51, 0xE2, 0xD8, 0xAC), 1271a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x57, 0x1D, 0x6F, 0x79, 0xA0, 0xCD, 0xA6), 1272a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0xFB, 0x36, 0xCA, 0xAD, 0xF5, 0x9E, 0x41), 1273a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x7A, 0x1D, 0x9E, 0x1D, 0x95, 0x48, 0xDC), 1274a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x26, 0xA5, 0xB7, 0x15, 0x2C, 0xC2, 0xC6), 1275a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x42, 0x72, 0xAA, 0x11, 0xDC, 0xC9, 0xB6), 1276a8e1175bSopenharmony_ci}; 1277a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_28_Y[] = { 1278a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x6C, 0x64, 0xA7, 0x62, 0x3C, 0xAB, 0xD4), 1279a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x6A, 0x44, 0xD8, 0x60, 0xC0, 0xA8, 0x80), 1280a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x76, 0x58, 0x12, 0x57, 0x3C, 0x89, 0x46), 1281a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x4F, 0x83, 0xCE, 0xCB, 0xB8, 0xD0, 0x2C), 1282a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x84, 0x04, 0xB0, 0xAD, 0xEB, 0xFA, 0xDF), 1283a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xA4, 0xC3, 0x41, 0x44, 0x4E, 0x65, 0x3E), 1284a8e1175bSopenharmony_ci}; 1285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_29_X[] = { 1286a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x16, 0xA9, 0x1C, 0xE7, 0x65, 0x20, 0xC1), 1287a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x53, 0x32, 0xF8, 0xC0, 0xA6, 0xBD, 0x2C), 1288a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xF0, 0xE6, 0x57, 0x31, 0xCC, 0x26, 0x6F), 1289a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xE3, 0x54, 0x1C, 0x34, 0xD3, 0x17, 0xBC), 1290a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xAE, 0xED, 0xFB, 0xCD, 0xE7, 0x1E, 0x9F), 1291a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x16, 0x1C, 0x34, 0x40, 0x00, 0x1F, 0xB6), 1292a8e1175bSopenharmony_ci}; 1293a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_29_Y[] = { 1294a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x32, 0x00, 0xC2, 0xD4, 0x3B, 0x1A, 0x09), 1295a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xE0, 0x99, 0x8F, 0x0C, 0x4A, 0x16, 0x44), 1296a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x73, 0x18, 0x1B, 0xD4, 0x94, 0x29, 0x62), 1297a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xA4, 0x2D, 0xB1, 0x9D, 0x74, 0x32, 0x67), 1298a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0xF4, 0xB1, 0x0C, 0x37, 0x62, 0x8B, 0x66), 1299a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xFF, 0xDA, 0xE2, 0x35, 0xA3, 0xB6, 0x42), 1300a8e1175bSopenharmony_ci}; 1301a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_30_X[] = { 1302a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x49, 0x99, 0x65, 0xC5, 0xED, 0x16, 0xEF), 1303a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x42, 0x9A, 0xF3, 0xA7, 0x4E, 0x6F, 0x2B), 1304a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x0A, 0x7E, 0xC0, 0xD7, 0x4E, 0x07, 0x55), 1305a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x7A, 0x31, 0x69, 0xA6, 0xB9, 0x15, 0x34), 1306a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xE0, 0x72, 0xA4, 0x3F, 0xB9, 0xF8, 0x0C), 1307a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x75, 0x32, 0x85, 0xA2, 0xDE, 0x37, 0x12), 1308a8e1175bSopenharmony_ci}; 1309a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_30_Y[] = { 1310a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xC0, 0x0D, 0xCF, 0x25, 0x41, 0xA4, 0xF4), 1311a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xFC, 0xB2, 0x48, 0xC3, 0x85, 0x83, 0x4B), 1312a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xBE, 0x0B, 0x58, 0x2D, 0x7A, 0x9A, 0x62), 1313a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xF3, 0x81, 0x18, 0x1B, 0x74, 0x4F, 0x2C), 1314a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x43, 0xA3, 0x0A, 0x16, 0x8B, 0xA3, 0x1E), 1315a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x18, 0x81, 0x7B, 0x8D, 0xA2, 0x35, 0x77), 1316a8e1175bSopenharmony_ci}; 1317a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_31_X[] = { 1318a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xC4, 0x3F, 0x2C, 0xE7, 0x5F, 0x99, 0x03), 1319a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x2B, 0xB7, 0xB6, 0xAD, 0x5A, 0x56, 0xFF), 1320a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x00, 0xA4, 0x48, 0xC8, 0xE8, 0xBA, 0xBF), 1321a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xA1, 0xB5, 0x13, 0x5A, 0xCD, 0x99, 0x9C), 1322a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x95, 0xAD, 0xFC, 0xE2, 0x7E, 0xE7, 0xFE), 1323a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x6B, 0xD1, 0x34, 0x99, 0x53, 0x63, 0x0B), 1324a8e1175bSopenharmony_ci}; 1325a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp384r1_T_31_Y[] = { 1326a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x8A, 0x77, 0x5D, 0x2B, 0xAB, 0x01, 0x28), 1327a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x85, 0xD0, 0xD5, 0x49, 0x83, 0x4D, 0x60), 1328a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xC6, 0x91, 0x30, 0x3B, 0x00, 0xAF, 0x7A), 1329a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xAE, 0x61, 0x07, 0xE1, 0xB6, 0xE2, 0xC9), 1330a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x43, 0x41, 0xFE, 0x9B, 0xB6, 0xF0, 0xA5), 1331a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x97, 0xAE, 0xAD, 0x89, 0x88, 0x9E, 0x41), 1332a8e1175bSopenharmony_ci}; 1333a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp384r1_T[32] = { 1334a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp384r1_T_0_X, secp384r1_T_0_Y), 1335a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_1_X, secp384r1_T_1_Y), 1336a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_2_X, secp384r1_T_2_Y), 1337a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_3_X, secp384r1_T_3_Y), 1338a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_4_X, secp384r1_T_4_Y), 1339a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_5_X, secp384r1_T_5_Y), 1340a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_6_X, secp384r1_T_6_Y), 1341a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_7_X, secp384r1_T_7_Y), 1342a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_8_X, secp384r1_T_8_Y), 1343a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_9_X, secp384r1_T_9_Y), 1344a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_10_X, secp384r1_T_10_Y), 1345a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_11_X, secp384r1_T_11_Y), 1346a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_12_X, secp384r1_T_12_Y), 1347a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_13_X, secp384r1_T_13_Y), 1348a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_14_X, secp384r1_T_14_Y), 1349a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_15_X, secp384r1_T_15_Y), 1350a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_16_X, secp384r1_T_16_Y), 1351a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_17_X, secp384r1_T_17_Y), 1352a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_18_X, secp384r1_T_18_Y), 1353a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_19_X, secp384r1_T_19_Y), 1354a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_20_X, secp384r1_T_20_Y), 1355a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_21_X, secp384r1_T_21_Y), 1356a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_22_X, secp384r1_T_22_Y), 1357a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_23_X, secp384r1_T_23_Y), 1358a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_24_X, secp384r1_T_24_Y), 1359a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_25_X, secp384r1_T_25_Y), 1360a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_26_X, secp384r1_T_26_Y), 1361a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_27_X, secp384r1_T_27_Y), 1362a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_28_X, secp384r1_T_28_Y), 1363a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_29_X, secp384r1_T_29_Y), 1364a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_30_X, secp384r1_T_30_Y), 1365a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp384r1_T_31_X, secp384r1_T_31_Y), 1366a8e1175bSopenharmony_ci}; 1367a8e1175bSopenharmony_ci#else 1368a8e1175bSopenharmony_ci#define secp384r1_T NULL 1369a8e1175bSopenharmony_ci#endif 1370a8e1175bSopenharmony_ci 1371a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 1372a8e1175bSopenharmony_ci 1373a8e1175bSopenharmony_ci/* 1374a8e1175bSopenharmony_ci * Domain parameters for secp521r1 1375a8e1175bSopenharmony_ci */ 1376a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 1377a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_p[] = { 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_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1382a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1383a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1384a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1385a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1386a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0xFF, 0x01), 1387a8e1175bSopenharmony_ci}; 1388a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_b[] = { 1389a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x3F, 0x50, 0x6B, 0xD4, 0x1F, 0x45, 0xEF), 1390a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x34, 0x2C, 0x3D, 0x88, 0xDF, 0x73, 0x35), 1391a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xBF, 0xB1, 0x3B, 0xBD, 0xC0, 0x52, 0x16), 1392a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x93, 0x7E, 0xEC, 0x51, 0x39, 0x19, 0x56), 1393a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x09, 0xF1, 0x8E, 0x91, 0x89, 0xB4, 0xB8), 1394a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x15, 0xB3, 0x99, 0x5B, 0x72, 0xDA, 0xA2), 1395a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x40, 0x85, 0xB6, 0xA0, 0x21, 0x9A, 0x92), 1396a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x9A, 0x1C, 0x8E, 0x61, 0xB9, 0x3E, 0x95), 1397a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x51, 0x00), 1398a8e1175bSopenharmony_ci}; 1399a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_gx[] = { 1400a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xBD, 0xE5, 0xC2, 0x31, 0x7E, 0x7E, 0xF9), 1401a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x42, 0x6A, 0x85, 0xC1, 0xB3, 0x48, 0x33), 1402a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xA8, 0xFF, 0xA2, 0x27, 0xC1, 0x1D, 0xFE), 1403a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x59, 0xE7, 0xEF, 0x77, 0x5E, 0x4B, 0xA1), 1404a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x3D, 0x4D, 0x6B, 0x60, 0xAF, 0x28, 0xF8), 1405a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xB5, 0x3F, 0x05, 0x39, 0x81, 0x64, 0x9C), 1406a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB4, 0x95, 0x23, 0x66, 0xCB, 0x3E, 0x9E), 1407a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xE9, 0x04, 0x04, 0xB7, 0x06, 0x8E, 0x85), 1408a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0xC6, 0x00), 1409a8e1175bSopenharmony_ci}; 1410a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_gy[] = { 1411a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x66, 0xD1, 0x9F, 0x76, 0x94, 0xBE, 0x88), 1412a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC2, 0x72, 0xA2, 0x86, 0x70, 0x3C, 0x35), 1413a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0xAD, 0x3F, 0x01, 0xB9, 0x50, 0xC5), 1414a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x26, 0xF4, 0x5E, 0x99, 0x72, 0xEE, 0x97), 1415a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0x3E, 0x27, 0x17, 0xBD, 0xAF, 0x17), 1416a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x44, 0x9B, 0x57, 0x49, 0x44, 0xF5, 0x98), 1417a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x1B, 0x7D, 0x2C, 0xB4, 0x5F, 0x8A, 0x5C), 1418a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xC0, 0x3B, 0x9A, 0x78, 0x6A, 0x29, 0x39), 1419a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x18, 0x01), 1420a8e1175bSopenharmony_ci}; 1421a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_n[] = { 1422a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x64, 0x38, 0x91, 0x1E, 0xB7, 0x6F, 0xBB), 1423a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x47, 0x9C, 0x89, 0xB8, 0xC9, 0xB5, 0x3B), 1424a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0xA5, 0x09, 0xF7, 0x48, 0x01, 0xCC, 0x7F), 1425a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x96, 0x2F, 0xBF, 0x83, 0x87, 0x86, 0x51), 1426a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1427a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1428a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1429a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 1430a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0xFF, 0x01), 1431a8e1175bSopenharmony_ci}; 1432a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 1433a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_0_X[] = { 1434a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xBD, 0xE5, 0xC2, 0x31, 0x7E, 0x7E, 0xF9), 1435a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x42, 0x6A, 0x85, 0xC1, 0xB3, 0x48, 0x33), 1436a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0xA8, 0xFF, 0xA2, 0x27, 0xC1, 0x1D, 0xFE), 1437a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x59, 0xE7, 0xEF, 0x77, 0x5E, 0x4B, 0xA1), 1438a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x3D, 0x4D, 0x6B, 0x60, 0xAF, 0x28, 0xF8), 1439a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xB5, 0x3F, 0x05, 0x39, 0x81, 0x64, 0x9C), 1440a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xB4, 0x95, 0x23, 0x66, 0xCB, 0x3E, 0x9E), 1441a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xE9, 0x04, 0x04, 0xB7, 0x06, 0x8E, 0x85), 1442a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1443a8e1175bSopenharmony_ci}; 1444a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_0_Y[] = { 1445a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x66, 0xD1, 0x9F, 0x76, 0x94, 0xBE, 0x88), 1446a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC2, 0x72, 0xA2, 0x86, 0x70, 0x3C, 0x35), 1447a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0xAD, 0x3F, 0x01, 0xB9, 0x50, 0xC5), 1448a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x26, 0xF4, 0x5E, 0x99, 0x72, 0xEE, 0x97), 1449a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0x3E, 0x27, 0x17, 0xBD, 0xAF, 0x17), 1450a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x44, 0x9B, 0x57, 0x49, 0x44, 0xF5, 0x98), 1451a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x1B, 0x7D, 0x2C, 0xB4, 0x5F, 0x8A, 0x5C), 1452a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xC0, 0x3B, 0x9A, 0x78, 0x6A, 0x29, 0x39), 1453a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1454a8e1175bSopenharmony_ci}; 1455a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_1_X[] = { 1456a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xB1, 0x2D, 0xEB, 0x27, 0x2F, 0xE8, 0xDA), 1457a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x4B, 0x44, 0x25, 0xDB, 0x5C, 0x5F, 0x67), 1458a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x85, 0x28, 0x78, 0x2E, 0x75, 0x34, 0x32), 1459a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x57, 0x0F, 0x73, 0x78, 0x7A, 0xE3, 0x53), 1460a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD8, 0xEC, 0xDC, 0xDA, 0x04, 0xAD, 0xAB), 1461a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x8A, 0x09, 0xF3, 0x58, 0x79, 0xD8, 0x29), 1462a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x03, 0xCB, 0x50, 0x1A, 0x7F, 0x56, 0x00), 1463a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xA6, 0x78, 0x38, 0x85, 0x67, 0x0B, 0x40), 1464a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1465a8e1175bSopenharmony_ci}; 1466a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_1_Y[] = { 1467a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xD5, 0xD2, 0x22, 0xC4, 0x00, 0x3B, 0xBA), 1468a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x93, 0x0E, 0x7B, 0x85, 0x51, 0xC3, 0x06), 1469a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA6, 0x5F, 0x54, 0x49, 0x02, 0x81, 0x78), 1470a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xE9, 0x6B, 0x3A, 0x92, 0xE7, 0x72, 0x1D), 1471a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x5F, 0x28, 0x9E, 0x91, 0x27, 0x88, 0xE3), 1472a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x28, 0x31, 0xB3, 0x84, 0xCA, 0x12, 0x32), 1473a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xF9, 0xAC, 0x22, 0x10, 0x0A, 0x64, 0x41), 1474a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xC6, 0x33, 0x1F, 0x69, 0x19, 0x18, 0xBF), 1475a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1476a8e1175bSopenharmony_ci}; 1477a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_2_X[] = { 1478a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x48, 0xB8, 0xC7, 0x37, 0x5A, 0x00, 0x36), 1479a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xCC, 0x32, 0xE0, 0xEE, 0x03, 0xC2, 0xBA), 1480a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x29, 0xC2, 0xE4, 0x6E, 0x24, 0x20, 0x8D), 1481a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x6B, 0x7F, 0x7B, 0xF9, 0xB0, 0xB8, 0x13), 1482a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x7B, 0x3C, 0xE1, 0x19, 0xA1, 0x23, 0x02), 1483a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE3, 0xC2, 0x53, 0xC0, 0x07, 0x13, 0xA9), 1484a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFE, 0x36, 0x35, 0x9F, 0x5E, 0x59, 0xCE), 1485a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x55, 0x89, 0x84, 0xBC, 0xEF, 0xA2, 0xC2), 1486a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1487a8e1175bSopenharmony_ci}; 1488a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_2_Y[] = { 1489a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x1A, 0x08, 0x67, 0xB4, 0xE7, 0x22, 0xED), 1490a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x26, 0xDF, 0x81, 0x3C, 0x5F, 0x1C, 0xDA), 1491a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x4D, 0xD0, 0x0A, 0x48, 0x06, 0xF4, 0x48), 1492a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x18, 0x39, 0xF7, 0xD1, 0x20, 0x77, 0x8D), 1493a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x8F, 0x44, 0x13, 0xCB, 0x78, 0x11, 0x11), 1494a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xE2, 0x49, 0xEA, 0x43, 0x79, 0x08, 0x39), 1495a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xD1, 0xD8, 0x73, 0x2C, 0x71, 0x2F, 0x69), 1496a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xE5, 0xE7, 0xF4, 0x46, 0xAB, 0x20, 0xCA), 1497a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1498a8e1175bSopenharmony_ci}; 1499a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_3_X[] = { 1500a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x0B, 0xB9, 0x71, 0x1A, 0x27, 0xB7, 0xA7), 1501a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xA2, 0x2C, 0xD1, 0xDA, 0xBC, 0xC1, 0xBD), 1502a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xA3, 0x10, 0x1F, 0x90, 0xF2, 0xA5, 0x52), 1503a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xFB, 0x20, 0xF4, 0xC0, 0x70, 0xC0, 0xF5), 1504a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xA7, 0x99, 0xF0, 0xA5, 0xD3, 0x09, 0xDD), 1505a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0xE8, 0x14, 0x39, 0xBE, 0xCB, 0x60, 0xAF), 1506a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xD6, 0x14, 0xA9, 0xC9, 0x20, 0xC3, 0xEA), 1507a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA8, 0x5B, 0xFD, 0x2D, 0x96, 0xBC, 0x78), 1508a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1509a8e1175bSopenharmony_ci}; 1510a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_3_Y[] = { 1511a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x04, 0x45, 0xBE, 0xCE, 0x75, 0x95, 0xF6), 1512a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xDA, 0x58, 0x49, 0x35, 0x09, 0x8D, 0x41), 1513a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xF0, 0xC0, 0x36, 0xF2, 0xA6, 0x2D, 0x14), 1514a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xFC, 0x3D, 0xA8, 0xFB, 0x3C, 0xD2, 0x51), 1515a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x4D, 0x71, 0x09, 0x18, 0x42, 0xF0, 0x2D), 1516a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xC1, 0xCE, 0x9E, 0x6A, 0x49, 0x60, 0x12), 1517a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xB1, 0x00, 0xF7, 0xA1, 0x7A, 0x31, 0xB4), 1518a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xC3, 0x86, 0xCD, 0x20, 0x4A, 0x17, 0x86), 1519a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1520a8e1175bSopenharmony_ci}; 1521a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_4_X[] = { 1522a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xAB, 0x8B, 0x47, 0x8D, 0xAA, 0xA6, 0x5B), 1523a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x97, 0xF0, 0xBC, 0x2D, 0xDC, 0x9D, 0x84), 1524a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x86, 0xB0, 0x74, 0xB2, 0xF4, 0xF6, 0x67), 1525a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBD, 0xAC, 0xE3, 0x8F, 0x43, 0x5C, 0xB1), 1526a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xC3, 0xE2, 0x6E, 0x25, 0x49, 0xCD, 0x0B), 1527a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x5E, 0x08, 0xB3, 0xB9, 0xAC, 0x5F, 0xD1), 1528a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xB7, 0xD1, 0xF4, 0xDC, 0x19, 0xE9, 0xC8), 1529a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xE4, 0xFA, 0xE1, 0x36, 0x3E, 0xED, 0x6E), 1530a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1531a8e1175bSopenharmony_ci}; 1532a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_4_Y[] = { 1533a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x67, 0x92, 0x84, 0x6E, 0x48, 0x03, 0x51), 1534a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x95, 0xEF, 0x8F, 0xB2, 0x82, 0x6B, 0x1C), 1535a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFA, 0xB9, 0x55, 0x23, 0xFE, 0x09, 0xB3), 1536a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x79, 0x85, 0x4B, 0x0E, 0xD4, 0x35, 0xDB), 1537a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x27, 0x45, 0x81, 0xE0, 0x88, 0x52, 0xAD), 1538a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x63, 0xA2, 0x4B, 0xBC, 0x5D, 0xB1, 0x92), 1539a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x8C, 0x83, 0xD9, 0x3E, 0xD3, 0x42, 0xDA), 1540a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x03, 0x3A, 0x31, 0xBA, 0xE9, 0x3A, 0xD1), 1541a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1542a8e1175bSopenharmony_ci}; 1543a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_5_X[] = { 1544a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x10, 0xCD, 0x2D, 0x00, 0xFE, 0x32, 0xA7), 1545a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x6E, 0x1F, 0xDA, 0xF8, 0x6F, 0x4D, 0x03), 1546a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x79, 0x7D, 0x09, 0xE5, 0xD3, 0x03, 0x21), 1547a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xC3, 0xBE, 0xDF, 0x07, 0x65, 0x49, 0xCC), 1548a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x57, 0x33, 0xEF, 0xAE, 0x4F, 0x04, 0x27), 1549a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0xE9, 0x9B, 0xFE, 0xBF, 0xE6, 0x85, 0xF6), 1550a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xBA, 0xAA, 0x06, 0xC4, 0xC6, 0xB8, 0x57), 1551a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x83, 0x01, 0xA9, 0xF6, 0x51, 0xE7, 0xB8), 1552a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1553a8e1175bSopenharmony_ci}; 1554a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_5_Y[] = { 1555a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xA6, 0x15, 0x8E, 0xAB, 0x1F, 0x10, 0x87), 1556a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x08, 0x27, 0x1A, 0xA1, 0x21, 0xAD, 0xF5), 1557a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x09, 0x90, 0x6E, 0x50, 0x90, 0x9A, 0x5D), 1558a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x9A, 0xFE, 0xD7, 0xA1, 0xF5, 0xA2, 0x15), 1559a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x7D, 0xE3, 0xDC, 0x21, 0xFB, 0xA4, 0x7B), 1560a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xBF, 0x07, 0xFF, 0x45, 0xDF, 0x51, 0x77), 1561a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x5C, 0x34, 0x02, 0x62, 0x9B, 0x08, 0x12), 1562a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xCE, 0x9A, 0x6A, 0xEC, 0x75, 0xF6, 0x46), 1563a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1564a8e1175bSopenharmony_ci}; 1565a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_6_X[] = { 1566a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x59, 0xF4, 0x78, 0x3C, 0x60, 0xB1, 0x4A), 1567a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x37, 0x84, 0x6A, 0xDC, 0xF2, 0x9A, 0x7D), 1568a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x9A, 0x9A, 0x15, 0x36, 0xE0, 0x2B, 0x2D), 1569a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x38, 0x9C, 0x50, 0x3D, 0x1E, 0x37, 0x82), 1570a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x79, 0xF0, 0x92, 0xF2, 0x8B, 0x18, 0x82), 1571a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xE0, 0x82, 0x1E, 0x80, 0x82, 0x4B, 0xD7), 1572a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xBB, 0x59, 0x6B, 0x8A, 0x77, 0x41, 0x40), 1573a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xF9, 0xD4, 0xB8, 0x4A, 0x82, 0xCF, 0x40), 1574a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1575a8e1175bSopenharmony_ci}; 1576a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_6_Y[] = { 1577a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x8C, 0xC8, 0x9B, 0x72, 0x9E, 0xF7, 0xF9), 1578a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xCE, 0xE9, 0x77, 0x0A, 0x19, 0x59, 0x84), 1579a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xA1, 0x41, 0x6A, 0x72, 0x4B, 0xB4, 0xDC), 1580a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x35, 0x43, 0xE2, 0x8C, 0xBE, 0x0D, 0xE3), 1581a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xEB, 0xAD, 0xF3, 0xA9, 0xA6, 0x68, 0xA1), 1582a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x2F, 0xE2, 0x48, 0x0C, 0xDB, 0x1F, 0x42), 1583a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x1E, 0x60, 0x9B, 0x2A, 0xD2, 0xC1, 0x3C), 1584a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x64, 0xB5, 0xD2, 0xF6, 0xF6, 0x6E, 0x22), 1585a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1586a8e1175bSopenharmony_ci}; 1587a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_7_X[] = { 1588a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x3D, 0x30, 0x78, 0x10, 0x18, 0x41, 0x51), 1589a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x1D, 0x1C, 0xE0, 0x6D, 0x83, 0xD1, 0x93), 1590a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x03, 0x0B, 0xF5, 0x2F, 0x6C, 0x04, 0x98), 1591a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x3E, 0xD5, 0xFC, 0x31, 0x5B, 0x3A, 0xEB), 1592a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x82, 0x2F, 0xFB, 0xFE, 0xF8, 0x76, 0x39), 1593a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x26, 0xDA, 0x9C, 0x36, 0xF5, 0x93, 0xD1), 1594a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xE7, 0x6E, 0xD2, 0x7D, 0x81, 0x09, 0xC6), 1595a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x03, 0xF9, 0x58, 0x48, 0x24, 0xA2, 0xEE), 1596a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1597a8e1175bSopenharmony_ci}; 1598a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_7_Y[] = { 1599a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x79, 0x0C, 0x8E, 0x6B, 0x95, 0xF3, 0xC4), 1600a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x10, 0x5C, 0x87, 0x03, 0x39, 0xCF, 0x68), 1601a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xF0, 0xF7, 0xC1, 0x07, 0xA4, 0xF4, 0x3F), 1602a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xE8, 0x02, 0x89, 0x65, 0xC4, 0x72, 0x36), 1603a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x88, 0xEA, 0x96, 0x67, 0x0B, 0x5D, 0xDF), 1604a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x75, 0x60, 0xA8, 0xBD, 0x74, 0xDF, 0x68), 1605a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xE5, 0x71, 0x50, 0x67, 0xD0, 0xD2, 0xE6), 1606a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xFC, 0xE5, 0xC7, 0x77, 0xB0, 0x7F, 0x8C), 1607a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1608a8e1175bSopenharmony_ci}; 1609a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_8_X[] = { 1610a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x86, 0x69, 0xCD, 0x0D, 0x9A, 0xBD, 0x66), 1611a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x17, 0xBC, 0xBB, 0x59, 0x85, 0x7D, 0x0E), 1612a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xA8, 0x76, 0xAC, 0x80, 0xA9, 0x72, 0xE0), 1613a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x78, 0xC1, 0xE2, 0x4D, 0xAF, 0xF9, 0x3C), 1614a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x97, 0x8E, 0x74, 0xC4, 0x4B, 0xB2, 0x85), 1615a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD8, 0xF6, 0xF3, 0xAF, 0x2F, 0x52, 0xE5), 1616a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x57, 0xF4, 0xCE, 0xEE, 0x43, 0xED, 0x60), 1617a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x46, 0x38, 0xDE, 0x20, 0xFD, 0x59, 0x18), 1618a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1619a8e1175bSopenharmony_ci}; 1620a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_8_Y[] = { 1621a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x18, 0xE8, 0x58, 0xB9, 0x76, 0x2C, 0xE6), 1622a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x54, 0xE4, 0xFE, 0xC7, 0xBC, 0x31, 0x37), 1623a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xF8, 0x89, 0xEE, 0x70, 0xB5, 0xB0, 0x2C), 1624a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x22, 0x26, 0x9A, 0x53, 0xB9, 0x38, 0x0A), 1625a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xA7, 0x19, 0x8C, 0x74, 0x7E, 0x88, 0x46), 1626a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xDA, 0x0A, 0xE8, 0xDA, 0xA5, 0xBE, 0x1D), 1627a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x5C, 0xF7, 0xB1, 0x0C, 0x72, 0xFB, 0x09), 1628a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0xE2, 0x23, 0xE7, 0x46, 0xB7, 0xE0, 0x91), 1629a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1630a8e1175bSopenharmony_ci}; 1631a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_9_X[] = { 1632a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x36, 0xBC, 0xBD, 0x48, 0x11, 0x8E, 0x72), 1633a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xBB, 0xA1, 0xF7, 0x0B, 0x9E, 0xBF, 0xDF), 1634a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x28, 0xE1, 0xA2, 0x8F, 0xFC, 0xFC, 0xD6), 1635a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xFE, 0x19, 0x0A, 0xE5, 0xE7, 0x69, 0x39), 1636a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xCD, 0x12, 0xF5, 0xBE, 0xD3, 0x04, 0xF1), 1637a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xA8, 0x0D, 0x81, 0x59, 0xC4, 0x79, 0x98), 1638a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xF3, 0x4B, 0x92, 0x65, 0xC3, 0x31, 0xAD), 1639a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xB5, 0x4F, 0x4D, 0x91, 0xD4, 0xE2, 0xB2), 1640a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1641a8e1175bSopenharmony_ci}; 1642a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_9_Y[] = { 1643a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x09, 0x41, 0x79, 0x1D, 0x4D, 0x0D, 0x33), 1644a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x31, 0x18, 0xBA, 0xA0, 0xF2, 0x6E, 0x7E), 1645a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x5B, 0x4D, 0x4F, 0xAF, 0xC9, 0x8C, 0xA1), 1646a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x99, 0x9C, 0x06, 0x68, 0xDE, 0xD8, 0x29), 1647a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x04, 0xE1, 0xB5, 0x9D, 0x00, 0xBC, 0xB8), 1648a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x95, 0x92, 0x8D, 0x72, 0xD3, 0x37, 0x42), 1649a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x4B, 0x27, 0xA2, 0xE8, 0xA4, 0x26, 0xA1), 1650a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x45, 0x9C, 0xA9, 0xCB, 0x9F, 0xBA, 0x85), 1651a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1652a8e1175bSopenharmony_ci}; 1653a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_10_X[] = { 1654a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x7E, 0x1B, 0x64, 0xF4, 0xE8, 0xA5, 0x55), 1655a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x20, 0xA9, 0xCA, 0xF3, 0x89, 0xE5, 0xE1), 1656a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xED, 0xFC, 0xAB, 0xD9, 0x0A, 0xB9, 0x07), 1657a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x6F, 0x46, 0x7C, 0xCD, 0x78, 0xFF, 0x05), 1658a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xAB, 0x71, 0x5A, 0x94, 0xAB, 0x20, 0x20), 1659a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x2E, 0xEE, 0x87, 0x57, 0x1F, 0xAD, 0xD3), 1660a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x4C, 0x3D, 0xFB, 0x7E, 0xA1, 0x8B, 0x07), 1661a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xCF, 0x07, 0x86, 0xBA, 0x53, 0x37, 0xCF), 1662a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1663a8e1175bSopenharmony_ci}; 1664a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_10_Y[] = { 1665a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x26, 0xB2, 0xB9, 0xE2, 0x91, 0xE3, 0xB5), 1666a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xC9, 0x54, 0x84, 0x08, 0x3D, 0x0B, 0xD2), 1667a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xA8, 0x77, 0x2F, 0x64, 0x45, 0x99, 0x4C), 1668a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x96, 0x16, 0x1F, 0xDB, 0x96, 0x28, 0x97), 1669a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x2B, 0x8D, 0xFF, 0xA2, 0x4F, 0x55, 0xD3), 1670a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xE6, 0x48, 0xBD, 0x99, 0x3D, 0x12, 0x57), 1671a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x84, 0x59, 0xDA, 0xB9, 0xB6, 0x66, 0x12), 1672a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x78, 0x41, 0x92, 0xDF, 0xF4, 0x3F, 0x63), 1673a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1674a8e1175bSopenharmony_ci}; 1675a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_11_X[] = { 1676a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x86, 0x6F, 0x4F, 0xBF, 0x67, 0xDF, 0x2F), 1677a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x2B, 0x1E, 0x5F, 0x00, 0xEA, 0xF6, 0x56), 1678a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xB9, 0x6A, 0x89, 0xD8, 0xC0, 0xD7, 0xA7), 1679a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x9A, 0x32, 0x23, 0xA0, 0x02, 0x91, 0x58), 1680a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x7F, 0x6A, 0x15, 0x64, 0x6A, 0x8B, 0xBB), 1681a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x57, 0x82, 0x58, 0xA9, 0x56, 0xB5, 0xFB), 1682a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x50, 0x92, 0x60, 0xCC, 0x81, 0x24, 0xA8), 1683a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x3D, 0xAD, 0xDA, 0xD9, 0x51, 0x3E, 0x57), 1684a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1685a8e1175bSopenharmony_ci}; 1686a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_11_Y[] = { 1687a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xFE, 0x8F, 0xB0, 0x0B, 0xDE, 0x2E, 0x7E), 1688a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xD2, 0xBE, 0xEF, 0xAC, 0x76, 0x71, 0xA3), 1689a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xE8, 0x72, 0x0B, 0xAC, 0xFE, 0xCA, 0x5A), 1690a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x5B, 0xC7, 0xFC, 0xE3, 0x3C, 0x7C, 0x4C), 1691a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x04, 0xA7, 0xB9, 0x9B, 0x93, 0xC0, 0x2F), 1692a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x48, 0x4B, 0x8E, 0x32, 0xC5, 0xF0, 0x6B), 1693a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x42, 0x07, 0xC1, 0xF2, 0xF1, 0x72, 0x5B), 1694a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x37, 0x54, 0x9C, 0x88, 0xD2, 0x62, 0xAA), 1695a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1696a8e1175bSopenharmony_ci}; 1697a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_12_X[] = { 1698a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x19, 0x8A, 0x89, 0x58, 0xA2, 0x0F, 0xDB), 1699a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xCC, 0x4C, 0x97, 0x30, 0x66, 0x34, 0x26), 1700a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x6A, 0x1E, 0x1F, 0xDB, 0xC9, 0x5E, 0x13), 1701a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x4D, 0x49, 0xFF, 0x9B, 0x9C, 0xAC, 0x9B), 1702a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xE4, 0x4B, 0xF2, 0xD4, 0x1A, 0xD2, 0x78), 1703a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xDA, 0xE8, 0x61, 0x9F, 0xC8, 0x49, 0x32), 1704a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xCB, 0xF2, 0x2D, 0x85, 0xF6, 0x8D, 0x52), 1705a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xC5, 0xCD, 0x2C, 0x79, 0xC6, 0x0E, 0x4F), 1706a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1707a8e1175bSopenharmony_ci}; 1708a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_12_Y[] = { 1709a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x1D, 0x55, 0x0F, 0xF8, 0x22, 0x9F, 0x78), 1710a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x56, 0xBA, 0xE7, 0x57, 0x32, 0xEC, 0x42), 1711a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x9A, 0xC6, 0x4C, 0x09, 0xC4, 0x52, 0x3F), 1712a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x1E, 0x6F, 0xF4, 0x7D, 0x27, 0xDD, 0xAF), 1713a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x11, 0x16, 0xEC, 0x79, 0x83, 0xAD, 0xAE), 1714a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x4E, 0x92, 0x1F, 0x19, 0x7D, 0x65, 0xDC), 1715a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xFF, 0x78, 0x15, 0x45, 0x63, 0x32, 0xE4), 1716a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x91, 0xD0, 0x78, 0x58, 0xDA, 0x50, 0x47), 1717a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1718a8e1175bSopenharmony_ci}; 1719a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_13_X[] = { 1720a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0xDE, 0x40, 0xF6, 0x41, 0xB4, 0x3B, 0x95), 1721a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x8D, 0xE0, 0xE1, 0xA9, 0xF0, 0x35, 0x5D), 1722a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xD4, 0xBA, 0x7B, 0xCC, 0x1B, 0x3A, 0x32), 1723a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x5A, 0x2E, 0x74, 0x47, 0x14, 0xC3, 0x4D), 1724a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xF0, 0x8B, 0x06, 0x15, 0x8E, 0x0E, 0xCA), 1725a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0xD2, 0xEB, 0x97, 0x50, 0x7D, 0x31, 0xFC), 1726a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x93, 0x4C, 0xDB, 0x97, 0x79, 0x44, 0xF5), 1727a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xA2, 0xA0, 0x0B, 0xC8, 0x3A, 0x8A, 0xF9), 1728a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1729a8e1175bSopenharmony_ci}; 1730a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_13_Y[] = { 1731a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x50, 0x92, 0x9E, 0x24, 0x1F, 0xCB, 0x4C), 1732a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x16, 0xC9, 0xC5, 0x3D, 0x5A, 0xAF, 0x97), 1733a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xE3, 0x97, 0xE4, 0xA8, 0x50, 0xF6, 0x7E), 1734a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x57, 0x97, 0x42, 0x78, 0x92, 0x49, 0x0D), 1735a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xEB, 0x62, 0x24, 0xFB, 0x8F, 0x32, 0xCF), 1736a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x0C, 0x36, 0x6E, 0x8F, 0xE8, 0xE8, 0x8E), 1737a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xD3, 0x7C, 0xC7, 0x8D, 0x3F, 0x5C, 0xE1), 1738a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x64, 0x6A, 0x73, 0x10, 0x79, 0xB8, 0x5A), 1739a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1740a8e1175bSopenharmony_ci}; 1741a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_14_X[] = { 1742a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xF9, 0xEF, 0xA5, 0x20, 0x4A, 0x5C, 0xA1), 1743a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xF3, 0xF4, 0x49, 0x5B, 0x73, 0xAA, 0x1B), 1744a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xF2, 0xEA, 0x0F, 0x00, 0xAD, 0x53, 0xAB), 1745a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xB8, 0x66, 0xED, 0xC4, 0x2B, 0x4C, 0x35), 1746a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x2F, 0xC1, 0x9A, 0x37, 0xD2, 0x7F, 0x58), 1747a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xA7, 0x81, 0x38, 0x64, 0xC9, 0x37, 0x38), 1748a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x3B, 0x6C, 0x9F, 0x5B, 0xD9, 0x8B, 0x1D), 1749a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x14, 0xD9, 0x08, 0xD8, 0xD2, 0x7E, 0x23), 1750a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1751a8e1175bSopenharmony_ci}; 1752a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_14_Y[] = { 1753a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x71, 0xE6, 0x3D, 0xD1, 0xB0, 0xE7, 0xCD), 1754a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x81, 0x23, 0xEC, 0x2D, 0x42, 0x45, 0xE6), 1755a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x5B, 0x44, 0x6B, 0x89, 0x03, 0x67, 0x28), 1756a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x27, 0xAE, 0x80, 0x5A, 0x33, 0xBE, 0x11), 1757a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xB6, 0x64, 0x1A, 0xDF, 0xD3, 0x85, 0x91), 1758a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x8C, 0x22, 0xBA, 0xD0, 0xBD, 0xCC, 0xA0), 1759a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x3C, 0x01, 0x3A, 0xFF, 0x9D, 0xC7, 0x6B), 1760a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xC7, 0x64, 0xB4, 0x59, 0x4E, 0x9F, 0x22), 1761a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1762a8e1175bSopenharmony_ci}; 1763a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_15_X[] = { 1764a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x34, 0x0A, 0x41, 0x94, 0xA8, 0xF2, 0xB7), 1765a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xD4, 0xE4, 0xF0, 0x97, 0x45, 0x6D, 0xCA), 1766a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x1F, 0x4D, 0x6D, 0xFE, 0xA0, 0xC4, 0x84), 1767a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x28, 0x5C, 0x40, 0xBB, 0x65, 0xD4, 0x42), 1768a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xA8, 0x87, 0x35, 0x20, 0x3A, 0x89, 0x44), 1769a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFD, 0x4F, 0xAB, 0x2D, 0xD1, 0xD0, 0xC0), 1770a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xE8, 0x00, 0xFC, 0x69, 0x52, 0xF8, 0xD5), 1771a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x9A, 0x99, 0xE1, 0xDC, 0x9C, 0x3F, 0xD9), 1772a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1773a8e1175bSopenharmony_ci}; 1774a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_15_Y[] = { 1775a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x08, 0x98, 0xD9, 0xCA, 0x73, 0xD5, 0xA9), 1776a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x2C, 0xE0, 0xA7, 0x3E, 0x91, 0xD7, 0x87), 1777a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x04, 0xB0, 0x54, 0x09, 0xF4, 0x72, 0xB7), 1778a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xEE, 0x28, 0xCC, 0xE8, 0x50, 0x78, 0x20), 1779a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x91, 0x03, 0x76, 0xDB, 0x68, 0x24, 0x77), 1780a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xE0, 0x56, 0xB2, 0x5D, 0x12, 0xD3, 0xB5), 1781a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x42, 0x59, 0x8B, 0xDF, 0x67, 0xB5, 0xBE), 1782a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xCC, 0xE5, 0x31, 0x53, 0x7A, 0x46, 0xB3), 1783a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1784a8e1175bSopenharmony_ci}; 1785a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_16_X[] = { 1786a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x8D, 0x59, 0xB5, 0x1B, 0x0F, 0xF4, 0xAF), 1787a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x2F, 0xD1, 0x2C, 0xE0, 0xD8, 0x04, 0xEF), 1788a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF4, 0xD7, 0xBA, 0xB0, 0xA3, 0x7E, 0xC9), 1789a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x08, 0x51, 0x56, 0xA6, 0x76, 0x67, 0x33), 1790a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x17, 0x63, 0xFE, 0x56, 0xD0, 0xD9, 0x71), 1791a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xF6, 0xC3, 0x14, 0x47, 0xC5, 0xA7, 0x31), 1792a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x4C, 0x80, 0xF6, 0xA2, 0x57, 0xA7, 0x5D), 1793a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xB3, 0x7B, 0xF8, 0x2F, 0xE1, 0x3E, 0x7B), 1794a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1795a8e1175bSopenharmony_ci}; 1796a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_16_Y[] = { 1797a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0xF4, 0xF9, 0x6B, 0x7B, 0x90, 0xDF, 0x30), 1798a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x82, 0xEF, 0x62, 0xA1, 0x4C, 0x53, 0xCA), 1799a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x99, 0x76, 0x01, 0xBA, 0x8D, 0x0F, 0x54), 1800a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xF4, 0x58, 0x73, 0x56, 0xFE, 0xDD, 0x7C), 1801a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xCE, 0xF9, 0xE8, 0xA1, 0x34, 0xC3, 0x5B), 1802a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x5F, 0xDC, 0x6A, 0x3D, 0xD8, 0x7F, 0x42), 1803a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xF4, 0x51, 0xB8, 0xB8, 0xC1, 0xD7, 0x2F), 1804a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x7D, 0x58, 0xD1, 0xD4, 0x1B, 0x4D, 0x23), 1805a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1806a8e1175bSopenharmony_ci}; 1807a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_17_X[] = { 1808a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x95, 0xDF, 0x00, 0xD8, 0x21, 0xDE, 0x94), 1809a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x47, 0x3C, 0xC3, 0xB2, 0x01, 0x53, 0x5D), 1810a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x17, 0x43, 0x23, 0xBD, 0xCA, 0x71, 0xF2), 1811a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xBA, 0x0F, 0x4F, 0xDC, 0x41, 0x54, 0xBE), 1812a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x39, 0x26, 0x70, 0x53, 0x32, 0x18, 0x11), 1813a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x46, 0x07, 0x97, 0x3A, 0x57, 0xE0, 0x01), 1814a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x92, 0x4F, 0xCE, 0xDF, 0x25, 0x80, 0x26), 1815a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x6F, 0x9A, 0x03, 0x05, 0x4B, 0xD1, 0x47), 1816a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1817a8e1175bSopenharmony_ci}; 1818a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_17_Y[] = { 1819a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x01, 0x72, 0x30, 0x90, 0x17, 0x51, 0x20), 1820a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xFB, 0x41, 0x65, 0x5C, 0xB4, 0x2D, 0xEE), 1821a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xCD, 0xCD, 0xAA, 0x41, 0xCC, 0xBB, 0x07), 1822a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xCE, 0x08, 0x0A, 0x63, 0xE9, 0xA2, 0xFF), 1823a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xA8, 0x21, 0x7F, 0x7A, 0x5B, 0x9B, 0x81), 1824a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x6B, 0x89, 0x44, 0x0A, 0x7F, 0x85, 0x5F), 1825a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0xDE, 0x7C, 0x19, 0x5C, 0x65, 0x26, 0x61), 1826a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0xAC, 0x62, 0x29, 0x4A, 0xF1, 0xD0, 0x81), 1827a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1828a8e1175bSopenharmony_ci}; 1829a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_18_X[] = { 1830a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x00, 0x40, 0x87, 0xEB, 0xA9, 0x58, 0x56), 1831a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x51, 0x0B, 0xFF, 0x56, 0x35, 0x51, 0xB3), 1832a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xAC, 0x08, 0x94, 0x71, 0xDA, 0xEC, 0x99), 1833a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x4D, 0xC5, 0x7B, 0x31, 0x8B, 0x8D, 0x5E), 1834a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x05, 0xF1, 0x3E, 0x9E, 0x8F, 0x17, 0x8F), 1835a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x9C, 0x4B, 0x62, 0x94, 0xAD, 0x49, 0xFC), 1836a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xC9, 0xC6, 0x8F, 0xFD, 0x33, 0x44, 0x34), 1837a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x96, 0x17, 0x7F, 0x42, 0xBE, 0xF7, 0x0D), 1838a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1839a8e1175bSopenharmony_ci}; 1840a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_18_Y[] = { 1841a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x29, 0x39, 0x13, 0x08, 0x8D, 0x91, 0x47), 1842a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x79, 0xF9, 0x2F, 0xA9, 0x0A, 0xCF, 0xD6), 1843a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x87, 0x7A, 0xA3, 0x19, 0xAB, 0x55, 0xAD), 1844a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x0B, 0x01, 0xC5, 0x56, 0x19, 0x9D, 0x9E), 1845a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xDE, 0x82, 0x3B, 0xEA, 0xD3, 0x0B, 0x8C), 1846a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x6B, 0xC7, 0xF3, 0x0F, 0x82, 0x87, 0x6C), 1847a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x2E, 0x23, 0xF2, 0x39, 0x9D, 0x49, 0x70), 1848a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0xDE, 0xAF, 0x7A, 0xEE, 0xB0, 0xDA, 0x70), 1849a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1850a8e1175bSopenharmony_ci}; 1851a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_19_X[] = { 1852a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x4E, 0x2A, 0x50, 0xFD, 0x8E, 0xC0, 0xEB), 1853a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x0F, 0x7C, 0x76, 0x63, 0xD8, 0x89, 0x45), 1854a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x2D, 0xB9, 0x4E, 0xF4, 0xEE, 0x85, 0xCF), 1855a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x95, 0x5C, 0x96, 0x5D, 0xAA, 0x59, 0x0B), 1856a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xDB, 0xD2, 0x68, 0x8E, 0x5A, 0x94, 0x60), 1857a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x02, 0xBF, 0x77, 0x9F, 0xB9, 0x4C, 0xC9), 1858a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xDC, 0xC0, 0xCF, 0x81, 0x1E, 0xC4, 0x6C), 1859a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xCC, 0x37, 0x86, 0xDC, 0xE2, 0x64, 0x72), 1860a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1861a8e1175bSopenharmony_ci}; 1862a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_19_Y[] = { 1863a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x30, 0xB1, 0x59, 0x20, 0x9D, 0x98, 0x28), 1864a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x0C, 0x9D, 0xF8, 0x20, 0xDC, 0x90, 0xBA), 1865a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xA0, 0xF4, 0xE7, 0x3E, 0x9C, 0x9E, 0xA2), 1866a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x25, 0xA2, 0xB0, 0x54, 0xCD, 0x2E, 0x33), 1867a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD9, 0x42, 0xB0, 0x80, 0xB0, 0xA3, 0x38), 1868a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xFE, 0x9D, 0x8D, 0x40, 0xFF, 0x27, 0x6D), 1869a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x9D, 0xA6, 0x88, 0x3A, 0x8B, 0x6F, 0x14), 1870a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x39, 0xEE, 0x1F, 0x3F, 0xB1, 0x4F, 0x63), 1871a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1872a8e1175bSopenharmony_ci}; 1873a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_20_X[] = { 1874a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xD7, 0x9E, 0xFF, 0xD2, 0x35, 0x67, 0x03), 1875a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x4F, 0x15, 0x5D, 0xE3, 0xE8, 0x53, 0x86), 1876a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xF7, 0x24, 0x98, 0xA2, 0xCB, 0x11, 0x68), 1877a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x2E, 0x25, 0xE1, 0x94, 0xC5, 0xA3, 0x96), 1878a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x82, 0x6E, 0xBA, 0xE7, 0x43, 0x25, 0xB0), 1879a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x65, 0xB4, 0x49, 0x73, 0x18, 0x35, 0x54), 1880a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0x5B, 0xBC, 0x62, 0x86, 0x4C, 0xC1, 0xB7), 1881a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xF2, 0x95, 0xA2, 0xBB, 0xA2, 0x35, 0x65), 1882a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1883a8e1175bSopenharmony_ci}; 1884a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_20_Y[] = { 1885a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x59, 0x62, 0xB0, 0x4B, 0x1E, 0xB4, 0xD8), 1886a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x55, 0xCE, 0xB0, 0x69, 0xBA, 0x63, 0x10), 1887a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0x69, 0x86, 0xDB, 0x34, 0x7D, 0x68, 0x64), 1888a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x06, 0xCA, 0x55, 0x44, 0x36, 0x2B, 0xBA), 1889a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xD4, 0xC4, 0x3D, 0xCD, 0x9E, 0x69, 0xA4), 1890a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x44, 0xE4, 0xBF, 0x31, 0xE6, 0x40, 0x9F), 1891a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x4F, 0xFA, 0x75, 0xE3, 0xFB, 0x97, 0x0E), 1892a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xC0, 0xBD, 0x1C, 0x48, 0xB0, 0x26, 0xD0), 1893a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1894a8e1175bSopenharmony_ci}; 1895a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_21_X[] = { 1896a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x7B, 0x32, 0xFA, 0xF2, 0x6D, 0x84, 0x8E), 1897a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x21, 0x03, 0x1D, 0x0D, 0x22, 0x55, 0x67), 1898a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xF9, 0x42, 0x03, 0x9C, 0xC2, 0xCB, 0xBA), 1899a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xA1, 0x96, 0xD9, 0x9D, 0x11, 0x6F, 0xBE), 1900a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x40, 0x57, 0xEB, 0x40, 0x2D, 0xC0, 0x11), 1901a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x96, 0xBB, 0x4F, 0x2F, 0x23, 0xA8, 0x28), 1902a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x29, 0x85, 0x21, 0xA5, 0x50, 0x62, 0x06), 1903a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x7D, 0x92, 0xCF, 0x87, 0x0C, 0x22, 0xF9), 1904a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1905a8e1175bSopenharmony_ci}; 1906a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_21_Y[] = { 1907a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x0E, 0xA5, 0x32, 0x5B, 0xDF, 0x9C, 0xD5), 1908a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x96, 0x37, 0x2C, 0x88, 0x35, 0x30, 0xA1), 1909a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xB4, 0x69, 0xFF, 0xEB, 0xC6, 0x94, 0x08), 1910a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x55, 0x60, 0xAD, 0xAA, 0x58, 0x14, 0x88), 1911a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xFF, 0xF2, 0xB2, 0xD5, 0xA7, 0xD9, 0x27), 1912a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xAE, 0x54, 0xD2, 0x60, 0x31, 0xF3, 0x15), 1913a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x92, 0x83, 0xE3, 0xF1, 0x42, 0x83, 0x6E), 1914a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xD2, 0xC8, 0xB7, 0x76, 0x45, 0x7F, 0x7D), 1915a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1916a8e1175bSopenharmony_ci}; 1917a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_22_X[] = { 1918a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x11, 0xA4, 0xFB, 0x7A, 0x01, 0xBC, 0xC8), 1919a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x27, 0x73, 0x8D, 0x02, 0x91, 0x27, 0x8E), 1920a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x62, 0xF6, 0xDD, 0x6B, 0xFA, 0x5B, 0xB9), 1921a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xCA, 0xA2, 0x44, 0x2C, 0xF0, 0x28, 0xD8), 1922a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xF1, 0x7A, 0xA2, 0x42, 0x4C, 0x50, 0xC6), 1923a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x83, 0x3E, 0x50, 0xAB, 0x9C, 0xF7, 0x67), 1924a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xED, 0x78, 0xCB, 0x76, 0x69, 0xDA, 0x42), 1925a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x01, 0x1E, 0x43, 0x27, 0x47, 0x6E, 0xDA), 1926a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1927a8e1175bSopenharmony_ci}; 1928a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_22_Y[] = { 1929a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x4F, 0x54, 0xB9, 0x3E, 0xBD, 0xD5, 0x44), 1930a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x35, 0x40, 0x69, 0x7F, 0x74, 0x9D, 0x32), 1931a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x06, 0x6F, 0x67, 0x68, 0x2B, 0x4D, 0x10), 1932a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x65, 0x41, 0xFC, 0x7C, 0x1E, 0xE8, 0xC8), 1933a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x79, 0x37, 0xAF, 0xFD, 0xD2, 0xDA, 0x4C), 1934a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xA8, 0x69, 0x56, 0x62, 0xA4, 0xE4, 0xA3), 1935a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x71, 0x73, 0x21, 0x8A, 0x17, 0x81, 0xA2), 1936a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x55, 0x8F, 0x7B, 0xB8, 0xAF, 0xF7, 0x86), 1937a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1938a8e1175bSopenharmony_ci}; 1939a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_23_X[] = { 1940a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xD1, 0xBD, 0xBE, 0x8C, 0xBC, 0x60, 0x6E), 1941a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xA6, 0x57, 0x8C, 0xAE, 0x5C, 0x19, 0xFE), 1942a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x43, 0xE4, 0xD9, 0xD8, 0x7B, 0xE7, 0x41), 1943a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xB9, 0xE4, 0x85, 0x7C, 0x2E, 0xFC, 0x20), 1944a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x2E, 0x01, 0x2A, 0x6D, 0x56, 0xBE, 0x97), 1945a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x0C, 0x25, 0x9B, 0xAE, 0x86, 0x37, 0x43), 1946a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x22, 0xB3, 0xCB, 0x99, 0x66, 0xB7, 0x9E), 1947a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xF7, 0x90, 0xF0, 0x1B, 0x09, 0x27, 0xF7), 1948a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1949a8e1175bSopenharmony_ci}; 1950a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_23_Y[] = { 1951a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x16, 0x08, 0xEF, 0x39, 0x64, 0x49, 0x31), 1952a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xA0, 0xE3, 0x97, 0xA9, 0x07, 0x54, 0x26), 1953a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xFF, 0xE2, 0x00, 0x07, 0x21, 0x88, 0x20), 1954a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xFD, 0x59, 0x53, 0x05, 0x6C, 0x42, 0x27), 1955a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xF7, 0x39, 0x5C, 0x82, 0x36, 0xE8, 0x03), 1956a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x83, 0xA8, 0xE2, 0xA8, 0x43, 0x07, 0x38), 1957a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xAF, 0x2B, 0x79, 0xED, 0xD8, 0x39, 0x87), 1958a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x20, 0x91, 0x7A, 0xC4, 0x07, 0xEF, 0x6C), 1959a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1960a8e1175bSopenharmony_ci}; 1961a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_24_X[] = { 1962a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x10, 0x2F, 0xAA, 0x0C, 0x94, 0x0E, 0x5A), 1963a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x81, 0x87, 0x41, 0x23, 0xEB, 0x55, 0x7C), 1964a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x53, 0xCC, 0x79, 0xB6, 0xEB, 0x6C, 0xCC), 1965a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x77, 0x73, 0x9D, 0xFC, 0x64, 0x6F, 0x7F), 1966a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x40, 0xE3, 0x6D, 0x1C, 0x16, 0x71, 0x15), 1967a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xF4, 0x1B, 0xFF, 0x1C, 0x2F, 0xA5, 0xD7), 1968a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x0E, 0x0B, 0x11, 0xF4, 0x8D, 0x93, 0xAF), 1969a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xC5, 0x64, 0x6F, 0x24, 0x19, 0xF2, 0x9B), 1970a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1971a8e1175bSopenharmony_ci}; 1972a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_24_Y[] = { 1973a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xB3, 0xAF, 0xA5, 0x0E, 0x4F, 0x5E, 0xE1), 1974a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x77, 0xCA, 0xF2, 0x6D, 0xC5, 0xF6, 0x9F), 1975a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x18, 0x8E, 0x33, 0x68, 0x6C, 0xE8, 0xE0), 1976a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x8B, 0x80, 0x90, 0x19, 0x7F, 0x90, 0x96), 1977a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x80, 0x6B, 0x68, 0xE2, 0x7D, 0xD4, 0xD0), 1978a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xC1, 0x67, 0xB3, 0x72, 0xCB, 0xBF, 0x2F), 1979a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xD5, 0xD3, 0x1D, 0x14, 0x58, 0x0A, 0x80), 1980a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x7A, 0x65, 0x98, 0xB3, 0x07, 0x4B, 0x2F), 1981a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1982a8e1175bSopenharmony_ci}; 1983a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_25_X[] = { 1984a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x87, 0x0F, 0x5F, 0xCF, 0xA2, 0x01, 0x08), 1985a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xC9, 0xC8, 0x6E, 0x35, 0x87, 0xA5, 0x67), 1986a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x3E, 0x91, 0xA0, 0xAB, 0x24, 0x1E, 0xF2), 1987a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xBC, 0x02, 0x35, 0x70, 0xC1, 0x5F, 0x98), 1988a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x59, 0xA0, 0x50, 0x04, 0x80, 0x52, 0x85), 1989a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x56, 0x6E, 0x42, 0x8F, 0x8C, 0x91, 0x65), 1990a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xA2, 0xCB, 0xA5, 0xDE, 0x14, 0x24, 0x38), 1991a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xCB, 0x74, 0x28, 0xE6, 0xA7, 0xE7, 0xC3), 1992a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1993a8e1175bSopenharmony_ci}; 1994a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_25_Y[] = { 1995a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x73, 0xA8, 0x8F, 0x9E, 0x0E, 0x63, 0x96), 1996a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x1B, 0x77, 0xC7, 0xC1, 0x38, 0xF9, 0xDC), 1997a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x3C, 0xCF, 0xA8, 0x7A, 0xD7, 0xF3, 0xC4), 1998a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x5F, 0x9A, 0xC9, 0xAD, 0xE9, 0x1A, 0x93), 1999a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xCF, 0x2B, 0x5E, 0xD5, 0x81, 0x95, 0xA8), 2000a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x88, 0x75, 0x29, 0x1F, 0xC7, 0xC7, 0xD0), 2001a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA9, 0x5A, 0x4D, 0x63, 0x95, 0xF9, 0x4E), 2002a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xCD, 0x04, 0x8F, 0xCD, 0x91, 0xDE, 0xC6), 2003a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2004a8e1175bSopenharmony_ci}; 2005a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_26_X[] = { 2006a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xD4, 0xFD, 0x25, 0x11, 0x99, 0x6E, 0xEA), 2007a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x83, 0x01, 0x3D, 0xFB, 0x56, 0xA5, 0x4E), 2008a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x3A, 0xDC, 0x74, 0xC2, 0xD7, 0xCF, 0xE8), 2009a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0xBD, 0xF1, 0xDD, 0xA3, 0x07, 0x03, 0xE2), 2010a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xBE, 0xE9, 0x2E, 0x58, 0x84, 0x66, 0xFC), 2011a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x20, 0x78, 0x37, 0x79, 0x0B, 0xA6, 0x64), 2012a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xF2, 0xAC, 0x65, 0xC8, 0xC9, 0x2F, 0x61), 2013a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x93, 0xE5, 0x0D, 0x0C, 0xC6, 0xB8, 0xCB), 2014a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2015a8e1175bSopenharmony_ci}; 2016a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_26_Y[] = { 2017a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xAD, 0x5C, 0x19, 0x12, 0x61, 0x0E, 0x25), 2018a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x4F, 0x0B, 0x1F, 0x49, 0x7E, 0xCD, 0x81), 2019a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2E, 0x30, 0x61, 0xDB, 0x08, 0x68, 0x9B), 2020a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x78, 0xAF, 0xB3, 0x08, 0xC1, 0x69, 0xE5), 2021a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x5F, 0x5D, 0xC1, 0x57, 0x6F, 0xD8, 0x34), 2022a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0xD3, 0x6A, 0xF7, 0xFD, 0x86, 0xE5, 0xB3), 2023a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x63, 0xBD, 0x70, 0x7B, 0x47, 0xE8, 0x6D), 2024a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x62, 0xC8, 0x7E, 0x9D, 0x11, 0x2B, 0xA5), 2025a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2026a8e1175bSopenharmony_ci}; 2027a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_27_X[] = { 2028a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x84, 0xFD, 0xD5, 0x9A, 0x56, 0x7F, 0x5C), 2029a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xBB, 0xA4, 0x6F, 0x12, 0x6E, 0x4D, 0xF8), 2030a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x08, 0xA1, 0x82, 0x9C, 0x62, 0x74, 0x7B), 2031a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x58, 0x22, 0x05, 0x1D, 0x15, 0x35, 0x79), 2032a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x88, 0xCF, 0x5C, 0x05, 0x78, 0xFB, 0x94), 2033a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x6B, 0x2F, 0x79, 0x09, 0x73, 0x67, 0xEC), 2034a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA0, 0x80, 0xD8, 0xE8, 0xEC, 0xFB, 0x42), 2035a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xE7, 0x0B, 0xB7, 0x81, 0x48, 0x7B, 0xD9), 2036a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2037a8e1175bSopenharmony_ci}; 2038a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_27_Y[] = { 2039a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x53, 0xA9, 0xED, 0x61, 0x92, 0xD7, 0x85), 2040a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x49, 0xD9, 0x5D, 0x9B, 0x4E, 0x89, 0x35), 2041a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x12, 0xEB, 0x9A, 0xC9, 0xCB, 0xC1, 0x95), 2042a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xDC, 0x95, 0x16, 0xFE, 0x29, 0x70, 0x01), 2043a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x33, 0xB1, 0xD6, 0x78, 0xB9, 0xE2, 0x36), 2044a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xCE, 0x88, 0xC3, 0xFD, 0x7A, 0x6B, 0xB8), 2045a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x1E, 0x50, 0x1E, 0xAF, 0xB1, 0x25, 0x2D), 2046a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xE7, 0xD7, 0xD5, 0xBD, 0x7A, 0x12, 0xF9), 2047a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2048a8e1175bSopenharmony_ci}; 2049a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_28_X[] = { 2050a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xAA, 0xA2, 0x80, 0x5D, 0x8F, 0xCD, 0xC8), 2051a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x39, 0x79, 0x64, 0xA1, 0x67, 0x3C, 0xB7), 2052a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xC7, 0x49, 0xFF, 0x7F, 0xAC, 0xAB, 0x55), 2053a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x54, 0x3E, 0x83, 0xF0, 0x3D, 0xBC, 0xB5), 2054a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x92, 0x4A, 0x38, 0x42, 0x8A, 0xAB, 0xF6), 2055a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x0B, 0x4F, 0xEE, 0x9E, 0x92, 0xA5, 0xBE), 2056a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0xDD, 0x19, 0x96, 0xF2, 0xF0, 0x6B, 0x2E), 2057a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xFC, 0xDD, 0xB2, 0x8A, 0xE5, 0x4C, 0x22), 2058a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2059a8e1175bSopenharmony_ci}; 2060a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_28_Y[] = { 2061a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x06, 0x49, 0xAC, 0x99, 0x7E, 0xF8, 0x12), 2062a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xC8, 0x01, 0x51, 0xEA, 0xF6, 0x52, 0xE7), 2063a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x89, 0x66, 0x2B, 0x1F, 0x9B, 0x2A, 0xA3), 2064a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x0F, 0x95, 0x07, 0x2B, 0x6C, 0x6E, 0x9E), 2065a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0xC3, 0xB4, 0xBB, 0x91, 0x1F, 0xA3, 0x72), 2066a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x6E, 0x54, 0x28, 0x7B, 0x9C, 0x79, 0x2E), 2067a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x45, 0xFF, 0xA6, 0xDA, 0xA2, 0x83, 0x71), 2068a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xDE, 0x8F, 0x17, 0x37, 0x82, 0xCB, 0xE2), 2069a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2070a8e1175bSopenharmony_ci}; 2071a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_29_X[] = { 2072a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x94, 0x3F, 0x26, 0xC9, 0x1D, 0xD9, 0xAE), 2073a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x97, 0x28, 0x20, 0xCD, 0xC1, 0xF3, 0x40), 2074a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xC9, 0xB5, 0x60, 0x9B, 0x1E, 0xDC, 0x74), 2075a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xB9, 0x5B, 0x7D, 0xA0, 0xB2, 0x8C, 0xF0), 2076a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xD1, 0x42, 0xE6, 0x39, 0x33, 0x6D, 0xBB), 2077a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xC0, 0xFC, 0xD2, 0x14, 0x5D, 0x3E, 0x3C), 2078a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x4A, 0x3E, 0x40, 0x16, 0x93, 0x15, 0xCF), 2079a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x24, 0xC1, 0x27, 0x27, 0xE5, 0x4B, 0xD8), 2080a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2081a8e1175bSopenharmony_ci}; 2082a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_29_Y[] = { 2083a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x50, 0xD8, 0xBC, 0xC1, 0x46, 0x22, 0xBB), 2084a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x0E, 0x60, 0xA1, 0xB3, 0x50, 0xD4, 0x86), 2085a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xB1, 0x26, 0xB6, 0x6D, 0x47, 0x5A, 0x6F), 2086a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0xAC, 0x11, 0x35, 0x3E, 0xB9, 0xF4, 0x01), 2087a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x97, 0xFA, 0xBB, 0x6B, 0x39, 0x13, 0xD8), 2088a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x7B, 0x34, 0x12, 0x75, 0x8E, 0x9B, 0xC6), 2089a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x9E, 0xCD, 0x29, 0xB6, 0xEF, 0x8D, 0x10), 2090a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xAC, 0xE9, 0x25, 0x27, 0xBB, 0x78, 0x47), 2091a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2092a8e1175bSopenharmony_ci}; 2093a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_30_X[] = { 2094a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x7A, 0xA8, 0xD3, 0xE3, 0x66, 0xE5, 0x66), 2095a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x4C, 0xC4, 0x2C, 0x76, 0x81, 0x50, 0x32), 2096a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x71, 0x08, 0xB8, 0x52, 0x7C, 0xAF, 0xDC), 2097a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x59, 0x24, 0xDD, 0xFB, 0x2F, 0xD0, 0xDA), 2098a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xCD, 0x56, 0xE9, 0xAC, 0x91, 0xE6, 0xB9), 2099a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x64, 0x20, 0xC6, 0x9F, 0xE4, 0xEF, 0xDF), 2100a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x2C, 0x8F, 0x8C, 0x97, 0xF6, 0x22, 0xC3), 2101a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xF4, 0x88, 0xAA, 0xA8, 0xD7, 0xA5, 0x68), 2102a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2103a8e1175bSopenharmony_ci}; 2104a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_30_Y[] = { 2105a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x6C, 0xAE, 0x83, 0xB1, 0x55, 0x55, 0xEE), 2106a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x67, 0x84, 0x47, 0x7C, 0x83, 0x5C, 0x89), 2107a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x10, 0x4D, 0xDD, 0x30, 0x60, 0xB0, 0xE6), 2108a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xA7, 0x36, 0x76, 0x24, 0x32, 0x9F, 0x9D), 2109a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x42, 0x81, 0xFB, 0xA4, 0x2E, 0x13, 0x68), 2110a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x94, 0x91, 0xFF, 0x99, 0xA0, 0x09, 0x61), 2111a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x83, 0xA1, 0x76, 0xAF, 0x37, 0x5C, 0x77), 2112a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xA8, 0x04, 0x86, 0xC4, 0xA9, 0x79, 0x42), 2113a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2114a8e1175bSopenharmony_ci}; 2115a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_31_X[] = { 2116a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x8C, 0xC2, 0x34, 0xFB, 0x83, 0x28, 0x27), 2117a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x03, 0x7D, 0x5E, 0x9E, 0x0E, 0xB0, 0x22), 2118a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x02, 0x46, 0x7F, 0xB9, 0xAC, 0xBB, 0x23), 2119a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xED, 0x48, 0xC2, 0x96, 0x4D, 0x56, 0x27), 2120a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xB5, 0xC5, 0xD1, 0xE6, 0x1C, 0x7E, 0x9B), 2121a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x2E, 0x18, 0x71, 0x2D, 0x7B, 0xD7, 0xB3), 2122a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x46, 0x9D, 0xDE, 0xAA, 0x78, 0x8E, 0xB1), 2123a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xD7, 0x69, 0x2E, 0xE1, 0xD9, 0x48, 0xDE), 2124a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2125a8e1175bSopenharmony_ci}; 2126a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp521r1_T_31_Y[] = { 2127a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xFF, 0x9E, 0x09, 0x22, 0x22, 0xE6, 0x8D), 2128a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x14, 0x28, 0x13, 0x1B, 0x62, 0x12, 0x22), 2129a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x7F, 0x67, 0x03, 0xB0, 0xC0, 0xF3, 0x05), 2130a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xC3, 0x0F, 0xFB, 0x25, 0x48, 0x3E, 0xF4), 2131a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x6E, 0x53, 0x98, 0x36, 0xB3, 0xD3, 0x94), 2132a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x81, 0x54, 0x22, 0xA4, 0xCC, 0xC1, 0x22), 2133a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xBA, 0xFC, 0xA9, 0xDF, 0x68, 0x86, 0x2B), 2134a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x92, 0x0E, 0xC3, 0xF2, 0x58, 0xE8, 0x51), 2135a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2136a8e1175bSopenharmony_ci}; 2137a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp521r1_T[32] = { 2138a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp521r1_T_0_X, secp521r1_T_0_Y), 2139a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_1_X, secp521r1_T_1_Y), 2140a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_2_X, secp521r1_T_2_Y), 2141a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_3_X, secp521r1_T_3_Y), 2142a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_4_X, secp521r1_T_4_Y), 2143a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_5_X, secp521r1_T_5_Y), 2144a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_6_X, secp521r1_T_6_Y), 2145a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_7_X, secp521r1_T_7_Y), 2146a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_8_X, secp521r1_T_8_Y), 2147a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_9_X, secp521r1_T_9_Y), 2148a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_10_X, secp521r1_T_10_Y), 2149a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_11_X, secp521r1_T_11_Y), 2150a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_12_X, secp521r1_T_12_Y), 2151a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_13_X, secp521r1_T_13_Y), 2152a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_14_X, secp521r1_T_14_Y), 2153a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_15_X, secp521r1_T_15_Y), 2154a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_16_X, secp521r1_T_16_Y), 2155a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_17_X, secp521r1_T_17_Y), 2156a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_18_X, secp521r1_T_18_Y), 2157a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_19_X, secp521r1_T_19_Y), 2158a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_20_X, secp521r1_T_20_Y), 2159a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_21_X, secp521r1_T_21_Y), 2160a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_22_X, secp521r1_T_22_Y), 2161a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_23_X, secp521r1_T_23_Y), 2162a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_24_X, secp521r1_T_24_Y), 2163a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_25_X, secp521r1_T_25_Y), 2164a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_26_X, secp521r1_T_26_Y), 2165a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_27_X, secp521r1_T_27_Y), 2166a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_28_X, secp521r1_T_28_Y), 2167a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_29_X, secp521r1_T_29_Y), 2168a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_30_X, secp521r1_T_30_Y), 2169a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp521r1_T_31_X, secp521r1_T_31_Y), 2170a8e1175bSopenharmony_ci}; 2171a8e1175bSopenharmony_ci#else 2172a8e1175bSopenharmony_ci#define secp521r1_T NULL 2173a8e1175bSopenharmony_ci#endif 2174a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 2175a8e1175bSopenharmony_ci 2176a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 2177a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_p[] = { 2178a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xEE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF), 2179a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2180a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2181a8e1175bSopenharmony_ci}; 2182a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_a[] = { 2183a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00), 2184a8e1175bSopenharmony_ci}; 2185a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_b[] = { 2186a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x03, 0x00), 2187a8e1175bSopenharmony_ci}; 2188a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_gx[] = { 2189a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0xE0, 0xEA, 0xB1, 0xD1, 0xA5, 0x1D), 2190a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF4, 0xB7, 0x80, 0x02, 0x7D, 0xB0, 0x26), 2191a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xE9, 0x57, 0xC0, 0x0E, 0xF1, 0x4F, 0xDB), 2192a8e1175bSopenharmony_ci}; 2193a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_gy[] = { 2194a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x2F, 0x5E, 0xD9, 0x88, 0xAA, 0x82, 0x40), 2195a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x86, 0xBE, 0x15, 0xD0, 0x63, 0x41, 0x84), 2196a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x28, 0x56, 0x9C, 0x6D, 0x2F, 0x2F, 0x9B), 2197a8e1175bSopenharmony_ci}; 2198a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_n[] = { 2199a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFD, 0xDE, 0x74, 0x6A, 0x46, 0x69, 0x0F), 2200a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xFC, 0xF2, 0x26, 0xFE, 0xFF, 0xFF, 0xFF), 2201a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2202a8e1175bSopenharmony_ci}; 2203a8e1175bSopenharmony_ci 2204a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 2205a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_0_X[] = { 2206a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0xE0, 0xEA, 0xB1, 0xD1, 0xA5, 0x1D), 2207a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF4, 0xB7, 0x80, 0x02, 0x7D, 0xB0, 0x26), 2208a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xE9, 0x57, 0xC0, 0x0E, 0xF1, 0x4F, 0xDB), 2209a8e1175bSopenharmony_ci}; 2210a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_0_Y[] = { 2211a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x2F, 0x5E, 0xD9, 0x88, 0xAA, 0x82, 0x40), 2212a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x86, 0xBE, 0x15, 0xD0, 0x63, 0x41, 0x84), 2213a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x28, 0x56, 0x9C, 0x6D, 0x2F, 0x2F, 0x9B), 2214a8e1175bSopenharmony_ci}; 2215a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_1_X[] = { 2216a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x77, 0x3D, 0x0D, 0x85, 0x48, 0xA8, 0xA9), 2217a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x07, 0xDF, 0x1D, 0xB3, 0xB3, 0x01, 0x54), 2218a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x86, 0xF6, 0xAF, 0x19, 0x2A, 0x88, 0x2E), 2219a8e1175bSopenharmony_ci}; 2220a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_1_Y[] = { 2221a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x90, 0xB6, 0x2F, 0x48, 0x36, 0x4C, 0x5B), 2222a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x11, 0x14, 0xA6, 0xCB, 0xBA, 0x15, 0xD9), 2223a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0xB0, 0xF2, 0xD4, 0xC9, 0xDA, 0xBA, 0xD7), 2224a8e1175bSopenharmony_ci}; 2225a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_2_X[] = { 2226a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0xC1, 0x9C, 0xE6, 0xBB, 0xFB, 0xCF, 0x23), 2227a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x19, 0xAC, 0x5A, 0xC9, 0x8A, 0x1C, 0x75), 2228a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xF6, 0x76, 0x86, 0x89, 0x27, 0x8D, 0x28), 2229a8e1175bSopenharmony_ci}; 2230a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_2_Y[] = { 2231a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xE0, 0x6F, 0x34, 0xBA, 0x5E, 0xD3, 0x96), 2232a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xDC, 0xA6, 0x87, 0xC9, 0x9D, 0xC0, 0x82), 2233a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x11, 0x7E, 0xD6, 0xF7, 0x33, 0xFC, 0xE4), 2234a8e1175bSopenharmony_ci}; 2235a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_3_X[] = { 2236a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x37, 0x3E, 0xC0, 0x7F, 0x62, 0xE7, 0x54), 2237a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x3B, 0x69, 0x9D, 0x44, 0xBC, 0x82, 0x99), 2238a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x84, 0xB3, 0x5F, 0x2B, 0xA5, 0x9E, 0x2C), 2239a8e1175bSopenharmony_ci}; 2240a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_3_Y[] = { 2241a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x95, 0xEB, 0x4C, 0x04, 0xB4, 0xF4, 0x75), 2242a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xAD, 0x4B, 0xD5, 0x9A, 0xEB, 0xC4, 0x4E), 2243a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xB1, 0xC5, 0x59, 0xE3, 0xD5, 0x16, 0x2A), 2244a8e1175bSopenharmony_ci}; 2245a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_4_X[] = { 2246a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x2A, 0xCC, 0xAC, 0xD0, 0xEE, 0x50, 0xEC), 2247a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x83, 0xE0, 0x5B, 0x14, 0x44, 0x52, 0x20), 2248a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x15, 0x2D, 0x78, 0xF6, 0x51, 0x32, 0xCF), 2249a8e1175bSopenharmony_ci}; 2250a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_4_Y[] = { 2251a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x36, 0x9B, 0xDD, 0xF8, 0xDD, 0xEF, 0xB2), 2252a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xB1, 0x6A, 0x2B, 0xAF, 0xEB, 0x2B, 0xB1), 2253a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x87, 0x7A, 0x66, 0x5D, 0x5B, 0xDF, 0x8F), 2254a8e1175bSopenharmony_ci}; 2255a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_5_X[] = { 2256a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x45, 0xE5, 0x81, 0x9B, 0xEB, 0x37, 0x23), 2257a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x29, 0xE2, 0x20, 0x64, 0x23, 0x6B, 0x6E), 2258a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x1D, 0x41, 0xE1, 0x9B, 0x61, 0x7B, 0xD9), 2259a8e1175bSopenharmony_ci}; 2260a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_5_Y[] = { 2261a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x57, 0xA3, 0x0A, 0x13, 0xE4, 0x59, 0x15), 2262a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x6E, 0x4A, 0x48, 0x84, 0x90, 0xAC, 0xC7), 2263a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xB8, 0xF5, 0xF3, 0xDE, 0xA0, 0xA1, 0x1D), 2264a8e1175bSopenharmony_ci}; 2265a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_6_X[] = { 2266a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x32, 0x81, 0xA9, 0x91, 0x5A, 0x4E, 0x33), 2267a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xA8, 0x90, 0xBE, 0x0F, 0xEC, 0xC0, 0x85), 2268a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x30, 0xD7, 0x08, 0xAE, 0xC4, 0x3A, 0xA5), 2269a8e1175bSopenharmony_ci}; 2270a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_6_Y[] = { 2271a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x55, 0xE3, 0x76, 0xB3, 0x64, 0x74, 0x9F), 2272a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x75, 0xD4, 0xDB, 0x98, 0xD7, 0x39, 0xAE), 2273a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xEB, 0x8A, 0xAB, 0x16, 0xD9, 0xD4, 0x0B), 2274a8e1175bSopenharmony_ci}; 2275a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_7_X[] = { 2276a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xBE, 0xF9, 0xC7, 0xC7, 0xBA, 0xF3, 0xA1), 2277a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x85, 0x59, 0xF3, 0x60, 0x41, 0x02, 0xD2), 2278a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x1C, 0x4A, 0xA4, 0xC7, 0xED, 0x66, 0xBC), 2279a8e1175bSopenharmony_ci}; 2280a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_7_Y[] = { 2281a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x9C, 0x2E, 0x46, 0x52, 0x18, 0x87, 0x14), 2282a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x35, 0x5A, 0x75, 0xAC, 0x4D, 0x75, 0x91), 2283a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0x2F, 0xAC, 0xFC, 0xBC, 0xE6, 0x93, 0x5E), 2284a8e1175bSopenharmony_ci}; 2285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_8_X[] = { 2286a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x4D, 0xC9, 0x18, 0xE9, 0x00, 0xEB, 0x33), 2287a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x69, 0x72, 0x07, 0x5A, 0x59, 0xA8, 0x26), 2288a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x65, 0x83, 0x20, 0x10, 0xF9, 0x69, 0x82), 2289a8e1175bSopenharmony_ci}; 2290a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_8_Y[] = { 2291a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x56, 0x7F, 0x9F, 0xBF, 0x46, 0x0C, 0x7E), 2292a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xCF, 0xF0, 0xDC, 0xDF, 0x2D, 0xE6, 0xE5), 2293a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xF0, 0x72, 0x3A, 0x7A, 0x03, 0xE5, 0x22), 2294a8e1175bSopenharmony_ci}; 2295a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_9_X[] = { 2296a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xAA, 0x57, 0x13, 0x37, 0xA7, 0x2C, 0xD4), 2297a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xAC, 0xA2, 0x23, 0xF9, 0x84, 0x60, 0xD3), 2298a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xEB, 0x51, 0x70, 0x64, 0x78, 0xCA, 0x05), 2299a8e1175bSopenharmony_ci}; 2300a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_9_Y[] = { 2301a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xCC, 0x30, 0x62, 0x93, 0x46, 0x13, 0xE9), 2302a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x26, 0xCC, 0x6C, 0x3D, 0x5C, 0xDA, 0x2C), 2303a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xAA, 0xB8, 0x03, 0xA4, 0x1A, 0x00, 0x96), 2304a8e1175bSopenharmony_ci}; 2305a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_10_X[] = { 2306a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x9D, 0xE6, 0xCC, 0x4E, 0x2E, 0xC2, 0xD5), 2307a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xC3, 0x8A, 0xAE, 0x6F, 0x40, 0x05, 0xEB), 2308a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x8F, 0x4A, 0x4D, 0x35, 0xD3, 0x50, 0x9D), 2309a8e1175bSopenharmony_ci}; 2310a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_10_Y[] = { 2311a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xFD, 0x98, 0xAB, 0xC7, 0x03, 0xB4, 0x55), 2312a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x40, 0xD2, 0x9F, 0xCA, 0xD0, 0x53, 0x00), 2313a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x84, 0x00, 0x6F, 0xC8, 0xAD, 0xED, 0x8D), 2314a8e1175bSopenharmony_ci}; 2315a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_11_X[] = { 2316a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xD3, 0x57, 0xD7, 0xC3, 0x07, 0xBD, 0xD7), 2317a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xBA, 0x47, 0x1D, 0x3D, 0xEF, 0x98, 0x6C), 2318a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xC0, 0x6C, 0x7F, 0x12, 0xEE, 0x9F, 0x67), 2319a8e1175bSopenharmony_ci}; 2320a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_11_Y[] = { 2321a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x02, 0xDA, 0x79, 0xAA, 0xC9, 0x27, 0xC4), 2322a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x79, 0xC7, 0x71, 0x84, 0xCB, 0xE5, 0x5A), 2323a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x37, 0x06, 0xBA, 0xB5, 0xD5, 0x18, 0x4C), 2324a8e1175bSopenharmony_ci}; 2325a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_12_X[] = { 2326a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x65, 0x72, 0x6C, 0xF2, 0x63, 0x27, 0x6A), 2327a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0xBC, 0x71, 0xDF, 0x75, 0xF8, 0x98, 0x4D), 2328a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x70, 0x9B, 0xDC, 0xE7, 0x18, 0x71, 0xFF), 2329a8e1175bSopenharmony_ci}; 2330a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_12_Y[] = { 2331a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x5B, 0x9F, 0x00, 0x5A, 0xB6, 0x80, 0x7A), 2332a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xE0, 0xBB, 0xFC, 0x5E, 0x78, 0x9C, 0x89), 2333a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x03, 0x68, 0x83, 0x3D, 0x2E, 0x4C, 0xDD), 2334a8e1175bSopenharmony_ci}; 2335a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_13_X[] = { 2336a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x49, 0x23, 0xA8, 0xCB, 0x3B, 0x1A, 0xF6), 2337a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x3D, 0xA7, 0x46, 0xCF, 0x75, 0xB6, 0x2C), 2338a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0xFD, 0x30, 0x01, 0xB6, 0xEF, 0xF9, 0xE8), 2339a8e1175bSopenharmony_ci}; 2340a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_13_Y[] = { 2341a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xFA, 0xDA, 0xB8, 0x29, 0x42, 0xC9, 0xC7), 2342a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xD7, 0xA0, 0xE6, 0x6B, 0x86, 0x61, 0x39), 2343a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0xE9, 0xD3, 0x37, 0xD8, 0xE7, 0x35, 0xA9), 2344a8e1175bSopenharmony_ci}; 2345a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_14_X[] = { 2346a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC8, 0x8E, 0xB1, 0xCB, 0xB1, 0xB5, 0x4D), 2347a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xD7, 0x46, 0x7D, 0xAF, 0xE2, 0xDC, 0xBB), 2348a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x46, 0xE7, 0xD8, 0x76, 0x31, 0x90, 0x76), 2349a8e1175bSopenharmony_ci}; 2350a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_14_Y[] = { 2351a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xD3, 0xF4, 0x74, 0xE1, 0x67, 0xD8, 0x66), 2352a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x70, 0x3C, 0xC8, 0xAF, 0x5F, 0xF4, 0x58), 2353a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x4E, 0xED, 0x5C, 0x43, 0xB3, 0x16, 0x35), 2354a8e1175bSopenharmony_ci}; 2355a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_15_X[] = { 2356a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAE, 0xD1, 0xDD, 0x31, 0x14, 0xD3, 0xF0), 2357a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x14, 0x06, 0x13, 0x12, 0x1C, 0x81, 0xF5), 2358a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xF9, 0x0C, 0x91, 0xF7, 0x67, 0x59, 0x63), 2359a8e1175bSopenharmony_ci}; 2360a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp192k1_T_15_Y[] = { 2361a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x91, 0xE2, 0xF4, 0x9D, 0xEB, 0x88, 0x87), 2362a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x82, 0x30, 0x9C, 0xAE, 0x18, 0x4D, 0xB7), 2363a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x79, 0xCF, 0x17, 0xA5, 0x1E, 0xE8, 0xC8), 2364a8e1175bSopenharmony_ci}; 2365a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp192k1_T[16] = { 2366a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp192k1_T_0_X, secp192k1_T_0_Y), 2367a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_1_X, secp192k1_T_1_Y), 2368a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_2_X, secp192k1_T_2_Y), 2369a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_3_X, secp192k1_T_3_Y), 2370a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_4_X, secp192k1_T_4_Y), 2371a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_5_X, secp192k1_T_5_Y), 2372a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_6_X, secp192k1_T_6_Y), 2373a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_7_X, secp192k1_T_7_Y), 2374a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_8_X, secp192k1_T_8_Y), 2375a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_9_X, secp192k1_T_9_Y), 2376a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_10_X, secp192k1_T_10_Y), 2377a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_11_X, secp192k1_T_11_Y), 2378a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_12_X, secp192k1_T_12_Y), 2379a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_13_X, secp192k1_T_13_Y), 2380a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_14_X, secp192k1_T_14_Y), 2381a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp192k1_T_15_X, secp192k1_T_15_Y), 2382a8e1175bSopenharmony_ci}; 2383a8e1175bSopenharmony_ci#else 2384a8e1175bSopenharmony_ci#define secp192k1_T NULL 2385a8e1175bSopenharmony_ci#endif 2386a8e1175bSopenharmony_ci 2387a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 2388a8e1175bSopenharmony_ci 2389a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 2390a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_p[] = { 2391a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xE5, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF), 2392a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2393a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2394a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0xFF, 0xFF, 0xFF, 0xFF), 2395a8e1175bSopenharmony_ci}; 2396a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_a[] = { 2397a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00), 2398a8e1175bSopenharmony_ci}; 2399a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_b[] = { 2400a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x05, 0x00), 2401a8e1175bSopenharmony_ci}; 2402a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_gx[] = { 2403a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xA4, 0xB7, 0xB6, 0x0E, 0x65, 0x7E, 0x0F), 2404a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x75, 0x70, 0xE4, 0xE9, 0x67, 0xA4, 0x69), 2405a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x28, 0xFC, 0x30, 0xDF, 0x99, 0xF0, 0x4D), 2406a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0x33, 0x5B, 0x45, 0xA1), 2407a8e1175bSopenharmony_ci}; 2408a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_gy[] = { 2409a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x61, 0x6D, 0x55, 0xDB, 0x4B, 0xCA, 0xE2), 2410a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBD, 0xB0, 0xC0, 0xF7, 0x19, 0xE3, 0xF7), 2411a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFB, 0xCA, 0x82, 0x42, 0x34, 0xBA, 0x7F), 2412a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_4(0xED, 0x9F, 0x08, 0x7E), 2413a8e1175bSopenharmony_ci}; 2414a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_n[] = { 2415a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xB1, 0x9F, 0x76, 0x71, 0xA9, 0xF0, 0xCA), 2416a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x61, 0xEC, 0xD2, 0xE8, 0xDC, 0x01, 0x00), 2417a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 2418a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00), 2419a8e1175bSopenharmony_ci}; 2420a8e1175bSopenharmony_ci 2421a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 2422a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_0_X[] = { 2423a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xA4, 0xB7, 0xB6, 0x0E, 0x65, 0x7E, 0x0F), 2424a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x75, 0x70, 0xE4, 0xE9, 0x67, 0xA4, 0x69), 2425a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x28, 0xFC, 0x30, 0xDF, 0x99, 0xF0, 0x4D), 2426a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x5B, 0x45, 0xA1, 0x00, 0x00, 0x00, 0x00), 2427a8e1175bSopenharmony_ci}; 2428a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_0_Y[] = { 2429a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x61, 0x6D, 0x55, 0xDB, 0x4B, 0xCA, 0xE2), 2430a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xBD, 0xB0, 0xC0, 0xF7, 0x19, 0xE3, 0xF7), 2431a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xFB, 0xCA, 0x82, 0x42, 0x34, 0xBA, 0x7F), 2432a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x9F, 0x08, 0x7E, 0x00, 0x00, 0x00, 0x00), 2433a8e1175bSopenharmony_ci}; 2434a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_1_X[] = { 2435a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x6C, 0x22, 0x22, 0x40, 0x89, 0xAE, 0x7A), 2436a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x92, 0xE1, 0x87, 0x56, 0x35, 0xAF, 0x9B), 2437a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xAF, 0x08, 0x35, 0x27, 0xEA, 0x04, 0xED), 2438a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x53, 0xFD, 0xCF, 0x00, 0x00, 0x00, 0x00), 2439a8e1175bSopenharmony_ci}; 2440a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_1_Y[] = { 2441a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0xD0, 0x9F, 0x8D, 0xF3, 0x63, 0x54, 0x30), 2442a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xDB, 0x0F, 0x61, 0x54, 0x26, 0xD1, 0x98), 2443a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x21, 0xF7, 0x1B, 0xB5, 0x1D, 0xF6, 0x7E), 2444a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x05, 0xDA, 0x8F, 0x00, 0x00, 0x00, 0x00), 2445a8e1175bSopenharmony_ci}; 2446a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_2_X[] = { 2447a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x26, 0x73, 0xBC, 0xE4, 0x29, 0x62, 0x56), 2448a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x95, 0x17, 0x8B, 0xC3, 0x9B, 0xAC, 0xCC), 2449a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0xDB, 0x77, 0xDF, 0xDD, 0x13, 0x04, 0x98), 2450a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0xFC, 0x22, 0x93, 0x00, 0x00, 0x00, 0x00), 2451a8e1175bSopenharmony_ci}; 2452a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_2_Y[] = { 2453a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x65, 0xF1, 0x5A, 0x37, 0xEF, 0x79, 0xAD), 2454a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x01, 0x37, 0xAC, 0x9A, 0x5B, 0x51, 0x65), 2455a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x75, 0x13, 0xA9, 0x4A, 0xAD, 0xFE, 0x9B), 2456a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x82, 0x6F, 0x66, 0x00, 0x00, 0x00, 0x00), 2457a8e1175bSopenharmony_ci}; 2458a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_3_X[] = { 2459a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x5E, 0xF0, 0x40, 0xC3, 0xA6, 0xE2, 0x1E), 2460a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x9A, 0x6F, 0xCF, 0x11, 0x26, 0x66, 0x85), 2461a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0x73, 0xA8, 0xCF, 0x2B, 0x12, 0x36, 0x37), 2462a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xB3, 0x0A, 0x58, 0x00, 0x00, 0x00, 0x00), 2463a8e1175bSopenharmony_ci}; 2464a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_3_Y[] = { 2465a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x79, 0x00, 0x55, 0x04, 0x34, 0x90, 0x1A), 2466a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x54, 0x1C, 0xC2, 0x45, 0x0C, 0x1B, 0x23), 2467a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x19, 0xAB, 0xA8, 0xFC, 0x73, 0xDC, 0xEE), 2468a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0xFB, 0x93, 0xCE, 0x00, 0x00, 0x00, 0x00), 2469a8e1175bSopenharmony_ci}; 2470a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_4_X[] = { 2471a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x75, 0xD0, 0x66, 0x95, 0x86, 0xCA, 0x66), 2472a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xEA, 0x29, 0x16, 0x6A, 0x38, 0xDF, 0x41), 2473a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xA2, 0x36, 0x2F, 0xDC, 0xBB, 0x5E, 0xF7), 2474a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x89, 0x59, 0x49, 0x00, 0x00, 0x00, 0x00), 2475a8e1175bSopenharmony_ci}; 2476a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_4_Y[] = { 2477a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xA3, 0x99, 0x9D, 0xB8, 0x77, 0x9D, 0x1D), 2478a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x93, 0x43, 0x47, 0xC6, 0x5C, 0xF9, 0xFD), 2479a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x00, 0x79, 0x42, 0x64, 0xB8, 0x25, 0x3E), 2480a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x54, 0xB4, 0x33, 0x00, 0x00, 0x00, 0x00), 2481a8e1175bSopenharmony_ci}; 2482a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_5_X[] = { 2483a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x0C, 0x42, 0x90, 0x83, 0x0B, 0x31, 0x5F), 2484a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x2E, 0xAE, 0xC8, 0xC7, 0x5F, 0xD2, 0x70), 2485a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xBC, 0xAD, 0x41, 0xE7, 0x32, 0x3A, 0x81), 2486a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x97, 0x52, 0x83, 0x00, 0x00, 0x00, 0x00), 2487a8e1175bSopenharmony_ci}; 2488a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_5_Y[] = { 2489a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x13, 0x7A, 0xBD, 0xAE, 0x94, 0x60, 0xFD), 2490a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x9B, 0x95, 0xB4, 0x6E, 0x68, 0xB2, 0x1F), 2491a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x49, 0xBE, 0x51, 0xFE, 0x66, 0x15, 0x74), 2492a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x37, 0xE4, 0xFE, 0x00, 0x00, 0x00, 0x00), 2493a8e1175bSopenharmony_ci}; 2494a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_6_X[] = { 2495a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x9B, 0xEE, 0x64, 0xC9, 0x1B, 0xBD, 0x77), 2496a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x5F, 0x34, 0xA9, 0x0B, 0xB7, 0x25, 0x52), 2497a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0x13, 0xB1, 0x38, 0xFB, 0x9D, 0x78, 0xED), 2498a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xE7, 0x1B, 0xFA, 0x00, 0x00, 0x00, 0x00), 2499a8e1175bSopenharmony_ci}; 2500a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_6_Y[] = { 2501a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xB3, 0xB7, 0x44, 0x92, 0x6B, 0x00, 0x82), 2502a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x82, 0x44, 0x3E, 0x18, 0x1A, 0x58, 0x6A), 2503a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0xF8, 0xC0, 0xE4, 0xEE, 0xC1, 0xBF, 0x44), 2504a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x32, 0x27, 0xB2, 0x00, 0x00, 0x00, 0x00), 2505a8e1175bSopenharmony_ci}; 2506a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_7_X[] = { 2507a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x9A, 0x42, 0x62, 0x8B, 0x26, 0x54, 0x21), 2508a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x85, 0x74, 0xA0, 0x79, 0xA8, 0xEE, 0xBE), 2509a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x36, 0x60, 0xB3, 0x28, 0x4D, 0x55, 0xBE), 2510a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x27, 0x82, 0x29, 0x00, 0x00, 0x00, 0x00), 2511a8e1175bSopenharmony_ci}; 2512a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_7_Y[] = { 2513a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0xFC, 0x73, 0x77, 0xAF, 0x5C, 0xAC, 0x78), 2514a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xED, 0xE5, 0xF6, 0x1D, 0xA8, 0x67, 0x43), 2515a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xDE, 0x33, 0x1C, 0xF1, 0x80, 0x73, 0xF8), 2516a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xE2, 0xDE, 0x3C, 0x00, 0x00, 0x00, 0x00), 2517a8e1175bSopenharmony_ci}; 2518a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_8_X[] = { 2519a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x3E, 0x6B, 0xFE, 0xF0, 0x04, 0x28, 0x01), 2520a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xB2, 0x14, 0x9D, 0x18, 0x11, 0x7D, 0x9D), 2521a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xC4, 0xD6, 0x2E, 0x6E, 0x57, 0x4D, 0xE1), 2522a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x55, 0x1B, 0xDE, 0x00, 0x00, 0x00, 0x00), 2523a8e1175bSopenharmony_ci}; 2524a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_8_Y[] = { 2525a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xF7, 0x17, 0xBC, 0x45, 0xAB, 0x16, 0xAB), 2526a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xB0, 0xEF, 0x61, 0xE3, 0x20, 0x7C, 0xF8), 2527a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x85, 0x41, 0x4D, 0xF1, 0x7E, 0x4D, 0x41), 2528a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xC2, 0x9B, 0x5E, 0x00, 0x00, 0x00, 0x00), 2529a8e1175bSopenharmony_ci}; 2530a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_9_X[] = { 2531a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x2E, 0x49, 0x3D, 0x3E, 0x4B, 0xD3, 0x32), 2532a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x2B, 0x9D, 0xD5, 0x27, 0xFA, 0xCA, 0xE0), 2533a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0xB3, 0x6A, 0xE0, 0x79, 0x14, 0x28, 0x0F), 2534a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x1E, 0xDC, 0xF5, 0x00, 0x00, 0x00, 0x00), 2535a8e1175bSopenharmony_ci}; 2536a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_9_Y[] = { 2537a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x44, 0x56, 0xCD, 0xFC, 0x9F, 0x09, 0xFF), 2538a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x8C, 0x59, 0xA4, 0x64, 0x2A, 0x3A, 0xED), 2539a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xA0, 0xB5, 0x86, 0x4E, 0x69, 0xDA, 0x06), 2540a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x8B, 0x11, 0x38, 0x00, 0x00, 0x00, 0x00), 2541a8e1175bSopenharmony_ci}; 2542a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_10_X[] = { 2543a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x17, 0x16, 0x12, 0x17, 0xDC, 0x00, 0x7E), 2544a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0x76, 0x24, 0x6C, 0x97, 0x2C, 0xB5, 0xF9), 2545a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x71, 0xE3, 0xB0, 0xBB, 0x4E, 0x50, 0x52), 2546a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0x48, 0x26, 0xD5, 0x00, 0x00, 0x00, 0x00), 2547a8e1175bSopenharmony_ci}; 2548a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_10_Y[] = { 2549a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x5F, 0x28, 0xF6, 0x01, 0x5A, 0x60, 0x41), 2550a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x95, 0xFE, 0xD0, 0xAD, 0x15, 0xD4, 0xD9), 2551a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x5B, 0x7A, 0xFD, 0x80, 0xF7, 0x9F, 0x64), 2552a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xBC, 0x1B, 0xDF, 0x00, 0x00, 0x00, 0x00), 2553a8e1175bSopenharmony_ci}; 2554a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_11_X[] = { 2555a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xE6, 0xDF, 0x14, 0x29, 0xF4, 0xD4, 0x14), 2556a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x12, 0xDD, 0xEC, 0x5B, 0x8A, 0x59, 0xE5), 2557a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x92, 0x3E, 0x35, 0x08, 0xE9, 0xCF, 0x0E), 2558a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0x35, 0x29, 0x97, 0x00, 0x00, 0x00, 0x00), 2559a8e1175bSopenharmony_ci}; 2560a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_11_Y[] = { 2561a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xDB, 0xD6, 0x6A, 0xC5, 0x43, 0xA4, 0xA1), 2562a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x33, 0x50, 0x61, 0x70, 0xA1, 0xE9, 0xCE), 2563a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x15, 0x6E, 0x5F, 0x01, 0x0C, 0x8C, 0xFA), 2564a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0xA1, 0x9A, 0x9D, 0x00, 0x00, 0x00, 0x00), 2565a8e1175bSopenharmony_ci}; 2566a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_12_X[] = { 2567a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xC6, 0xF7, 0xE2, 0x4A, 0xCD, 0x9B, 0x61), 2568a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x4D, 0x5A, 0xB8, 0xE2, 0x6D, 0xA6, 0x50), 2569a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x3F, 0xB6, 0x17, 0xE3, 0x2C, 0x6F, 0x65), 2570a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xA4, 0x59, 0x51, 0x00, 0x00, 0x00, 0x00), 2571a8e1175bSopenharmony_ci}; 2572a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_12_Y[] = { 2573a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x4F, 0x7C, 0x49, 0xCD, 0x6E, 0xEB, 0x3C), 2574a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xC9, 0x1F, 0xB7, 0x4D, 0x98, 0xC7, 0x67), 2575a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4C, 0xFD, 0x98, 0x20, 0x95, 0xBB, 0x20, 0x3A), 2576a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xF2, 0x73, 0x92, 0x00, 0x00, 0x00, 0x00), 2577a8e1175bSopenharmony_ci}; 2578a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_13_X[] = { 2579a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xEF, 0xFB, 0x30, 0xFA, 0x12, 0x1A, 0xB0), 2580a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x4C, 0x24, 0xB4, 0x5B, 0xC9, 0x4C, 0x0F), 2581a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xDD, 0x5E, 0x84, 0x95, 0x4D, 0x26, 0xED), 2582a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xFA, 0xF9, 0x3A, 0x00, 0x00, 0x00, 0x00), 2583a8e1175bSopenharmony_ci}; 2584a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_13_Y[] = { 2585a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0xA3, 0x2E, 0x7A, 0xDC, 0xA7, 0x53, 0xA9), 2586a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x9F, 0x81, 0x84, 0xB2, 0x0D, 0xFE, 0x31), 2587a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x89, 0x1B, 0x77, 0x0C, 0x89, 0x71, 0xEC), 2588a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xFF, 0x7F, 0xB2, 0x00, 0x00, 0x00, 0x00), 2589a8e1175bSopenharmony_ci}; 2590a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_14_X[] = { 2591a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xE9, 0x2C, 0x79, 0xA6, 0x3C, 0xAD, 0x93), 2592a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xE0, 0x23, 0x02, 0x86, 0x0F, 0x77, 0x2A), 2593a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x93, 0x6D, 0xE9, 0xF9, 0x3C, 0xBE, 0xB9), 2594a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0xE7, 0x24, 0x92, 0x00, 0x00, 0x00, 0x00), 2595a8e1175bSopenharmony_ci}; 2596a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_14_Y[] = { 2597a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x3C, 0x5B, 0x4B, 0x1B, 0x25, 0x37, 0xD6), 2598a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xE8, 0x38, 0x1B, 0xA1, 0x5A, 0x2E, 0x68), 2599a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x19, 0xFD, 0xF4, 0x78, 0x01, 0x6B, 0x44), 2600a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0x69, 0x37, 0x4F, 0x00, 0x00, 0x00, 0x00), 2601a8e1175bSopenharmony_ci}; 2602a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_15_X[] = { 2603a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xE2, 0xBF, 0xD3, 0xEC, 0x95, 0x9C, 0x03), 2604a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x7B, 0xFC, 0xD5, 0xD3, 0x25, 0x5E, 0x0F), 2605a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x55, 0x09, 0xA2, 0x58, 0x6A, 0xC9, 0xFF), 2606a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xCC, 0x3B, 0xD9, 0x00, 0x00, 0x00, 0x00), 2607a8e1175bSopenharmony_ci}; 2608a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp224k1_T_15_Y[] = { 2609a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x08, 0x65, 0x5E, 0xCB, 0xAB, 0x48, 0xC8), 2610a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x79, 0x8B, 0xC0, 0x11, 0xC0, 0x69, 0x38), 2611a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xE8, 0x8C, 0x4C, 0xC5, 0x28, 0xE4, 0xAE), 2612a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x1F, 0x34, 0x5C, 0x00, 0x00, 0x00, 0x00), 2613a8e1175bSopenharmony_ci}; 2614a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp224k1_T[16] = { 2615a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp224k1_T_0_X, secp224k1_T_0_Y), 2616a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_1_X, secp224k1_T_1_Y), 2617a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_2_X, secp224k1_T_2_Y), 2618a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_3_X, secp224k1_T_3_Y), 2619a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_4_X, secp224k1_T_4_Y), 2620a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_5_X, secp224k1_T_5_Y), 2621a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_6_X, secp224k1_T_6_Y), 2622a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_7_X, secp224k1_T_7_Y), 2623a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_8_X, secp224k1_T_8_Y), 2624a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_9_X, secp224k1_T_9_Y), 2625a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_10_X, secp224k1_T_10_Y), 2626a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_11_X, secp224k1_T_11_Y), 2627a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_12_X, secp224k1_T_12_Y), 2628a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_13_X, secp224k1_T_13_Y), 2629a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_14_X, secp224k1_T_14_Y), 2630a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp224k1_T_15_X, secp224k1_T_15_Y), 2631a8e1175bSopenharmony_ci}; 2632a8e1175bSopenharmony_ci#else 2633a8e1175bSopenharmony_ci#define secp224k1_T NULL 2634a8e1175bSopenharmony_ci#endif 2635a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 2636a8e1175bSopenharmony_ci 2637a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 2638a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_p[] = { 2639a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF), 2640a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2641a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2642a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2643a8e1175bSopenharmony_ci}; 2644a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_a[] = { 2645a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x00, 0x00), 2646a8e1175bSopenharmony_ci}; 2647a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_b[] = { 2648a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_2(0x07, 0x00), 2649a8e1175bSopenharmony_ci}; 2650a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_gx[] = { 2651a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x17, 0xF8, 0x16, 0x5B, 0x81, 0xF2, 0x59), 2652a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x28, 0xCE, 0x2D, 0xDB, 0xFC, 0x9B, 0x02), 2653a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x0B, 0x87, 0xCE, 0x95, 0x62, 0xA0, 0x55), 2654a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBB, 0xDC, 0xF9, 0x7E, 0x66, 0xBE, 0x79), 2655a8e1175bSopenharmony_ci}; 2656a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_gy[] = { 2657a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xD4, 0x10, 0xFB, 0x8F, 0xD0, 0x47, 0x9C), 2658a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x54, 0x85, 0xA6, 0x48, 0xB4, 0x17, 0xFD), 2659a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x08, 0x11, 0x0E, 0xFC, 0xFB, 0xA4, 0x5D), 2660a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC4, 0xA3, 0x26, 0x77, 0xDA, 0x3A, 0x48), 2661a8e1175bSopenharmony_ci}; 2662a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_n[] = { 2663a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x41, 0x36, 0xD0, 0x8C, 0x5E, 0xD2, 0xBF), 2664a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0xA0, 0x48, 0xAF, 0xE6, 0xDC, 0xAE, 0xBA), 2665a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2666a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), 2667a8e1175bSopenharmony_ci}; 2668a8e1175bSopenharmony_ci 2669a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 2670a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_0_X[] = { 2671a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x17, 0xF8, 0x16, 0x5B, 0x81, 0xF2, 0x59), 2672a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x28, 0xCE, 0x2D, 0xDB, 0xFC, 0x9B, 0x02), 2673a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x0B, 0x87, 0xCE, 0x95, 0x62, 0xA0, 0x55), 2674a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xBB, 0xDC, 0xF9, 0x7E, 0x66, 0xBE, 0x79), 2675a8e1175bSopenharmony_ci}; 2676a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_0_Y[] = { 2677a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0xD4, 0x10, 0xFB, 0x8F, 0xD0, 0x47, 0x9C), 2678a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x54, 0x85, 0xA6, 0x48, 0xB4, 0x17, 0xFD), 2679a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x08, 0x11, 0x0E, 0xFC, 0xFB, 0xA4, 0x5D), 2680a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC4, 0xA3, 0x26, 0x77, 0xDA, 0x3A, 0x48), 2681a8e1175bSopenharmony_ci}; 2682a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_1_X[] = { 2683a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xEE, 0xD7, 0x1E, 0x67, 0x86, 0x32, 0x74), 2684a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x73, 0xB1, 0xA9, 0xD5, 0xCC, 0x27, 0x78), 2685a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x0E, 0x11, 0x01, 0x71, 0xFE, 0x92, 0x73), 2686a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x28, 0x63, 0x6D, 0x72, 0x09, 0xA6, 0xC0), 2687a8e1175bSopenharmony_ci}; 2688a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_1_Y[] = { 2689a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE1, 0x69, 0xDC, 0x3E, 0x2C, 0x75, 0xC3), 2690a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xB7, 0x3F, 0x30, 0x26, 0x3C, 0xDF, 0x8E), 2691a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xBE, 0xB9, 0x5D, 0x0E, 0xE8, 0x5E, 0x14), 2692a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0xC3, 0x05, 0xD6, 0xB7, 0xD5, 0x24, 0xFC), 2693a8e1175bSopenharmony_ci}; 2694a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_2_X[] = { 2695a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0xCF, 0x7B, 0xDC, 0xCD, 0xC3, 0x39, 0x9D), 2696a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0xDA, 0xB9, 0xE5, 0x64, 0xA7, 0x47, 0x91), 2697a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0x46, 0xA8, 0x61, 0xF6, 0x23, 0xEB, 0x58), 2698a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xC1, 0xFF, 0xE4, 0x55, 0xD5, 0xC2, 0xBF), 2699a8e1175bSopenharmony_ci}; 2700a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_2_Y[] = { 2701a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xBE, 0xB9, 0x59, 0x24, 0x13, 0x4A, 0x2A), 2702a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x45, 0x12, 0xDE, 0xBA, 0x4F, 0xEF, 0x56), 2703a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x08, 0xBF, 0xC1, 0x66, 0xAA, 0x0A, 0xBC), 2704a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xFE, 0x30, 0x55, 0x31, 0x86, 0xA7, 0xB4), 2705a8e1175bSopenharmony_ci}; 2706a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_3_X[] = { 2707a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xBF, 0x18, 0x81, 0x67, 0x27, 0x42, 0xBD), 2708a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x05, 0x83, 0xA4, 0xDD, 0x57, 0xD3, 0x50), 2709a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x63, 0xAB, 0xE4, 0x90, 0x70, 0xD0, 0x7C), 2710a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x5D, 0xFD, 0xA0, 0xEF, 0xCF, 0x1C, 0x54), 2711a8e1175bSopenharmony_ci}; 2712a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_3_Y[] = { 2713a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x80, 0xE4, 0xF6, 0x09, 0xBC, 0x57, 0x90), 2714a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x9F, 0x6E, 0x88, 0x54, 0x6E, 0x51, 0xF2), 2715a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x5F, 0x85, 0xFB, 0x84, 0x3E, 0x4A, 0xAA), 2716a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x19, 0xF5, 0x55, 0xC9, 0x07, 0xD8, 0xCE), 2717a8e1175bSopenharmony_ci}; 2718a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_4_X[] = { 2719a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xB4, 0xC3, 0xD9, 0x5C, 0xA0, 0xD4, 0x90), 2720a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x30, 0xAF, 0x59, 0x9B, 0xF8, 0x04, 0x85), 2721a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xA6, 0xFD, 0x66, 0x7B, 0xC3, 0x39, 0x85), 2722a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE0, 0xBF, 0xF0, 0xC2, 0xE9, 0x71, 0xA4, 0x9E), 2723a8e1175bSopenharmony_ci}; 2724a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_4_Y[] = { 2725a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x2D, 0xB9, 0x88, 0x28, 0xF1, 0xBE, 0x78), 2726a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xF3, 0x1A, 0x0E, 0xB9, 0x01, 0x66, 0x34), 2727a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xA7, 0xA4, 0xF4, 0x05, 0xD0, 0xAA, 0x53), 2728a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x39, 0x1E, 0x47, 0xE5, 0x68, 0xC8, 0xC0), 2729a8e1175bSopenharmony_ci}; 2730a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_5_X[] = { 2731a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xB9, 0xFC, 0xE0, 0x33, 0x8A, 0x7D, 0x96), 2732a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x93, 0xA5, 0x53, 0x55, 0x16, 0xB4, 0x6E), 2733a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x5F, 0xEA, 0x9B, 0x29, 0x52, 0x71, 0xDA), 2734a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xF0, 0x24, 0xB8, 0x7D, 0xB7, 0xA0, 0x9B), 2735a8e1175bSopenharmony_ci}; 2736a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_5_Y[] = { 2737a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x00, 0x27, 0xB2, 0xDF, 0x73, 0xA2, 0xE0), 2738a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x2E, 0x4D, 0x7C, 0xDE, 0x7A, 0x23, 0x32), 2739a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x65, 0x60, 0xC7, 0x97, 0x1E, 0xA4, 0x22), 2740a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x13, 0x5B, 0x77, 0x59, 0xCB, 0x36, 0xE1), 2741a8e1175bSopenharmony_ci}; 2742a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_6_X[] = { 2743a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xBC, 0x9F, 0x9E, 0x2D, 0x53, 0x2A, 0xA8), 2744a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x5F, 0x64, 0x9F, 0x1A, 0x19, 0xE6, 0x77), 2745a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x7B, 0x39, 0xD2, 0xDB, 0x85, 0x84, 0xD5), 2746a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xC7, 0x0D, 0x58, 0x6E, 0x3F, 0x52, 0x15), 2747a8e1175bSopenharmony_ci}; 2748a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_6_Y[] = { 2749a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x68, 0x19, 0x0B, 0x68, 0xC9, 0x1E, 0xFB), 2750a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x4E, 0x21, 0x49, 0x3D, 0x55, 0xCC, 0x25), 2751a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xF9, 0x25, 0x45, 0x54, 0x45, 0xB1, 0x0F), 2752a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xB3, 0xF7, 0xCD, 0x80, 0xA4, 0x04, 0x05), 2753a8e1175bSopenharmony_ci}; 2754a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_7_X[] = { 2755a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x1E, 0x88, 0xC4, 0xAA, 0x18, 0x7E, 0x45), 2756a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xAC, 0xD9, 0xB2, 0xA1, 0xC0, 0x71, 0x5D), 2757a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xA2, 0xF1, 0x15, 0xA6, 0x5F, 0x6C, 0x86), 2758a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x5B, 0x05, 0xBC, 0xB7, 0xC6, 0x4E, 0x72), 2759a8e1175bSopenharmony_ci}; 2760a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_7_Y[] = { 2761a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x80, 0xF8, 0x5C, 0x20, 0x2A, 0xE1, 0xE2), 2762a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x48, 0x2E, 0x68, 0x82, 0x7F, 0xEB, 0x5F), 2763a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x3B, 0x25, 0xDB, 0x32, 0x4D, 0x88, 0x42), 2764a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0x6E, 0xA6, 0xB6, 0x6D, 0x62, 0x78, 0x22), 2765a8e1175bSopenharmony_ci}; 2766a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_8_X[] = { 2767a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x4D, 0x3E, 0x86, 0x58, 0xC3, 0xEB, 0xBA), 2768a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x89, 0x33, 0x18, 0x21, 0x1D, 0x9B, 0xE7), 2769a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x9D, 0xFF, 0xC3, 0x79, 0xC1, 0x88, 0xF8), 2770a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0xD4, 0x48, 0x53, 0xE8, 0xAD, 0x21, 0x16), 2771a8e1175bSopenharmony_ci}; 2772a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_8_Y[] = { 2773a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x7B, 0xDE, 0xCB, 0xD8, 0x39, 0x17, 0x7C), 2774a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xF3, 0x03, 0xF2, 0x5C, 0xBC, 0xC8, 0x8A), 2775a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0xAE, 0x4C, 0xB0, 0x16, 0xA4, 0x93, 0x86), 2776a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x8B, 0x6B, 0xDC, 0xD7, 0x9A, 0x3E, 0x7E), 2777a8e1175bSopenharmony_ci}; 2778a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_9_X[] = { 2779a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x2D, 0x7A, 0xD2, 0x59, 0x05, 0xA2, 0x82), 2780a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x56, 0x09, 0x32, 0xF1, 0xE8, 0xE3, 0x72), 2781a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0xCA, 0xE5, 0x2E, 0xF0, 0xFB, 0x18, 0x19), 2782a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x85, 0xA9, 0x23, 0x15, 0x31, 0x1F, 0x0E), 2783a8e1175bSopenharmony_ci}; 2784a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_9_Y[] = { 2785a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xE5, 0xB1, 0x86, 0xB9, 0x6E, 0x8D, 0xD3), 2786a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x77, 0xFC, 0xC9, 0xA3, 0x3F, 0x89, 0xD2), 2787a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x6A, 0xDC, 0x25, 0xB0, 0xC7, 0x41, 0x54), 2788a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x11, 0x6B, 0xA6, 0x11, 0x62, 0xD4, 0x2D), 2789a8e1175bSopenharmony_ci}; 2790a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_10_X[] = { 2791a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x7D, 0x34, 0xB3, 0x20, 0x7F, 0x37, 0xAA), 2792a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xD4, 0x45, 0xE8, 0xC2, 0xE9, 0xC5, 0xEA), 2793a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x32, 0x3B, 0x25, 0x7E, 0x79, 0xAF, 0xE7), 2794a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xE4, 0x54, 0x71, 0xBE, 0x35, 0x4E, 0xD0), 2795a8e1175bSopenharmony_ci}; 2796a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_10_Y[] = { 2797a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x94, 0xDD, 0x8F, 0xB5, 0xC2, 0xDD, 0x75), 2798a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x49, 0xE9, 0x1C, 0x2F, 0x08, 0x49, 0xC6), 2799a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xB6, 0x03, 0x88, 0x6F, 0xB8, 0x15, 0x67), 2800a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xD3, 0x1C, 0xF3, 0xA5, 0xEB, 0x79, 0x01), 2801a8e1175bSopenharmony_ci}; 2802a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_11_X[] = { 2803a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xF9, 0x43, 0x88, 0x89, 0x0D, 0x06, 0xEA), 2804a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x2D, 0xF5, 0x98, 0x32, 0xF6, 0xB1, 0x05), 2805a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x73, 0x8F, 0x2B, 0x50, 0x27, 0x0A, 0xE7), 2806a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xE3, 0xBD, 0x16, 0x05, 0xC8, 0x93, 0x12), 2807a8e1175bSopenharmony_ci}; 2808a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_11_Y[] = { 2809a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0x6A, 0xF7, 0xE3, 0x3D, 0xDE, 0x5F, 0x2F), 2810a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xA3, 0x9C, 0x22, 0x3C, 0x33, 0x36, 0x5D), 2811a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x24, 0x4C, 0x69, 0x45, 0x78, 0x14, 0xAE), 2812a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xF8, 0xD4, 0xBF, 0xB8, 0xC0, 0xA1, 0x25), 2813a8e1175bSopenharmony_ci}; 2814a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_12_X[] = { 2815a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x88, 0xE1, 0x91, 0x03, 0xEB, 0xB3, 0x2B), 2816a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x11, 0xA1, 0xEF, 0x14, 0x0D, 0xC4, 0x7D), 2817a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0xD4, 0x0D, 0x1D, 0x96, 0x33, 0x5C, 0x19), 2818a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x45, 0x2A, 0x1A, 0xE6, 0x57, 0x04, 0x9B), 2819a8e1175bSopenharmony_ci}; 2820a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_12_Y[] = { 2821a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xB5, 0xA7, 0x80, 0xE9, 0x93, 0x97, 0x8D), 2822a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0xB9, 0x7C, 0xA0, 0xC9, 0x57, 0x26, 0x43), 2823a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0xEF, 0x56, 0xDA, 0x66, 0xF6, 0x1B, 0x9A), 2824a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x89, 0x6B, 0x91, 0xE0, 0xA9, 0x65, 0x2B), 2825a8e1175bSopenharmony_ci}; 2826a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_13_X[] = { 2827a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x98, 0x96, 0x9B, 0x06, 0x7D, 0x5E, 0x5A), 2828a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xFA, 0xC1, 0x5F, 0x19, 0x37, 0x94, 0x9D), 2829a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xBE, 0x6B, 0x1A, 0x05, 0xE4, 0xBF, 0x9F), 2830a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xCD, 0x5D, 0x35, 0xB4, 0x51, 0xF7, 0x64), 2831a8e1175bSopenharmony_ci}; 2832a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_13_Y[] = { 2833a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xEF, 0x96, 0xDB, 0xF2, 0x61, 0x63, 0x59), 2834a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x04, 0x88, 0xC9, 0x9F, 0x1B, 0x94, 0xB9), 2835a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x30, 0x79, 0x7E, 0x24, 0xE7, 0x5F, 0xB8), 2836a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xB8, 0x90, 0xB7, 0x94, 0x25, 0xBB, 0x0F), 2837a8e1175bSopenharmony_ci}; 2838a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_14_X[] = { 2839a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x79, 0xEA, 0xAD, 0xC0, 0x6D, 0x18, 0x57), 2840a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xA4, 0x58, 0x2A, 0x8D, 0x95, 0xB3, 0xE6), 2841a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC4, 0xC2, 0x12, 0x0D, 0x79, 0xE2, 0x2B), 2842a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x6F, 0xBE, 0x97, 0x4D, 0xA4, 0x20, 0x07), 2843a8e1175bSopenharmony_ci}; 2844a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_14_Y[] = { 2845a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x31, 0x71, 0xC6, 0xA6, 0x91, 0xEB, 0x1F), 2846a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x9B, 0xA8, 0x4A, 0xE7, 0x77, 0xE1, 0xAA), 2847a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0x06, 0xD3, 0x3D, 0x94, 0x30, 0xEF, 0x8C), 2848a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xDF, 0xCA, 0xFA, 0xF5, 0x28, 0xF8, 0xC9), 2849a8e1175bSopenharmony_ci}; 2850a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_15_X[] = { 2851a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0xE1, 0x32, 0xFD, 0x3E, 0x81, 0xF8, 0x11), 2852a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0xF2, 0x4B, 0x1D, 0x19, 0xC9, 0x0F, 0xCC), 2853a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xB1, 0x8A, 0x22, 0x8B, 0x05, 0x6B, 0x56), 2854a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0x21, 0xEF, 0x30, 0xEC, 0x09, 0x2A, 0x89), 2855a8e1175bSopenharmony_ci}; 2856a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint secp256k1_T_15_Y[] = { 2857a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x84, 0x4A, 0x46, 0x07, 0x6C, 0x3C, 0x4C), 2858a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x18, 0x3A, 0xF4, 0xCC, 0xF5, 0xB2, 0xF2), 2859a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0x8F, 0xCD, 0x0A, 0x9C, 0xF4, 0xBD, 0x95), 2860a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x89, 0x7F, 0x8A, 0xB1, 0x52, 0x3A, 0xAB), 2861a8e1175bSopenharmony_ci}; 2862a8e1175bSopenharmony_cistatic const mbedtls_ecp_point secp256k1_T[16] = { 2863a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(secp256k1_T_0_X, secp256k1_T_0_Y), 2864a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_1_X, secp256k1_T_1_Y), 2865a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_2_X, secp256k1_T_2_Y), 2866a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_3_X, secp256k1_T_3_Y), 2867a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_4_X, secp256k1_T_4_Y), 2868a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_5_X, secp256k1_T_5_Y), 2869a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_6_X, secp256k1_T_6_Y), 2870a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_7_X, secp256k1_T_7_Y), 2871a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_8_X, secp256k1_T_8_Y), 2872a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_9_X, secp256k1_T_9_Y), 2873a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_10_X, secp256k1_T_10_Y), 2874a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_11_X, secp256k1_T_11_Y), 2875a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_12_X, secp256k1_T_12_Y), 2876a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_13_X, secp256k1_T_13_Y), 2877a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_14_X, secp256k1_T_14_Y), 2878a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(secp256k1_T_15_X, secp256k1_T_15_Y), 2879a8e1175bSopenharmony_ci}; 2880a8e1175bSopenharmony_ci#else 2881a8e1175bSopenharmony_ci#define secp256k1_T NULL 2882a8e1175bSopenharmony_ci#endif 2883a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 2884a8e1175bSopenharmony_ci 2885a8e1175bSopenharmony_ci/* 2886a8e1175bSopenharmony_ci * Domain parameters for brainpoolP256r1 (RFC 5639 3.4) 2887a8e1175bSopenharmony_ci */ 2888a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 2889a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_p[] = { 2890a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x53, 0x6E, 0x1F, 0x1D, 0x48, 0x13, 0x20), 2891a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x20, 0x26, 0xD5, 0x23, 0xF6, 0x3B, 0x6E), 2892a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x8D, 0x83, 0x9D, 0x90, 0x0A, 0x66, 0x3E), 2893a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA9, 0xEE, 0xA1, 0xDB, 0x57, 0xFB, 0xA9), 2894a8e1175bSopenharmony_ci}; 2895a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_a[] = { 2896a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xB5, 0x30, 0xF3, 0x44, 0x4B, 0x4A, 0xE9), 2897a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x5C, 0xDC, 0x26, 0xC1, 0x55, 0x80, 0xFB), 2898a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xFF, 0x7A, 0x41, 0x30, 0x75, 0xF6, 0xEE), 2899a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x30, 0x2C, 0xFC, 0x75, 0x09, 0x5A, 0x7D), 2900a8e1175bSopenharmony_ci}; 2901a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_b[] = { 2902a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x07, 0x8C, 0xFF, 0x18, 0xDC, 0xCC, 0x6B), 2903a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE1, 0xF7, 0x5C, 0x29, 0x16, 0x84, 0x95), 2904a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x7C, 0xD7, 0xBB, 0xD9, 0xB5, 0x30, 0xF3), 2905a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0x4B, 0x4A, 0xE9, 0x6C, 0x5C, 0xDC, 0x26), 2906a8e1175bSopenharmony_ci}; 2907a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_gx[] = { 2908a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x32, 0xCE, 0x9A, 0xBD, 0x53, 0x44, 0x3A), 2909a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x23, 0xBD, 0xE3, 0xE1, 0x27, 0xDE, 0xB9), 2910a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xB7, 0x81, 0xFC, 0x2F, 0x48, 0x4B, 0x2C), 2911a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x57, 0x7E, 0xCB, 0xB9, 0xAE, 0xD2, 0x8B), 2912a8e1175bSopenharmony_ci}; 2913a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_gy[] = { 2914a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x69, 0x04, 0x2F, 0xC7, 0x54, 0x1D, 0x5C), 2915a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x8E, 0xED, 0x2D, 0x13, 0x45, 0x77, 0xC2), 2916a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x1D, 0x61, 0x14, 0x1A, 0x46, 0xF8, 0x97), 2917a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC4, 0xDA, 0xC3, 0x35, 0xF8, 0x7E, 0x54), 2918a8e1175bSopenharmony_ci}; 2919a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_n[] = { 2920a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x56, 0x48, 0x97, 0x82, 0x0E, 0x1E, 0x90), 2921a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xA6, 0x61, 0xB5, 0xA3, 0x7A, 0x39, 0x8C), 2922a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x8D, 0x83, 0x9D, 0x90, 0x0A, 0x66, 0x3E), 2923a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA9, 0xEE, 0xA1, 0xDB, 0x57, 0xFB, 0xA9), 2924a8e1175bSopenharmony_ci}; 2925a8e1175bSopenharmony_ci 2926a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 2927a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_0_X[] = { 2928a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0x32, 0xCE, 0x9A, 0xBD, 0x53, 0x44, 0x3A), 2929a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x23, 0xBD, 0xE3, 0xE1, 0x27, 0xDE, 0xB9), 2930a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xB7, 0x81, 0xFC, 0x2F, 0x48, 0x4B, 0x2C), 2931a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x57, 0x7E, 0xCB, 0xB9, 0xAE, 0xD2, 0x8B), 2932a8e1175bSopenharmony_ci}; 2933a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_0_Y[] = { 2934a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x69, 0x04, 0x2F, 0xC7, 0x54, 0x1D, 0x5C), 2935a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x8E, 0xED, 0x2D, 0x13, 0x45, 0x77, 0xC2), 2936a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x1D, 0x61, 0x14, 0x1A, 0x46, 0xF8, 0x97), 2937a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xC4, 0xDA, 0xC3, 0x35, 0xF8, 0x7E, 0x54), 2938a8e1175bSopenharmony_ci}; 2939a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_1_X[] = { 2940a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xA2, 0xED, 0x52, 0xC9, 0x8C, 0xE3, 0xA5), 2941a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0xC9, 0xC4, 0x87, 0x3F, 0x93, 0x7A, 0xD1), 2942a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x12, 0x53, 0x61, 0x3E, 0x76, 0x08, 0xCB), 2943a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0x8C, 0x74, 0xF4, 0x08, 0xC3, 0x76, 0x80), 2944a8e1175bSopenharmony_ci}; 2945a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_1_Y[] = { 2946a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0xDD, 0x09, 0xA6, 0xED, 0xEE, 0xC4, 0x38), 2947a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xD9, 0xBE, 0x4B, 0xA5, 0xB7, 0x2B, 0x6E), 2948a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x20, 0x12, 0xCA, 0x0A, 0x38, 0x24, 0xAB), 2949a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x72, 0x71, 0x90, 0x7A, 0x2E, 0xB7, 0x23), 2950a8e1175bSopenharmony_ci}; 2951a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_2_X[] = { 2952a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x66, 0xA1, 0x93, 0x10, 0x2A, 0x51, 0x17), 2953a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0x10, 0x11, 0x12, 0xBC, 0xB0, 0xB6, 0x93), 2954a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x58, 0xD7, 0x0A, 0x84, 0x05, 0xA3, 0x9C), 2955a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x8E, 0x95, 0x61, 0xD3, 0x0B, 0xDF, 0x36), 2956a8e1175bSopenharmony_ci}; 2957a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_2_Y[] = { 2958a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x92, 0x12, 0x0F, 0x5E, 0x87, 0x70, 0x1B), 2959a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0xE9, 0x9B, 0xEB, 0x3A, 0xFB, 0xCF, 0xC4), 2960a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0x92, 0xB9, 0xF7, 0x45, 0xD3, 0x06, 0xB6), 2961a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x28, 0x65, 0xE1, 0xC5, 0x6C, 0x57, 0x18), 2962a8e1175bSopenharmony_ci}; 2963a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_3_X[] = { 2964a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x0E, 0x77, 0x01, 0x81, 0x9E, 0x38, 0x5C), 2965a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0xF0, 0xD5, 0xA5, 0x91, 0x2B, 0xDF, 0xC0), 2966a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xEE, 0xB6, 0x25, 0xD6, 0x98, 0xDE, 0x2D), 2967a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0xA1, 0x55, 0x63, 0x39, 0xEB, 0xB5, 0x47), 2968a8e1175bSopenharmony_ci}; 2969a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_3_Y[] = { 2970a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xD6, 0xB8, 0xE3, 0x13, 0xED, 0x7F, 0xA3), 2971a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xE8, 0xAE, 0x36, 0xB8, 0xCD, 0x19, 0x02), 2972a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x82, 0x83, 0x7A, 0x7B, 0x46, 0x56, 0xE8), 2973a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x60, 0x46, 0x15, 0x5A, 0xAC, 0x99, 0x30), 2974a8e1175bSopenharmony_ci}; 2975a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_4_X[] = { 2976a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x61, 0x50, 0xC6, 0xFF, 0x10, 0x7D, 0x04), 2977a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x51, 0xDF, 0xA9, 0x7D, 0x78, 0x26, 0x74), 2978a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0x15, 0x9A, 0xF7, 0x01, 0xC1, 0xBB, 0x40), 2979a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x0F, 0xE6, 0x2A, 0xBD, 0x4A, 0x9E, 0x87), 2980a8e1175bSopenharmony_ci}; 2981a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_4_Y[] = { 2982a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xF8, 0xD1, 0x77, 0xD2, 0x49, 0xB3, 0xDD), 2983a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x86, 0xFB, 0x9E, 0x1F, 0x5A, 0x60, 0x47), 2984a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xC4, 0x8D, 0xCD, 0x86, 0x61, 0x2F, 0xF9), 2985a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xF6, 0xB9, 0xAC, 0x37, 0x9D, 0xE9, 0x28), 2986a8e1175bSopenharmony_ci}; 2987a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_5_X[] = { 2988a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x77, 0xAA, 0x97, 0x9C, 0x0B, 0x04, 0x20), 2989a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0xA6, 0x60, 0x81, 0xCE, 0x25, 0x13, 0x3E), 2990a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x00, 0xF3, 0xBB, 0x82, 0x99, 0x95, 0xB7), 2991a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x5A, 0xCE, 0x90, 0x71, 0x38, 0x2F, 0x10), 2992a8e1175bSopenharmony_ci}; 2993a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_5_Y[] = { 2994a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x1A, 0xC0, 0x84, 0x27, 0xD6, 0x9D, 0xB7), 2995a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x37, 0x52, 0x16, 0x13, 0x0E, 0xCE, 0x92), 2996a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xBF, 0x5A, 0xDB, 0xDB, 0x6E, 0x1E, 0x69), 2997a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0xB7, 0x5E, 0xF9, 0x86, 0xDD, 0x8A, 0x5C), 2998a8e1175bSopenharmony_ci}; 2999a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_6_X[] = { 3000a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xAB, 0x5C, 0x8D, 0x1D, 0xF2, 0x2D, 0x1E), 3001a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0xC5, 0xF8, 0xF7, 0x1D, 0x96, 0x0B, 0x4D), 3002a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x4C, 0xA7, 0x45, 0x20, 0x6A, 0x1E, 0x5B), 3003a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x5D, 0xEF, 0xDE, 0xEE, 0x39, 0x44, 0x19), 3004a8e1175bSopenharmony_ci}; 3005a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_6_Y[] = { 3006a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x2F, 0x6D, 0x52, 0xC9, 0x58, 0x60, 0xE8), 3007a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xC9, 0x62, 0xCB, 0x38, 0x3C, 0x55, 0xCA), 3008a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xA5, 0x09, 0x10, 0x88, 0xDB, 0xE3, 0xBD), 3009a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xE0, 0x3C, 0xCE, 0x06, 0x0B, 0x4B, 0x5D), 3010a8e1175bSopenharmony_ci}; 3011a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_7_X[] = { 3012a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x1D, 0xB4, 0x10, 0x76, 0x8F, 0xBA, 0x09), 3013a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x70, 0x5A, 0x07, 0xF5, 0x1A, 0x74, 0xC7), 3014a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xE9, 0x94, 0xA8, 0xC0, 0xD5, 0x4A, 0x4A), 3015a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x6D, 0xD4, 0xE8, 0x9B, 0xE9, 0x6D, 0x0E), 3016a8e1175bSopenharmony_ci}; 3017a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_7_Y[] = { 3018a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x00, 0x32, 0x41, 0x57, 0x84, 0x89, 0x52), 3019a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xC7, 0x14, 0xEC, 0xE9, 0x27, 0xFF, 0xF3), 3020a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x67, 0x9E, 0xFB, 0xB6, 0xB8, 0x96, 0xF3), 3021a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0x4A, 0xE3, 0x97, 0x4B, 0x58, 0xDE, 0x30), 3022a8e1175bSopenharmony_ci}; 3023a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_8_X[] = { 3024a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0x1E, 0x5C, 0xF5, 0x7F, 0xD5, 0xD4, 0xAA), 3025a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x08, 0x7A, 0xF1, 0xBD, 0x89, 0xC7, 0x1E), 3026a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0xF9, 0x11, 0x1B, 0xF5, 0x3C, 0x6D, 0x8C), 3027a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x50, 0xE5, 0x69, 0x1D, 0x59, 0xFC, 0x0C), 3028a8e1175bSopenharmony_ci}; 3029a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_8_Y[] = { 3030a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x2F, 0xF8, 0x3F, 0xEC, 0x55, 0x99, 0x57), 3031a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0xA7, 0x29, 0x90, 0x43, 0x81, 0x31, 0x4C), 3032a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x18, 0x44, 0x50, 0x5D, 0x76, 0xCB, 0xDD), 3033a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xC5, 0x5B, 0x9A, 0x03, 0xE6, 0x17, 0x39), 3034a8e1175bSopenharmony_ci}; 3035a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_9_X[] = { 3036a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x89, 0xFC, 0x55, 0x94, 0x91, 0x6A, 0xA2), 3037a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x46, 0x35, 0xF2, 0x3A, 0x42, 0x08, 0x2F), 3038a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0xD2, 0x76, 0x49, 0x42, 0x87, 0xD3, 0x7F), 3039a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xEA, 0xA0, 0x52, 0xF1, 0x6A, 0x30, 0x57), 3040a8e1175bSopenharmony_ci}; 3041a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_9_Y[] = { 3042a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0xB2, 0x57, 0xA3, 0x8A, 0x4D, 0x1B, 0x3C), 3043a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0xA3, 0x99, 0x94, 0xB5, 0x3D, 0x64, 0x09), 3044a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xC3, 0xD7, 0x53, 0xF6, 0x49, 0x1C, 0x60), 3045a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x23, 0x41, 0x4D, 0xFB, 0x7A, 0x5C, 0x53), 3046a8e1175bSopenharmony_ci}; 3047a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_10_X[] = { 3048a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xB8, 0x15, 0x65, 0x5C, 0x85, 0x94, 0xD7), 3049a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x37, 0xC7, 0xF8, 0x7E, 0xAE, 0x6C, 0x10), 3050a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xD8, 0x11, 0x54, 0x98, 0x44, 0xE3, 0xF1), 3051a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x4D, 0xA6, 0x4B, 0x28, 0xF2, 0x57, 0x9E), 3052a8e1175bSopenharmony_ci}; 3053a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_10_Y[] = { 3054a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xD0, 0xEB, 0x1E, 0xAA, 0x30, 0xD3, 0x6A), 3055a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x9B, 0x4D, 0xA7, 0x73, 0x6E, 0xB6, 0x45), 3056a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x47, 0xF6, 0xED, 0x37, 0xEF, 0x71, 0x4D), 3057a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xB5, 0x49, 0x61, 0x5E, 0x45, 0xF6, 0x4A), 3058a8e1175bSopenharmony_ci}; 3059a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_11_X[] = { 3060a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x0E, 0xB3, 0x84, 0x3A, 0x63, 0x72, 0x84), 3061a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x53, 0x5C, 0xA7, 0xC6, 0x2E, 0xAB, 0x9E), 3062a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x0F, 0x8F, 0x87, 0x50, 0x28, 0xB4, 0xAE), 3063a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x98, 0x4A, 0x98, 0x31, 0x86, 0xCA, 0x51), 3064a8e1175bSopenharmony_ci}; 3065a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_11_Y[] = { 3066a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xC9, 0xE2, 0xFD, 0x5D, 0x1F, 0xE8, 0xC2), 3067a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x90, 0x91, 0xC4, 0x84, 0xF0, 0xBA, 0xC5), 3068a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x5A, 0xB3, 0x4E, 0xFB, 0xE0, 0x57, 0xE8), 3069a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x0B, 0x90, 0xA6, 0xFD, 0x9D, 0x8E, 0x02), 3070a8e1175bSopenharmony_ci}; 3071a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_12_X[] = { 3072a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x41, 0x8F, 0x31, 0xFA, 0x5A, 0xF6, 0x33), 3073a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xE9, 0xE3, 0xF6, 0xE0, 0x4A, 0xE7, 0xD2), 3074a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0x4E, 0xCD, 0xA2, 0x22, 0x14, 0xD4, 0x12), 3075a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xED, 0x21, 0xB7, 0x0F, 0x53, 0x10, 0x17), 3076a8e1175bSopenharmony_ci}; 3077a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_12_Y[] = { 3078a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x06, 0x24, 0x2C, 0x4E, 0xD1, 0x1E, 0x9F), 3079a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x3F, 0xC1, 0x9F, 0xAB, 0xF0, 0x37, 0x95), 3080a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x03, 0x5E, 0x12, 0xCE, 0x83, 0x1B, 0x2A, 0x18), 3081a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x65, 0xCF, 0xE8, 0x5C, 0xA5, 0xA2, 0x70), 3082a8e1175bSopenharmony_ci}; 3083a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_13_X[] = { 3084a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x86, 0x76, 0x3A, 0x94, 0xF6, 0x1D, 0xC1), 3085a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xDA, 0xC9, 0xA6, 0x29, 0x93, 0x15, 0x10), 3086a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x61, 0x6A, 0x7D, 0xC7, 0xA9, 0xF3, 0x76), 3087a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x03, 0x71, 0xA2, 0x15, 0xCE, 0x50, 0x72), 3088a8e1175bSopenharmony_ci}; 3089a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_13_Y[] = { 3090a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xD0, 0xA8, 0x1E, 0x91, 0xC4, 0x4F, 0x24), 3091a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x4B, 0x7E, 0xD7, 0x71, 0x58, 0x7E, 0x1E), 3092a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x45, 0xAF, 0x2A, 0x18, 0x93, 0x95, 0x3B), 3093a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x8F, 0xC7, 0xFA, 0x4C, 0x7A, 0x86, 0x54), 3094a8e1175bSopenharmony_ci}; 3095a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_14_X[] = { 3096a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0xAF, 0x68, 0x3A, 0x23, 0xC1, 0x2E, 0xBF), 3097a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x50, 0x11, 0x67, 0x39, 0xB9, 0xAF, 0x48), 3098a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x86, 0xAA, 0x1E, 0x88, 0x21, 0x29, 0x8B), 3099a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x28, 0xA4, 0x9D, 0x89, 0xA9, 0x9A, 0x10), 3100a8e1175bSopenharmony_ci}; 3101a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_14_Y[] = { 3102a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xBA, 0x04, 0x67, 0xB7, 0x01, 0x40, 0x38), 3103a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xE9, 0x09, 0xA3, 0xCA, 0xA6, 0x37, 0xF6), 3104a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x97, 0xA8, 0xB6, 0x3C, 0xEE, 0x90, 0x3D), 3105a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xED, 0xC4, 0xF7, 0xC3, 0x95, 0xEC, 0x85), 3106a8e1175bSopenharmony_ci}; 3107a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_15_X[] = { 3108a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x84, 0xBD, 0xEB, 0xD5, 0x64, 0xBB, 0x9D), 3109a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x9B, 0xE2, 0x28, 0x50, 0xC2, 0x72, 0x40), 3110a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0xF2, 0x74, 0xD1, 0x26, 0xBF, 0x32, 0x68), 3111a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xCB, 0xAF, 0x72, 0xDB, 0x6D, 0x30, 0x98), 3112a8e1175bSopenharmony_ci}; 3113a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP256r1_T_15_Y[] = { 3114a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x50, 0x85, 0xF4, 0x2B, 0x48, 0xC1, 0xAD), 3115a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x28, 0xBB, 0x11, 0xBA, 0x5B, 0x22, 0x6C), 3116a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xA1, 0xE5, 0x5C, 0xC9, 0x1D, 0x44, 0x45), 3117a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xE8, 0xE6, 0x6F, 0xBB, 0xC1, 0x81, 0x7F), 3118a8e1175bSopenharmony_ci}; 3119a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP256r1_T[16] = { 3120a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(brainpoolP256r1_T_0_X, brainpoolP256r1_T_0_Y), 3121a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_1_X, brainpoolP256r1_T_1_Y), 3122a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_2_X, brainpoolP256r1_T_2_Y), 3123a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_3_X, brainpoolP256r1_T_3_Y), 3124a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_4_X, brainpoolP256r1_T_4_Y), 3125a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_5_X, brainpoolP256r1_T_5_Y), 3126a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_6_X, brainpoolP256r1_T_6_Y), 3127a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_7_X, brainpoolP256r1_T_7_Y), 3128a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_8_X, brainpoolP256r1_T_8_Y), 3129a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_9_X, brainpoolP256r1_T_9_Y), 3130a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_10_X, brainpoolP256r1_T_10_Y), 3131a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_11_X, brainpoolP256r1_T_11_Y), 3132a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_12_X, brainpoolP256r1_T_12_Y), 3133a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_13_X, brainpoolP256r1_T_13_Y), 3134a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_14_X, brainpoolP256r1_T_14_Y), 3135a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP256r1_T_15_X, brainpoolP256r1_T_15_Y), 3136a8e1175bSopenharmony_ci}; 3137a8e1175bSopenharmony_ci#else 3138a8e1175bSopenharmony_ci#define brainpoolP256r1_T NULL 3139a8e1175bSopenharmony_ci#endif 3140a8e1175bSopenharmony_ci 3141a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */ 3142a8e1175bSopenharmony_ci 3143a8e1175bSopenharmony_ci/* 3144a8e1175bSopenharmony_ci * Domain parameters for brainpoolP384r1 (RFC 5639 3.6) 3145a8e1175bSopenharmony_ci */ 3146a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 3147a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_p[] = { 3148a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xEC, 0x07, 0x31, 0x13, 0x00, 0x47, 0x87), 3149a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x1A, 0x1D, 0x90, 0x29, 0xA7, 0xD3, 0xAC), 3150a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x11, 0xB7, 0x7F, 0x19, 0xDA, 0xB1, 0x12), 3151a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x56, 0x54, 0xED, 0x09, 0x71, 0x2F, 0x15), 3152a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x41, 0xE6, 0x50, 0x7E, 0x6F, 0x5D, 0x0F), 3153a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x38, 0xA3, 0x82, 0x1E, 0xB9, 0x8C), 3154a8e1175bSopenharmony_ci}; 3155a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_a[] = { 3156a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x28, 0xCE, 0x22, 0xDD, 0xC7, 0xA8, 0x04), 3157a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0xD4, 0x3A, 0x50, 0x4A, 0x81, 0xA5, 0x8A), 3158a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xF9, 0x91, 0xBA, 0xEF, 0x65, 0x91, 0x13), 3159a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x27, 0xB2, 0x4F, 0x8E, 0xA2, 0xBE, 0xC2), 3160a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xAF, 0x05, 0xCE, 0x0A, 0x08, 0x72, 0x3C), 3161a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x15, 0x8C, 0x3D, 0xC6, 0x82, 0xC3, 0x7B), 3162a8e1175bSopenharmony_ci}; 3163a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_b[] = { 3164a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x4C, 0x50, 0xFA, 0x96, 0x86, 0xB7, 0x3A), 3165a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0xC9, 0xDB, 0x95, 0x02, 0x39, 0xB4, 0x7C), 3166a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x62, 0xEB, 0x3E, 0xA5, 0x0E, 0x88, 0x2E), 3167a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA6, 0xD2, 0xDC, 0x07, 0xE1, 0x7D, 0xB7, 0x2F), 3168a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x44, 0xF0, 0x16, 0x54, 0xB5, 0x39, 0x8B), 3169a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x28, 0xCE, 0x22, 0xDD, 0xC7, 0xA8, 0x04), 3170a8e1175bSopenharmony_ci}; 3171a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_gx[] = { 3172a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xD4, 0x47, 0xE2, 0xB2, 0x87, 0xEF), 3173a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x46, 0xD6, 0x36, 0x34, 0xE0, 0x26, 0xE8), 3174a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x10, 0xBD, 0x0C, 0xFE, 0xCA, 0x7F, 0xDB), 3175a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x4F, 0xF1, 0x7E, 0xE7, 0xA3, 0x47, 0x88), 3176a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x3F, 0xC1, 0xB7, 0x81, 0x3A, 0xA6, 0xA2), 3177a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x45, 0xCF, 0x68, 0xF0, 0x64, 0x1C, 0x1D), 3178a8e1175bSopenharmony_ci}; 3179a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_gy[] = { 3180a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x53, 0x3C, 0x26, 0x41, 0x03, 0x82, 0x42), 3181a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x91, 0x77, 0x21, 0x46, 0x46, 0x0E), 3182a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x29, 0x91, 0xF9, 0x4F, 0x05, 0x9C, 0xE1), 3183a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x58, 0xEC, 0xFE, 0x29, 0x0B, 0xB7, 0x62), 3184a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xD5, 0xCF, 0x95, 0x8E, 0xEB, 0xB1, 0x5C), 3185a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xC2, 0xF9, 0x20, 0x75, 0x1D, 0xBE, 0x8A), 3186a8e1175bSopenharmony_ci}; 3187a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_n[] = { 3188a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x65, 0x04, 0xE9, 0x02, 0x32, 0x88, 0x3B), 3189a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xC3, 0x7F, 0x6B, 0xAF, 0xB6, 0x3A, 0xCF), 3190a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x25, 0x04, 0xAC, 0x6C, 0x6E, 0x16, 0x1F), 3191a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x56, 0x54, 0xED, 0x09, 0x71, 0x2F, 0x15), 3192a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x41, 0xE6, 0x50, 0x7E, 0x6F, 0x5D, 0x0F), 3193a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x6D, 0x38, 0xA3, 0x82, 0x1E, 0xB9, 0x8C), 3194a8e1175bSopenharmony_ci}; 3195a8e1175bSopenharmony_ci 3196a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 3197a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_0_X[] = { 3198a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xD4, 0x47, 0xE2, 0xB2, 0x87, 0xEF), 3199a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x46, 0xD6, 0x36, 0x34, 0xE0, 0x26, 0xE8), 3200a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x10, 0xBD, 0x0C, 0xFE, 0xCA, 0x7F, 0xDB), 3201a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x4F, 0xF1, 0x7E, 0xE7, 0xA3, 0x47, 0x88), 3202a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x3F, 0xC1, 0xB7, 0x81, 0x3A, 0xA6, 0xA2), 3203a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x45, 0xCF, 0x68, 0xF0, 0x64, 0x1C, 0x1D), 3204a8e1175bSopenharmony_ci}; 3205a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_0_Y[] = { 3206a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x53, 0x3C, 0x26, 0x41, 0x03, 0x82, 0x42), 3207a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x91, 0x77, 0x21, 0x46, 0x46, 0x0E), 3208a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x29, 0x91, 0xF9, 0x4F, 0x05, 0x9C, 0xE1), 3209a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x58, 0xEC, 0xFE, 0x29, 0x0B, 0xB7, 0x62), 3210a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0xD5, 0xCF, 0x95, 0x8E, 0xEB, 0xB1, 0x5C), 3211a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xC2, 0xF9, 0x20, 0x75, 0x1D, 0xBE, 0x8A), 3212a8e1175bSopenharmony_ci}; 3213a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_1_X[] = { 3214a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0xD8, 0x8A, 0x54, 0x41, 0xD6, 0x6B, 0x1D), 3215a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x3B, 0xF1, 0x22, 0xFD, 0x2D, 0x4B, 0x03), 3216a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x55, 0xE3, 0x33, 0xF0, 0x73, 0x52, 0x5A), 3217a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x3F, 0x30, 0x26, 0xCA, 0x7F, 0x52, 0xA3), 3218a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD3, 0x6E, 0x17, 0x9B, 0xD5, 0x2A, 0x4A, 0x31), 3219a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xDA, 0x6B, 0xE5, 0x03, 0x07, 0x1D, 0x2E), 3220a8e1175bSopenharmony_ci}; 3221a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_1_Y[] = { 3222a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x7A, 0xAF, 0x98, 0xE3, 0xA4, 0xF6, 0x19), 3223a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x7D, 0xFE, 0x51, 0x40, 0x3B, 0x47, 0xD2), 3224a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x88, 0xEC, 0xC4, 0xE2, 0x8F, 0xCB, 0xA4), 3225a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xE2, 0x88, 0x2D, 0x4E, 0x50, 0xEB, 0x9A), 3226a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x54, 0x94, 0x5E, 0xF4, 0x7F, 0x3A, 0x04), 3227a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x07, 0x1C, 0xE1, 0xBD, 0x0F, 0xF8, 0x63), 3228a8e1175bSopenharmony_ci}; 3229a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_2_X[] = { 3230a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x92, 0x28, 0x2E, 0x32, 0x04, 0xB1, 0x4D), 3231a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x82, 0x44, 0x43, 0x76, 0x0D, 0x55, 0xBF), 3232a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xE3, 0xFF, 0x89, 0x46, 0xDE, 0x4E, 0xFE), 3233a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0x22, 0xBB, 0x67, 0x1A, 0x81, 0xEE, 0x27), 3234a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x54, 0xE2, 0x7A, 0xAE, 0xDA, 0x2C, 0xD0), 3235a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x9A, 0x90, 0xAA, 0x6E, 0x8B, 0xCC, 0x5F), 3236a8e1175bSopenharmony_ci}; 3237a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_2_Y[] = { 3238a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x40, 0xAC, 0xED, 0x7D, 0x37, 0x87, 0xAC), 3239a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0xF8, 0xB1, 0x80, 0x4C, 0x8C, 0x04, 0x42), 3240a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x98, 0x2C, 0xAD, 0x30, 0x69, 0x35, 0xC0), 3241a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x2E, 0x00, 0x2F, 0x44, 0x8C, 0xF0, 0xC0), 3242a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x58, 0x07, 0xD7, 0xCD, 0x60, 0xA1, 0x5B), 3243a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0xFB, 0x7B, 0x03, 0x05, 0x5E, 0x79, 0x73), 3244a8e1175bSopenharmony_ci}; 3245a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_3_X[] = { 3246a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x17, 0xCE, 0x38, 0x4B, 0x5E, 0x5B, 0xC8), 3247a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x0E, 0x0A, 0x61, 0x9D, 0x7C, 0x62, 0x08), 3248a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xF0, 0x98, 0x71, 0x7F, 0x17, 0x26, 0xD7), 3249a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0xD3, 0xFA, 0x3C, 0xF0, 0x70, 0x07, 0x82), 3250a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x47, 0x5C, 0x09, 0x43, 0xB7, 0x65, 0x15), 3251a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xA9, 0xA7, 0x3E, 0xFA, 0xF3, 0xEC, 0x22), 3252a8e1175bSopenharmony_ci}; 3253a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_3_Y[] = { 3254a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x78, 0x22, 0x2B, 0x58, 0x71, 0xFA, 0xAA), 3255a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x30, 0xCE, 0x6A, 0xB3, 0xB0, 0x4F, 0x83), 3256a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0x95, 0x20, 0xA9, 0x23, 0xC2, 0x65, 0xE7), 3257a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0xCF, 0x03, 0x5B, 0x8A, 0x80, 0x44, 0xBB), 3258a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xF8, 0x91, 0xF7, 0xD5, 0xED, 0xEA, 0x81), 3259a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x5B, 0x16, 0x10, 0x25, 0xAC, 0x2A, 0x17), 3260a8e1175bSopenharmony_ci}; 3261a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_4_X[] = { 3262a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xEC, 0xDC, 0xC4, 0x7B, 0x8C, 0x6B, 0xE9), 3263a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xBB, 0x1C, 0xD3, 0x5A, 0xEE, 0xD9, 0x97), 3264a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x5D, 0x30, 0x5E, 0xF7, 0xB2, 0x41, 0x9D), 3265a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xCE, 0x0F, 0x1A, 0xC6, 0x41, 0x64, 0x62), 3266a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x18, 0xE1, 0xE3, 0x82, 0x15, 0x66, 0x4B), 3267a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0xE2, 0x24, 0x04, 0x72, 0x39, 0xA0, 0x7C), 3268a8e1175bSopenharmony_ci}; 3269a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_4_Y[] = { 3270a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x51, 0xA2, 0x58, 0x88, 0x62, 0xE1, 0x02), 3271a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xD2, 0x65, 0x14, 0xE9, 0x4C, 0x82, 0x30), 3272a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xE1, 0xAC, 0x87, 0xAE, 0x31, 0x1A, 0x7A), 3273a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0x4F, 0x96, 0x1E, 0x85, 0x7A, 0xC3, 0x2B), 3274a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x86, 0xBB, 0xF0, 0xC0, 0x9D, 0x08, 0x7B), 3275a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x53, 0x03, 0x09, 0x80, 0x91, 0xEF, 0x68), 3276a8e1175bSopenharmony_ci}; 3277a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_5_X[] = { 3278a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0xD7, 0xAF, 0x6F, 0x69, 0x7B, 0x88, 0xA1), 3279a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x13, 0xE4, 0x30, 0xA2, 0x47, 0xB5, 0xC1), 3280a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xD2, 0xC0, 0xDD, 0x8A, 0x1C, 0x3C, 0xF2), 3281a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x8C, 0xB3, 0x4C, 0xBA, 0x8B, 0x6D, 0xCF), 3282a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0xC7, 0xA1, 0xA8, 0x6E, 0x3C, 0x4F, 0xF1), 3283a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x4A, 0x97, 0xC8, 0x03, 0x6F, 0x01, 0x82), 3284a8e1175bSopenharmony_ci}; 3285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_5_Y[] = { 3286a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x18, 0x12, 0xA9, 0x39, 0xD5, 0x22, 0x26), 3287a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0xA7, 0xC0, 0xBD, 0x9D, 0x8D, 0x78, 0x38), 3288a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xB3, 0xD0, 0x7F, 0xDF, 0xD0, 0x30, 0xDE), 3289a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x25, 0x73, 0x96, 0xEC, 0xA8, 0x1D, 0x7C), 3290a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xD1, 0x65, 0x66, 0xDC, 0xD9, 0xCF, 0xDF), 3291a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xED, 0x7B, 0x37, 0xAD, 0xE2, 0xBE, 0x2D), 3292a8e1175bSopenharmony_ci}; 3293a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_6_X[] = { 3294a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x79, 0x42, 0x6A, 0x07, 0x66, 0xB1, 0xBD), 3295a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x53, 0x62, 0x65, 0x92, 0x09, 0x4C, 0xA1), 3296a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xAF, 0xC3, 0x03, 0xF6, 0xF4, 0x2D, 0x9B), 3297a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xCA, 0x41, 0xD9, 0xA2, 0x69, 0x9B, 0xC9), 3298a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0xB2, 0xA6, 0x8D, 0xE1, 0xAA, 0x61, 0x76), 3299a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xBA, 0x4D, 0x12, 0xB6, 0xBE, 0xF3, 0x7E), 3300a8e1175bSopenharmony_ci}; 3301a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_6_Y[] = { 3302a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xD9, 0x92, 0x22, 0x07, 0xCE, 0xC9, 0x26), 3303a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xA1, 0x7C, 0x91, 0xDB, 0x32, 0xF7, 0xE5), 3304a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x49, 0x4B, 0x6D, 0xFB, 0xD9, 0x70, 0x3B), 3305a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xFB, 0x4E, 0x4C, 0x5E, 0x66, 0x81, 0x1D), 3306a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xB3, 0xE1, 0x00, 0xB7, 0xD9, 0xCC, 0x58), 3307a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x36, 0x8B, 0xC4, 0x39, 0x20, 0xFD, 0x30), 3308a8e1175bSopenharmony_ci}; 3309a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_7_X[] = { 3310a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x1F, 0x60, 0x03, 0xBB, 0xD7, 0x60, 0x57), 3311a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x3C, 0x62, 0xDD, 0x71, 0x95, 0xE9, 0x61), 3312a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x5B, 0x7A, 0x5F, 0x68, 0x81, 0xC5, 0x90), 3313a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xAF, 0xB5, 0xB9, 0x98, 0x42, 0x28, 0xA5), 3314a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x29, 0x8E, 0x11, 0x49, 0xB4, 0xD7, 0x20), 3315a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x3E, 0xD2, 0x30, 0xA1, 0xBA, 0xCA, 0x03), 3316a8e1175bSopenharmony_ci}; 3317a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_7_Y[] = { 3318a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x37, 0x64, 0x44, 0x2F, 0x03, 0xE5, 0x41), 3319a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x42, 0xBC, 0xFF, 0xA2, 0x1A, 0x5F, 0x06), 3320a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0x04, 0xAB, 0x04, 0xE0, 0x24, 0xAD, 0x2A), 3321a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x45, 0x17, 0x67, 0x1F, 0x3E, 0x53, 0xF8), 3322a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x0F, 0xB3, 0x1B, 0x57, 0x54, 0xC2, 0x03), 3323a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xD3, 0xF8, 0xC4, 0x1B, 0x9B, 0xFA, 0x30), 3324a8e1175bSopenharmony_ci}; 3325a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_8_X[] = { 3326a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x90, 0xFD, 0xFB, 0xCA, 0x49, 0x38, 0x4E), 3327a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xCF, 0xC6, 0xDD, 0xF0, 0xFF, 0x8C, 0x11), 3328a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x69, 0x9D, 0xBD, 0x5F, 0x33, 0xE9, 0xB4), 3329a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x19, 0x82, 0x3D, 0xAC, 0x1C, 0x40, 0x23), 3330a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0xC7, 0x02, 0x46, 0x14, 0x77, 0x00, 0xBE), 3331a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x05, 0xF2, 0x77, 0x3A, 0x66, 0x5C, 0x39), 3332a8e1175bSopenharmony_ci}; 3333a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_8_Y[] = { 3334a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xE6, 0x17, 0xDE, 0xB2, 0xA1, 0xE5, 0xB8), 3335a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x71, 0xEC, 0x9D, 0xD8, 0xF5, 0xD4, 0x66), 3336a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xC6, 0x42, 0x5E, 0xE7, 0x18, 0xBA, 0xD0), 3337a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x21, 0x68, 0x5A, 0x26, 0xFB, 0xD7, 0x17), 3338a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x00, 0x5C, 0xBA, 0x8A, 0x34, 0xEC, 0x75), 3339a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0x9C, 0x3C, 0xAF, 0x53, 0xE8, 0x65, 0x35), 3340a8e1175bSopenharmony_ci}; 3341a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_9_X[] = { 3342a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xEF, 0x28, 0xDC, 0x67, 0x05, 0xC8, 0xDF), 3343a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x78, 0xC3, 0x85, 0x49, 0xA0, 0xBC, 0x0F), 3344a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x3E, 0x2D, 0xA0, 0xCF, 0xD4, 0x7A, 0xF5), 3345a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x93, 0xFE, 0x60, 0xB3, 0x6E, 0x99, 0xE2), 3346a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x62, 0xAD, 0x04, 0xE7, 0x49, 0xAF, 0x5E, 0xE3), 3347a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x7A, 0xED, 0xA6, 0x9E, 0x18, 0x09, 0x31), 3348a8e1175bSopenharmony_ci}; 3349a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_9_Y[] = { 3350a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x05, 0x94, 0x44, 0xDC, 0xB8, 0x85, 0x94), 3351a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xB7, 0x37, 0xC2, 0x50, 0x75, 0x15, 0xDA), 3352a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0xC6, 0x0F, 0xB2, 0xA9, 0x91, 0x3E, 0xE8), 3353a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x81, 0xAD, 0x25, 0xA1, 0x26, 0x73, 0x15), 3354a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xF1, 0xD1, 0x61, 0x7C, 0x76, 0x8F, 0x13), 3355a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0xDB, 0x4A, 0xFF, 0x14, 0xA7, 0x48, 0x0B), 3356a8e1175bSopenharmony_ci}; 3357a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_10_X[] = { 3358a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x73, 0xC6, 0xC2, 0xCC, 0xF1, 0x57, 0x04), 3359a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0xED, 0x73, 0x27, 0x70, 0x82, 0xB6, 0x5E), 3360a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xBA, 0xAC, 0x3A, 0xCF, 0xF4, 0xEA, 0xA6), 3361a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xD6, 0xB1, 0x8F, 0x0E, 0x08, 0x2C, 0x5E), 3362a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xE3, 0x8F, 0x2F, 0x0E, 0xA1, 0xF3, 0x07), 3363a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0xF5, 0x7C, 0x9B, 0x29, 0x0A, 0xF6, 0x28), 3364a8e1175bSopenharmony_ci}; 3365a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_10_Y[] = { 3366a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0xEE, 0x17, 0x47, 0x34, 0x15, 0xA3, 0xAF), 3367a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xBE, 0x88, 0x48, 0xE7, 0xA2, 0xBB, 0xDE), 3368a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xAD, 0xDC, 0x65, 0x61, 0x37, 0x0F, 0xC1), 3369a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x67, 0xAD, 0xA2, 0x3A, 0x1C, 0x91, 0x78), 3370a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x07, 0x0C, 0x3A, 0x41, 0x6E, 0x13, 0x28), 3371a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0xBD, 0x7E, 0xED, 0xAA, 0x14, 0xDD, 0x61), 3372a8e1175bSopenharmony_ci}; 3373a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_11_X[] = { 3374a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC3, 0xDC, 0x20, 0x01, 0x72, 0x11, 0x48, 0x55), 3375a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xC4, 0x7B, 0xF8, 0x62, 0x3D, 0xF0, 0x9F), 3376a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xC2, 0x3D, 0x2E, 0x52, 0xA3, 0x4A, 0x89), 3377a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xE2, 0x53, 0x46, 0x5E, 0x21, 0xF8, 0xCE), 3378a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xC7, 0x8F, 0xA9, 0x26, 0x42, 0x32, 0x3A), 3379a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xA6, 0xA0, 0x8D, 0x4B, 0x9A, 0x19, 0x03), 3380a8e1175bSopenharmony_ci}; 3381a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_11_Y[] = { 3382a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xAB, 0x6D, 0x1E, 0xFB, 0xEE, 0x60, 0x0C), 3383a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x56, 0x3C, 0xC5, 0x5D, 0x10, 0x79, 0x1C), 3384a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0xBC, 0x41, 0x9F, 0x71, 0xEF, 0x02, 0xF9), 3385a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x36, 0xC4, 0xD0, 0x88, 0x9B, 0x32, 0xFC), 3386a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xD4, 0x5D, 0x17, 0x39, 0xE6, 0x22, 0x2C), 3387a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7B, 0x26, 0x01, 0xCE, 0xBE, 0x4A, 0x9C, 0x27), 3388a8e1175bSopenharmony_ci}; 3389a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_12_X[] = { 3390a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x6D, 0x11, 0xCA, 0x6C, 0x5A, 0x93, 0x0C), 3391a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x96, 0x26, 0xAF, 0x2F, 0xE4, 0x30, 0x98), 3392a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xC1, 0x4C, 0xC6, 0x30, 0x1F, 0x5C, 0x04), 3393a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x59, 0xB3, 0xE8, 0xFC, 0x35, 0xEB, 0x63, 0x6C), 3394a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x1D, 0xCA, 0xFC, 0x50, 0x36, 0x4B, 0x96), 3395a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x0E, 0x23, 0x5B, 0xAF, 0xEB, 0x2D, 0x31), 3396a8e1175bSopenharmony_ci}; 3397a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_12_Y[] = { 3398a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0x88, 0xB6, 0xD7, 0x74, 0x4A, 0x23, 0xB6), 3399a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x66, 0xE2, 0xBB, 0x29, 0xA6, 0x4F, 0x55), 3400a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0x6F, 0x7E, 0x68, 0x6E, 0xA0, 0x14, 0x94), 3401a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x73, 0xD4, 0xE8, 0xAB, 0x5B, 0xF6, 0x0D), 3402a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xE0, 0x3C, 0x24, 0x00, 0x95, 0xE9, 0xAD), 3403a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x0D, 0x4F, 0x81, 0xD0, 0xF2, 0x3F, 0x00), 3404a8e1175bSopenharmony_ci}; 3405a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_13_X[] = { 3406a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0x1D, 0xCD, 0x78, 0x39, 0xC4, 0x6B, 0xD9), 3407a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x45, 0xC7, 0xB8, 0x2F, 0xAA, 0x5D, 0xE3), 3408a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0x8C, 0x6E, 0xA3, 0x24, 0xB2, 0xDB, 0x4B), 3409a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x2D, 0xD9, 0xF1, 0xC7, 0x9B, 0x8A, 0xAF), 3410a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xE1, 0x2C, 0xB9, 0x40, 0x37, 0x91, 0x75), 3411a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x2C, 0xB5, 0x23, 0x03, 0x2B, 0xAF, 0x2F), 3412a8e1175bSopenharmony_ci}; 3413a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_13_Y[] = { 3414a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0x9D, 0x5A, 0x20, 0x10, 0xA9, 0x84, 0xDA), 3415a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x30, 0x89, 0x20, 0x13, 0xE9, 0xB2, 0xCA), 3416a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x6E, 0x52, 0xEB, 0x03, 0x18, 0x1F, 0xA6), 3417a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x9E, 0x1C, 0x35, 0x87, 0x92, 0x69, 0xC7), 3418a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0xC9, 0x88, 0xAF, 0xC6, 0x6C, 0x83, 0x72), 3419a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0xD5, 0x7A, 0x54, 0x34, 0x99, 0xB6, 0x6F), 3420a8e1175bSopenharmony_ci}; 3421a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_14_X[] = { 3422a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0xAD, 0x45, 0x9B, 0x4B, 0x41, 0x4D, 0x50), 3423a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0x5D, 0xAB, 0x7F, 0x35, 0x34, 0xE9, 0x29), 3424a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0xBE, 0x78, 0x34, 0x44, 0xF3, 0x4A, 0x87), 3425a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xDE, 0xE3, 0xC4, 0xEE, 0x0B, 0xF9, 0xEB), 3426a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x86, 0x16, 0x48, 0x32, 0xB8, 0x74, 0x41), 3427a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0xEE, 0x7C, 0xBA, 0xBD, 0x81, 0xE3, 0x55), 3428a8e1175bSopenharmony_ci}; 3429a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_14_Y[] = { 3430a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x6A, 0xFA, 0x84, 0xDA, 0xB8, 0xD5, 0x14), 3431a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x9F, 0x8A, 0xD5, 0x1B, 0x2E, 0x1A, 0x0B), 3432a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x0C, 0x61, 0xE2, 0xFF, 0x5B, 0xE6, 0xD5), 3433a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x62, 0xC1, 0x87, 0x53, 0x1B, 0x92, 0xA3), 3434a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x90, 0x00, 0xD1, 0x6A, 0x0C, 0x0E, 0x28), 3435a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x2E, 0xB5, 0x3B, 0x44, 0xB5, 0xA0, 0x78), 3436a8e1175bSopenharmony_ci}; 3437a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_15_X[] = { 3438a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x5D, 0x02, 0x58, 0xB5, 0xBE, 0x45, 0x14), 3439a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xEF, 0x8E, 0x90, 0x4D, 0x2A, 0x32, 0xAC), 3440a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0x99, 0x75, 0x5C, 0x0A, 0x33, 0x8F, 0x36), 3441a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x6C, 0x95, 0xD4, 0x1F, 0xF3, 0xEB, 0xDA), 3442a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0xE4, 0x4C, 0x91, 0x20, 0xF3, 0x25, 0xEB), 3443a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x95, 0xEB, 0x29, 0x6F, 0x20, 0x34, 0x81), 3444a8e1175bSopenharmony_ci}; 3445a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_15_Y[] = { 3446a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x15, 0xE5, 0x13, 0x7E, 0x64, 0x8B, 0xAD), 3447a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xBC, 0x0D, 0x18, 0x7E, 0x37, 0x9E, 0xFA), 3448a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x82, 0x20, 0xF7, 0x2D, 0x7A, 0x77, 0x52), 3449a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x29, 0xA2, 0xDB, 0x7A, 0xE6, 0x6F, 0xA5), 3450a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xC6, 0x50, 0x5C, 0xBC, 0xE6, 0x4F, 0xBD), 3451a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x9F, 0xD5, 0xE8, 0xC5, 0x3D, 0xB7, 0x30), 3452a8e1175bSopenharmony_ci}; 3453a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_16_X[] = { 3454a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x03, 0x55, 0x10, 0xDB, 0xA6, 0x8B, 0x22), 3455a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x17, 0xAE, 0x78, 0xC9, 0x1D, 0x43, 0xCA), 3456a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x35, 0x49, 0xD4, 0x47, 0x84, 0x8D, 0x20), 3457a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x95, 0x2F, 0xEA, 0xBC, 0xB4, 0x18, 0xB3), 3458a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x48, 0xAE, 0x89, 0xF5, 0x65, 0x3D, 0x89), 3459a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xF2, 0x2B, 0x20, 0xD1, 0x75, 0x50, 0x63), 3460a8e1175bSopenharmony_ci}; 3461a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_16_Y[] = { 3462a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0xE6, 0x5C, 0x2C, 0xE0, 0x7D, 0xDF, 0x2D), 3463a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x07, 0x3E, 0xCE, 0x9F, 0x18, 0xB6, 0x05), 3464a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0xF8, 0xF0, 0xD5, 0xFA, 0x42, 0x1D, 0x6D), 3465a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x6C, 0x1D, 0x03, 0xC9, 0x0E, 0x2B, 0x2F), 3466a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x18, 0x52, 0xA5, 0xB4, 0x63, 0xE1, 0x06), 3467a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x0A, 0xD9, 0xC4, 0xFD, 0x16, 0x60, 0x54), 3468a8e1175bSopenharmony_ci}; 3469a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_17_X[] = { 3470a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x7D, 0xDE, 0xDF, 0x4B, 0x4A, 0xB0, 0xCB), 3471a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x4E, 0x8C, 0x94, 0xC1, 0xE2, 0x85, 0xDF), 3472a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4F, 0xF0, 0xEA, 0xB5, 0x9B, 0x70, 0xEF, 0x10), 3473a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x56, 0xC2, 0x39, 0x5D, 0xF3, 0x2C, 0xD9, 0x2C), 3474a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0x1C, 0x2E, 0xCC, 0x2F, 0x54, 0x87, 0x80), 3475a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB0, 0x72, 0xC7, 0xB5, 0x50, 0xA3, 0x84, 0x77), 3476a8e1175bSopenharmony_ci}; 3477a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_17_Y[] = { 3478a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xD1, 0xAF, 0xA9, 0xB4, 0x8B, 0x5D, 0xFA), 3479a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xF6, 0x52, 0x8A, 0xC3, 0x56, 0xA5, 0x5E), 3480a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x52, 0xFF, 0xEA, 0x05, 0x42, 0x77, 0x83), 3481a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x08, 0x90, 0x72, 0x86, 0xC4, 0xC3, 0xB8), 3482a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x15, 0xF8, 0xF1, 0x16, 0x67, 0xC6, 0xD5), 3483a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x87, 0xAC, 0x8F, 0x71, 0xEC, 0x83, 0x81), 3484a8e1175bSopenharmony_ci}; 3485a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_18_X[] = { 3486a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0xE1, 0xE6, 0x2D, 0x0E, 0x11, 0xA1, 0x62), 3487a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0xE2, 0xA8, 0x32, 0xE6, 0xE3, 0x83, 0xD1), 3488a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x56, 0xE5, 0xCD, 0xB7, 0x2B, 0x67, 0x6F), 3489a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xED, 0xC9, 0x65, 0x6D, 0x87, 0xE1, 0x8E), 3490a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x8E, 0xFD, 0x9A, 0x53, 0x0E, 0xFA, 0xA3), 3491a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0x4C, 0x4A, 0xE2, 0x23, 0x84, 0xFA, 0x01), 3492a8e1175bSopenharmony_ci}; 3493a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_18_Y[] = { 3494a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xFE, 0x49, 0x81, 0xD1, 0x3E, 0xF4, 0x7C), 3495a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x72, 0xE0, 0xEF, 0x0D, 0xB8, 0x3E, 0x6F), 3496a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x00, 0x0F, 0x5F, 0xCE, 0x60, 0x72, 0x2C), 3497a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xCC, 0xD8, 0x03, 0x07, 0x6E, 0x5A, 0xCD), 3498a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x3A, 0x35, 0x50, 0x4E, 0x1F, 0xCA, 0x5F), 3499a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0xEA, 0x88, 0x55, 0xBD, 0x6E, 0x05, 0x7F), 3500a8e1175bSopenharmony_ci}; 3501a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_19_X[] = { 3502a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x6D, 0xF1, 0x97, 0xA6, 0x69, 0x39, 0x24), 3503a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0x41, 0x99, 0xFF, 0x3B, 0xA1, 0x26, 0xEC), 3504a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x2F, 0x95, 0x80, 0x12, 0x4A, 0x1B, 0xCB), 3505a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xBF, 0x51, 0xAA, 0xAE, 0x2D, 0xDA, 0xCF), 3506a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x1C, 0xB3, 0x52, 0x36, 0x49, 0xD4, 0x86), 3507a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xC1, 0x1F, 0x3A, 0xD3, 0x3E, 0x5C, 0x1A), 3508a8e1175bSopenharmony_ci}; 3509a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_19_Y[] = { 3510a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x51, 0xF7, 0x2B, 0xC8, 0xA9, 0xA7, 0x15), 3511a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0x4E, 0x7F, 0x98, 0x41, 0x66, 0xB0, 0x03), 3512a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x1D, 0xC0, 0x42, 0xCD, 0xF8, 0xC3, 0x2B), 3513a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x41, 0x91, 0x7D, 0xCC, 0x8B, 0xCC, 0x41), 3514a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xAE, 0x76, 0xED, 0x56, 0x18, 0xC5, 0xAB), 3515a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x6A, 0x06, 0xA3, 0x7F, 0x65, 0x10, 0x1F), 3516a8e1175bSopenharmony_ci}; 3517a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_20_X[] = { 3518a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xEC, 0x3C, 0x05, 0x05, 0xCA, 0xF6, 0xED), 3519a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x48, 0xCD, 0x02, 0x51, 0x12, 0x16, 0x3C, 0x63), 3520a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0xEB, 0xB3, 0x43, 0x7B, 0xDD, 0xB2, 0x7C), 3521a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x59, 0x90, 0x41, 0xDB, 0xE4, 0xF5, 0x91), 3522a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x0E, 0x18, 0x2A, 0x5A, 0x83, 0x7C, 0x2F), 3523a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x37, 0xA1, 0x0D, 0xF1, 0x2F, 0x63, 0x79), 3524a8e1175bSopenharmony_ci}; 3525a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_20_Y[] = { 3526a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xC0, 0xFA, 0x6F, 0x1F, 0x67, 0xCF, 0xEC), 3527a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x34, 0x45, 0xBB, 0xF4, 0xF9, 0x9B, 0x89), 3528a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0x69, 0xFE, 0x67, 0x1D, 0x64, 0x8F, 0xB9), 3529a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x39, 0xBF, 0xD8, 0xB3, 0xC7, 0xAD, 0x8A), 3530a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x93, 0xFF, 0xF3, 0x28, 0xFA, 0x39, 0xF6), 3531a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xF9, 0xC3, 0x85, 0x26, 0x7A, 0x88, 0x89), 3532a8e1175bSopenharmony_ci}; 3533a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_21_X[] = { 3534a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xD5, 0x79, 0xD8, 0x11, 0xDE, 0xEB, 0x4E), 3535a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x46, 0xA4, 0x6A, 0xDA, 0x74, 0x34, 0xA8), 3536a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0xBD, 0xD3, 0xF5, 0x14, 0xEE, 0xFE, 0xAE), 3537a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x4C, 0xA3, 0x71, 0x43, 0x65, 0xF8, 0x94), 3538a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x6C, 0x35, 0xFA, 0x90, 0x25, 0xD8, 0xE2), 3539a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x34, 0x84, 0x96, 0xA1, 0x43, 0x03, 0x4D), 3540a8e1175bSopenharmony_ci}; 3541a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_21_Y[] = { 3542a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x3B, 0x3B, 0x2F, 0xCA, 0x59, 0xF2, 0x42), 3543a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCD, 0x48, 0x24, 0x74, 0xD8, 0x72, 0x90, 0xA3), 3544a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x42, 0x74, 0x8C, 0x6F, 0x52, 0x19, 0x3D), 3545a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x40, 0x9E, 0x41, 0x63, 0x68, 0x78, 0x4C, 0x2F), 3546a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x94, 0xB6, 0x6B, 0x38, 0x52, 0xA8, 0x9F), 3547a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x30, 0x25, 0x93, 0xA1, 0x6F, 0x6E, 0x68), 3548a8e1175bSopenharmony_ci}; 3549a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_22_X[] = { 3550a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x2F, 0x4B, 0x64, 0x79, 0x50, 0xFF, 0x01), 3551a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0x36, 0xED, 0x57, 0x39, 0x3B, 0xE7, 0xF3), 3552a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x85, 0xEA, 0x35, 0xD6, 0xC0, 0xA0, 0x52), 3553a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x89, 0x3A, 0xCC, 0x22, 0x1C, 0x46, 0x02), 3554a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x7A, 0xB0, 0xA1, 0x1B, 0x69, 0x62, 0x55), 3555a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xB8, 0x8A, 0x6C, 0x18, 0x85, 0x0D, 0x88), 3556a8e1175bSopenharmony_ci}; 3557a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_22_Y[] = { 3558a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xB6, 0x50, 0xE9, 0x4E, 0x7F, 0xE8, 0x07), 3559a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x5B, 0x5C, 0xD1, 0x4B, 0x11, 0x9A, 0xD8), 3560a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x25, 0x56, 0x74, 0x51, 0x9C, 0xEC, 0x9C), 3561a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x7F, 0xB6, 0x8A, 0xCB, 0x3A, 0x10, 0x6A), 3562a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x60, 0x33, 0x07, 0x01, 0xE9, 0x49, 0x59, 0xE6), 3563a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xA5, 0x2E, 0xF2, 0xBA, 0x32, 0x63, 0x44), 3564a8e1175bSopenharmony_ci}; 3565a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_23_X[] = { 3566a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x06, 0x0B, 0xA5, 0x44, 0x27, 0x7F, 0x22), 3567a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x74, 0xAC, 0x0F, 0xCC, 0x4F, 0x13, 0x61), 3568a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0xB1, 0xBF, 0x97, 0x49, 0xA5, 0x1C, 0x1D), 3569a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x64, 0x68, 0x7B, 0x0F, 0xCC, 0x77, 0xF8), 3570a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x39, 0xF9, 0x4E, 0x84, 0x9C, 0xF6, 0x96), 3571a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xCF, 0x6D, 0xE2, 0xA1, 0x2D, 0xF9, 0x2B), 3572a8e1175bSopenharmony_ci}; 3573a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_23_Y[] = { 3574a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0xC4, 0x90, 0x57, 0x31, 0x01, 0x05, 0x5E), 3575a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x1E, 0xBB, 0xBF, 0x98, 0xA4, 0x7C, 0xE3), 3576a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xE3, 0xA0, 0xB2, 0xCD, 0x39, 0x9A, 0x3F), 3577a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x34, 0x60, 0x7A, 0x89, 0x98, 0xB5, 0x52), 3578a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0x20, 0x3D, 0x3A, 0x04, 0x8F, 0x5A, 0xAC), 3579a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x26, 0xB6, 0x49, 0x09, 0x9C, 0x0F, 0x59), 3580a8e1175bSopenharmony_ci}; 3581a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_24_X[] = { 3582a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x66, 0xD2, 0x38, 0x2A, 0x62, 0x81, 0xCA), 3583a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0xC8, 0x20, 0x5E, 0x28, 0xA3, 0x81, 0xA7), 3584a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x31, 0xA4, 0xF1, 0xEA, 0x7D, 0x87, 0x45), 3585a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8F, 0x2C, 0x99, 0x09, 0x6F, 0x63, 0xEB, 0x2F), 3586a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x73, 0x76, 0xDA, 0x1A, 0x06, 0xBE, 0xDE, 0xA2), 3587a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x09, 0x2E, 0x75, 0x39, 0x30, 0x2D, 0x42), 3588a8e1175bSopenharmony_ci}; 3589a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_24_Y[] = { 3590a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x9B, 0xC1, 0x5A, 0x17, 0xC3, 0x8C, 0x31), 3591a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x58, 0x8D, 0x94, 0x4D, 0x3D, 0xAB, 0x60, 0xD4), 3592a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xFD, 0x1E, 0x0F, 0x43, 0xAE, 0x9D, 0x62), 3593a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0xF2, 0xF3, 0x20, 0x1B, 0xAA, 0xB7, 0x41), 3594a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0x5B, 0xA4, 0xF4, 0x90, 0x3B, 0xE3, 0x71), 3595a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x78, 0x72, 0xBD, 0x65, 0x09, 0x0B, 0x01), 3596a8e1175bSopenharmony_ci}; 3597a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_25_X[] = { 3598a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x37, 0x2A, 0x6C, 0x16, 0x4F, 0x64, 0x59), 3599a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0xCE, 0xA3, 0x90, 0xB4, 0x9A, 0xBC, 0xF7), 3600a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x38, 0x55, 0x63, 0x1D, 0x3A, 0x6E, 0x18), 3601a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xB4, 0xAA, 0x99, 0x22, 0x45, 0x89, 0x2C), 3602a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0x7C, 0x8C, 0xA6, 0x3D, 0xA7, 0x3E, 0xE8), 3603a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x06, 0x42, 0xDC, 0xA6, 0xE3, 0xC6, 0x12), 3604a8e1175bSopenharmony_ci}; 3605a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_25_Y[] = { 3606a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x8C, 0x3D, 0x5D, 0x47, 0x31, 0x7C, 0xEB), 3607a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x85, 0xEE, 0x46, 0x7E, 0x13, 0x04, 0x41), 3608a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x3C, 0x8B, 0x43, 0x2E, 0x74, 0xF5, 0xF6), 3609a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x88, 0x8E, 0x07, 0x29, 0x08, 0x03, 0x26), 3610a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0x9B, 0x89, 0xEB, 0x08, 0xE8, 0x43, 0xB5), 3611a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x07, 0x67, 0xFD, 0xD9, 0x73, 0x6F, 0x18), 3612a8e1175bSopenharmony_ci}; 3613a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_26_X[] = { 3614a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0xEB, 0x21, 0x8D, 0x98, 0x43, 0x74, 0x98), 3615a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x88, 0xCC, 0x14, 0xD8, 0x08, 0xBB, 0xA6, 0xE3), 3616a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x98, 0xF2, 0x6A, 0x18, 0xC3, 0xDD, 0x9E), 3617a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x38, 0x91, 0xA0, 0x03, 0xF2, 0x04, 0x62), 3618a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0xAF, 0xE8, 0xFD, 0xFB, 0x13, 0x70, 0x74), 3619a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x93, 0x87, 0x98, 0x4A, 0xE0, 0x00, 0x12), 3620a8e1175bSopenharmony_ci}; 3621a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_26_Y[] = { 3622a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x2E, 0x69, 0x9C, 0xA2, 0x2D, 0x03, 0x3F), 3623a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xFE, 0xF3, 0xB9, 0xC1, 0x85, 0x2A, 0xEE), 3624a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xFD, 0x86, 0xB1, 0xCD, 0xBF, 0x41, 0xB7), 3625a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xD8, 0x9A, 0x21, 0xF3, 0xFE, 0xCB, 0xF1), 3626a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x78, 0x04, 0x60, 0xB7, 0xA9, 0xA2, 0x84), 3627a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1E, 0x66, 0x2A, 0x54, 0x51, 0xBD, 0x8B), 3628a8e1175bSopenharmony_ci}; 3629a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_27_X[] = { 3630a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x16, 0x36, 0xEF, 0x61, 0x2D, 0xEE, 0x3B), 3631a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x5F, 0x88, 0xA0, 0x13, 0x12, 0xF7, 0x23), 3632a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA9, 0xC6, 0xAD, 0x4A, 0x4A, 0x07, 0x01, 0x5B), 3633a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB8, 0x74, 0xB1, 0x4F, 0xEB, 0xBD, 0xD5, 0x6B), 3634a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xF9, 0x71, 0xA2, 0x06, 0x4F, 0xD7, 0xBC), 3635a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x8B, 0x4D, 0x48, 0xE0, 0x98, 0xFB, 0x6A), 3636a8e1175bSopenharmony_ci}; 3637a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_27_Y[] = { 3638a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0xBA, 0x10, 0xA3, 0x0D, 0x52, 0xAC, 0x3A), 3639a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xD0, 0xE0, 0x36, 0xE6, 0x07, 0x3A, 0x30), 3640a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x80, 0xF0, 0xAA, 0x49, 0x22, 0x4B, 0xDD), 3641a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xC7, 0xAB, 0x1C, 0x89, 0xCD, 0x24, 0x40), 3642a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x82, 0x2A, 0xFC, 0xB3, 0x6D, 0x45, 0x96, 0x49), 3643a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xE4, 0xDB, 0x52, 0x3F, 0xC4, 0xB4, 0x19), 3644a8e1175bSopenharmony_ci}; 3645a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_28_X[] = { 3646a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5B, 0xCC, 0xC8, 0x7F, 0xBB, 0x6B, 0x87, 0x47), 3647a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x21, 0x3C, 0x69, 0x7D, 0x38, 0x57, 0x50), 3648a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x4C, 0x18, 0x3C, 0x53, 0xA5, 0x48, 0x6D), 3649a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xC3, 0x64, 0x45, 0xDB, 0xC4, 0x6D, 0x15), 3650a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xCC, 0xD1, 0xBB, 0x17, 0xB8, 0x34, 0x2D), 3651a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x69, 0x71, 0xFA, 0xA0, 0x28, 0x4A, 0x3D), 3652a8e1175bSopenharmony_ci}; 3653a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_28_Y[] = { 3654a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xE8, 0x9E, 0x39, 0xEA, 0x8D, 0x38, 0xDB), 3655a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x9C, 0xBB, 0xCD, 0x80, 0x1A, 0xEE, 0xB7), 3656a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xA0, 0x45, 0xBF, 0xD9, 0x22, 0x11, 0x32), 3657a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x7C, 0x5C, 0xD9, 0xC0, 0x9F, 0x69, 0xF5), 3658a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x8A, 0xA6, 0x79, 0x4E, 0x35, 0xB9, 0xD5), 3659a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCC, 0x8B, 0x9A, 0x3E, 0xA1, 0xB8, 0x28, 0x10), 3660a8e1175bSopenharmony_ci}; 3661a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_29_X[] = { 3662a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x2F, 0xEF, 0xBB, 0xA9, 0x72, 0x7F, 0xEA), 3663a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x34, 0xB7, 0x12, 0xB9, 0xE7, 0xC3, 0x2A), 3664a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x1D, 0xD9, 0x42, 0x77, 0x0C, 0x71, 0x6E), 3665a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x01, 0x59, 0xA7, 0x56, 0x03, 0x91, 0x8D), 3666a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x91, 0x99, 0x33, 0x30, 0x3E, 0xEF, 0x13), 3667a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xC9, 0x5A, 0x9A, 0x54, 0x66, 0xF1, 0x70), 3668a8e1175bSopenharmony_ci}; 3669a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_29_Y[] = { 3670a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0x2C, 0xB7, 0x6E, 0x71, 0x7D, 0x35, 0x30), 3671a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x0D, 0xEF, 0xD1, 0x2D, 0x99, 0x63, 0x2F), 3672a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x31, 0xAF, 0x2D, 0xC9, 0xC6, 0xC2, 0xAE), 3673a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0xC0, 0xDF, 0x80, 0x54, 0xC4, 0xAC, 0xF3), 3674a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x6B, 0xA0, 0x84, 0x96, 0xF7, 0x31, 0xC8), 3675a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0xE2, 0x7C, 0x7A, 0x41, 0x45, 0x75, 0x6A), 3676a8e1175bSopenharmony_ci}; 3677a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_30_X[] = { 3678a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xEE, 0x58, 0x31, 0xE8, 0x68, 0xD6, 0x76), 3679a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x2E, 0x48, 0xB7, 0x09, 0x9F, 0xD4, 0xCA), 3680a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xA9, 0x5C, 0xE7, 0x64, 0x43, 0x5D, 0xC9), 3681a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9E, 0x58, 0x9F, 0x50, 0xAB, 0x68, 0xFF, 0x6D), 3682a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0x88, 0x2D, 0xBA, 0x12, 0xBF, 0x8D, 0x7D), 3683a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xDF, 0x6F, 0xB3, 0x75, 0xA4, 0x55, 0x73), 3684a8e1175bSopenharmony_ci}; 3685a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_30_Y[] = { 3686a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x17, 0x92, 0x39, 0xB7, 0x13, 0x37, 0x6F), 3687a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x43, 0x71, 0xA7, 0xCA, 0x17, 0x1B, 0x32), 3688a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE7, 0xB9, 0xB0, 0x78, 0xEF, 0xA0, 0xDA, 0x83), 3689a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x84, 0xF2, 0x0F, 0x85, 0xA2, 0xB6, 0x1F), 3690a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x72, 0x65, 0x2E, 0x6E, 0x45, 0xB9, 0x4C, 0x3C), 3691a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x6A, 0x8C, 0x2B, 0x77, 0x96, 0x36, 0x22), 3692a8e1175bSopenharmony_ci}; 3693a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_31_X[] = { 3694a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x7A, 0x13, 0x4A, 0x97, 0x63, 0x02, 0x10), 3695a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x1E, 0x06, 0x03, 0x8F, 0xB9, 0xEE, 0x64), 3696a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0xEE, 0x8B, 0x89, 0xA9, 0x70, 0xDB, 0xCE), 3697a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x7B, 0x81, 0xC9, 0x70, 0x8D, 0x62, 0x32), 3698a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0xDA, 0x46, 0xF8, 0xF9, 0x3A, 0xBE, 0x55), 3699a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0x9C, 0x7A, 0x97, 0x62, 0xEB, 0xFA, 0x0F), 3700a8e1175bSopenharmony_ci}; 3701a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP384r1_T_31_Y[] = { 3702a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x03, 0x3D, 0x3C, 0x46, 0x27, 0x9E, 0x65), 3703a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x08, 0x1C, 0xD5, 0x25, 0xAF, 0xE9, 0x40), 3704a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x69, 0xDC, 0x59, 0xF4, 0x8A, 0x7C, 0x1F), 3705a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x9A, 0x7A, 0x99, 0x21, 0x0C, 0x4E, 0xE3), 3706a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xCE, 0x85, 0x5F, 0xAC, 0xAA, 0x82, 0x10), 3707a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x83, 0x57, 0x69, 0x90, 0x76, 0xF3, 0x53, 0x3F), 3708a8e1175bSopenharmony_ci}; 3709a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP384r1_T[32] = { 3710a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(brainpoolP384r1_T_0_X, brainpoolP384r1_T_0_Y), 3711a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_1_X, brainpoolP384r1_T_1_Y), 3712a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_2_X, brainpoolP384r1_T_2_Y), 3713a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_3_X, brainpoolP384r1_T_3_Y), 3714a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_4_X, brainpoolP384r1_T_4_Y), 3715a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_5_X, brainpoolP384r1_T_5_Y), 3716a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_6_X, brainpoolP384r1_T_6_Y), 3717a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_7_X, brainpoolP384r1_T_7_Y), 3718a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_8_X, brainpoolP384r1_T_8_Y), 3719a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_9_X, brainpoolP384r1_T_9_Y), 3720a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_10_X, brainpoolP384r1_T_10_Y), 3721a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_11_X, brainpoolP384r1_T_11_Y), 3722a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_12_X, brainpoolP384r1_T_12_Y), 3723a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_13_X, brainpoolP384r1_T_13_Y), 3724a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_14_X, brainpoolP384r1_T_14_Y), 3725a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_15_X, brainpoolP384r1_T_15_Y), 3726a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_16_X, brainpoolP384r1_T_16_Y), 3727a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_17_X, brainpoolP384r1_T_17_Y), 3728a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_18_X, brainpoolP384r1_T_18_Y), 3729a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_19_X, brainpoolP384r1_T_19_Y), 3730a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_20_X, brainpoolP384r1_T_20_Y), 3731a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_21_X, brainpoolP384r1_T_21_Y), 3732a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_22_X, brainpoolP384r1_T_22_Y), 3733a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_23_X, brainpoolP384r1_T_23_Y), 3734a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_24_X, brainpoolP384r1_T_24_Y), 3735a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_25_X, brainpoolP384r1_T_25_Y), 3736a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_26_X, brainpoolP384r1_T_26_Y), 3737a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_27_X, brainpoolP384r1_T_27_Y), 3738a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_28_X, brainpoolP384r1_T_28_Y), 3739a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_29_X, brainpoolP384r1_T_29_Y), 3740a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_30_X, brainpoolP384r1_T_30_Y), 3741a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP384r1_T_31_X, brainpoolP384r1_T_31_Y), 3742a8e1175bSopenharmony_ci}; 3743a8e1175bSopenharmony_ci#else 3744a8e1175bSopenharmony_ci#define brainpoolP384r1_T NULL 3745a8e1175bSopenharmony_ci#endif 3746a8e1175bSopenharmony_ci 3747a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */ 3748a8e1175bSopenharmony_ci 3749a8e1175bSopenharmony_ci/* 3750a8e1175bSopenharmony_ci * Domain parameters for brainpoolP512r1 (RFC 5639 3.7) 3751a8e1175bSopenharmony_ci */ 3752a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 3753a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_p[] = { 3754a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0x48, 0x3A, 0x58, 0x56, 0x60, 0xAA, 0x28), 3755a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x85, 0xC6, 0x82, 0x2D, 0x2F, 0xFF, 0x81, 0x28), 3756a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x80, 0xA3, 0xE6, 0x2A, 0xA1, 0xCD, 0xAE), 3757a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x68, 0xC6, 0x9B, 0x00, 0x9B, 0x4D, 0x7D), 3758a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x08, 0x33, 0x70, 0xCA, 0x9C, 0x63, 0xD6), 3759a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xD2, 0xC9, 0xB3, 0xB3, 0x8D, 0x30, 0xCB), 3760a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFC, 0xC9, 0x33, 0xAE, 0xE6, 0xD4, 0x3F), 3761a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xC4, 0xE9, 0xDB, 0xB8, 0x9D, 0xDD, 0xAA), 3762a8e1175bSopenharmony_ci}; 3763a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_a[] = { 3764a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x94, 0xFC, 0x77, 0x4D, 0xAC, 0xC1, 0xE7), 3765a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xC7, 0xF2, 0x2B, 0xA7, 0x17, 0x11, 0x7F), 3766a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0xC8, 0x9A, 0x8B, 0xC9, 0xF1, 0x2E, 0x0A), 3767a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x3A, 0x25, 0xA8, 0x5A, 0x5D, 0xED, 0x2D), 3768a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0x63, 0x98, 0xEA, 0xCA, 0x41, 0x34, 0xA8), 3769a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x16, 0xF9, 0x3D, 0x8D, 0xDD, 0xCB, 0x94), 3770a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x4C, 0x23, 0xAC, 0x45, 0x71, 0x32, 0xE2), 3771a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x3B, 0x60, 0x8B, 0x31, 0xA3, 0x30, 0x78), 3772a8e1175bSopenharmony_ci}; 3773a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_b[] = { 3774a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0xF7, 0x16, 0x80, 0x63, 0xBD, 0x09, 0x28), 3775a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xE5, 0xBA, 0x5E, 0xB7, 0x50, 0x40, 0x98), 3776a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x3E, 0x08, 0xDC, 0xCA, 0x94, 0xFC, 0x77), 3777a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0xAC, 0xC1, 0xE7, 0xB9, 0xC7, 0xF2, 0x2B), 3778a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x17, 0x11, 0x7F, 0xB5, 0xC8, 0x9A, 0x8B), 3779a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0xF1, 0x2E, 0x0A, 0xA1, 0x3A, 0x25, 0xA8), 3780a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x5D, 0xED, 0x2D, 0xBC, 0x63, 0x98, 0xEA), 3781a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0x41, 0x34, 0xA8, 0x10, 0x16, 0xF9, 0x3D), 3782a8e1175bSopenharmony_ci}; 3783a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_gx[] = { 3784a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xF8, 0xB9, 0xBC, 0x09, 0x22, 0x35, 0x8B), 3785a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5E, 0x6A, 0x40, 0x47, 0x50, 0x6D, 0x7C), 3786a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x7D, 0xB9, 0x93, 0x7B, 0x68, 0xD1, 0x50), 3787a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD4, 0xD0, 0xE2, 0x78, 0x1F, 0x3B, 0xFF), 3788a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x09, 0xD0, 0xF4, 0xEE, 0x62, 0x3B, 0xB4), 3789a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x16, 0xD9, 0xB5, 0x70, 0x9F, 0xED, 0x85), 3790a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x6A, 0x4C, 0x9C, 0x2E, 0x32, 0x21, 0x5A), 3791a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD9, 0x2E, 0xD8, 0xBD, 0xE4, 0xAE, 0x81), 3792a8e1175bSopenharmony_ci}; 3793a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_gy[] = { 3794a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x08, 0xD8, 0x3A, 0x0F, 0x1E, 0xCD, 0x78), 3795a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x54, 0xF0, 0xA8, 0x2F, 0x2B, 0xCA, 0xD1), 3796a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x63, 0x27, 0x8A, 0xD8, 0x4B, 0xCA, 0x5B), 3797a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x48, 0x5F, 0x4A, 0x49, 0xDE, 0xDC, 0xB2), 3798a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x1F, 0x88, 0x5B, 0xC5, 0x00, 0xA0), 3799a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x7B, 0xA5, 0x24, 0x00, 0xF7, 0x09, 0xF2), 3800a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x22, 0x78, 0xCF, 0xA9, 0xBF, 0xEA, 0xC0), 3801a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x32, 0x63, 0x56, 0x5D, 0x38, 0xDE, 0x7D), 3802a8e1175bSopenharmony_ci}; 3803a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_n[] = { 3804a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x69, 0x00, 0xA9, 0x9C, 0x82, 0x96, 0x87, 0xB5), 3805a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0xDA, 0x5D, 0x08, 0x81, 0xD3, 0xB1, 0x1D), 3806a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x47, 0x10, 0xAC, 0x7F, 0x19, 0x61, 0x86, 0x41), 3807a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x26, 0xA9, 0x4C, 0x41, 0x5C, 0x3E, 0x55), 3808a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x08, 0x33, 0x70, 0xCA, 0x9C, 0x63, 0xD6), 3809a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xD2, 0xC9, 0xB3, 0xB3, 0x8D, 0x30, 0xCB), 3810a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xFC, 0xC9, 0x33, 0xAE, 0xE6, 0xD4, 0x3F), 3811a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xC4, 0xE9, 0xDB, 0xB8, 0x9D, 0xDD, 0xAA), 3812a8e1175bSopenharmony_ci}; 3813a8e1175bSopenharmony_ci 3814a8e1175bSopenharmony_ci#if MBEDTLS_ECP_FIXED_POINT_OPTIM == 1 3815a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_0_X[] = { 3816a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0xF8, 0xB9, 0xBC, 0x09, 0x22, 0x35, 0x8B), 3817a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x5E, 0x6A, 0x40, 0x47, 0x50, 0x6D, 0x7C), 3818a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0x7D, 0xB9, 0x93, 0x7B, 0x68, 0xD1, 0x50), 3819a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xD4, 0xD0, 0xE2, 0x78, 0x1F, 0x3B, 0xFF), 3820a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x09, 0xD0, 0xF4, 0xEE, 0x62, 0x3B, 0xB4), 3821a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC1, 0x16, 0xD9, 0xB5, 0x70, 0x9F, 0xED, 0x85), 3822a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x6A, 0x4C, 0x9C, 0x2E, 0x32, 0x21, 0x5A), 3823a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD9, 0x2E, 0xD8, 0xBD, 0xE4, 0xAE, 0x81), 3824a8e1175bSopenharmony_ci}; 3825a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_0_Y[] = { 3826a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x08, 0xD8, 0x3A, 0x0F, 0x1E, 0xCD, 0x78), 3827a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x06, 0x54, 0xF0, 0xA8, 0x2F, 0x2B, 0xCA, 0xD1), 3828a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0x63, 0x27, 0x8A, 0xD8, 0x4B, 0xCA, 0x5B), 3829a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x48, 0x5F, 0x4A, 0x49, 0xDE, 0xDC, 0xB2), 3830a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0x81, 0x1F, 0x88, 0x5B, 0xC5, 0x00, 0xA0), 3831a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x7B, 0xA5, 0x24, 0x00, 0xF7, 0x09, 0xF2), 3832a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x22, 0x78, 0xCF, 0xA9, 0xBF, 0xEA, 0xC0), 3833a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0x32, 0x63, 0x56, 0x5D, 0x38, 0xDE, 0x7D), 3834a8e1175bSopenharmony_ci}; 3835a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_1_X[] = { 3836a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xE9, 0x6B, 0x8C, 0x6F, 0x9D, 0x88, 0x43), 3837a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x4F, 0x86, 0x96, 0xA7, 0x56, 0xD1, 0x37), 3838a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xAB, 0xFA, 0xEE, 0xA7, 0xF5, 0x0E, 0xA6), 3839a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x40, 0xEF, 0x9E, 0x6D, 0xD6, 0x32, 0x33), 3840a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xED, 0x56, 0x14, 0x57, 0x1A, 0x8D, 0x69), 3841a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xED, 0x4D, 0x3A, 0xFA, 0x71, 0x75, 0x6B), 3842a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xC5, 0x76, 0x1C, 0x14, 0xBE, 0xB5, 0xCD), 3843a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x5A, 0xCB, 0xE7, 0x36, 0x1D, 0x52, 0x1C), 3844a8e1175bSopenharmony_ci}; 3845a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_1_Y[] = { 3846a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x8D, 0x7A, 0xEB, 0xA3, 0x8B, 0xD5, 0xB0), 3847a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0xA3, 0x41, 0xF8, 0xAC, 0x9E, 0xAB, 0x74), 3848a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x12, 0xE3, 0x65, 0x0D, 0x1C, 0xFE, 0x09, 0x2B), 3849a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0xCA, 0x13, 0x3F, 0xC5, 0xF9, 0x7E, 0xEC), 3850a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0x5D, 0x63, 0x28, 0xA6, 0x89, 0xD3, 0x91), 3851a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x95, 0x3F, 0x7A, 0x82, 0xD4, 0x77, 0xE3), 3852a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xBB, 0x92, 0x32, 0x00, 0xF4, 0x66, 0x42), 3853a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x58, 0x31, 0xD1, 0x17, 0x9F, 0x2A, 0x22), 3854a8e1175bSopenharmony_ci}; 3855a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_2_X[] = { 3856a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x36, 0xA9, 0xCD, 0x80, 0xA5, 0x2D, 0x78), 3857a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x91, 0x44, 0xAB, 0xCE, 0x71, 0xFF, 0x0C, 0x9B), 3858a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0x24, 0x58, 0x35, 0x5A, 0x21, 0x32, 0x93), 3859a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1B, 0xA6, 0x28, 0xF8, 0x7A, 0x97, 0xAE, 0x8B), 3860a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xE7, 0x08, 0xFA, 0x47, 0xC9, 0x55, 0x09), 3861a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xAC, 0x2E, 0x84, 0xA4, 0xF5, 0x52, 0xC4), 3862a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x58, 0x05, 0x9D, 0xA7, 0xC8, 0x71, 0xBF), 3863a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x92, 0xB4, 0x92, 0xC1, 0x92, 0xEC, 0x6B), 3864a8e1175bSopenharmony_ci}; 3865a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_2_Y[] = { 3866a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4A, 0x48, 0x2D, 0x79, 0x5E, 0x58, 0xE5, 0x69), 3867a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x85, 0x26, 0xEC, 0xE9, 0x6E, 0xD4, 0x06), 3868a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x68, 0x26, 0x87, 0x38, 0xA2, 0xD2, 0x0B), 3869a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0x17, 0x60, 0xCE, 0x75, 0xF8, 0xA5, 0x6F), 3870a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0x51, 0xDB, 0xA9, 0xAE, 0x87, 0xF1, 0x15), 3871a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x49, 0x92, 0x3B, 0x19, 0x96, 0xF5, 0xB0), 3872a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0xD5, 0x52, 0x52, 0x8C, 0xCE, 0xFD, 0xFA), 3873a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x18, 0x0A, 0xE6, 0xF6, 0xAE, 0x08, 0x41), 3874a8e1175bSopenharmony_ci}; 3875a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_3_X[] = { 3876a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x2B, 0xD8, 0x54, 0xCE, 0xB0, 0x57, 0xFE), 3877a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xB0, 0xF8, 0x9E, 0x03, 0x03, 0x3C, 0x5D), 3878a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x0E, 0x29, 0x29, 0x00, 0xF3, 0x70, 0xBF), 3879a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0x33, 0x99, 0x0E, 0x00, 0x5D, 0xFE, 0x4B), 3880a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0x2D, 0xF2, 0x59, 0x32, 0xCF, 0x03, 0xF4), 3881a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0xC9, 0x72, 0xAE, 0x0C, 0xEF, 0xD1, 0x5B), 3882a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x5A, 0x27, 0xBF, 0x2F, 0x45, 0xF9, 0x51), 3883a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD4, 0xBE, 0xE5, 0x2C, 0xFF, 0x5B, 0x1E, 0x88), 3884a8e1175bSopenharmony_ci}; 3885a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_3_Y[] = { 3886a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0xAC, 0xBB, 0xD8, 0x83, 0xC2, 0x46, 0xF6), 3887a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xDC, 0xCE, 0x15, 0xB4, 0xEF, 0xCF, 0x46), 3888a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xDB, 0x5E, 0x94, 0x31, 0x0B, 0xB2, 0x7A), 3889a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0xB9, 0xE3, 0xE3, 0x11, 0x71, 0x41, 0x1E), 3890a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xE3, 0x01, 0xB7, 0x7D, 0xBC, 0x65, 0xBE), 3891a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x07, 0x65, 0x87, 0xA7, 0xE8, 0x48, 0xE3), 3892a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x48, 0x8F, 0xD4, 0x30, 0x8E, 0xB4, 0x6C), 3893a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0xE0, 0x73, 0xBE, 0x1E, 0xBF, 0x56, 0x36), 3894a8e1175bSopenharmony_ci}; 3895a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_4_X[] = { 3896a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFE, 0x0E, 0x5E, 0x87, 0xC5, 0xAB, 0x0E, 0x3C), 3897a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0xF9, 0x5F, 0x80, 0x24, 0x4C, 0x2A, 0xF1), 3898a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDE, 0x15, 0x21, 0x54, 0x92, 0x84, 0x8D, 0x6A), 3899a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA8, 0x8A, 0x47, 0x74, 0xDC, 0x42, 0xB1, 0xF8), 3900a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0xF7, 0x30, 0xFD, 0xC1, 0x9B, 0x0C, 0x5B), 3901a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x6C, 0xCC, 0xDF, 0xC5, 0xE3, 0xA9, 0xD5), 3902a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x67, 0x59, 0x10, 0x5C, 0x51, 0x54, 0x40), 3903a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x37, 0xFB, 0x6E, 0xB0, 0x78, 0x63, 0x8E), 3904a8e1175bSopenharmony_ci}; 3905a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_4_Y[] = { 3906a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0xEF, 0xC4, 0x39, 0x20, 0xF1, 0x46, 0x66), 3907a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0x62, 0xAE, 0xFF, 0x10, 0xE4, 0xE2, 0xE9), 3908a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x5C, 0xF5, 0x2E, 0x22, 0x89, 0xE5, 0x82), 3909a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0x0C, 0x29, 0xA8, 0x62, 0xAE, 0xDB, 0x65), 3910a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x9E, 0x0F, 0xCA, 0x87, 0x2A, 0x6F, 0x7B), 3911a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCE, 0xDC, 0x9B, 0x9F, 0x65, 0xD4, 0xAD, 0x27), 3912a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0xC3, 0x08, 0x0F, 0xCF, 0x67, 0xE9, 0xF4), 3913a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x5C, 0xD7, 0xFF, 0x41, 0x9C, 0xCB, 0x26), 3914a8e1175bSopenharmony_ci}; 3915a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_5_X[] = { 3916a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x25, 0x05, 0x12, 0xAD, 0x73, 0x63, 0x90), 3917a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x99, 0x07, 0x86, 0x57, 0xE7, 0x94, 0xB1), 3918a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x4B, 0xA5, 0xBF, 0x18, 0xA9, 0xEF, 0x6A), 3919a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0x4C, 0xC4, 0x09, 0xF2, 0x2F, 0x0C, 0xAA), 3920a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x3A, 0x04, 0xEA, 0x89, 0x6C, 0x91, 0xB9), 3921a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x6C, 0x3A, 0xE7, 0xA3, 0xEC, 0x24, 0x7B), 3922a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xA1, 0x26, 0x21, 0x04, 0xE3, 0xB9, 0x40), 3923a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0x71, 0x4B, 0x7B, 0xC2, 0x89, 0xCD, 0xA2), 3924a8e1175bSopenharmony_ci}; 3925a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_5_Y[] = { 3926a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB7, 0xB9, 0xA8, 0x9D, 0xFD, 0x00, 0x3A, 0x1F), 3927a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x41, 0x6C, 0xBB, 0x5A, 0xCA, 0x1F, 0x74), 3928a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0xD7, 0xE2, 0x6C, 0x6B, 0xA7, 0x48, 0xC9), 3929a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x19, 0xAD, 0xA7, 0xC1, 0x7E, 0x4F, 0x6E), 3930a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0xF7, 0x19, 0x3C, 0x06, 0x74, 0x2C, 0x3A), 3931a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x23, 0x4F, 0x0C, 0x09, 0xB0, 0x80, 0x4A), 3932a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4E, 0x74, 0x34, 0x08, 0x44, 0x7E, 0xA3, 0xDD), 3933a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xCC, 0x8D, 0x12, 0x6E, 0xE1, 0x3D, 0x0B), 3934a8e1175bSopenharmony_ci}; 3935a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_6_X[] = { 3936a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x18, 0xB1, 0x71, 0x02, 0x93, 0xC2, 0xA4), 3937a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x89, 0x40, 0xE2, 0x1F, 0xE7, 0x5E, 0x68), 3938a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x8E, 0xAE, 0x89, 0x01, 0xD4, 0x0C, 0xEB), 3939a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAE, 0xDA, 0x58, 0x70, 0x24, 0xF2, 0xE4, 0x5F), 3940a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0xC7, 0x1D, 0xD6, 0x4A, 0x6F, 0x66, 0x4F), 3941a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x1D, 0x7E, 0x4A, 0x2C, 0xCA, 0xEC, 0x3B), 3942a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA1, 0x06, 0x7F, 0xA8, 0x99, 0xE4, 0xD3, 0x4E), 3943a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x1D, 0x5A, 0xDF, 0x5E, 0x58, 0x36, 0x49), 3944a8e1175bSopenharmony_ci}; 3945a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_6_Y[] = { 3946a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0xB9, 0x32, 0x69, 0x1F, 0x72, 0x2A, 0xB3), 3947a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0x73, 0xE2, 0x03, 0x39, 0x35, 0xAA, 0xA8), 3948a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x5E, 0x5D, 0x48, 0xEF, 0xAE, 0x30, 0xF5), 3949a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x7F, 0x60, 0x19, 0xAF, 0xEC, 0x9D, 0xFC), 3950a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCA, 0xD9, 0x19, 0xE4, 0x1B, 0x56, 0x15, 0x5F), 3951a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xD7, 0x33, 0x59, 0x1F, 0x43, 0x59, 0x2C), 3952a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xCE, 0xEE, 0xCA, 0xA4, 0x7F, 0x63, 0xD4), 3953a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBD, 0x40, 0xC0, 0xF6, 0x19, 0x89, 0x43, 0x20), 3954a8e1175bSopenharmony_ci}; 3955a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_7_X[] = { 3956a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x92, 0xEA, 0x07, 0x65, 0x79, 0x86, 0xD3), 3957a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0xB7, 0x13, 0x75, 0xD3, 0xC5, 0x0A, 0xC9), 3958a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x9E, 0xFA, 0xE1, 0x1F, 0x0C, 0xF9, 0x74), 3959a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x8C, 0xED, 0x5C, 0x21, 0xE9, 0x09, 0xDD), 3960a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0x4D, 0xD8, 0x18, 0xC4, 0xF6, 0x36, 0x39), 3961a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xC9, 0xAC, 0x5C, 0xFA, 0x69, 0xA4, 0xA0), 3962a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0x8C, 0x94, 0x1C, 0x7B, 0x71, 0x36, 0x58), 3963a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xBD, 0x46, 0xCE, 0xB7, 0x1D, 0x9C, 0x5E), 3964a8e1175bSopenharmony_ci}; 3965a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_7_Y[] = { 3966a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xD6, 0x96, 0x4B, 0xA6, 0x47, 0xEB, 0xE5), 3967a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0xF1, 0x5F, 0x15, 0xDE, 0x99, 0x6F, 0x66), 3968a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xBD, 0xE5, 0x04, 0xB8, 0xE6, 0xC0, 0x0B), 3969a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x49, 0xD3, 0xF0, 0x04, 0x00, 0xE4, 0x05, 0xDB), 3970a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xF3, 0x06, 0xA3, 0x1A, 0xFF, 0xEA, 0x73), 3971a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x32, 0xAA, 0x99, 0x33, 0x09, 0xB6, 0x34), 3972a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xEF, 0xFC, 0x61, 0x10, 0x42, 0x31, 0x94), 3973a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0xF1, 0xF4, 0x33, 0xCF, 0x28, 0x90, 0x9C), 3974a8e1175bSopenharmony_ci}; 3975a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_8_X[] = { 3976a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xDE, 0xF9, 0x88, 0x87, 0x7B, 0xEB, 0xC9), 3977a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0xB8, 0xDA, 0xFA, 0xDA, 0x3D, 0xA6, 0x17), 3978a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xF0, 0x62, 0x82, 0x53, 0x32, 0x55, 0x03), 3979a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xA5, 0x32, 0x4A, 0x19, 0x11, 0x9C, 0x10), 3980a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xB3, 0x27, 0xE9, 0x75, 0x90, 0x05, 0x2D), 3981a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x1C, 0x90, 0x48, 0x77, 0x01, 0x85, 0x1B), 3982a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xD6, 0x9B, 0x84, 0xA8, 0xD7, 0xC5, 0x28), 3983a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x7A, 0xCB, 0xB3, 0x11, 0x46, 0xD7, 0x99), 3984a8e1175bSopenharmony_ci}; 3985a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_8_Y[] = { 3986a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0x23, 0xBF, 0x75, 0x75, 0xA1, 0x95, 0x90), 3987a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4B, 0x66, 0x5D, 0x34, 0x13, 0xA9, 0x03, 0xBE), 3988a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x80, 0x9D, 0x5F, 0xD2, 0x44, 0xE1, 0x62), 3989a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x5D, 0xBD, 0xA8, 0xBF, 0xB4, 0x25, 0x1F), 3990a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x99, 0x1F, 0x53, 0xF1, 0x57, 0xDB, 0xE7), 3991a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x7C, 0xE5, 0xC5, 0x51, 0x0B, 0x4C, 0x9B), 3992a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6B, 0xB0, 0x1A, 0x9C, 0x16, 0xB0, 0x32, 0x1F), 3993a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xE3, 0xCF, 0xDD, 0x48, 0xB4, 0x7B, 0x33), 3994a8e1175bSopenharmony_ci}; 3995a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_9_X[] = { 3996a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0xDD, 0x9E, 0x3C, 0x98, 0x0E, 0x77, 0x65), 3997a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0xAB, 0x01, 0xD3, 0x87, 0x74, 0x25, 0x4A), 3998a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xA3, 0xE3, 0x76, 0x43, 0x87, 0x12, 0xBD), 3999a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x54, 0xB1, 0x3B, 0x60, 0x66, 0xEB, 0x98, 0x54), 4000a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x78, 0xC8, 0xD7, 0x4E, 0x75, 0xCA, 0x69), 4001a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xDF, 0x71, 0x19, 0xE7, 0x07, 0x36, 0xB5), 4002a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0xC9, 0xA8, 0x5F, 0x91, 0xBF, 0x47, 0xB2), 4003a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x96, 0x58, 0x96, 0x18, 0xB6, 0xFA, 0x01), 4004a8e1175bSopenharmony_ci}; 4005a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_9_Y[] = { 4006a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x2D, 0xA9, 0x9B, 0x86, 0xDB, 0x0C, 0x4C), 4007a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x0B, 0x2D, 0x56, 0x4A, 0xD3, 0x93, 0x8A), 4008a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x15, 0xE2, 0x65, 0x12, 0x86, 0x0E, 0xB2), 4009a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x41, 0x4D, 0xC1, 0xCB, 0xE4, 0xC3, 0xD7), 4010a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x53, 0x10, 0xCA, 0xA3, 0xAC, 0x83, 0x26), 4011a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x01, 0x22, 0x96, 0x10, 0xAD, 0x69, 0xDB), 4012a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x42, 0x46, 0x4E, 0xD8, 0xEA, 0xD6, 0x9D, 0xF3), 4013a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x2F, 0x7F, 0x62, 0x62, 0x80, 0xD0, 0x14), 4014a8e1175bSopenharmony_ci}; 4015a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_10_X[] = { 4016a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xDA, 0x00, 0x63, 0x09, 0xBD, 0x6A, 0x83), 4017a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0F, 0xD4, 0x6E, 0x48, 0x05, 0xB7, 0xF7, 0x17), 4018a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0x4D, 0xD7, 0x00, 0x4A, 0x15, 0x27, 0x7A), 4019a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x15, 0xAA, 0x37, 0x27, 0x34, 0x18, 0x24), 4020a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x20, 0x2C, 0x84, 0x1B, 0x88, 0xBA, 0x05), 4021a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x09, 0xD6, 0x04, 0xA2, 0x60, 0x84, 0x72), 4022a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0x04, 0x94, 0x08, 0xD4, 0xED, 0x47, 0xDB), 4023a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xF3, 0xE4, 0x3E, 0xB9, 0x5B, 0x35, 0x42), 4024a8e1175bSopenharmony_ci}; 4025a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_10_Y[] = { 4026a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5F, 0xD8, 0xB6, 0x80, 0xD6, 0xF1, 0x30, 0xDD), 4027a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x14, 0xA6, 0x85, 0xEE, 0xA7, 0xD8, 0x61), 4028a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x49, 0x2A, 0x1E, 0x7C, 0xE9, 0x2D, 0xEC), 4029a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3A, 0x87, 0x56, 0x91, 0x03, 0x77, 0x4D, 0x55), 4030a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0x52, 0xD4, 0xAA, 0xF7, 0xFA, 0xB0, 0xC5), 4031a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x5D, 0x11, 0x39, 0xB1, 0xE7, 0x76, 0xAD), 4032a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x13, 0xBC, 0x37, 0x5D, 0x74, 0xCD, 0xC2), 4033a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x48, 0x14, 0x23, 0x30, 0xF8, 0x46, 0x37), 4034a8e1175bSopenharmony_ci}; 4035a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_11_X[] = { 4036a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x27, 0xB0, 0xD9, 0xB2, 0x74, 0xB4, 0xC0), 4037a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEA, 0xA6, 0xB9, 0x6F, 0x9F, 0x64, 0x36, 0x92), 4038a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2E, 0x2B, 0x78, 0x40, 0x05, 0x2B, 0x7B, 0xA9), 4039a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x68, 0x3A, 0xB6, 0x4A, 0xE2, 0xDB, 0xB8), 4040a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1E, 0x33, 0xD7, 0x34, 0x8B, 0x25, 0x45, 0xEF), 4041a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xCE, 0xA8, 0xC9, 0x01, 0xFB, 0x0E, 0x7B), 4042a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xF9, 0x51, 0x4C, 0x12, 0x9F, 0x60, 0xE4), 4043a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0x85, 0xBD, 0x30, 0x37, 0x84, 0x39, 0x44), 4044a8e1175bSopenharmony_ci}; 4045a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_11_Y[] = { 4046a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x26, 0x33, 0xAF, 0x2E, 0xB8, 0x2E, 0xCC, 0x3C), 4047a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0xB1, 0x73, 0x59, 0x4E, 0x0C, 0x09, 0x4A), 4048a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0x24, 0x89, 0x81, 0x12, 0xFF, 0xBB, 0x6E), 4049a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x71, 0x37, 0x1A, 0x66, 0xEE, 0xED, 0xB6, 0x9B), 4050a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0xBD, 0x04, 0x20, 0x5D, 0xFB, 0xBF, 0x95), 4051a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0xF8, 0x34, 0xA3, 0xFF, 0x45, 0xDE, 0x92), 4052a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x18, 0x73, 0xF1, 0x32, 0x25, 0x58, 0xEB), 4053a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0xC1, 0x14, 0xE3, 0x9E, 0x40, 0x0F, 0x12), 4054a8e1175bSopenharmony_ci}; 4055a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_12_X[] = { 4056a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x07, 0x9D, 0x9C, 0x00, 0xF7, 0x56, 0x19), 4057a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0xBA, 0x87, 0xF9, 0x15, 0x0C, 0x66, 0x5D), 4058a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0x1F, 0xC1, 0x28, 0xB0, 0x47, 0x0D, 0xF5), 4059a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0xCA, 0x27, 0xEE, 0x4B, 0x23, 0x2B, 0x89), 4060a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7E, 0xB5, 0x68, 0xC8, 0x17, 0x5D, 0xC3, 0xAA), 4061a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0x02, 0x08, 0xEE, 0x20, 0x9D, 0xEA, 0x64), 4062a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x14, 0x50, 0xD4, 0x7D, 0x5F, 0xCF, 0xA0), 4063a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0xFA, 0xF8, 0xA7, 0xC6, 0xDC, 0x14, 0x8C), 4064a8e1175bSopenharmony_ci}; 4065a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_12_Y[] = { 4066a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x76, 0xBD, 0x0A, 0x1A, 0x18, 0x98, 0xDC, 0xB0), 4067a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x63, 0x63, 0x02, 0xB7, 0xD5, 0x5B, 0x5A, 0xC6), 4068a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0xB1, 0xD7, 0x4B, 0x15, 0x39, 0x61, 0x5D), 4069a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0x32, 0xE1, 0x9E, 0x70, 0x1B, 0xCE, 0x51), 4070a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x64, 0xD8, 0x18, 0x83, 0x52, 0x9B, 0x6D, 0xA2), 4071a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x55, 0x56, 0x19, 0x34, 0xA4, 0xEA, 0xFC), 4072a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0xA9, 0x55, 0x80, 0xE3, 0x15, 0x36, 0x8B), 4073a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0x06, 0xC8, 0x1D, 0x17, 0x0D, 0xAD, 0x16), 4074a8e1175bSopenharmony_ci}; 4075a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_13_X[] = { 4076a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0xD6, 0xF0, 0xCC, 0xF3, 0x63, 0x53, 0xD2), 4077a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x5A, 0xDC, 0x46, 0xBD, 0x0D, 0xAD, 0x96), 4078a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0x2F, 0x11, 0x60, 0x15, 0x51, 0x4A, 0xEA), 4079a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xE3, 0x93, 0x38, 0xD5, 0x83, 0xAA, 0x0D), 4080a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x90, 0xA6, 0xCC, 0xB1, 0xFD, 0xBB, 0x1A, 0x0F), 4081a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3B, 0x54, 0xC8, 0x54, 0x6F, 0x79, 0x1A, 0x59), 4082a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x4A, 0xDA, 0x28, 0x92, 0x97, 0x9D, 0x7F), 4083a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD6, 0x4B, 0xDB, 0xC7, 0x52, 0xC5, 0x66, 0x34), 4084a8e1175bSopenharmony_ci}; 4085a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_13_Y[] = { 4086a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x7E, 0x92, 0x53, 0x30, 0x93, 0xFD, 0xFF), 4087a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x16, 0x6A, 0xB1, 0x91, 0x0A, 0xB4, 0x52), 4088a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6D, 0x9D, 0x40, 0x3F, 0xE3, 0xF1, 0x01, 0x46), 4089a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x0E, 0xD8, 0xED, 0x11, 0x8E, 0x4C, 0xED), 4090a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x86, 0x4A, 0x1B, 0x88, 0xDF, 0x8D, 0x29, 0xE7), 4091a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x23, 0x21, 0x11, 0xAB, 0x77, 0x81, 0x62), 4092a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0B, 0xAF, 0x11, 0xFA, 0xBA, 0x40, 0x63, 0xE7), 4093a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x6F, 0x8D, 0x80, 0xDF, 0x67, 0xF5, 0x44), 4094a8e1175bSopenharmony_ci}; 4095a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_14_X[] = { 4096a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0x8B, 0xB7, 0x08, 0xF4, 0xD7, 0x2D, 0xA8), 4097a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x2B, 0x30, 0x02, 0x45, 0x71, 0x08, 0x49), 4098a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x97, 0x3A, 0xCA, 0x50, 0xF6, 0xC2, 0x19, 0x8C), 4099a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xB9, 0x9B, 0x3E, 0x73, 0x95, 0x1D, 0x49), 4100a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x60, 0x59, 0x48, 0xCB, 0xD8, 0xD6, 0xAA), 4101a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0xB9, 0x6C, 0x89, 0xAB, 0x99, 0xA8, 0xF8), 4102a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0xA1, 0x8B, 0x4E, 0x06, 0x19, 0xEC, 0x99), 4103a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x95, 0x04, 0xCF, 0xD5, 0x94, 0xB3, 0x02), 4104a8e1175bSopenharmony_ci}; 4105a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_14_Y[] = { 4106a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x29, 0x35, 0x93, 0x7C, 0xB3, 0xB8, 0x9E, 0x1B), 4107a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC4, 0x45, 0x5C, 0x7E, 0xBF, 0x75, 0x81, 0x0F), 4108a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xE8, 0x24, 0xDF, 0xEC, 0x2F, 0x7D, 0xB9), 4109a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF2, 0x8B, 0xD5, 0x6A, 0x9B, 0xA0, 0xE0, 0x4F), 4110a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0xE3, 0x27, 0x82, 0xDE, 0xDD, 0xCA, 0x4B), 4111a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x57, 0x56, 0x46, 0x05, 0x06, 0x01, 0x2E), 4112a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x74, 0x35, 0xA7, 0x47, 0xE2, 0x6B, 0x2C, 0x4F), 4113a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x9D, 0x4C, 0xEC, 0x1F, 0x11, 0x75, 0x2B), 4114a8e1175bSopenharmony_ci}; 4115a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_15_X[] = { 4116a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0xAA, 0x41, 0xC1, 0xE9, 0x0E, 0xE9, 0xAA), 4117a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xCF, 0x9C, 0x4B, 0xE8, 0xED, 0x0A, 0x49), 4118a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0x73, 0xCA, 0x0C, 0x46, 0x0A, 0x9C, 0xE4), 4119a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xE1, 0x9E, 0xBC, 0xFE, 0x44, 0x63, 0x6D), 4120a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x31, 0x43, 0x71, 0xEE, 0xF8, 0xC1, 0x8C, 0x5C), 4121a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6A, 0x4B, 0xF0, 0x69, 0x25, 0xBD, 0x71, 0x1A), 4122a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFD, 0x9A, 0xFE, 0x82, 0xE7, 0xC1, 0xC1, 0xEE), 4123a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFC, 0x5A, 0x6E, 0x5E, 0x97, 0x6A, 0x35, 0x8D), 4124a8e1175bSopenharmony_ci}; 4125a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_15_Y[] = { 4126a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA2, 0x18, 0x6C, 0x7E, 0xB8, 0x9E, 0x57, 0x32), 4127a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x35, 0xB9, 0xC1, 0xD0, 0xFE, 0x78, 0xFB, 0x32), 4128a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x08, 0xAE, 0x46, 0x34, 0xEA, 0x7A, 0x7F), 4129a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x1C, 0x56, 0xA9, 0x18, 0x37, 0xD4, 0x9E), 4130a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x28, 0x63, 0xE9, 0x0A, 0xB6, 0x38, 0x3C, 0xC1), 4131a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3E, 0x4F, 0xA4, 0x6E, 0x85, 0x31, 0x23, 0x52), 4132a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0D, 0xAD, 0xC4, 0xC3, 0xB1, 0x4B, 0x1C, 0x82), 4133a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x56, 0x4A, 0x38, 0xB3, 0x6B, 0x6F, 0x2C), 4134a8e1175bSopenharmony_ci}; 4135a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_16_X[] = { 4136a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x67, 0xC7, 0x19, 0xDE, 0x21, 0xED, 0x89, 0xD0), 4137a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2F, 0xBE, 0xA6, 0xAE, 0xEB, 0x9D, 0xA7, 0x2A), 4138a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x0E, 0x13, 0x1E, 0x86, 0x57, 0xC3, 0x3B), 4139a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x4B, 0x30, 0x46, 0x52, 0xC1, 0xEC, 0x52), 4140a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6E, 0xD5, 0x44, 0x31, 0x96, 0x3B, 0x26, 0x27), 4141a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x68, 0xA8, 0x67, 0x78, 0x39, 0xE8, 0x68), 4142a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0x78, 0xB7, 0xDD, 0xF2, 0x58, 0xB6, 0x3D), 4143a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x81, 0x3C, 0xB3, 0x26, 0xC4, 0x2C, 0x8C, 0xA5), 4144a8e1175bSopenharmony_ci}; 4145a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_16_Y[] = { 4146a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB9, 0x24, 0xE5, 0x73, 0xEE, 0x9A, 0x02, 0xA9), 4147a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0x6A, 0x65, 0x60, 0xF3, 0x62, 0xE3, 0xE9), 4148a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFB, 0x07, 0x84, 0xE6, 0x3B, 0x46, 0x65, 0x9F), 4149a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0x8F, 0x0C, 0xB0, 0xE1, 0x04, 0x82, 0x9D), 4150a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEB, 0x13, 0xBF, 0x3D, 0xA0, 0x48, 0xA2, 0x74), 4151a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0x26, 0x76, 0x74, 0xAB, 0x0B, 0x29, 0xE8), 4152a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x30, 0x6E, 0x5F, 0x03, 0x34, 0x7C, 0x38, 0xCE), 4153a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x72, 0xF9, 0x3B, 0x3C, 0xA4, 0xBC, 0x7C), 4154a8e1175bSopenharmony_ci}; 4155a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_17_X[] = { 4156a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5C, 0xCE, 0x18, 0x80, 0xB8, 0x24, 0x45, 0x81), 4157a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x09, 0x03, 0xB8, 0x06, 0x64, 0xF7, 0xEC), 4158a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF1, 0x26, 0xB1, 0x10, 0x6D, 0x71, 0x12, 0x2E), 4159a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x12, 0xC6, 0x6E, 0x1E, 0x6A, 0xC3, 0x80), 4160a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE5, 0xD3, 0x0A, 0xDE, 0xD8, 0x6B, 0x04, 0x5C), 4161a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x87, 0x5B, 0xAE, 0xDB, 0x3C, 0xC0, 0xC5), 4162a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8E, 0xF5, 0xF9, 0xC1, 0x9A, 0x89, 0xBB, 0x7E), 4163a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0x69, 0x72, 0x8B, 0xAE, 0x32, 0x13, 0x11), 4164a8e1175bSopenharmony_ci}; 4165a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_17_Y[] = { 4166a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x16, 0x07, 0x50, 0xFA, 0x4C, 0xCF, 0xE8), 4167a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x50, 0x21, 0xE9, 0xDE, 0xEC, 0x7E, 0xDF), 4168a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x2F, 0xE8, 0x83, 0x30, 0x0B, 0x65, 0x0E), 4169a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x0B, 0x99, 0xAC, 0xC9, 0xBA, 0x6C, 0x2A), 4170a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x59, 0x5A, 0x0D, 0x7B, 0x9E, 0x08, 0xAD), 4171a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x34, 0x91, 0xB2, 0xDC, 0x90, 0xCE, 0x67, 0xED), 4172a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x93, 0x60, 0x0C, 0xD7, 0x1F, 0x2F, 0x17), 4173a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x19, 0x7F, 0x9D, 0x40, 0xF8, 0x78, 0x7A, 0x54), 4174a8e1175bSopenharmony_ci}; 4175a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_18_X[] = { 4176a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x13, 0x22, 0x95, 0xE8, 0xEF, 0x31, 0x57, 0x35), 4177a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x88, 0x53, 0xFE, 0xAF, 0x7C, 0x47, 0x14), 4178a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xCE, 0xCC, 0x79, 0xE8, 0x9F, 0x8C, 0xC4), 4179a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDB, 0x16, 0xDD, 0x77, 0x6E, 0x8A, 0x73, 0x97), 4180a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x07, 0x97, 0x21, 0x3B, 0xF8, 0x5F, 0xA8), 4181a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC6, 0xB5, 0xD2, 0x81, 0x84, 0xF0, 0xE7, 0x9F), 4182a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCB, 0x8F, 0x75, 0x09, 0x6A, 0x0E, 0x53, 0xAD), 4183a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x4F, 0x70, 0x97, 0xC7, 0xAC, 0x7D, 0x3F), 4184a8e1175bSopenharmony_ci}; 4185a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_18_Y[] = { 4186a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF9, 0x3C, 0x6A, 0xB4, 0x10, 0xA9, 0xC8, 0x1D), 4187a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xC5, 0xD6, 0x69, 0x16, 0xB8, 0xAC, 0x25), 4188a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x44, 0xDC, 0xEB, 0x48, 0x54, 0x5D, 0x5F), 4189a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6F, 0x48, 0x9B, 0xD7, 0x72, 0x69, 0xA4, 0x8A), 4190a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x0D, 0x36, 0x9A, 0x66, 0x0B, 0xEC, 0x24), 4191a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0xC6, 0xD4, 0xB6, 0x60, 0xE5, 0xC3, 0x3A), 4192a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBA, 0x29, 0x42, 0xE0, 0x9D, 0xFD, 0x7C, 0x3E), 4193a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x10, 0xBA, 0x55, 0xBC, 0x3B, 0x38, 0x5D), 4194a8e1175bSopenharmony_ci}; 4195a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_19_X[] = { 4196a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x25, 0x66, 0xFA, 0x05, 0x73, 0x03, 0x1B, 0x69), 4197a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x11, 0xA4, 0x66, 0x12, 0x96, 0x7B, 0x02, 0x4C), 4198a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x44, 0xB5, 0xDE, 0x6D, 0x98, 0xD1, 0xD5, 0xA8), 4199a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE2, 0xF5, 0x44, 0xB8, 0x8E, 0xF6, 0x8C, 0x05), 4200a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x15, 0x2B, 0x72, 0xBC, 0x49, 0xE5, 0xDF), 4201a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x6C, 0x44, 0xD7, 0xDF, 0x8F, 0xEB, 0x8D, 0x80), 4202a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x64, 0x88, 0xAA, 0xB7, 0xE4, 0x70, 0x1D), 4203a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9C, 0x14, 0xBB, 0xE9, 0x9B, 0xB9, 0x65, 0x5D), 4204a8e1175bSopenharmony_ci}; 4205a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_19_Y[] = { 4206a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x66, 0x8E, 0x88, 0xF5, 0xF1, 0xC1, 0x89, 0xA2), 4207a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x16, 0x30, 0x53, 0xE6, 0xFB, 0x2D, 0x82, 0xB4), 4208a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0xE4, 0xFF, 0xBA, 0x31, 0x79, 0xAB, 0xC2), 4209a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x45, 0x09, 0xF7, 0xB7, 0x09, 0x78, 0x4C, 0x90), 4210a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xAE, 0xC2, 0x44, 0xDC, 0x17, 0x78, 0x47), 4211a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xD4, 0x17, 0x43, 0x19, 0x74, 0x9E, 0x23), 4212a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x64, 0x3B, 0x73, 0xA2, 0x99, 0x27, 0x76), 4213a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x74, 0x36, 0x5F, 0xD3, 0x14, 0xB1, 0x31), 4214a8e1175bSopenharmony_ci}; 4215a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_20_X[] = { 4216a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAC, 0x07, 0xAB, 0xFD, 0x9B, 0x03, 0xC5, 0xD5), 4217a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0xBE, 0xB0, 0x1D, 0xF2, 0x0C, 0x73, 0x73), 4218a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xE7, 0x7B, 0x87, 0xD3, 0x34, 0xFD, 0xE2), 4219a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9A, 0x25, 0x3D, 0xC7, 0x36, 0x83, 0x53, 0xDC), 4220a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x7C, 0xCF, 0x63, 0x55, 0x12, 0x11, 0xB0), 4221a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC0, 0x34, 0x4D, 0x27, 0x92, 0xAC, 0x18, 0x16), 4222a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x42, 0x61, 0x9D, 0x2E, 0xFF, 0x13, 0x16), 4223a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF4, 0xDE, 0x92, 0x65, 0x57, 0x0D, 0xBC, 0x0A), 4224a8e1175bSopenharmony_ci}; 4225a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_20_Y[] = { 4226a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEF, 0x7B, 0x6E, 0xC6, 0x2A, 0x21, 0x74, 0x0A), 4227a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0xA7, 0x53, 0x4D, 0x29, 0x36, 0xEF, 0xE5), 4228a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE1, 0xD6, 0x41, 0xC7, 0x99, 0xAD, 0x50, 0x53), 4229a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x99, 0xAC, 0x41, 0x9F, 0xFB, 0x4C, 0x86, 0xF1), 4230a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xBB, 0xE6, 0x25, 0x28, 0xAA, 0xEB, 0x1E), 4231a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x92, 0x04, 0xA2, 0xC3, 0xAA, 0x08, 0x8A, 0xCC), 4232a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x2B, 0x5B, 0xE2, 0x8D, 0x76, 0xEA, 0x34), 4233a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB3, 0x33, 0xD2, 0x21, 0x4D, 0x62, 0xE3, 0x8E), 4234a8e1175bSopenharmony_ci}; 4235a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_21_X[] = { 4236a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0x06, 0x8B, 0x2B, 0xC2, 0xC4, 0xB1, 0xD2), 4237a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFA, 0xF5, 0xA1, 0xC0, 0x03, 0x6A, 0x29, 0x12), 4238a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF5, 0xA9, 0xEF, 0x55, 0xB6, 0x1A, 0x9F, 0x6B), 4239a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9B, 0x54, 0x32, 0xBE, 0x06, 0x43, 0xB5, 0xFD), 4240a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF7, 0xD6, 0xD9, 0x20, 0x89, 0xBE, 0xD4, 0x1B), 4241a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0x26, 0x95, 0x10, 0xCE, 0xB4, 0x88, 0x79), 4242a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0xA6, 0x27, 0xAC, 0x32, 0xBA, 0xBD, 0xC7), 4243a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0xA6, 0xAE, 0x9C, 0x7B, 0xBE, 0xA1, 0x63), 4244a8e1175bSopenharmony_ci}; 4245a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_21_Y[] = { 4246a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8B, 0xCD, 0x4D, 0x3D, 0xDF, 0x96, 0xBB, 0x7D), 4247a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0xA7, 0x11, 0x06, 0xCC, 0x0E, 0x31, 0x81), 4248a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x20, 0xE4, 0xF4, 0xAD, 0x7B, 0x5F, 0xF1, 0xEF), 4249a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE4, 0x54, 0xBE, 0xF4, 0x8A, 0x03, 0x47, 0xDF), 4250a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0x53, 0x00, 0x7F, 0xB0, 0x8A, 0x68, 0xA6), 4251a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x16, 0xB1, 0x73, 0x6F, 0x5B, 0x0E, 0xC3), 4252a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x32, 0xE3, 0x43, 0x64, 0x75, 0xFB, 0xFB), 4253a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x18, 0x55, 0x8A, 0x4E, 0x6E, 0x35, 0x54), 4254a8e1175bSopenharmony_ci}; 4255a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_22_X[] = { 4256a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x80, 0x97, 0x15, 0x1E, 0xCB, 0xF2, 0x9C, 0xA5), 4257a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0xD1, 0xBB, 0xF3, 0x70, 0xAD, 0x13, 0xAD), 4258a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0x96, 0xA4, 0xC5, 0x5E, 0xDA, 0xD5, 0x57), 4259a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x81, 0xE9, 0x65, 0x66, 0x76, 0x47, 0x45), 4260a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x35, 0x87, 0x06, 0x73, 0xCF, 0x34, 0xD2), 4261a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x81, 0x15, 0x42, 0xA2, 0x79, 0x5B, 0x42), 4262a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x08, 0xA2, 0x7D, 0x09, 0x14, 0x64, 0xC6, 0xAE), 4263a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0x6D, 0xC4, 0xED, 0xF1, 0xD6, 0xE9, 0x24), 4264a8e1175bSopenharmony_ci}; 4265a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_22_Y[] = { 4266a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB4, 0xD5, 0xBB, 0x25, 0xA3, 0xDD, 0xA3, 0x88), 4267a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xF2, 0x68, 0x67, 0x39, 0x8F, 0x73, 0x93), 4268a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x76, 0x28, 0x89, 0xAD, 0x32, 0xE0, 0xDF), 4269a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0x90, 0xCC, 0x57, 0x58, 0xAA, 0xC9, 0x75), 4270a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xD7, 0x43, 0xD2, 0xCE, 0x5E, 0xA0, 0x08), 4271a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x33, 0xB0, 0xB8, 0xA4, 0x9E, 0x96, 0x26, 0x86), 4272a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x94, 0x61, 0x1D, 0xF3, 0x65, 0x5E, 0x60, 0xCA), 4273a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC7, 0x1E, 0x65, 0xED, 0xCF, 0x07, 0x60, 0x20), 4274a8e1175bSopenharmony_ci}; 4275a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_23_X[] = { 4276a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x30, 0x17, 0x8A, 0x91, 0x88, 0x0A, 0xA4), 4277a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x05, 0x7D, 0x18, 0xA4, 0xAC, 0x59, 0xFC, 0x5F), 4278a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x31, 0x8B, 0x25, 0x65, 0x39, 0x9A, 0xDC), 4279a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x15, 0x16, 0x4B, 0x68, 0xBA, 0x59, 0x13, 0x2F), 4280a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8D, 0xFD, 0xD3, 0xC5, 0x56, 0xC9, 0x8C, 0x5E), 4281a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBC, 0xC6, 0x9F, 0xF4, 0xE6, 0xF7, 0xB4, 0x01), 4282a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2D, 0x7C, 0x03, 0x00, 0x26, 0x9F, 0xD8, 0x7B), 4283a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x1D, 0x6E, 0x00, 0xB9, 0x00, 0x6E, 0x93), 4284a8e1175bSopenharmony_ci}; 4285a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_23_Y[] = { 4286a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x63, 0xDA, 0x03, 0x2B, 0xD5, 0x0B, 0xFE), 4287a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x46, 0xFC, 0xE2, 0xC8, 0x47, 0xF0, 0xAE, 0xF2), 4288a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x51, 0x4C, 0xF7, 0x50, 0x0C, 0x48, 0x06, 0x2A), 4289a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDF, 0x2B, 0x32, 0x98, 0x0E, 0x7E, 0x61, 0x41), 4290a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x02, 0x27, 0xFE, 0x75, 0x86, 0xDF, 0x24), 4291a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2B, 0x30, 0xB1, 0x22, 0x32, 0x1B, 0xFE, 0x24), 4292a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC2, 0x27, 0xF7, 0x78, 0x6F, 0xD7, 0xFD, 0xE4), 4293a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA0, 0x78, 0xCC, 0xEA, 0xC0, 0x50, 0x24, 0x44), 4294a8e1175bSopenharmony_ci}; 4295a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_24_X[] = { 4296a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x2B, 0x4F, 0x7F, 0x58, 0xE6, 0xC2, 0x70), 4297a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x43, 0xD5, 0xA7, 0x35, 0x3C, 0x80, 0xB8), 4298a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1A, 0x6D, 0x4B, 0x12, 0x00, 0x7B, 0xE6, 0xA6), 4299a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x15, 0xBD, 0xD0, 0x9B, 0xCA, 0xAA, 0x81), 4300a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xCF, 0xCE, 0x9C, 0xE3, 0x8B, 0x60, 0x7A, 0x53), 4301a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0xDA, 0x4B, 0x03, 0xA7, 0x8D, 0x43, 0x22), 4302a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0xAF, 0x00, 0x2B, 0x32, 0xF0, 0x22, 0x68), 4303a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDC, 0xD9, 0x99, 0x99, 0xBE, 0x43, 0x99, 0x3E), 4304a8e1175bSopenharmony_ci}; 4305a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_24_Y[] = { 4306a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1F, 0x71, 0x41, 0xF4, 0xB5, 0xFD, 0xDD, 0x36), 4307a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9D, 0xE2, 0x20, 0x4C, 0xD1, 0x2E, 0x1F, 0x06), 4308a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x96, 0x43, 0x48, 0x76, 0x8A, 0x49, 0xAC, 0x87), 4309a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0C, 0x1A, 0x55, 0xA8, 0xA3, 0xD4, 0x57, 0x75), 4310a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0xA6, 0x84, 0x39, 0xC9, 0x13, 0xBB, 0x60), 4311a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD9, 0xFA, 0xA9, 0x70, 0xDE, 0x83, 0xDD, 0xC9), 4312a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEC, 0xC9, 0xD9, 0x3E, 0x44, 0x91, 0x68, 0x7B), 4313a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB6, 0x9F, 0x85, 0x6D, 0xF7, 0x54, 0x36, 0x82), 4314a8e1175bSopenharmony_ci}; 4315a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_25_X[] = { 4316a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x68, 0x6B, 0xA6, 0xA3, 0xE5, 0xD4, 0x46, 0xDB), 4317a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x3E, 0xDC, 0x84, 0x7C, 0x7B, 0x24, 0x34), 4318a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x14, 0xED, 0x7F, 0x86, 0x07, 0x6C, 0x57, 0xCA), 4319a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x95, 0x06, 0xFE, 0x52, 0x12, 0x79, 0x69, 0x56), 4320a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x84, 0xD1, 0x44, 0x5F, 0x21, 0x3A, 0xC3, 0x84), 4321a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5E, 0xD9, 0x4A, 0xC0, 0x75, 0xAB, 0x17, 0xAC), 4322a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xFF, 0x81, 0x94, 0xB6, 0x80, 0x6B, 0x6F, 0xC3), 4323a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xBE, 0x8E, 0xA5, 0xAA, 0xBC, 0x1E, 0x3E), 4324a8e1175bSopenharmony_ci}; 4325a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_25_Y[] = { 4326a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x89, 0xC7, 0x85, 0xA6, 0x59, 0x9B, 0xB1, 0x52), 4327a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xCE, 0x40, 0xD1, 0xFB, 0xDF, 0x94, 0xF7), 4328a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x18, 0xB8, 0x5E, 0xBF, 0x45, 0xA8, 0x2D, 0x2D), 4329a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x98, 0x9C, 0x06, 0x1B, 0xA9, 0x57, 0xB9, 0x79), 4330a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x53, 0xE9, 0xCE, 0xA2, 0xD3, 0x74, 0xA1, 0x3C), 4331a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAA, 0x5F, 0x34, 0x78, 0xDB, 0xAE, 0x3A, 0x14), 4332a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7D, 0x32, 0x84, 0x3E, 0x68, 0x6A, 0x43, 0x0F), 4333a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0xBC, 0x39, 0x36, 0xA4, 0xC5, 0xBB, 0x11), 4334a8e1175bSopenharmony_ci}; 4335a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_26_X[] = { 4336a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8C, 0x07, 0xA2, 0xB5, 0xC9, 0x0F, 0x4D, 0x0F), 4337a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0x1D, 0x67, 0xE6, 0xF1, 0x46, 0xEB, 0x71), 4338a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD7, 0x41, 0x23, 0x95, 0xE7, 0xE0, 0x10, 0xDD), 4339a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x69, 0xFE, 0x68, 0x8C, 0xC6, 0x5F, 0xB6), 4340a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE3, 0xB9, 0x2B, 0x3D, 0xD2, 0x4F, 0xD8, 0x1A), 4341a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA3, 0x09, 0xF5, 0x5F, 0xCF, 0xF6, 0x91, 0x57), 4342a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x65, 0x15, 0x42, 0x6B, 0x6D, 0xB5, 0xF3, 0xB6), 4343a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBF, 0x56, 0x9D, 0xC5, 0xFF, 0xCA, 0x13, 0x9B), 4344a8e1175bSopenharmony_ci}; 4345a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_26_Y[] = { 4346a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x4D, 0x38, 0xE6, 0x23, 0x63, 0x48, 0x3C, 0xCA), 4347a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD2, 0x68, 0x3C, 0xD1, 0x3B, 0xE9, 0x3B, 0x82), 4348a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB5, 0x08, 0x54, 0x49, 0xD1, 0x46, 0x45, 0x13), 4349a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x70, 0x52, 0x6E, 0x79, 0xC4, 0x5E, 0x95), 4350a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0xDF, 0xE8, 0x5A, 0x32, 0x81, 0xDA, 0xD3), 4351a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3C, 0x2D, 0x94, 0x5B, 0xB5, 0x35, 0x9F, 0x0A), 4352a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2A, 0x12, 0x8D, 0xC3, 0x36, 0x36, 0xB2, 0x2A), 4353a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x39, 0x2F, 0x22, 0x38, 0x5B, 0x18, 0x4C, 0x35), 4354a8e1175bSopenharmony_ci}; 4355a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_27_X[] = { 4356a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0xC1, 0x22, 0x0E, 0xF0, 0x73, 0x11, 0x05), 4357a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB2, 0xAE, 0xA4, 0x56, 0x18, 0x61, 0x66, 0x12), 4358a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x79, 0xFB, 0x72, 0x08, 0x84, 0x38, 0x51, 0xB0), 4359a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDA, 0x86, 0xA8, 0xB9, 0x31, 0x99, 0x29, 0xC3), 4360a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x8A, 0xFB, 0xC3, 0x42, 0xB3, 0xC7, 0x6F, 0x3A), 4361a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD8, 0xF8, 0xE1, 0x09, 0xBE, 0x75, 0xB0, 0x22), 4362a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5A, 0x7D, 0xFF, 0xF4, 0x99, 0xFC, 0x13, 0xAB), 4363a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE6, 0x1B, 0x84, 0x81, 0x42, 0x22, 0xC6, 0x3D), 4364a8e1175bSopenharmony_ci}; 4365a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_27_Y[] = { 4366a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x21, 0xE0, 0x37, 0xA4, 0xA0, 0x2F, 0x38, 0x7F), 4367a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x3D, 0xB7, 0x40, 0x2F, 0x39, 0x3C, 0x7A), 4368a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7A, 0x3B, 0x8A, 0x51, 0xAE, 0x40, 0x49, 0x7A), 4369a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x36, 0x20, 0x9F, 0xDD, 0xA9, 0xD0, 0x77, 0xC7), 4370a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x78, 0x1D, 0x64, 0xDA, 0xA0, 0x53, 0xC7, 0x7D), 4371a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x37, 0x7B, 0x66, 0x55, 0x94, 0xD1, 0x51, 0x44), 4372a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0E, 0xA9, 0xB5, 0x5B, 0x38, 0x35, 0x40, 0xC0), 4373a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC8, 0xC9, 0x0F, 0xF0, 0x73, 0x79, 0x43, 0x61), 4374a8e1175bSopenharmony_ci}; 4375a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_28_X[] = { 4376a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x47, 0x45, 0x69, 0x80, 0x72, 0x72, 0x42), 4377a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x11, 0x99, 0x59, 0xDB, 0x48, 0x80, 0x39), 4378a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x75, 0x6E, 0x3D, 0xFC, 0x37, 0x15, 0xF4, 0xBF), 4379a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x17, 0xBB, 0x5B, 0xA6, 0x35, 0x8D, 0x28, 0x20), 4380a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0x1A, 0x3B, 0x2C, 0x8F, 0xD3, 0xAA, 0x2D), 4381a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x55, 0x1C, 0x1A, 0xF8, 0x02, 0xD9, 0x7B, 0x41), 4382a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAF, 0x69, 0xAC, 0xF8, 0x54, 0x31, 0x14, 0xA1), 4383a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x8A, 0xE6, 0xDE, 0x58, 0xB9, 0xC4, 0x7A), 4384a8e1175bSopenharmony_ci}; 4385a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_28_Y[] = { 4386a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x57, 0x83, 0x52, 0xFE, 0xF9, 0x7B, 0xE9, 0x1F), 4387a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0xA2, 0x55, 0x46, 0x15, 0x49, 0xC1, 0x3A), 4388a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xBC, 0x5C, 0x91, 0xBD, 0xB9, 0x9C, 0xF4), 4389a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBB, 0xFD, 0xB1, 0x4E, 0x5F, 0x74, 0xEE, 0x53), 4390a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xB1, 0x8B, 0xD8, 0x8B, 0x17, 0x73, 0x1B, 0x96), 4391a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x22, 0x92, 0xD7, 0x67, 0x06, 0xAD, 0x25, 0xCD), 4392a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x01, 0x0F, 0x80, 0x24, 0xE2, 0x27, 0x5F, 0x8B), 4393a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x61, 0x1C, 0xCE, 0xD0, 0x67, 0xCA, 0xD4, 0x0B), 4394a8e1175bSopenharmony_ci}; 4395a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_29_X[] = { 4396a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x87, 0xF1, 0xDD, 0x33, 0x66, 0xF9, 0x05, 0xD6), 4397a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1D, 0xE5, 0x6B, 0x79, 0xBD, 0x48, 0x42, 0xAA), 4398a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x14, 0x52, 0xE3, 0x53, 0xB4, 0x50, 0xD4), 4399a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x32, 0x84, 0x6C, 0xCF, 0xDA, 0xB2, 0x20, 0x0A), 4400a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0xD6, 0x1A, 0xE5, 0xE2, 0x29, 0x70, 0xCE), 4401a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x61, 0xFE, 0xBB, 0x21, 0x82, 0xD1, 0xFE), 4402a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x2C, 0xF0, 0x9C, 0x8B, 0x1A, 0x42, 0x30, 0x06), 4403a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0xD6, 0x49, 0x81, 0x92, 0xF1, 0xD0, 0x90), 4404a8e1175bSopenharmony_ci}; 4405a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_29_Y[] = { 4406a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x91, 0x93, 0x6A, 0xA6, 0x22, 0xE9, 0xD6), 4407a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x09, 0xDC, 0xC3, 0x69, 0x11, 0x95, 0x7D, 0xEC), 4408a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x1C, 0xA3, 0x9D, 0x87, 0x5E, 0x64, 0x41, 0xA2), 4409a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xBE, 0x87, 0x5A, 0x15, 0xBD, 0x6E, 0x3C, 0x8D), 4410a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD0, 0x8D, 0x50, 0xCC, 0xCF, 0xB7, 0x8F, 0x0B), 4411a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x38, 0x65, 0xCD, 0x31, 0x30, 0xF1, 0x68, 0x13), 4412a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x10, 0x5C, 0x66, 0x67, 0x92, 0x30, 0x57, 0x95), 4413a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x23, 0x9B, 0x01, 0x3D, 0x20, 0x8B, 0xD1, 0x0D), 4414a8e1175bSopenharmony_ci}; 4415a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_30_X[] = { 4416a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAB, 0xC0, 0xE6, 0x4F, 0xDE, 0x62, 0xAB, 0xB3), 4417a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA4, 0x48, 0xB3, 0x1C, 0x0F, 0x16, 0x93, 0x45), 4418a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x77, 0x63, 0xBD, 0x1F, 0x16, 0x50, 0x56, 0x98), 4419a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x5D, 0x06, 0xBC, 0xE9, 0x27, 0x1C, 0x9A, 0x7B), 4420a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF8, 0xFE, 0x21, 0xC5, 0x39, 0x55, 0xE1, 0xFD), 4421a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF6, 0xA8, 0xD0, 0x96, 0x0E, 0xB5, 0xB2, 0x84), 4422a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3D, 0xE7, 0x4B, 0xF3, 0x11, 0x0C, 0xC9, 0x5B), 4423a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x43, 0x3A, 0xC4, 0x87, 0x71, 0xEE, 0xFA, 0x18), 4424a8e1175bSopenharmony_ci}; 4425a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_30_Y[] = { 4426a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA7, 0x77, 0xEE, 0x81, 0x5E, 0x96, 0xEA, 0x4B), 4427a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xEE, 0xDF, 0xA9, 0xF4, 0x4F, 0x7C, 0xB2, 0x43), 4428a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x9F, 0xD4, 0xDF, 0x35, 0x63, 0x47, 0x25, 0x8A), 4429a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xA5, 0x3D, 0xFF, 0xA4, 0x02, 0xC3, 0x95, 0x11), 4430a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD5, 0x10, 0x78, 0xD1, 0x2B, 0xB7, 0xBE, 0x0E), 4431a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x0A, 0xE9, 0x57, 0xF9, 0xE0, 0xD8, 0xFC, 0xBC), 4432a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF3, 0xC4, 0x01, 0xD6, 0xB4, 0xE7, 0x78, 0xE2), 4433a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x02, 0x6C, 0xB9, 0x13, 0xA4, 0xE8, 0x6D, 0x6F), 4434a8e1175bSopenharmony_ci}; 4435a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_31_X[] = { 4436a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE8, 0xB0, 0xC9, 0xCD, 0xBF, 0xA2, 0x1E, 0x63), 4437a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xDD, 0x4F, 0x86, 0x22, 0x9B, 0xEA, 0xE8, 0xBB), 4438a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x50, 0x46, 0xDF, 0x43, 0xB9, 0x82, 0x2D, 0x0A), 4439a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x07, 0x32, 0xF1, 0x4E, 0x95, 0x41, 0xAE, 0x8E), 4440a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x52, 0x93, 0x26, 0xFC, 0xD3, 0x90, 0xDC, 0xEB), 4441a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x04, 0x05, 0x45, 0xCA, 0xF9, 0x5A, 0x89, 0x93), 4442a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC5, 0x82, 0x63, 0x4E, 0x55, 0x1D, 0x3A, 0x08), 4443a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x7C, 0x69, 0x52, 0x49, 0xE9, 0xED, 0x57, 0x34), 4444a8e1175bSopenharmony_ci}; 4445a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint brainpoolP512r1_T_31_Y[] = { 4446a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x70, 0x64, 0xE9, 0xAC, 0x4C, 0x4A, 0xEA, 0x25), 4447a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xE9, 0xE9, 0x0B, 0x99, 0xE7, 0xF9, 0xA9, 0x2C), 4448a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x24, 0x0C, 0xC1, 0xF4, 0x8D, 0x07, 0xB6, 0xB1), 4449a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xAD, 0x68, 0xFA, 0x35, 0xE4, 0x9E, 0xAE, 0xD9), 4450a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xF0, 0x2D, 0x1A, 0x13, 0x8E, 0x02, 0xE2, 0x63), 4451a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x27, 0x38, 0x28, 0x86, 0x46, 0x7B, 0x3A, 0xE1), 4452a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x3F, 0x4C, 0x64, 0x59, 0x0A, 0xF9, 0x02, 0xC4), 4453a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x41, 0x4F, 0x23, 0xA2, 0xC3, 0xD5, 0xEF, 0x42), 4454a8e1175bSopenharmony_ci}; 4455a8e1175bSopenharmony_cistatic const mbedtls_ecp_point brainpoolP512r1_T[32] = { 4456a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z1(brainpoolP512r1_T_0_X, brainpoolP512r1_T_0_Y), 4457a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_1_X, brainpoolP512r1_T_1_Y), 4458a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_2_X, brainpoolP512r1_T_2_Y), 4459a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_3_X, brainpoolP512r1_T_3_Y), 4460a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_4_X, brainpoolP512r1_T_4_Y), 4461a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_5_X, brainpoolP512r1_T_5_Y), 4462a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_6_X, brainpoolP512r1_T_6_Y), 4463a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_7_X, brainpoolP512r1_T_7_Y), 4464a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_8_X, brainpoolP512r1_T_8_Y), 4465a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_9_X, brainpoolP512r1_T_9_Y), 4466a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_10_X, brainpoolP512r1_T_10_Y), 4467a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_11_X, brainpoolP512r1_T_11_Y), 4468a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_12_X, brainpoolP512r1_T_12_Y), 4469a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_13_X, brainpoolP512r1_T_13_Y), 4470a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_14_X, brainpoolP512r1_T_14_Y), 4471a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_15_X, brainpoolP512r1_T_15_Y), 4472a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_16_X, brainpoolP512r1_T_16_Y), 4473a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_17_X, brainpoolP512r1_T_17_Y), 4474a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_18_X, brainpoolP512r1_T_18_Y), 4475a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_19_X, brainpoolP512r1_T_19_Y), 4476a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_20_X, brainpoolP512r1_T_20_Y), 4477a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_21_X, brainpoolP512r1_T_21_Y), 4478a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_22_X, brainpoolP512r1_T_22_Y), 4479a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_23_X, brainpoolP512r1_T_23_Y), 4480a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_24_X, brainpoolP512r1_T_24_Y), 4481a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_25_X, brainpoolP512r1_T_25_Y), 4482a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_26_X, brainpoolP512r1_T_26_Y), 4483a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_27_X, brainpoolP512r1_T_27_Y), 4484a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_28_X, brainpoolP512r1_T_28_Y), 4485a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_29_X, brainpoolP512r1_T_29_Y), 4486a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_30_X, brainpoolP512r1_T_30_Y), 4487a8e1175bSopenharmony_ci ECP_POINT_INIT_XY_Z0(brainpoolP512r1_T_31_X, brainpoolP512r1_T_31_Y), 4488a8e1175bSopenharmony_ci}; 4489a8e1175bSopenharmony_ci#else 4490a8e1175bSopenharmony_ci#define brainpoolP512r1_T NULL 4491a8e1175bSopenharmony_ci#endif 4492a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */ 4493a8e1175bSopenharmony_ci 4494a8e1175bSopenharmony_ci 4495a8e1175bSopenharmony_ci#if defined(ECP_LOAD_GROUP) || defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) || \ 4496a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 4497a8e1175bSopenharmony_ci/* 4498a8e1175bSopenharmony_ci * Create an MPI from embedded constants 4499a8e1175bSopenharmony_ci * (assumes len is an exact multiple of sizeof(mbedtls_mpi_uint) and 4500a8e1175bSopenharmony_ci * len < 1048576) 4501a8e1175bSopenharmony_ci */ 4502a8e1175bSopenharmony_cistatic inline void ecp_mpi_load(mbedtls_mpi *X, const mbedtls_mpi_uint *p, size_t len) 4503a8e1175bSopenharmony_ci{ 4504a8e1175bSopenharmony_ci X->s = 1; 4505a8e1175bSopenharmony_ci X->n = (unsigned short) (len / sizeof(mbedtls_mpi_uint)); 4506a8e1175bSopenharmony_ci X->p = (mbedtls_mpi_uint *) p; 4507a8e1175bSopenharmony_ci} 4508a8e1175bSopenharmony_ci#endif 4509a8e1175bSopenharmony_ci 4510a8e1175bSopenharmony_ci#if defined(ECP_LOAD_GROUP) 4511a8e1175bSopenharmony_ci/* 4512a8e1175bSopenharmony_ci * Set an MPI to static value 1 4513a8e1175bSopenharmony_ci */ 4514a8e1175bSopenharmony_cistatic inline void ecp_mpi_set1(mbedtls_mpi *X) 4515a8e1175bSopenharmony_ci{ 4516a8e1175bSopenharmony_ci X->s = 1; 4517a8e1175bSopenharmony_ci X->n = 1; 4518a8e1175bSopenharmony_ci X->p = mpi_one; 4519a8e1175bSopenharmony_ci} 4520a8e1175bSopenharmony_ci 4521a8e1175bSopenharmony_ci/* 4522a8e1175bSopenharmony_ci * Make group available from embedded constants 4523a8e1175bSopenharmony_ci */ 4524a8e1175bSopenharmony_cistatic int ecp_group_load(mbedtls_ecp_group *grp, 4525a8e1175bSopenharmony_ci const mbedtls_mpi_uint *p, size_t plen, 4526a8e1175bSopenharmony_ci const mbedtls_mpi_uint *a, size_t alen, 4527a8e1175bSopenharmony_ci const mbedtls_mpi_uint *b, size_t blen, 4528a8e1175bSopenharmony_ci const mbedtls_mpi_uint *gx, size_t gxlen, 4529a8e1175bSopenharmony_ci const mbedtls_mpi_uint *gy, size_t gylen, 4530a8e1175bSopenharmony_ci const mbedtls_mpi_uint *n, size_t nlen, 4531a8e1175bSopenharmony_ci const mbedtls_ecp_point *T) 4532a8e1175bSopenharmony_ci{ 4533a8e1175bSopenharmony_ci ecp_mpi_load(&grp->P, p, plen); 4534a8e1175bSopenharmony_ci if (a != NULL) { 4535a8e1175bSopenharmony_ci ecp_mpi_load(&grp->A, a, alen); 4536a8e1175bSopenharmony_ci } 4537a8e1175bSopenharmony_ci ecp_mpi_load(&grp->B, b, blen); 4538a8e1175bSopenharmony_ci ecp_mpi_load(&grp->N, n, nlen); 4539a8e1175bSopenharmony_ci 4540a8e1175bSopenharmony_ci ecp_mpi_load(&grp->G.X, gx, gxlen); 4541a8e1175bSopenharmony_ci ecp_mpi_load(&grp->G.Y, gy, gylen); 4542a8e1175bSopenharmony_ci ecp_mpi_set1(&grp->G.Z); 4543a8e1175bSopenharmony_ci 4544a8e1175bSopenharmony_ci grp->pbits = mbedtls_mpi_bitlen(&grp->P); 4545a8e1175bSopenharmony_ci grp->nbits = mbedtls_mpi_bitlen(&grp->N); 4546a8e1175bSopenharmony_ci 4547a8e1175bSopenharmony_ci grp->h = 1; 4548a8e1175bSopenharmony_ci 4549a8e1175bSopenharmony_ci grp->T = (mbedtls_ecp_point *) T; 4550a8e1175bSopenharmony_ci /* 4551a8e1175bSopenharmony_ci * Set T_size to 0 to prevent T free by mbedtls_ecp_group_free. 4552a8e1175bSopenharmony_ci */ 4553a8e1175bSopenharmony_ci grp->T_size = 0; 4554a8e1175bSopenharmony_ci 4555a8e1175bSopenharmony_ci return 0; 4556a8e1175bSopenharmony_ci} 4557a8e1175bSopenharmony_ci#endif /* ECP_LOAD_GROUP */ 4558a8e1175bSopenharmony_ci 4559a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 4560a8e1175bSopenharmony_ci/* Forward declarations */ 4561a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 4562a8e1175bSopenharmony_cistatic int ecp_mod_p192(mbedtls_mpi *); 4563a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4564a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p192_raw(mbedtls_mpi_uint *Np, size_t Nn); 4565a8e1175bSopenharmony_ci#endif 4566a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 4567a8e1175bSopenharmony_cistatic int ecp_mod_p224(mbedtls_mpi *); 4568a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4569a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p224_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4570a8e1175bSopenharmony_ci#endif 4571a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 4572a8e1175bSopenharmony_cistatic int ecp_mod_p256(mbedtls_mpi *); 4573a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4574a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p256_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4575a8e1175bSopenharmony_ci#endif 4576a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 4577a8e1175bSopenharmony_cistatic int ecp_mod_p384(mbedtls_mpi *); 4578a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4579a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p384_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4580a8e1175bSopenharmony_ci#endif 4581a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 4582a8e1175bSopenharmony_cistatic int ecp_mod_p521(mbedtls_mpi *); 4583a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4584a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p521_raw(mbedtls_mpi_uint *N_p, size_t N_n); 4585a8e1175bSopenharmony_ci#endif 4586a8e1175bSopenharmony_ci 4587a8e1175bSopenharmony_ci#define NIST_MODP(P) grp->modp = ecp_mod_ ## P; 4588a8e1175bSopenharmony_ci#else 4589a8e1175bSopenharmony_ci#define NIST_MODP(P) 4590a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_NIST_OPTIM */ 4591a8e1175bSopenharmony_ci 4592a8e1175bSopenharmony_ci/* Additional forward declarations */ 4593a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 4594a8e1175bSopenharmony_cistatic int ecp_mod_p255(mbedtls_mpi *); 4595a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4596a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p255_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4597a8e1175bSopenharmony_ci#endif 4598a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 4599a8e1175bSopenharmony_cistatic int ecp_mod_p448(mbedtls_mpi *); 4600a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4601a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p448_raw(mbedtls_mpi_uint *, size_t); 4602a8e1175bSopenharmony_ci#endif 4603a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 4604a8e1175bSopenharmony_cistatic int ecp_mod_p192k1(mbedtls_mpi *); 4605a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4606a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p192k1_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4607a8e1175bSopenharmony_ci#endif 4608a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 4609a8e1175bSopenharmony_cistatic int ecp_mod_p224k1(mbedtls_mpi *); 4610a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4611a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p224k1_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4612a8e1175bSopenharmony_ci#endif 4613a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 4614a8e1175bSopenharmony_cistatic int ecp_mod_p256k1(mbedtls_mpi *); 4615a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4616a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p256k1_raw(mbedtls_mpi_uint *X, size_t X_limbs); 4617a8e1175bSopenharmony_ci#endif 4618a8e1175bSopenharmony_ci 4619a8e1175bSopenharmony_ci#if defined(ECP_LOAD_GROUP) 4620a8e1175bSopenharmony_ci#define LOAD_GROUP_A(G) ecp_group_load(grp, \ 4621a8e1175bSopenharmony_ci G ## _p, sizeof(G ## _p), \ 4622a8e1175bSopenharmony_ci G ## _a, sizeof(G ## _a), \ 4623a8e1175bSopenharmony_ci G ## _b, sizeof(G ## _b), \ 4624a8e1175bSopenharmony_ci G ## _gx, sizeof(G ## _gx), \ 4625a8e1175bSopenharmony_ci G ## _gy, sizeof(G ## _gy), \ 4626a8e1175bSopenharmony_ci G ## _n, sizeof(G ## _n), \ 4627a8e1175bSopenharmony_ci G ## _T \ 4628a8e1175bSopenharmony_ci ) 4629a8e1175bSopenharmony_ci 4630a8e1175bSopenharmony_ci#define LOAD_GROUP(G) ecp_group_load(grp, \ 4631a8e1175bSopenharmony_ci G ## _p, sizeof(G ## _p), \ 4632a8e1175bSopenharmony_ci NULL, 0, \ 4633a8e1175bSopenharmony_ci G ## _b, sizeof(G ## _b), \ 4634a8e1175bSopenharmony_ci G ## _gx, sizeof(G ## _gx), \ 4635a8e1175bSopenharmony_ci G ## _gy, sizeof(G ## _gy), \ 4636a8e1175bSopenharmony_ci G ## _n, sizeof(G ## _n), \ 4637a8e1175bSopenharmony_ci G ## _T \ 4638a8e1175bSopenharmony_ci ) 4639a8e1175bSopenharmony_ci#endif /* ECP_LOAD_GROUP */ 4640a8e1175bSopenharmony_ci 4641a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 4642a8e1175bSopenharmony_ci/* Constants used by ecp_use_curve25519() */ 4643a8e1175bSopenharmony_cistatic const mbedtls_mpi_sint curve25519_a24 = 0x01DB42; 4644a8e1175bSopenharmony_ci 4645a8e1175bSopenharmony_ci/* P = 2^255 - 19 */ 4646a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint curve25519_p[] = { 4647a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xED, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4648a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4649a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4650a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0X7F) 4651a8e1175bSopenharmony_ci}; 4652a8e1175bSopenharmony_ci 4653a8e1175bSopenharmony_ci/* N = 2^252 + 27742317777372353535851937790883648493 */ 4654a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint curve25519_n[] = { 4655a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XED, 0XD3, 0XF5, 0X5C, 0X1A, 0X63, 0X12, 0X58), 4656a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XD6, 0X9C, 0XF7, 0XA2, 0XDE, 0XF9, 0XDE, 0X14), 4657a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0X00, 0X00, 0X00, 0X00, 0x00, 0x00, 0x00, 0x00), 4658a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10) 4659a8e1175bSopenharmony_ci}; 4660a8e1175bSopenharmony_ci 4661a8e1175bSopenharmony_ci/* 4662a8e1175bSopenharmony_ci * Specialized function for creating the Curve25519 group 4663a8e1175bSopenharmony_ci */ 4664a8e1175bSopenharmony_cistatic int ecp_use_curve25519(mbedtls_ecp_group *grp) 4665a8e1175bSopenharmony_ci{ 4666a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 4667a8e1175bSopenharmony_ci 4668a8e1175bSopenharmony_ci /* Actually ( A + 2 ) / 4 */ 4669a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->A, curve25519_a24)); 4670a8e1175bSopenharmony_ci 4671a8e1175bSopenharmony_ci ecp_mpi_load(&grp->P, curve25519_p, sizeof(curve25519_p)); 4672a8e1175bSopenharmony_ci 4673a8e1175bSopenharmony_ci grp->pbits = mbedtls_mpi_bitlen(&grp->P); 4674a8e1175bSopenharmony_ci 4675a8e1175bSopenharmony_ci ecp_mpi_load(&grp->N, curve25519_n, sizeof(curve25519_n)); 4676a8e1175bSopenharmony_ci 4677a8e1175bSopenharmony_ci /* Y intentionally not set, since we use x/z coordinates. 4678a8e1175bSopenharmony_ci * This is used as a marker to identify Montgomery curves! */ 4679a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.X, 9)); 4680a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.Z, 1)); 4681a8e1175bSopenharmony_ci mbedtls_mpi_free(&grp->G.Y); 4682a8e1175bSopenharmony_ci 4683a8e1175bSopenharmony_ci /* Actually, the required msb for private keys */ 4684a8e1175bSopenharmony_ci grp->nbits = 254; 4685a8e1175bSopenharmony_ci 4686a8e1175bSopenharmony_cicleanup: 4687a8e1175bSopenharmony_ci if (ret != 0) { 4688a8e1175bSopenharmony_ci mbedtls_ecp_group_free(grp); 4689a8e1175bSopenharmony_ci } 4690a8e1175bSopenharmony_ci 4691a8e1175bSopenharmony_ci return ret; 4692a8e1175bSopenharmony_ci} 4693a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 4694a8e1175bSopenharmony_ci 4695a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 4696a8e1175bSopenharmony_ci/* Constants used by ecp_use_curve448() */ 4697a8e1175bSopenharmony_cistatic const mbedtls_mpi_sint curve448_a24 = 0x98AA; 4698a8e1175bSopenharmony_ci 4699a8e1175bSopenharmony_ci/* P = 2^448 - 2^224 - 1 */ 4700a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint curve448_p[] = { 4701a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4702a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4703a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4704a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFE, 0XFF, 0XFF, 0XFF), 4705a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4706a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4707a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4708a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00) 4709a8e1175bSopenharmony_ci}; 4710a8e1175bSopenharmony_ci 4711a8e1175bSopenharmony_ci/* N = 2^446 - 13818066809895115352007386748515426880336692474882178609894547503885 */ 4712a8e1175bSopenharmony_cistatic const mbedtls_mpi_uint curve448_n[] = { 4713a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XF3, 0X44, 0X58, 0XAB, 0X92, 0XC2, 0X78, 0X23), 4714a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0X55, 0X8F, 0XC5, 0X8D, 0X72, 0XC2, 0X6C, 0X21), 4715a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0X90, 0X36, 0XD6, 0XAE, 0X49, 0XDB, 0X4E, 0XC4), 4716a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XE9, 0X23, 0XCA, 0X7C, 0XFF, 0XFF, 0XFF, 0XFF), 4717a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4718a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), 4719a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0X3F), 4720a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00) 4721a8e1175bSopenharmony_ci}; 4722a8e1175bSopenharmony_ci 4723a8e1175bSopenharmony_ci/* 4724a8e1175bSopenharmony_ci * Specialized function for creating the Curve448 group 4725a8e1175bSopenharmony_ci */ 4726a8e1175bSopenharmony_cistatic int ecp_use_curve448(mbedtls_ecp_group *grp) 4727a8e1175bSopenharmony_ci{ 4728a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 4729a8e1175bSopenharmony_ci 4730a8e1175bSopenharmony_ci /* Actually ( A + 2 ) / 4 */ 4731a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->A, curve448_a24)); 4732a8e1175bSopenharmony_ci 4733a8e1175bSopenharmony_ci ecp_mpi_load(&grp->P, curve448_p, sizeof(curve448_p)); 4734a8e1175bSopenharmony_ci grp->pbits = mbedtls_mpi_bitlen(&grp->P); 4735a8e1175bSopenharmony_ci 4736a8e1175bSopenharmony_ci /* Y intentionally not set, since we use x/z coordinates. 4737a8e1175bSopenharmony_ci * This is used as a marker to identify Montgomery curves! */ 4738a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.X, 5)); 4739a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&grp->G.Z, 1)); 4740a8e1175bSopenharmony_ci mbedtls_mpi_free(&grp->G.Y); 4741a8e1175bSopenharmony_ci 4742a8e1175bSopenharmony_ci ecp_mpi_load(&grp->N, curve448_n, sizeof(curve448_n)); 4743a8e1175bSopenharmony_ci 4744a8e1175bSopenharmony_ci /* Actually, the required msb for private keys */ 4745a8e1175bSopenharmony_ci grp->nbits = 447; 4746a8e1175bSopenharmony_ci 4747a8e1175bSopenharmony_cicleanup: 4748a8e1175bSopenharmony_ci if (ret != 0) { 4749a8e1175bSopenharmony_ci mbedtls_ecp_group_free(grp); 4750a8e1175bSopenharmony_ci } 4751a8e1175bSopenharmony_ci 4752a8e1175bSopenharmony_ci return ret; 4753a8e1175bSopenharmony_ci} 4754a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */ 4755a8e1175bSopenharmony_ci 4756a8e1175bSopenharmony_ci/* 4757a8e1175bSopenharmony_ci * Set a group using well-known domain parameters 4758a8e1175bSopenharmony_ci */ 4759a8e1175bSopenharmony_ciint mbedtls_ecp_group_load(mbedtls_ecp_group *grp, mbedtls_ecp_group_id id) 4760a8e1175bSopenharmony_ci{ 4761a8e1175bSopenharmony_ci mbedtls_ecp_group_free(grp); 4762a8e1175bSopenharmony_ci 4763a8e1175bSopenharmony_ci mbedtls_ecp_group_init(grp); 4764a8e1175bSopenharmony_ci 4765a8e1175bSopenharmony_ci grp->id = id; 4766a8e1175bSopenharmony_ci 4767a8e1175bSopenharmony_ci switch (id) { 4768a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 4769a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP192R1: 4770a8e1175bSopenharmony_ci NIST_MODP(p192); 4771a8e1175bSopenharmony_ci return LOAD_GROUP(secp192r1); 4772a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 4773a8e1175bSopenharmony_ci 4774a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 4775a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP224R1: 4776a8e1175bSopenharmony_ci NIST_MODP(p224); 4777a8e1175bSopenharmony_ci return LOAD_GROUP(secp224r1); 4778a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 4779a8e1175bSopenharmony_ci 4780a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 4781a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP256R1: 4782a8e1175bSopenharmony_ci NIST_MODP(p256); 4783a8e1175bSopenharmony_ci return LOAD_GROUP(secp256r1); 4784a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 4785a8e1175bSopenharmony_ci 4786a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 4787a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP384R1: 4788a8e1175bSopenharmony_ci NIST_MODP(p384); 4789a8e1175bSopenharmony_ci return LOAD_GROUP(secp384r1); 4790a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 4791a8e1175bSopenharmony_ci 4792a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 4793a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP521R1: 4794a8e1175bSopenharmony_ci NIST_MODP(p521); 4795a8e1175bSopenharmony_ci return LOAD_GROUP(secp521r1); 4796a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 4797a8e1175bSopenharmony_ci 4798a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 4799a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP192K1: 4800a8e1175bSopenharmony_ci grp->modp = ecp_mod_p192k1; 4801a8e1175bSopenharmony_ci return LOAD_GROUP_A(secp192k1); 4802a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 4803a8e1175bSopenharmony_ci 4804a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 4805a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP224K1: 4806a8e1175bSopenharmony_ci grp->modp = ecp_mod_p224k1; 4807a8e1175bSopenharmony_ci return LOAD_GROUP_A(secp224k1); 4808a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 4809a8e1175bSopenharmony_ci 4810a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 4811a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP256K1: 4812a8e1175bSopenharmony_ci grp->modp = ecp_mod_p256k1; 4813a8e1175bSopenharmony_ci return LOAD_GROUP_A(secp256k1); 4814a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 4815a8e1175bSopenharmony_ci 4816a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 4817a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP256R1: 4818a8e1175bSopenharmony_ci return LOAD_GROUP_A(brainpoolP256r1); 4819a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */ 4820a8e1175bSopenharmony_ci 4821a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 4822a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP384R1: 4823a8e1175bSopenharmony_ci return LOAD_GROUP_A(brainpoolP384r1); 4824a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */ 4825a8e1175bSopenharmony_ci 4826a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 4827a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP512R1: 4828a8e1175bSopenharmony_ci return LOAD_GROUP_A(brainpoolP512r1); 4829a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */ 4830a8e1175bSopenharmony_ci 4831a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 4832a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_CURVE25519: 4833a8e1175bSopenharmony_ci grp->modp = ecp_mod_p255; 4834a8e1175bSopenharmony_ci return ecp_use_curve25519(grp); 4835a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 4836a8e1175bSopenharmony_ci 4837a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 4838a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_CURVE448: 4839a8e1175bSopenharmony_ci grp->modp = ecp_mod_p448; 4840a8e1175bSopenharmony_ci return ecp_use_curve448(grp); 4841a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */ 4842a8e1175bSopenharmony_ci 4843a8e1175bSopenharmony_ci default: 4844a8e1175bSopenharmony_ci grp->id = MBEDTLS_ECP_DP_NONE; 4845a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE; 4846a8e1175bSopenharmony_ci } 4847a8e1175bSopenharmony_ci} 4848a8e1175bSopenharmony_ci 4849a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 4850a8e1175bSopenharmony_ci/* 4851a8e1175bSopenharmony_ci * Fast reduction modulo the primes used by the NIST curves. 4852a8e1175bSopenharmony_ci * 4853a8e1175bSopenharmony_ci * These functions are critical for speed, but not needed for correct 4854a8e1175bSopenharmony_ci * operations. So, we make the choice to heavily rely on the internals of our 4855a8e1175bSopenharmony_ci * bignum library, which creates a tight coupling between these functions and 4856a8e1175bSopenharmony_ci * our MPI implementation. However, the coupling between the ECP module and 4857a8e1175bSopenharmony_ci * MPI remains loose, since these functions can be deactivated at will. 4858a8e1175bSopenharmony_ci */ 4859a8e1175bSopenharmony_ci 4860a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 4861a8e1175bSopenharmony_ci/* 4862a8e1175bSopenharmony_ci * Compared to the way things are presented in FIPS 186-3 D.2, 4863a8e1175bSopenharmony_ci * we proceed in columns, from right (least significant chunk) to left, 4864a8e1175bSopenharmony_ci * adding chunks to N in place, and keeping a carry for the next chunk. 4865a8e1175bSopenharmony_ci * This avoids moving things around in memory, and uselessly adding zeros, 4866a8e1175bSopenharmony_ci * compared to the more straightforward, line-oriented approach. 4867a8e1175bSopenharmony_ci * 4868a8e1175bSopenharmony_ci * For this prime we need to handle data in chunks of 64 bits. 4869a8e1175bSopenharmony_ci * Since this is always a multiple of our basic mbedtls_mpi_uint, we can 4870a8e1175bSopenharmony_ci * use a mbedtls_mpi_uint * to designate such a chunk, and small loops to handle it. 4871a8e1175bSopenharmony_ci */ 4872a8e1175bSopenharmony_ci 4873a8e1175bSopenharmony_ci/* Add 64-bit chunks (dst += src) and update carry */ 4874a8e1175bSopenharmony_cistatic inline void add64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *src, mbedtls_mpi_uint *carry) 4875a8e1175bSopenharmony_ci{ 4876a8e1175bSopenharmony_ci unsigned char i; 4877a8e1175bSopenharmony_ci mbedtls_mpi_uint c = 0; 4878a8e1175bSopenharmony_ci for (i = 0; i < 8 / sizeof(mbedtls_mpi_uint); i++, dst++, src++) { 4879a8e1175bSopenharmony_ci *dst += c; c = (*dst < c); 4880a8e1175bSopenharmony_ci *dst += *src; c += (*dst < *src); 4881a8e1175bSopenharmony_ci } 4882a8e1175bSopenharmony_ci *carry += c; 4883a8e1175bSopenharmony_ci} 4884a8e1175bSopenharmony_ci 4885a8e1175bSopenharmony_ci/* Add carry to a 64-bit chunk and update carry */ 4886a8e1175bSopenharmony_cistatic inline void carry64(mbedtls_mpi_uint *dst, mbedtls_mpi_uint *carry) 4887a8e1175bSopenharmony_ci{ 4888a8e1175bSopenharmony_ci unsigned char i; 4889a8e1175bSopenharmony_ci for (i = 0; i < 8 / sizeof(mbedtls_mpi_uint); i++, dst++) { 4890a8e1175bSopenharmony_ci *dst += *carry; 4891a8e1175bSopenharmony_ci *carry = (*dst < *carry); 4892a8e1175bSopenharmony_ci } 4893a8e1175bSopenharmony_ci} 4894a8e1175bSopenharmony_ci 4895a8e1175bSopenharmony_ci#define WIDTH 8 / sizeof(mbedtls_mpi_uint) 4896a8e1175bSopenharmony_ci#define A(i) Np + (i) * WIDTH 4897a8e1175bSopenharmony_ci#define ADD(i) add64(p, A(i), &c) 4898a8e1175bSopenharmony_ci#define NEXT p += WIDTH; carry64(p, &c) 4899a8e1175bSopenharmony_ci#define LAST p += WIDTH; do *p = 0; while (++p < end) 4900a8e1175bSopenharmony_ci#define RESET last_carry[0] = c; c = 0; p = Np 4901a8e1175bSopenharmony_ci#define ADD_LAST add64(p, last_carry, &c) 4902a8e1175bSopenharmony_ci 4903a8e1175bSopenharmony_ci/* 4904a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p192 (FIPS 186-3 D.2.1) 4905a8e1175bSopenharmony_ci */ 4906a8e1175bSopenharmony_cistatic int ecp_mod_p192(mbedtls_mpi *N) 4907a8e1175bSopenharmony_ci{ 4908a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 4909a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(192) * 2; 4910a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 4911a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p192_raw(N->p, expected_width); 4912a8e1175bSopenharmony_ci 4913a8e1175bSopenharmony_cicleanup: 4914a8e1175bSopenharmony_ci return ret; 4915a8e1175bSopenharmony_ci} 4916a8e1175bSopenharmony_ci 4917a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 4918a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p192_raw(mbedtls_mpi_uint *Np, size_t Nn) 4919a8e1175bSopenharmony_ci{ 4920a8e1175bSopenharmony_ci mbedtls_mpi_uint c = 0, last_carry[WIDTH] = { 0 }; 4921a8e1175bSopenharmony_ci mbedtls_mpi_uint *p, *end; 4922a8e1175bSopenharmony_ci 4923a8e1175bSopenharmony_ci if (Nn != BITS_TO_LIMBS(192) * 2) { 4924a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 4925a8e1175bSopenharmony_ci } 4926a8e1175bSopenharmony_ci 4927a8e1175bSopenharmony_ci p = Np; 4928a8e1175bSopenharmony_ci end = p + Nn; 4929a8e1175bSopenharmony_ci 4930a8e1175bSopenharmony_ci ADD(3); ADD(5); NEXT; // A0 += A3 + A5 4931a8e1175bSopenharmony_ci ADD(3); ADD(4); ADD(5); NEXT; // A1 += A3 + A4 + A5 4932a8e1175bSopenharmony_ci ADD(4); ADD(5); // A2 += A4 + A5 4933a8e1175bSopenharmony_ci 4934a8e1175bSopenharmony_ci RESET; 4935a8e1175bSopenharmony_ci 4936a8e1175bSopenharmony_ci /* Use the reduction for the carry as well: 4937a8e1175bSopenharmony_ci * 2^192 * last_carry = 2^64 * last_carry + last_carry mod P192 4938a8e1175bSopenharmony_ci * It can generate a carry. */ 4939a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 += last_carry 4940a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A1 += last_carry 4941a8e1175bSopenharmony_ci // A2 += carry 4942a8e1175bSopenharmony_ci 4943a8e1175bSopenharmony_ci RESET; 4944a8e1175bSopenharmony_ci 4945a8e1175bSopenharmony_ci /* Use the reduction for the carry as well: 4946a8e1175bSopenharmony_ci * 2^192 * last_carry = 2^64 * last_carry + last_carry mod P192 4947a8e1175bSopenharmony_ci */ 4948a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 += last_carry 4949a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A1 += last_carry 4950a8e1175bSopenharmony_ci // A2 += carry 4951a8e1175bSopenharmony_ci 4952a8e1175bSopenharmony_ci LAST; 4953a8e1175bSopenharmony_ci 4954a8e1175bSopenharmony_ci return 0; 4955a8e1175bSopenharmony_ci} 4956a8e1175bSopenharmony_ci 4957a8e1175bSopenharmony_ci#undef WIDTH 4958a8e1175bSopenharmony_ci#undef A 4959a8e1175bSopenharmony_ci#undef ADD 4960a8e1175bSopenharmony_ci#undef NEXT 4961a8e1175bSopenharmony_ci#undef LAST 4962a8e1175bSopenharmony_ci#undef RESET 4963a8e1175bSopenharmony_ci#undef ADD_LAST 4964a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */ 4965a8e1175bSopenharmony_ci 4966a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) || \ 4967a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) || \ 4968a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 4969a8e1175bSopenharmony_ci 4970a8e1175bSopenharmony_ci/* 4971a8e1175bSopenharmony_ci * The reader is advised to first understand ecp_mod_p192() since the same 4972a8e1175bSopenharmony_ci * general structure is used here, but with additional complications: 4973a8e1175bSopenharmony_ci * (1) chunks of 32 bits, and (2) subtractions. 4974a8e1175bSopenharmony_ci */ 4975a8e1175bSopenharmony_ci 4976a8e1175bSopenharmony_ci/* 4977a8e1175bSopenharmony_ci * For these primes, we need to handle data in chunks of 32 bits. 4978a8e1175bSopenharmony_ci * This makes it more complicated if we use 64 bits limbs in MPI, 4979a8e1175bSopenharmony_ci * which prevents us from using a uniform access method as for p192. 4980a8e1175bSopenharmony_ci * 4981a8e1175bSopenharmony_ci * So, we define a mini abstraction layer to access 32 bit chunks, 4982a8e1175bSopenharmony_ci * load them in 'cur' for work, and store them back from 'cur' when done. 4983a8e1175bSopenharmony_ci * 4984a8e1175bSopenharmony_ci * While at it, also define the size of N in terms of 32-bit chunks. 4985a8e1175bSopenharmony_ci */ 4986a8e1175bSopenharmony_ci#define LOAD32 cur = A(i); 4987a8e1175bSopenharmony_ci 4988a8e1175bSopenharmony_ci#if defined(MBEDTLS_HAVE_INT32) /* 32 bit */ 4989a8e1175bSopenharmony_ci 4990a8e1175bSopenharmony_ci#define MAX32 X_limbs 4991a8e1175bSopenharmony_ci#define A(j) X[j] 4992a8e1175bSopenharmony_ci#define STORE32 X[i] = (mbedtls_mpi_uint) cur; 4993a8e1175bSopenharmony_ci#define STORE0 X[i] = 0; 4994a8e1175bSopenharmony_ci 4995a8e1175bSopenharmony_ci#else /* 64 bit */ 4996a8e1175bSopenharmony_ci 4997a8e1175bSopenharmony_ci#define MAX32 X_limbs * 2 4998a8e1175bSopenharmony_ci#define A(j) \ 4999a8e1175bSopenharmony_ci (j) % 2 ? \ 5000a8e1175bSopenharmony_ci (uint32_t) (X[(j) / 2] >> 32) : \ 5001a8e1175bSopenharmony_ci (uint32_t) (X[(j) / 2]) 5002a8e1175bSopenharmony_ci#define STORE32 \ 5003a8e1175bSopenharmony_ci if (i % 2) { \ 5004a8e1175bSopenharmony_ci X[i/2] &= 0x00000000FFFFFFFF; \ 5005a8e1175bSopenharmony_ci X[i/2] |= (uint64_t) (cur) << 32; \ 5006a8e1175bSopenharmony_ci } else { \ 5007a8e1175bSopenharmony_ci X[i/2] &= 0xFFFFFFFF00000000; \ 5008a8e1175bSopenharmony_ci X[i/2] |= (uint32_t) cur; \ 5009a8e1175bSopenharmony_ci } 5010a8e1175bSopenharmony_ci 5011a8e1175bSopenharmony_ci#define STORE0 \ 5012a8e1175bSopenharmony_ci if (i % 2) { \ 5013a8e1175bSopenharmony_ci X[i/2] &= 0x00000000FFFFFFFF; \ 5014a8e1175bSopenharmony_ci } else { \ 5015a8e1175bSopenharmony_ci X[i/2] &= 0xFFFFFFFF00000000; \ 5016a8e1175bSopenharmony_ci } 5017a8e1175bSopenharmony_ci 5018a8e1175bSopenharmony_ci#endif 5019a8e1175bSopenharmony_ci 5020a8e1175bSopenharmony_cistatic inline int8_t extract_carry(int64_t cur) 5021a8e1175bSopenharmony_ci{ 5022a8e1175bSopenharmony_ci return (int8_t) (cur >> 32); 5023a8e1175bSopenharmony_ci} 5024a8e1175bSopenharmony_ci 5025a8e1175bSopenharmony_ci#define ADD(j) cur += A(j) 5026a8e1175bSopenharmony_ci#define SUB(j) cur -= A(j) 5027a8e1175bSopenharmony_ci 5028a8e1175bSopenharmony_ci#define ADD_CARRY(cc) cur += (cc) 5029a8e1175bSopenharmony_ci#define SUB_CARRY(cc) cur -= (cc) 5030a8e1175bSopenharmony_ci 5031a8e1175bSopenharmony_ci#define ADD_LAST ADD_CARRY(last_c) 5032a8e1175bSopenharmony_ci#define SUB_LAST SUB_CARRY(last_c) 5033a8e1175bSopenharmony_ci 5034a8e1175bSopenharmony_ci/* 5035a8e1175bSopenharmony_ci * Helpers for the main 'loop' 5036a8e1175bSopenharmony_ci */ 5037a8e1175bSopenharmony_ci#define INIT(b) \ 5038a8e1175bSopenharmony_ci int8_t c = 0, last_c; \ 5039a8e1175bSopenharmony_ci int64_t cur; \ 5040a8e1175bSopenharmony_ci size_t i = 0; \ 5041a8e1175bSopenharmony_ci LOAD32; 5042a8e1175bSopenharmony_ci 5043a8e1175bSopenharmony_ci#define NEXT \ 5044a8e1175bSopenharmony_ci c = extract_carry(cur); \ 5045a8e1175bSopenharmony_ci STORE32; i++; LOAD32; \ 5046a8e1175bSopenharmony_ci ADD_CARRY(c); 5047a8e1175bSopenharmony_ci 5048a8e1175bSopenharmony_ci#define RESET \ 5049a8e1175bSopenharmony_ci c = extract_carry(cur); \ 5050a8e1175bSopenharmony_ci last_c = c; \ 5051a8e1175bSopenharmony_ci STORE32; i = 0; LOAD32; \ 5052a8e1175bSopenharmony_ci c = 0; \ 5053a8e1175bSopenharmony_ci 5054a8e1175bSopenharmony_ci#define LAST \ 5055a8e1175bSopenharmony_ci c = extract_carry(cur); \ 5056a8e1175bSopenharmony_ci STORE32; i++; \ 5057a8e1175bSopenharmony_ci if (c != 0) \ 5058a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; \ 5059a8e1175bSopenharmony_ci while (i < MAX32) { STORE0; i++; } 5060a8e1175bSopenharmony_ci 5061a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 5062a8e1175bSopenharmony_ci 5063a8e1175bSopenharmony_ci/* 5064a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p224 (FIPS 186-3 D.2.2) 5065a8e1175bSopenharmony_ci */ 5066a8e1175bSopenharmony_cistatic int ecp_mod_p224(mbedtls_mpi *N) 5067a8e1175bSopenharmony_ci{ 5068a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5069a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(224) * 2; 5070a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5071a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p224_raw(N->p, expected_width); 5072a8e1175bSopenharmony_cicleanup: 5073a8e1175bSopenharmony_ci return ret; 5074a8e1175bSopenharmony_ci} 5075a8e1175bSopenharmony_ci 5076a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5077a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p224_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5078a8e1175bSopenharmony_ci{ 5079a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(224) * 2) { 5080a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5081a8e1175bSopenharmony_ci } 5082a8e1175bSopenharmony_ci 5083a8e1175bSopenharmony_ci INIT(224); 5084a8e1175bSopenharmony_ci 5085a8e1175bSopenharmony_ci SUB(7); SUB(11); NEXT; // A0 += -A7 - A11 5086a8e1175bSopenharmony_ci SUB(8); SUB(12); NEXT; // A1 += -A8 - A12 5087a8e1175bSopenharmony_ci SUB(9); SUB(13); NEXT; // A2 += -A9 - A13 5088a8e1175bSopenharmony_ci SUB(10); ADD(7); ADD(11); NEXT; // A3 += -A10 + A7 + A11 5089a8e1175bSopenharmony_ci SUB(11); ADD(8); ADD(12); NEXT; // A4 += -A11 + A8 + A12 5090a8e1175bSopenharmony_ci SUB(12); ADD(9); ADD(13); NEXT; // A5 += -A12 + A9 + A13 5091a8e1175bSopenharmony_ci SUB(13); ADD(10); // A6 += -A13 + A10 5092a8e1175bSopenharmony_ci 5093a8e1175bSopenharmony_ci RESET; 5094a8e1175bSopenharmony_ci 5095a8e1175bSopenharmony_ci /* Use 2^224 = P + 2^96 - 1 to modulo reduce the final carry */ 5096a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A0 -= last_c 5097a8e1175bSopenharmony_ci ; NEXT; // A1 5098a8e1175bSopenharmony_ci ; NEXT; // A2 5099a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A3 += last_c 5100a8e1175bSopenharmony_ci ; NEXT; // A4 5101a8e1175bSopenharmony_ci ; NEXT; // A5 5102a8e1175bSopenharmony_ci // A6 5103a8e1175bSopenharmony_ci 5104a8e1175bSopenharmony_ci /* The carry reduction cannot generate a carry 5105a8e1175bSopenharmony_ci * (see commit 73e8553 for details)*/ 5106a8e1175bSopenharmony_ci 5107a8e1175bSopenharmony_ci LAST; 5108a8e1175bSopenharmony_ci 5109a8e1175bSopenharmony_ci return 0; 5110a8e1175bSopenharmony_ci} 5111a8e1175bSopenharmony_ci 5112a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */ 5113a8e1175bSopenharmony_ci 5114a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 5115a8e1175bSopenharmony_ci 5116a8e1175bSopenharmony_ci/* 5117a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p256 (FIPS 186-3 D.2.3) 5118a8e1175bSopenharmony_ci */ 5119a8e1175bSopenharmony_cistatic int ecp_mod_p256(mbedtls_mpi *N) 5120a8e1175bSopenharmony_ci{ 5121a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5122a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(256) * 2; 5123a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5124a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p256_raw(N->p, expected_width); 5125a8e1175bSopenharmony_cicleanup: 5126a8e1175bSopenharmony_ci return ret; 5127a8e1175bSopenharmony_ci} 5128a8e1175bSopenharmony_ci 5129a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5130a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p256_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5131a8e1175bSopenharmony_ci{ 5132a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(256) * 2) { 5133a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5134a8e1175bSopenharmony_ci } 5135a8e1175bSopenharmony_ci 5136a8e1175bSopenharmony_ci INIT(256); 5137a8e1175bSopenharmony_ci 5138a8e1175bSopenharmony_ci ADD(8); ADD(9); 5139a8e1175bSopenharmony_ci SUB(11); SUB(12); SUB(13); SUB(14); NEXT; // A0 5140a8e1175bSopenharmony_ci 5141a8e1175bSopenharmony_ci ADD(9); ADD(10); 5142a8e1175bSopenharmony_ci SUB(12); SUB(13); SUB(14); SUB(15); NEXT; // A1 5143a8e1175bSopenharmony_ci 5144a8e1175bSopenharmony_ci ADD(10); ADD(11); 5145a8e1175bSopenharmony_ci SUB(13); SUB(14); SUB(15); NEXT; // A2 5146a8e1175bSopenharmony_ci 5147a8e1175bSopenharmony_ci ADD(11); ADD(11); ADD(12); ADD(12); ADD(13); 5148a8e1175bSopenharmony_ci SUB(15); SUB(8); SUB(9); NEXT; // A3 5149a8e1175bSopenharmony_ci 5150a8e1175bSopenharmony_ci ADD(12); ADD(12); ADD(13); ADD(13); ADD(14); 5151a8e1175bSopenharmony_ci SUB(9); SUB(10); NEXT; // A4 5152a8e1175bSopenharmony_ci 5153a8e1175bSopenharmony_ci ADD(13); ADD(13); ADD(14); ADD(14); ADD(15); 5154a8e1175bSopenharmony_ci SUB(10); SUB(11); NEXT; // A5 5155a8e1175bSopenharmony_ci 5156a8e1175bSopenharmony_ci ADD(14); ADD(14); ADD(15); ADD(15); ADD(14); ADD(13); 5157a8e1175bSopenharmony_ci SUB(8); SUB(9); NEXT; // A6 5158a8e1175bSopenharmony_ci 5159a8e1175bSopenharmony_ci ADD(15); ADD(15); ADD(15); ADD(8); 5160a8e1175bSopenharmony_ci SUB(10); SUB(11); SUB(12); SUB(13); // A7 5161a8e1175bSopenharmony_ci 5162a8e1175bSopenharmony_ci RESET; 5163a8e1175bSopenharmony_ci 5164a8e1175bSopenharmony_ci /* Use 2^224 * (2^32 - 1) + 2^192 + 2^96 - 1 5165a8e1175bSopenharmony_ci * to modulo reduce the final carry. */ 5166a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 5167a8e1175bSopenharmony_ci ; NEXT; // A1 5168a8e1175bSopenharmony_ci ; NEXT; // A2 5169a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A3 5170a8e1175bSopenharmony_ci ; NEXT; // A4 5171a8e1175bSopenharmony_ci ; NEXT; // A5 5172a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A6 5173a8e1175bSopenharmony_ci ADD_LAST; // A7 5174a8e1175bSopenharmony_ci 5175a8e1175bSopenharmony_ci RESET; 5176a8e1175bSopenharmony_ci 5177a8e1175bSopenharmony_ci /* Use 2^224 * (2^32 - 1) + 2^192 + 2^96 - 1 5178a8e1175bSopenharmony_ci * to modulo reduce the carry generated by the previous reduction. */ 5179a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 5180a8e1175bSopenharmony_ci ; NEXT; // A1 5181a8e1175bSopenharmony_ci ; NEXT; // A2 5182a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A3 5183a8e1175bSopenharmony_ci ; NEXT; // A4 5184a8e1175bSopenharmony_ci ; NEXT; // A5 5185a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A6 5186a8e1175bSopenharmony_ci ADD_LAST; // A7 5187a8e1175bSopenharmony_ci 5188a8e1175bSopenharmony_ci LAST; 5189a8e1175bSopenharmony_ci 5190a8e1175bSopenharmony_ci return 0; 5191a8e1175bSopenharmony_ci} 5192a8e1175bSopenharmony_ci 5193a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */ 5194a8e1175bSopenharmony_ci 5195a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 5196a8e1175bSopenharmony_ci/* 5197a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p384 (FIPS 186-3 D.2.4) 5198a8e1175bSopenharmony_ci */ 5199a8e1175bSopenharmony_cistatic int ecp_mod_p384(mbedtls_mpi *N) 5200a8e1175bSopenharmony_ci{ 5201a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5202a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(384) * 2; 5203a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5204a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p384_raw(N->p, expected_width); 5205a8e1175bSopenharmony_cicleanup: 5206a8e1175bSopenharmony_ci return ret; 5207a8e1175bSopenharmony_ci} 5208a8e1175bSopenharmony_ci 5209a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5210a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p384_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5211a8e1175bSopenharmony_ci{ 5212a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(384) * 2) { 5213a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5214a8e1175bSopenharmony_ci } 5215a8e1175bSopenharmony_ci 5216a8e1175bSopenharmony_ci INIT(384); 5217a8e1175bSopenharmony_ci 5218a8e1175bSopenharmony_ci ADD(12); ADD(21); ADD(20); 5219a8e1175bSopenharmony_ci SUB(23); NEXT; // A0 5220a8e1175bSopenharmony_ci 5221a8e1175bSopenharmony_ci ADD(13); ADD(22); ADD(23); 5222a8e1175bSopenharmony_ci SUB(12); SUB(20); NEXT; // A1 5223a8e1175bSopenharmony_ci 5224a8e1175bSopenharmony_ci ADD(14); ADD(23); 5225a8e1175bSopenharmony_ci SUB(13); SUB(21); NEXT; // A2 5226a8e1175bSopenharmony_ci 5227a8e1175bSopenharmony_ci ADD(15); ADD(12); ADD(20); ADD(21); 5228a8e1175bSopenharmony_ci SUB(14); SUB(22); SUB(23); NEXT; // A3 5229a8e1175bSopenharmony_ci 5230a8e1175bSopenharmony_ci ADD(21); ADD(21); ADD(16); ADD(13); ADD(12); ADD(20); ADD(22); 5231a8e1175bSopenharmony_ci SUB(15); SUB(23); SUB(23); NEXT; // A4 5232a8e1175bSopenharmony_ci 5233a8e1175bSopenharmony_ci ADD(22); ADD(22); ADD(17); ADD(14); ADD(13); ADD(21); ADD(23); 5234a8e1175bSopenharmony_ci SUB(16); NEXT; // A5 5235a8e1175bSopenharmony_ci 5236a8e1175bSopenharmony_ci ADD(23); ADD(23); ADD(18); ADD(15); ADD(14); ADD(22); 5237a8e1175bSopenharmony_ci SUB(17); NEXT; // A6 5238a8e1175bSopenharmony_ci 5239a8e1175bSopenharmony_ci ADD(19); ADD(16); ADD(15); ADD(23); 5240a8e1175bSopenharmony_ci SUB(18); NEXT; // A7 5241a8e1175bSopenharmony_ci 5242a8e1175bSopenharmony_ci ADD(20); ADD(17); ADD(16); 5243a8e1175bSopenharmony_ci SUB(19); NEXT; // A8 5244a8e1175bSopenharmony_ci 5245a8e1175bSopenharmony_ci ADD(21); ADD(18); ADD(17); 5246a8e1175bSopenharmony_ci SUB(20); NEXT; // A9 5247a8e1175bSopenharmony_ci 5248a8e1175bSopenharmony_ci ADD(22); ADD(19); ADD(18); 5249a8e1175bSopenharmony_ci SUB(21); NEXT; // A10 5250a8e1175bSopenharmony_ci 5251a8e1175bSopenharmony_ci ADD(23); ADD(20); ADD(19); 5252a8e1175bSopenharmony_ci SUB(22); // A11 5253a8e1175bSopenharmony_ci 5254a8e1175bSopenharmony_ci RESET; 5255a8e1175bSopenharmony_ci 5256a8e1175bSopenharmony_ci /* Use 2^384 = P + 2^128 + 2^96 - 2^32 + 1 to modulo reduce the final carry */ 5257a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 5258a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A1 5259a8e1175bSopenharmony_ci ; NEXT; // A2 5260a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A3 5261a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A4 5262a8e1175bSopenharmony_ci ; NEXT; // A5 5263a8e1175bSopenharmony_ci ; NEXT; // A6 5264a8e1175bSopenharmony_ci ; NEXT; // A7 5265a8e1175bSopenharmony_ci ; NEXT; // A8 5266a8e1175bSopenharmony_ci ; NEXT; // A9 5267a8e1175bSopenharmony_ci ; NEXT; // A10 5268a8e1175bSopenharmony_ci // A11 5269a8e1175bSopenharmony_ci 5270a8e1175bSopenharmony_ci RESET; 5271a8e1175bSopenharmony_ci 5272a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A0 5273a8e1175bSopenharmony_ci SUB_LAST; NEXT; // A1 5274a8e1175bSopenharmony_ci ; NEXT; // A2 5275a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A3 5276a8e1175bSopenharmony_ci ADD_LAST; NEXT; // A4 5277a8e1175bSopenharmony_ci ; NEXT; // A5 5278a8e1175bSopenharmony_ci ; NEXT; // A6 5279a8e1175bSopenharmony_ci ; NEXT; // A7 5280a8e1175bSopenharmony_ci ; NEXT; // A8 5281a8e1175bSopenharmony_ci ; NEXT; // A9 5282a8e1175bSopenharmony_ci ; NEXT; // A10 5283a8e1175bSopenharmony_ci // A11 5284a8e1175bSopenharmony_ci 5285a8e1175bSopenharmony_ci LAST; 5286a8e1175bSopenharmony_ci 5287a8e1175bSopenharmony_ci return 0; 5288a8e1175bSopenharmony_ci} 5289a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 5290a8e1175bSopenharmony_ci 5291a8e1175bSopenharmony_ci#undef LOAD32 5292a8e1175bSopenharmony_ci#undef MAX32 5293a8e1175bSopenharmony_ci#undef A 5294a8e1175bSopenharmony_ci#undef STORE32 5295a8e1175bSopenharmony_ci#undef STORE0 5296a8e1175bSopenharmony_ci#undef ADD 5297a8e1175bSopenharmony_ci#undef SUB 5298a8e1175bSopenharmony_ci#undef ADD_CARRY 5299a8e1175bSopenharmony_ci#undef SUB_CARRY 5300a8e1175bSopenharmony_ci#undef ADD_LAST 5301a8e1175bSopenharmony_ci#undef SUB_LAST 5302a8e1175bSopenharmony_ci#undef INIT 5303a8e1175bSopenharmony_ci#undef NEXT 5304a8e1175bSopenharmony_ci#undef RESET 5305a8e1175bSopenharmony_ci#undef LAST 5306a8e1175bSopenharmony_ci 5307a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED || 5308a8e1175bSopenharmony_ci MBEDTLS_ECP_DP_SECP256R1_ENABLED || 5309a8e1175bSopenharmony_ci MBEDTLS_ECP_DP_SECP384R1_ENABLED */ 5310a8e1175bSopenharmony_ci 5311a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 5312a8e1175bSopenharmony_ci/* Size of p521 in terms of mbedtls_mpi_uint */ 5313a8e1175bSopenharmony_ci#define P521_WIDTH (521 / 8 / sizeof(mbedtls_mpi_uint) + 1) 5314a8e1175bSopenharmony_ci 5315a8e1175bSopenharmony_ci/* Bits to keep in the most significant mbedtls_mpi_uint */ 5316a8e1175bSopenharmony_ci#define P521_MASK 0x01FF 5317a8e1175bSopenharmony_ci 5318a8e1175bSopenharmony_ci/* 5319a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p521 = 2^521 - 1 (FIPS 186-3 D.2.5) 5320a8e1175bSopenharmony_ci */ 5321a8e1175bSopenharmony_cistatic int ecp_mod_p521(mbedtls_mpi *N) 5322a8e1175bSopenharmony_ci{ 5323a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5324a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(521) * 2; 5325a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5326a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p521_raw(N->p, expected_width); 5327a8e1175bSopenharmony_cicleanup: 5328a8e1175bSopenharmony_ci return ret; 5329a8e1175bSopenharmony_ci} 5330a8e1175bSopenharmony_ci 5331a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5332a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p521_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5333a8e1175bSopenharmony_ci{ 5334a8e1175bSopenharmony_ci mbedtls_mpi_uint carry = 0; 5335a8e1175bSopenharmony_ci 5336a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(521) * 2) { 5337a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5338a8e1175bSopenharmony_ci } 5339a8e1175bSopenharmony_ci 5340a8e1175bSopenharmony_ci /* Step 1: Reduction to P521_WIDTH limbs */ 5341a8e1175bSopenharmony_ci /* Helper references for bottom part of X */ 5342a8e1175bSopenharmony_ci mbedtls_mpi_uint *X0 = X; 5343a8e1175bSopenharmony_ci size_t X0_limbs = P521_WIDTH; 5344a8e1175bSopenharmony_ci /* Helper references for top part of X */ 5345a8e1175bSopenharmony_ci mbedtls_mpi_uint *X1 = X + X0_limbs; 5346a8e1175bSopenharmony_ci size_t X1_limbs = X_limbs - X0_limbs; 5347a8e1175bSopenharmony_ci /* Split X as X0 + 2^P521_WIDTH X1 and compute X0 + 2^(biL - 9) X1. 5348a8e1175bSopenharmony_ci * (We are using that 2^P521_WIDTH = 2^(512 + biL) and that 5349a8e1175bSopenharmony_ci * 2^(512 + biL) X1 = 2^(biL - 9) X1 mod P521.) 5350a8e1175bSopenharmony_ci * The high order limb of the result will be held in carry and the rest 5351a8e1175bSopenharmony_ci * in X0 (that is the result will be represented as 5352a8e1175bSopenharmony_ci * 2^P521_WIDTH carry + X0). 5353a8e1175bSopenharmony_ci * 5354a8e1175bSopenharmony_ci * Also, note that the resulting carry is either 0 or 1: 5355a8e1175bSopenharmony_ci * X0 < 2^P521_WIDTH = 2^(512 + biL) and X1 < 2^(P521_WIDTH-biL) = 2^512 5356a8e1175bSopenharmony_ci * therefore 5357a8e1175bSopenharmony_ci * X0 + 2^(biL - 9) X1 < 2^(512 + biL) + 2^(512 + biL - 9) 5358a8e1175bSopenharmony_ci * which in turn is less than 2 * 2^(512 + biL). 5359a8e1175bSopenharmony_ci */ 5360a8e1175bSopenharmony_ci mbedtls_mpi_uint shift = ((mbedtls_mpi_uint) 1u) << (biL - 9); 5361a8e1175bSopenharmony_ci carry = mbedtls_mpi_core_mla(X0, X0_limbs, X1, X1_limbs, shift); 5362a8e1175bSopenharmony_ci /* Set X to X0 (by clearing the top part). */ 5363a8e1175bSopenharmony_ci memset(X1, 0, X1_limbs * sizeof(mbedtls_mpi_uint)); 5364a8e1175bSopenharmony_ci 5365a8e1175bSopenharmony_ci /* Step 2: Reduction modulo P521 5366a8e1175bSopenharmony_ci * 5367a8e1175bSopenharmony_ci * At this point X is reduced to P521_WIDTH limbs. What remains is to add 5368a8e1175bSopenharmony_ci * the carry (that is 2^P521_WIDTH carry) and to reduce mod P521. */ 5369a8e1175bSopenharmony_ci 5370a8e1175bSopenharmony_ci /* 2^P521_WIDTH carry = 2^(512 + biL) carry = 2^(biL - 9) carry mod P521. 5371a8e1175bSopenharmony_ci * Also, recall that carry is either 0 or 1. */ 5372a8e1175bSopenharmony_ci mbedtls_mpi_uint addend = carry << (biL - 9); 5373a8e1175bSopenharmony_ci /* Keep the top 9 bits and reduce the rest, using 2^521 = 1 mod P521. */ 5374a8e1175bSopenharmony_ci addend += (X[P521_WIDTH - 1] >> 9); 5375a8e1175bSopenharmony_ci X[P521_WIDTH - 1] &= P521_MASK; 5376a8e1175bSopenharmony_ci 5377a8e1175bSopenharmony_ci /* Reuse the top part of X (already zeroed) as a helper array for 5378a8e1175bSopenharmony_ci * carrying out the addition. */ 5379a8e1175bSopenharmony_ci mbedtls_mpi_uint *addend_arr = X + P521_WIDTH; 5380a8e1175bSopenharmony_ci addend_arr[0] = addend; 5381a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, addend_arr, P521_WIDTH); 5382a8e1175bSopenharmony_ci /* Both addends were less than P521 therefore X < 2 * P521. (This also means 5383a8e1175bSopenharmony_ci * that the result fit in P521_WIDTH limbs and there won't be any carry.) */ 5384a8e1175bSopenharmony_ci 5385a8e1175bSopenharmony_ci /* Clear the reused part of X. */ 5386a8e1175bSopenharmony_ci addend_arr[0] = 0; 5387a8e1175bSopenharmony_ci 5388a8e1175bSopenharmony_ci return 0; 5389a8e1175bSopenharmony_ci} 5390a8e1175bSopenharmony_ci 5391a8e1175bSopenharmony_ci#undef P521_WIDTH 5392a8e1175bSopenharmony_ci#undef P521_MASK 5393a8e1175bSopenharmony_ci 5394a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */ 5395a8e1175bSopenharmony_ci 5396a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_NIST_OPTIM */ 5397a8e1175bSopenharmony_ci 5398a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 5399a8e1175bSopenharmony_ci 5400a8e1175bSopenharmony_ci/* Size of p255 in terms of mbedtls_mpi_uint */ 5401a8e1175bSopenharmony_ci#define P255_WIDTH (255 / 8 / sizeof(mbedtls_mpi_uint) + 1) 5402a8e1175bSopenharmony_ci 5403a8e1175bSopenharmony_ci/* 5404a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p255 = 2^255 - 19 5405a8e1175bSopenharmony_ci * Write N as A0 + 2^256 A1, return A0 + 38 * A1 5406a8e1175bSopenharmony_ci */ 5407a8e1175bSopenharmony_cistatic int ecp_mod_p255(mbedtls_mpi *N) 5408a8e1175bSopenharmony_ci{ 5409a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5410a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(255) * 2; 5411a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5412a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p255_raw(N->p, expected_width); 5413a8e1175bSopenharmony_cicleanup: 5414a8e1175bSopenharmony_ci return ret; 5415a8e1175bSopenharmony_ci} 5416a8e1175bSopenharmony_ci 5417a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5418a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p255_raw(mbedtls_mpi_uint *X, size_t X_Limbs) 5419a8e1175bSopenharmony_ci{ 5420a8e1175bSopenharmony_ci 5421a8e1175bSopenharmony_ci if (X_Limbs != BITS_TO_LIMBS(255) * 2) { 5422a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5423a8e1175bSopenharmony_ci } 5424a8e1175bSopenharmony_ci 5425a8e1175bSopenharmony_ci mbedtls_mpi_uint *carry = mbedtls_calloc(P255_WIDTH, ciL); 5426a8e1175bSopenharmony_ci if (carry == NULL) { 5427a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_ALLOC_FAILED; 5428a8e1175bSopenharmony_ci } 5429a8e1175bSopenharmony_ci 5430a8e1175bSopenharmony_ci /* Step 1: Reduction to P255_WIDTH limbs */ 5431a8e1175bSopenharmony_ci if (X_Limbs > P255_WIDTH) { 5432a8e1175bSopenharmony_ci /* Helper references for top part of X */ 5433a8e1175bSopenharmony_ci mbedtls_mpi_uint * const A1 = X + P255_WIDTH; 5434a8e1175bSopenharmony_ci const size_t A1_limbs = X_Limbs - P255_WIDTH; 5435a8e1175bSopenharmony_ci 5436a8e1175bSopenharmony_ci /* X = A0 + 38 * A1, capture carry out */ 5437a8e1175bSopenharmony_ci *carry = mbedtls_mpi_core_mla(X, P255_WIDTH, A1, A1_limbs, 38); 5438a8e1175bSopenharmony_ci /* Clear top part */ 5439a8e1175bSopenharmony_ci memset(A1, 0, sizeof(mbedtls_mpi_uint) * A1_limbs); 5440a8e1175bSopenharmony_ci } 5441a8e1175bSopenharmony_ci 5442a8e1175bSopenharmony_ci /* Step 2: Reduce to <2p 5443a8e1175bSopenharmony_ci * Split as A0 + 2^255*c, with c a scalar, and compute A0 + 19*c */ 5444a8e1175bSopenharmony_ci *carry <<= 1; 5445a8e1175bSopenharmony_ci *carry += (X[P255_WIDTH - 1] >> (biL - 1)); 5446a8e1175bSopenharmony_ci *carry *= 19; 5447a8e1175bSopenharmony_ci 5448a8e1175bSopenharmony_ci /* Clear top bit */ 5449a8e1175bSopenharmony_ci X[P255_WIDTH - 1] <<= 1; X[P255_WIDTH - 1] >>= 1; 5450a8e1175bSopenharmony_ci /* Since the top bit for X has been cleared 0 + 0 + Carry 5451a8e1175bSopenharmony_ci * will not overflow. 5452a8e1175bSopenharmony_ci * 5453a8e1175bSopenharmony_ci * Furthermore for 2p = 2^256-38. When a carry propagation on the highest 5454a8e1175bSopenharmony_ci * limb occurs, X > 2^255 and all the remaining bits on the limb are zero. 5455a8e1175bSopenharmony_ci * - If X < 2^255 ==> X < 2p 5456a8e1175bSopenharmony_ci * - If X > 2^255 ==> X < 2^256 - 2^255 < 2p */ 5457a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, carry, P255_WIDTH); 5458a8e1175bSopenharmony_ci 5459a8e1175bSopenharmony_ci mbedtls_free(carry); 5460a8e1175bSopenharmony_ci return 0; 5461a8e1175bSopenharmony_ci} 5462a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */ 5463a8e1175bSopenharmony_ci 5464a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 5465a8e1175bSopenharmony_ci 5466a8e1175bSopenharmony_ci/* Size of p448 in terms of mbedtls_mpi_uint */ 5467a8e1175bSopenharmony_ci#define P448_WIDTH (448 / 8 / sizeof(mbedtls_mpi_uint)) 5468a8e1175bSopenharmony_ci 5469a8e1175bSopenharmony_ci/* Number of limbs fully occupied by 2^224 (max), and limbs used by it (min) */ 5470a8e1175bSopenharmony_ci#define DIV_ROUND_UP(X, Y) (((X) + (Y) -1) / (Y)) 5471a8e1175bSopenharmony_ci#define P224_SIZE (224 / 8) 5472a8e1175bSopenharmony_ci#define P224_WIDTH_MIN (P224_SIZE / sizeof(mbedtls_mpi_uint)) 5473a8e1175bSopenharmony_ci#define P224_WIDTH_MAX DIV_ROUND_UP(P224_SIZE, sizeof(mbedtls_mpi_uint)) 5474a8e1175bSopenharmony_ci#define P224_UNUSED_BITS ((P224_WIDTH_MAX * sizeof(mbedtls_mpi_uint) * 8) - 224) 5475a8e1175bSopenharmony_ci 5476a8e1175bSopenharmony_cistatic int ecp_mod_p448(mbedtls_mpi *N) 5477a8e1175bSopenharmony_ci{ 5478a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5479a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(448) * 2; 5480a8e1175bSopenharmony_ci 5481a8e1175bSopenharmony_ci /* This is required as some tests and use cases do not pass in a Bignum of 5482a8e1175bSopenharmony_ci * the correct size, and expect the growth to be done automatically, which 5483a8e1175bSopenharmony_ci * will no longer happen. */ 5484a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5485a8e1175bSopenharmony_ci 5486a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p448_raw(N->p, N->n); 5487a8e1175bSopenharmony_ci 5488a8e1175bSopenharmony_cicleanup: 5489a8e1175bSopenharmony_ci return ret; 5490a8e1175bSopenharmony_ci} 5491a8e1175bSopenharmony_ci 5492a8e1175bSopenharmony_ci/* 5493a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p448 = 2^448 - 2^224 - 1 5494a8e1175bSopenharmony_ci * Write X as A0 + 2^448 A1 and A1 as B0 + 2^224 B1, and return A0 + A1 + B1 + 5495a8e1175bSopenharmony_ci * (B0 + B1) * 2^224. This is different to the reference implementation of 5496a8e1175bSopenharmony_ci * Curve448, which uses its own special 56-bit limbs rather than a generic 5497a8e1175bSopenharmony_ci * bignum library. We could squeeze some extra speed out on 32-bit machines by 5498a8e1175bSopenharmony_ci * splitting N up into 32-bit limbs and doing the arithmetic using the limbs 5499a8e1175bSopenharmony_ci * directly as we do for the NIST primes above, but for 64-bit targets it should 5500a8e1175bSopenharmony_ci * use half the number of operations if we do the reduction with 224-bit limbs, 5501a8e1175bSopenharmony_ci * since mpi_core_add will then use 64-bit adds. 5502a8e1175bSopenharmony_ci */ 5503a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5504a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p448_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5505a8e1175bSopenharmony_ci{ 5506a8e1175bSopenharmony_ci size_t round; 5507a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5508a8e1175bSopenharmony_ci 5509a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(448) * 2) { 5510a8e1175bSopenharmony_ci return 0; 5511a8e1175bSopenharmony_ci } 5512a8e1175bSopenharmony_ci 5513a8e1175bSopenharmony_ci size_t M_limbs = X_limbs - (P448_WIDTH); 5514a8e1175bSopenharmony_ci 5515a8e1175bSopenharmony_ci if (M_limbs > P448_WIDTH) { 5516a8e1175bSopenharmony_ci /* Shouldn't be called with X larger than 2^896! */ 5517a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5518a8e1175bSopenharmony_ci } 5519a8e1175bSopenharmony_ci 5520a8e1175bSopenharmony_ci /* Both M and Q require an extra limb to catch carries. */ 5521a8e1175bSopenharmony_ci M_limbs++; 5522a8e1175bSopenharmony_ci 5523a8e1175bSopenharmony_ci const size_t Q_limbs = M_limbs; 5524a8e1175bSopenharmony_ci mbedtls_mpi_uint *M = NULL; 5525a8e1175bSopenharmony_ci mbedtls_mpi_uint *Q = NULL; 5526a8e1175bSopenharmony_ci 5527a8e1175bSopenharmony_ci M = mbedtls_calloc(M_limbs, ciL); 5528a8e1175bSopenharmony_ci 5529a8e1175bSopenharmony_ci if (M == NULL) { 5530a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_ALLOC_FAILED; 5531a8e1175bSopenharmony_ci } 5532a8e1175bSopenharmony_ci 5533a8e1175bSopenharmony_ci Q = mbedtls_calloc(Q_limbs, ciL); 5534a8e1175bSopenharmony_ci 5535a8e1175bSopenharmony_ci if (Q == NULL) { 5536a8e1175bSopenharmony_ci ret = MBEDTLS_ERR_ECP_ALLOC_FAILED; 5537a8e1175bSopenharmony_ci goto cleanup; 5538a8e1175bSopenharmony_ci } 5539a8e1175bSopenharmony_ci 5540a8e1175bSopenharmony_ci /* M = A1 */ 5541a8e1175bSopenharmony_ci memset(M, 0, (M_limbs * ciL)); 5542a8e1175bSopenharmony_ci /* Do not copy into the overflow limb, as this would read past the end of 5543a8e1175bSopenharmony_ci * X. */ 5544a8e1175bSopenharmony_ci memcpy(M, X + P448_WIDTH, ((M_limbs - 1) * ciL)); 5545a8e1175bSopenharmony_ci 5546a8e1175bSopenharmony_ci /* X = A0 */ 5547a8e1175bSopenharmony_ci memset(X + P448_WIDTH, 0, ((M_limbs - 1) * ciL)); 5548a8e1175bSopenharmony_ci 5549a8e1175bSopenharmony_ci /* X = X + M = A0 + A1 */ 5550a8e1175bSopenharmony_ci /* Carry here fits in oversize X. Oversize M means it will get 5551a8e1175bSopenharmony_ci * added in, not returned as carry. */ 5552a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, M, M_limbs); 5553a8e1175bSopenharmony_ci 5554a8e1175bSopenharmony_ci /* Q = B1 = M >> 224 */ 5555a8e1175bSopenharmony_ci memcpy(Q, (char *) M + P224_SIZE, P224_SIZE); 5556a8e1175bSopenharmony_ci memset((char *) Q + P224_SIZE, 0, P224_SIZE); 5557a8e1175bSopenharmony_ci 5558a8e1175bSopenharmony_ci /* X = X + Q = (A0 + A1) + B1 5559a8e1175bSopenharmony_ci * Oversize Q catches potential carry here when X is already max 448 bits. 5560a8e1175bSopenharmony_ci */ 5561a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, Q, Q_limbs); 5562a8e1175bSopenharmony_ci 5563a8e1175bSopenharmony_ci /* M = B0 */ 5564a8e1175bSopenharmony_ci#ifdef MBEDTLS_HAVE_INT64 5565a8e1175bSopenharmony_ci M[P224_WIDTH_MIN] &= ((mbedtls_mpi_uint)-1) >> (P224_UNUSED_BITS); 5566a8e1175bSopenharmony_ci #endif 5567a8e1175bSopenharmony_ci memset(M + P224_WIDTH_MAX, 0, ((M_limbs - P224_WIDTH_MAX) * ciL)); 5568a8e1175bSopenharmony_ci 5569a8e1175bSopenharmony_ci /* M = M + Q = B0 + B1 */ 5570a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(M, M, Q, Q_limbs); 5571a8e1175bSopenharmony_ci 5572a8e1175bSopenharmony_ci /* M = (B0 + B1) * 2^224 */ 5573a8e1175bSopenharmony_ci /* Shifted carry bit from the addition fits in oversize M. */ 5574a8e1175bSopenharmony_ci memmove((char *) M + P224_SIZE, M, P224_SIZE + ciL); 5575a8e1175bSopenharmony_ci memset(M, 0, P224_SIZE); 5576a8e1175bSopenharmony_ci 5577a8e1175bSopenharmony_ci /* X = X + M = (A0 + A1 + B1) + (B0 + B1) * 2^224 */ 5578a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, M, M_limbs); 5579a8e1175bSopenharmony_ci 5580a8e1175bSopenharmony_ci /* In the second and third rounds A1 and B0 have at most 1 non-zero limb and 5581a8e1175bSopenharmony_ci * B1=0. 5582a8e1175bSopenharmony_ci * Using this we need to calculate: 5583a8e1175bSopenharmony_ci * A0 + A1 + B1 + (B0 + B1) * 2^224 = A0 + A1 + B0 * 2^224. */ 5584a8e1175bSopenharmony_ci for (round = 0; round < 2; ++round) { 5585a8e1175bSopenharmony_ci 5586a8e1175bSopenharmony_ci /* M = A1 */ 5587a8e1175bSopenharmony_ci memset(M, 0, (M_limbs * ciL)); 5588a8e1175bSopenharmony_ci memcpy(M, X + P448_WIDTH, ((M_limbs - 1) * ciL)); 5589a8e1175bSopenharmony_ci 5590a8e1175bSopenharmony_ci /* X = A0 */ 5591a8e1175bSopenharmony_ci memset(X + P448_WIDTH, 0, ((M_limbs - 1) * ciL)); 5592a8e1175bSopenharmony_ci 5593a8e1175bSopenharmony_ci /* M = A1 + B0 * 2^224 5594a8e1175bSopenharmony_ci * We know that only one limb of A1 will be non-zero and that it will be 5595a8e1175bSopenharmony_ci * limb 0. We also know that B0 is the bottom 224 bits of A1 (which is 5596a8e1175bSopenharmony_ci * then shifted up 224 bits), so, given M is currently A1 this turns 5597a8e1175bSopenharmony_ci * into: 5598a8e1175bSopenharmony_ci * M = M + (M << 224) 5599a8e1175bSopenharmony_ci * As the single non-zero limb in B0 will be A1 limb 0 shifted up by 224 5600a8e1175bSopenharmony_ci * bits, we can just move that into the right place, shifted up 5601a8e1175bSopenharmony_ci * accordingly.*/ 5602a8e1175bSopenharmony_ci M[P224_WIDTH_MIN] = M[0] << (224 & (biL - 1)); 5603a8e1175bSopenharmony_ci 5604a8e1175bSopenharmony_ci /* X = A0 + (A1 + B0 * 2^224) */ 5605a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, M, M_limbs); 5606a8e1175bSopenharmony_ci } 5607a8e1175bSopenharmony_ci 5608a8e1175bSopenharmony_ci ret = 0; 5609a8e1175bSopenharmony_ci 5610a8e1175bSopenharmony_cicleanup: 5611a8e1175bSopenharmony_ci mbedtls_free(M); 5612a8e1175bSopenharmony_ci mbedtls_free(Q); 5613a8e1175bSopenharmony_ci 5614a8e1175bSopenharmony_ci return ret; 5615a8e1175bSopenharmony_ci} 5616a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */ 5617a8e1175bSopenharmony_ci 5618a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) || \ 5619a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) || \ 5620a8e1175bSopenharmony_ci defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 5621a8e1175bSopenharmony_ci 5622a8e1175bSopenharmony_ci/* 5623a8e1175bSopenharmony_ci * Fast quasi-reduction modulo P = 2^s - R, 5624a8e1175bSopenharmony_ci * with R about 33 bits, used by the Koblitz curves. 5625a8e1175bSopenharmony_ci * 5626a8e1175bSopenharmony_ci * Write X as A0 + 2^224 A1, return A0 + R * A1. 5627a8e1175bSopenharmony_ci */ 5628a8e1175bSopenharmony_ci#define P_KOBLITZ_R (8 / sizeof(mbedtls_mpi_uint)) // Limbs in R 5629a8e1175bSopenharmony_ci 5630a8e1175bSopenharmony_cistatic inline int ecp_mod_koblitz(mbedtls_mpi_uint *X, 5631a8e1175bSopenharmony_ci size_t X_limbs, 5632a8e1175bSopenharmony_ci mbedtls_mpi_uint *R, 5633a8e1175bSopenharmony_ci size_t bits) 5634a8e1175bSopenharmony_ci{ 5635a8e1175bSopenharmony_ci int ret = 0; 5636a8e1175bSopenharmony_ci 5637a8e1175bSopenharmony_ci /* Determine if A1 is aligned to limb bitsize. If not then the used limbs 5638a8e1175bSopenharmony_ci * of P, A0 and A1 must be set accordingly and there is a middle limb 5639a8e1175bSopenharmony_ci * which is shared by A0 and A1 and need to handle accordingly. 5640a8e1175bSopenharmony_ci */ 5641a8e1175bSopenharmony_ci size_t shift = bits % biL; 5642a8e1175bSopenharmony_ci size_t adjust = (shift + biL - 1) / biL; 5643a8e1175bSopenharmony_ci size_t P_limbs = bits / biL + adjust; 5644a8e1175bSopenharmony_ci 5645a8e1175bSopenharmony_ci mbedtls_mpi_uint *A1 = mbedtls_calloc(P_limbs, ciL); 5646a8e1175bSopenharmony_ci if (A1 == NULL) { 5647a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_ALLOC_FAILED; 5648a8e1175bSopenharmony_ci } 5649a8e1175bSopenharmony_ci 5650a8e1175bSopenharmony_ci /* Create a buffer to store the value of `R * A1` */ 5651a8e1175bSopenharmony_ci size_t R_limbs = P_KOBLITZ_R; 5652a8e1175bSopenharmony_ci size_t M_limbs = P_limbs + R_limbs; 5653a8e1175bSopenharmony_ci mbedtls_mpi_uint *M = mbedtls_calloc(M_limbs, ciL); 5654a8e1175bSopenharmony_ci if (M == NULL) { 5655a8e1175bSopenharmony_ci ret = MBEDTLS_ERR_ECP_ALLOC_FAILED; 5656a8e1175bSopenharmony_ci goto cleanup; 5657a8e1175bSopenharmony_ci } 5658a8e1175bSopenharmony_ci 5659a8e1175bSopenharmony_ci mbedtls_mpi_uint mask = 0; 5660a8e1175bSopenharmony_ci if (adjust != 0) { 5661a8e1175bSopenharmony_ci mask = ((mbedtls_mpi_uint) 1 << shift) - 1; 5662a8e1175bSopenharmony_ci } 5663a8e1175bSopenharmony_ci 5664a8e1175bSopenharmony_ci /* Two passes are needed to reduce the value of `A0 + R * A1` and then 5665a8e1175bSopenharmony_ci * we need an additional one to reduce the possible overflow during 5666a8e1175bSopenharmony_ci * the addition. 5667a8e1175bSopenharmony_ci */ 5668a8e1175bSopenharmony_ci for (size_t pass = 0; pass < 3; pass++) { 5669a8e1175bSopenharmony_ci /* Copy A1 */ 5670a8e1175bSopenharmony_ci memcpy(A1, X + P_limbs - adjust, P_limbs * ciL); 5671a8e1175bSopenharmony_ci 5672a8e1175bSopenharmony_ci /* Shift A1 to be aligned */ 5673a8e1175bSopenharmony_ci if (shift != 0) { 5674a8e1175bSopenharmony_ci mbedtls_mpi_core_shift_r(A1, P_limbs, shift); 5675a8e1175bSopenharmony_ci } 5676a8e1175bSopenharmony_ci 5677a8e1175bSopenharmony_ci /* Zeroize the A1 part of the shared limb */ 5678a8e1175bSopenharmony_ci if (mask != 0) { 5679a8e1175bSopenharmony_ci X[P_limbs - 1] &= mask; 5680a8e1175bSopenharmony_ci } 5681a8e1175bSopenharmony_ci 5682a8e1175bSopenharmony_ci /* X = A0 5683a8e1175bSopenharmony_ci * Zeroize the A1 part of X to keep only the A0 part. 5684a8e1175bSopenharmony_ci */ 5685a8e1175bSopenharmony_ci for (size_t i = P_limbs; i < X_limbs; i++) { 5686a8e1175bSopenharmony_ci X[i] = 0; 5687a8e1175bSopenharmony_ci } 5688a8e1175bSopenharmony_ci 5689a8e1175bSopenharmony_ci /* X = A0 + R * A1 */ 5690a8e1175bSopenharmony_ci mbedtls_mpi_core_mul(M, A1, P_limbs, R, R_limbs); 5691a8e1175bSopenharmony_ci (void) mbedtls_mpi_core_add(X, X, M, P_limbs + R_limbs); 5692a8e1175bSopenharmony_ci 5693a8e1175bSopenharmony_ci /* Carry can not be generated since R is a 33-bit value and stored in 5694a8e1175bSopenharmony_ci * 64 bits. The result value of the multiplication is at most 5695a8e1175bSopenharmony_ci * P length + 33 bits in length and the result value of the addition 5696a8e1175bSopenharmony_ci * is at most P length + 34 bits in length. So the result of the 5697a8e1175bSopenharmony_ci * addition always fits in P length + 64 bits. 5698a8e1175bSopenharmony_ci */ 5699a8e1175bSopenharmony_ci } 5700a8e1175bSopenharmony_ci 5701a8e1175bSopenharmony_cicleanup: 5702a8e1175bSopenharmony_ci mbedtls_free(M); 5703a8e1175bSopenharmony_ci mbedtls_free(A1); 5704a8e1175bSopenharmony_ci 5705a8e1175bSopenharmony_ci return ret; 5706a8e1175bSopenharmony_ci} 5707a8e1175bSopenharmony_ci 5708a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED) || 5709a8e1175bSopenharmony_ci MBEDTLS_ECP_DP_SECP224K1_ENABLED) || 5710a8e1175bSopenharmony_ci MBEDTLS_ECP_DP_SECP256K1_ENABLED) */ 5711a8e1175bSopenharmony_ci 5712a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 5713a8e1175bSopenharmony_ci 5714a8e1175bSopenharmony_ci/* 5715a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p192k1 = 2^192 - R, 5716a8e1175bSopenharmony_ci * with R = 2^32 + 2^12 + 2^8 + 2^7 + 2^6 + 2^3 + 1 = 0x01000011C9 5717a8e1175bSopenharmony_ci */ 5718a8e1175bSopenharmony_cistatic int ecp_mod_p192k1(mbedtls_mpi *N) 5719a8e1175bSopenharmony_ci{ 5720a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5721a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(192) * 2; 5722a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5723a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p192k1_raw(N->p, expected_width); 5724a8e1175bSopenharmony_ci 5725a8e1175bSopenharmony_cicleanup: 5726a8e1175bSopenharmony_ci return ret; 5727a8e1175bSopenharmony_ci} 5728a8e1175bSopenharmony_ci 5729a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5730a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p192k1_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5731a8e1175bSopenharmony_ci{ 5732a8e1175bSopenharmony_ci static mbedtls_mpi_uint Rp[] = { 5733a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xC9, 0x11, 0x00, 0x00, 5734a8e1175bSopenharmony_ci 0x01, 0x00, 0x00, 0x00) 5735a8e1175bSopenharmony_ci }; 5736a8e1175bSopenharmony_ci 5737a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(192) * 2) { 5738a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5739a8e1175bSopenharmony_ci } 5740a8e1175bSopenharmony_ci 5741a8e1175bSopenharmony_ci return ecp_mod_koblitz(X, X_limbs, Rp, 192); 5742a8e1175bSopenharmony_ci} 5743a8e1175bSopenharmony_ci 5744a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */ 5745a8e1175bSopenharmony_ci 5746a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 5747a8e1175bSopenharmony_ci 5748a8e1175bSopenharmony_ci/* 5749a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p224k1 = 2^224 - R, 5750a8e1175bSopenharmony_ci * with R = 2^32 + 2^12 + 2^11 + 2^9 + 2^7 + 2^4 + 2 + 1 = 0x0100001A93 5751a8e1175bSopenharmony_ci */ 5752a8e1175bSopenharmony_cistatic int ecp_mod_p224k1(mbedtls_mpi *N) 5753a8e1175bSopenharmony_ci{ 5754a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5755a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(224) * 2; 5756a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5757a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p224k1_raw(N->p, expected_width); 5758a8e1175bSopenharmony_ci 5759a8e1175bSopenharmony_cicleanup: 5760a8e1175bSopenharmony_ci return ret; 5761a8e1175bSopenharmony_ci} 5762a8e1175bSopenharmony_ci 5763a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5764a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p224k1_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5765a8e1175bSopenharmony_ci{ 5766a8e1175bSopenharmony_ci static mbedtls_mpi_uint Rp[] = { 5767a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0x93, 0x1A, 0x00, 0x00, 5768a8e1175bSopenharmony_ci 0x01, 0x00, 0x00, 0x00) 5769a8e1175bSopenharmony_ci }; 5770a8e1175bSopenharmony_ci 5771a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(224) * 2) { 5772a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5773a8e1175bSopenharmony_ci } 5774a8e1175bSopenharmony_ci 5775a8e1175bSopenharmony_ci return ecp_mod_koblitz(X, X_limbs, Rp, 224); 5776a8e1175bSopenharmony_ci} 5777a8e1175bSopenharmony_ci 5778a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */ 5779a8e1175bSopenharmony_ci 5780a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 5781a8e1175bSopenharmony_ci 5782a8e1175bSopenharmony_ci/* 5783a8e1175bSopenharmony_ci * Fast quasi-reduction modulo p256k1 = 2^256 - R, 5784a8e1175bSopenharmony_ci * with R = 2^32 + 2^9 + 2^8 + 2^7 + 2^6 + 2^4 + 1 = 0x01000003D1 5785a8e1175bSopenharmony_ci */ 5786a8e1175bSopenharmony_cistatic int ecp_mod_p256k1(mbedtls_mpi *N) 5787a8e1175bSopenharmony_ci{ 5788a8e1175bSopenharmony_ci int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 5789a8e1175bSopenharmony_ci size_t expected_width = BITS_TO_LIMBS(256) * 2; 5790a8e1175bSopenharmony_ci MBEDTLS_MPI_CHK(mbedtls_mpi_grow(N, expected_width)); 5791a8e1175bSopenharmony_ci ret = mbedtls_ecp_mod_p256k1_raw(N->p, expected_width); 5792a8e1175bSopenharmony_ci 5793a8e1175bSopenharmony_cicleanup: 5794a8e1175bSopenharmony_ci return ret; 5795a8e1175bSopenharmony_ci} 5796a8e1175bSopenharmony_ci 5797a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5798a8e1175bSopenharmony_ciint mbedtls_ecp_mod_p256k1_raw(mbedtls_mpi_uint *X, size_t X_limbs) 5799a8e1175bSopenharmony_ci{ 5800a8e1175bSopenharmony_ci static mbedtls_mpi_uint Rp[] = { 5801a8e1175bSopenharmony_ci MBEDTLS_BYTES_TO_T_UINT_8(0xD1, 0x03, 0x00, 0x00, 5802a8e1175bSopenharmony_ci 0x01, 0x00, 0x00, 0x00) 5803a8e1175bSopenharmony_ci }; 5804a8e1175bSopenharmony_ci 5805a8e1175bSopenharmony_ci if (X_limbs != BITS_TO_LIMBS(256) * 2) { 5806a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5807a8e1175bSopenharmony_ci } 5808a8e1175bSopenharmony_ci 5809a8e1175bSopenharmony_ci return ecp_mod_koblitz(X, X_limbs, Rp, 256); 5810a8e1175bSopenharmony_ci} 5811a8e1175bSopenharmony_ci 5812a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */ 5813a8e1175bSopenharmony_ci 5814a8e1175bSopenharmony_ci#if defined(MBEDTLS_TEST_HOOKS) 5815a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 5816a8e1175bSopenharmony_ciint mbedtls_ecp_modulus_setup(mbedtls_mpi_mod_modulus *N, 5817a8e1175bSopenharmony_ci const mbedtls_ecp_group_id id, 5818a8e1175bSopenharmony_ci const mbedtls_ecp_modulus_type ctype) 5819a8e1175bSopenharmony_ci{ 5820a8e1175bSopenharmony_ci mbedtls_mpi_modp_fn modp = NULL; 5821a8e1175bSopenharmony_ci mbedtls_mpi_uint *p = NULL; 5822a8e1175bSopenharmony_ci size_t p_limbs; 5823a8e1175bSopenharmony_ci 5824a8e1175bSopenharmony_ci if (!(ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE || \ 5825a8e1175bSopenharmony_ci ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_SCALAR)) { 5826a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 5827a8e1175bSopenharmony_ci } 5828a8e1175bSopenharmony_ci 5829a8e1175bSopenharmony_ci switch (id) { 5830a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 5831a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP192R1: 5832a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5833a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 5834a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p192_raw; 5835a8e1175bSopenharmony_ci#endif 5836a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp192r1_p; 5837a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp192r1_p)); 5838a8e1175bSopenharmony_ci } else { 5839a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp192r1_n; 5840a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp192r1_n)); 5841a8e1175bSopenharmony_ci } 5842a8e1175bSopenharmony_ci break; 5843a8e1175bSopenharmony_ci#endif 5844a8e1175bSopenharmony_ci 5845a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 5846a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP224R1: 5847a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5848a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 5849a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p224_raw; 5850a8e1175bSopenharmony_ci#endif 5851a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp224r1_p; 5852a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp224r1_p)); 5853a8e1175bSopenharmony_ci } else { 5854a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp224r1_n; 5855a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp224r1_n)); 5856a8e1175bSopenharmony_ci } 5857a8e1175bSopenharmony_ci break; 5858a8e1175bSopenharmony_ci#endif 5859a8e1175bSopenharmony_ci 5860a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 5861a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP256R1: 5862a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5863a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 5864a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p256_raw; 5865a8e1175bSopenharmony_ci#endif 5866a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp256r1_p; 5867a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp256r1_p)); 5868a8e1175bSopenharmony_ci } else { 5869a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp256r1_n; 5870a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp256r1_n)); 5871a8e1175bSopenharmony_ci } 5872a8e1175bSopenharmony_ci break; 5873a8e1175bSopenharmony_ci#endif 5874a8e1175bSopenharmony_ci 5875a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 5876a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP384R1: 5877a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5878a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 5879a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p384_raw; 5880a8e1175bSopenharmony_ci#endif 5881a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp384r1_p; 5882a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp384r1_p)); 5883a8e1175bSopenharmony_ci } else { 5884a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp384r1_n; 5885a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp384r1_n)); 5886a8e1175bSopenharmony_ci } 5887a8e1175bSopenharmony_ci break; 5888a8e1175bSopenharmony_ci#endif 5889a8e1175bSopenharmony_ci 5890a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 5891a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP521R1: 5892a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5893a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_NIST_OPTIM) 5894a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p521_raw; 5895a8e1175bSopenharmony_ci#endif 5896a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp521r1_p; 5897a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp521r1_p)); 5898a8e1175bSopenharmony_ci } else { 5899a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp521r1_n; 5900a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp521r1_n)); 5901a8e1175bSopenharmony_ci } 5902a8e1175bSopenharmony_ci break; 5903a8e1175bSopenharmony_ci#endif 5904a8e1175bSopenharmony_ci 5905a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 5906a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP256R1: 5907a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5908a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP256r1_p; 5909a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP256r1_p)); 5910a8e1175bSopenharmony_ci } else { 5911a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP256r1_n; 5912a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP256r1_n)); 5913a8e1175bSopenharmony_ci } 5914a8e1175bSopenharmony_ci break; 5915a8e1175bSopenharmony_ci#endif 5916a8e1175bSopenharmony_ci 5917a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 5918a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP384R1: 5919a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5920a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP384r1_p; 5921a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP384r1_p)); 5922a8e1175bSopenharmony_ci } else { 5923a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP384r1_n; 5924a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP384r1_n)); 5925a8e1175bSopenharmony_ci } 5926a8e1175bSopenharmony_ci break; 5927a8e1175bSopenharmony_ci#endif 5928a8e1175bSopenharmony_ci 5929a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 5930a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_BP512R1: 5931a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5932a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP512r1_p; 5933a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP512r1_p)); 5934a8e1175bSopenharmony_ci } else { 5935a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) brainpoolP512r1_n; 5936a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(brainpoolP512r1_n)); 5937a8e1175bSopenharmony_ci } 5938a8e1175bSopenharmony_ci break; 5939a8e1175bSopenharmony_ci#endif 5940a8e1175bSopenharmony_ci 5941a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 5942a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_CURVE25519: 5943a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5944a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p255_raw; 5945a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) curve25519_p; 5946a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(curve25519_p)); 5947a8e1175bSopenharmony_ci } else { 5948a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) curve25519_n; 5949a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(curve25519_n)); 5950a8e1175bSopenharmony_ci } 5951a8e1175bSopenharmony_ci break; 5952a8e1175bSopenharmony_ci#endif 5953a8e1175bSopenharmony_ci 5954a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 5955a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP192K1: 5956a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5957a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p192k1_raw; 5958a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp192k1_p; 5959a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp192k1_p)); 5960a8e1175bSopenharmony_ci } else { 5961a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp192k1_n; 5962a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp192k1_n)); 5963a8e1175bSopenharmony_ci } 5964a8e1175bSopenharmony_ci break; 5965a8e1175bSopenharmony_ci#endif 5966a8e1175bSopenharmony_ci 5967a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 5968a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP224K1: 5969a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5970a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p224k1_raw; 5971a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp224k1_p; 5972a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp224k1_p)); 5973a8e1175bSopenharmony_ci } else { 5974a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp224k1_n; 5975a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp224k1_n)); 5976a8e1175bSopenharmony_ci } 5977a8e1175bSopenharmony_ci break; 5978a8e1175bSopenharmony_ci#endif 5979a8e1175bSopenharmony_ci 5980a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 5981a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_SECP256K1: 5982a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5983a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p256k1_raw; 5984a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp256k1_p; 5985a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp256k1_p)); 5986a8e1175bSopenharmony_ci } else { 5987a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) secp256k1_n; 5988a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(secp256k1_n)); 5989a8e1175bSopenharmony_ci } 5990a8e1175bSopenharmony_ci break; 5991a8e1175bSopenharmony_ci#endif 5992a8e1175bSopenharmony_ci 5993a8e1175bSopenharmony_ci#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 5994a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_CURVE448: 5995a8e1175bSopenharmony_ci if (ctype == (mbedtls_ecp_modulus_type) MBEDTLS_ECP_MOD_COORDINATE) { 5996a8e1175bSopenharmony_ci modp = &mbedtls_ecp_mod_p448_raw; 5997a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) curve448_p; 5998a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(curve448_p)); 5999a8e1175bSopenharmony_ci } else { 6000a8e1175bSopenharmony_ci p = (mbedtls_mpi_uint *) curve448_n; 6001a8e1175bSopenharmony_ci p_limbs = CHARS_TO_LIMBS(sizeof(curve448_n)); 6002a8e1175bSopenharmony_ci } 6003a8e1175bSopenharmony_ci break; 6004a8e1175bSopenharmony_ci#endif 6005a8e1175bSopenharmony_ci 6006a8e1175bSopenharmony_ci default: 6007a8e1175bSopenharmony_ci case MBEDTLS_ECP_DP_NONE: 6008a8e1175bSopenharmony_ci return MBEDTLS_ERR_ECP_BAD_INPUT_DATA; 6009a8e1175bSopenharmony_ci } 6010a8e1175bSopenharmony_ci 6011a8e1175bSopenharmony_ci if (modp != NULL) { 6012a8e1175bSopenharmony_ci if (mbedtls_mpi_mod_optred_modulus_setup(N, p, p_limbs, modp)) { 6013a8e1175bSopenharmony_ci return MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 6014a8e1175bSopenharmony_ci } 6015a8e1175bSopenharmony_ci } else { 6016a8e1175bSopenharmony_ci if (mbedtls_mpi_mod_modulus_setup(N, p, p_limbs)) { 6017a8e1175bSopenharmony_ci return MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; 6018a8e1175bSopenharmony_ci } 6019a8e1175bSopenharmony_ci } 6020a8e1175bSopenharmony_ci return 0; 6021a8e1175bSopenharmony_ci} 6022a8e1175bSopenharmony_ci#endif /* MBEDTLS_TEST_HOOKS */ 6023a8e1175bSopenharmony_ci 6024a8e1175bSopenharmony_ci#if defined(MBEDTLS_TEST_HOOKS) 6025a8e1175bSopenharmony_ci 6026a8e1175bSopenharmony_ciMBEDTLS_STATIC_TESTABLE 6027a8e1175bSopenharmony_cimbedtls_ecp_variant mbedtls_ecp_get_variant(void) 6028a8e1175bSopenharmony_ci{ 6029a8e1175bSopenharmony_ci return MBEDTLS_ECP_VARIANT_WITH_MPI_UINT; 6030a8e1175bSopenharmony_ci} 6031a8e1175bSopenharmony_ci 6032a8e1175bSopenharmony_ci#endif /* MBEDTLS_TEST_HOOKS */ 6033a8e1175bSopenharmony_ci 6034a8e1175bSopenharmony_ci#endif /* !MBEDTLS_ECP_ALT */ 6035a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_LIGHT */ 6036a8e1175bSopenharmony_ci#endif /* MBEDTLS_ECP_WITH_MPI_UINT */ 6037