1*f0865ec9SKyle Evans /* 2*f0865ec9SKyle Evans * Copyright (C) 2021 - This file is part of libecc project 3*f0865ec9SKyle Evans * 4*f0865ec9SKyle Evans * Authors: 5*f0865ec9SKyle Evans * Ryad BENADJILA <ryadbenadjila@gmail.com> 6*f0865ec9SKyle Evans * Arnaud EBALARD <arnaud.ebalard@ssi.gouv.fr> 7*f0865ec9SKyle Evans * 8*f0865ec9SKyle Evans * This software is licensed under a dual BSD and GPL v2 license. 9*f0865ec9SKyle Evans * See LICENSE file at the root folder of the project. 10*f0865ec9SKyle Evans */ 11*f0865ec9SKyle Evans 12*f0865ec9SKyle Evans #ifdef WITH_CURVE_WEI448 13*f0865ec9SKyle Evans 14*f0865ec9SKyle Evans static const u8 x448_WEI448_0_our_priv_key[] = { 15*f0865ec9SKyle Evans 0x9a, 0x8f, 0x49, 0x25, 0xd1, 0x51, 0x9f, 0x57, 0x75, 0xcf, 0x46, 0xb0, 0x4b, 0x58, 0x00, 0xd4, 0xee, 0x9e, 0xe8, 0xba, 0xe8, 0xbc, 0x55, 0x65, 0xd4, 0x98, 0xc2, 0x8d, 0xd9, 0xc9, 0xba, 0xf5, 0x74, 0xa9, 0x41, 0x97, 0x44, 0x89, 0x73, 0x91, 0x00, 0x63, 0x82, 0xa6, 0xf1, 0x27, 0xab, 0x1d, 0x9a, 0xc2, 0xd8, 0xc0, 0xa5, 0x98, 0x72, 0x6b, 16*f0865ec9SKyle Evans }; 17*f0865ec9SKyle Evans 18*f0865ec9SKyle Evans static const u8 x448_WEI448_0_peer_pub_key[] = { 19*f0865ec9SKyle Evans 0x3e, 0xb7, 0xa8, 0x29, 0xb0, 0xcd, 0x20, 0xf5, 0xbc, 0xfc, 0x0b, 0x59, 0x9b, 0x6f, 0xec, 0xcf, 0x6d, 0xa4, 0x62, 0x71, 0x07, 0xbd, 0xb0, 0xd4, 0xf3, 0x45, 0xb4, 0x30, 0x27, 0xd8, 0xb9, 0x72, 0xfc, 0x3e, 0x34, 0xfb, 0x42, 0x32, 0xa1, 0x3c, 0xa7, 0x06, 0xdc, 0xb5, 0x7a, 0xec, 0x3d, 0xae, 0x07, 0xbd, 0xc1, 0xc6, 0x7b, 0xf3, 0x36, 0x09, 20*f0865ec9SKyle Evans }; 21*f0865ec9SKyle Evans 22*f0865ec9SKyle Evans static const u8 x448_WEI448_0_our_pub_key[] = { 23*f0865ec9SKyle Evans 0x9b, 0x08, 0xf7, 0xcc, 0x31, 0xb7, 0xe3, 0xe6, 0x7d, 0x22, 0xd5, 0xae, 0xa1, 0x21, 0x07, 0x4a, 0x27, 0x3b, 0xd2, 0xb8, 0x3d, 0xe0, 0x9c, 0x63, 0xfa, 0xa7, 0x3d, 0x2c, 0x22, 0xc5, 0xd9, 0xbb, 0xc8, 0x36, 0x64, 0x72, 0x41, 0xd9, 0x53, 0xd4, 0x0c, 0x5b, 0x12, 0xda, 0x88, 0x12, 0x0d, 0x53, 0x17, 0x7f, 0x80, 0xe5, 0x32, 0xc4, 0x1f, 0xa0, 24*f0865ec9SKyle Evans }; 25*f0865ec9SKyle Evans 26*f0865ec9SKyle Evans static const u8 x448_WEI448_0_shared_secret[] = { 27*f0865ec9SKyle Evans 0x07, 0xff, 0xf4, 0x18, 0x1a, 0xc6, 0xcc, 0x95, 0xec, 0x1c, 0x16, 0xa9, 0x4a, 0x0f, 0x74, 0xd1, 0x2d, 0xa2, 0x32, 0xce, 0x40, 0xa7, 0x75, 0x52, 0x28, 0x1d, 0x28, 0x2b, 0xb6, 0x0c, 0x0b, 0x56, 0xfd, 0x24, 0x64, 0xc3, 0x35, 0x54, 0x39, 0x36, 0x52, 0x1c, 0x24, 0x40, 0x30, 0x85, 0xd5, 0x9a, 0x44, 0x9a, 0x50, 0x37, 0x51, 0x4a, 0x87, 0x9d, 28*f0865ec9SKyle Evans }; 29*f0865ec9SKyle Evans 30*f0865ec9SKyle Evans static const ecdh_test_case x448_WEI448_0_test_case = { 31*f0865ec9SKyle Evans .name = "X448/WEI448 0", 32*f0865ec9SKyle Evans .ecdh_type = X448, 33*f0865ec9SKyle Evans .ec_str_p = &wei25519_str_params, 34*f0865ec9SKyle Evans .our_priv_key = x448_WEI448_0_our_priv_key, 35*f0865ec9SKyle Evans .our_priv_key_len = sizeof(x448_WEI448_0_our_priv_key), 36*f0865ec9SKyle Evans .peer_pub_key = x448_WEI448_0_peer_pub_key, 37*f0865ec9SKyle Evans .peer_pub_key_len = sizeof(x448_WEI448_0_peer_pub_key), 38*f0865ec9SKyle Evans .exp_our_pub_key = x448_WEI448_0_our_pub_key, 39*f0865ec9SKyle Evans .exp_our_pub_key_len = sizeof(x448_WEI448_0_our_pub_key), 40*f0865ec9SKyle Evans .exp_shared_secret = x448_WEI448_0_shared_secret, 41*f0865ec9SKyle Evans .exp_shared_secret_len = sizeof(x448_WEI448_0_shared_secret), 42*f0865ec9SKyle Evans }; 43*f0865ec9SKyle Evans /******************/ 44*f0865ec9SKyle Evans 45*f0865ec9SKyle Evans static const u8 x448_WEI448_1_our_priv_key[] = { 46*f0865ec9SKyle Evans 0x1c, 0x30, 0x6a, 0x7a, 0xc2, 0xa0, 0xe2, 0xe0, 0x99, 0x0b, 0x29, 0x44, 0x70, 0xcb, 0xa3, 0x39, 0xe6, 0x45, 0x37, 0x72, 0xb0, 0x75, 0x81, 0x1d, 0x8f, 0xad, 0x0d, 0x1d, 0x69, 0x27, 0xc1, 0x20, 0xbb, 0x5e, 0xe8, 0x97, 0x2b, 0x0d, 0x3e, 0x21, 0x37, 0x4c, 0x9c, 0x92, 0x1b, 0x09, 0xd1, 0xb0, 0x36, 0x6f, 0x10, 0xb6, 0x51, 0x73, 0x99, 0x2d, 47*f0865ec9SKyle Evans }; 48*f0865ec9SKyle Evans 49*f0865ec9SKyle Evans static const u8 x448_WEI448_1_peer_pub_key[] = { 50*f0865ec9SKyle Evans 0x9b, 0x08, 0xf7, 0xcc, 0x31, 0xb7, 0xe3, 0xe6, 0x7d, 0x22, 0xd5, 0xae, 0xa1, 0x21, 0x07, 0x4a, 0x27, 0x3b, 0xd2, 0xb8, 0x3d, 0xe0, 0x9c, 0x63, 0xfa, 0xa7, 0x3d, 0x2c, 0x22, 0xc5, 0xd9, 0xbb, 0xc8, 0x36, 0x64, 0x72, 0x41, 0xd9, 0x53, 0xd4, 0x0c, 0x5b, 0x12, 0xda, 0x88, 0x12, 0x0d, 0x53, 0x17, 0x7f, 0x80, 0xe5, 0x32, 0xc4, 0x1f, 0xa0, 51*f0865ec9SKyle Evans }; 52*f0865ec9SKyle Evans 53*f0865ec9SKyle Evans static const u8 x448_WEI448_1_our_pub_key[] = { 54*f0865ec9SKyle Evans 0x3e, 0xb7, 0xa8, 0x29, 0xb0, 0xcd, 0x20, 0xf5, 0xbc, 0xfc, 0x0b, 0x59, 0x9b, 0x6f, 0xec, 0xcf, 0x6d, 0xa4, 0x62, 0x71, 0x07, 0xbd, 0xb0, 0xd4, 0xf3, 0x45, 0xb4, 0x30, 0x27, 0xd8, 0xb9, 0x72, 0xfc, 0x3e, 0x34, 0xfb, 0x42, 0x32, 0xa1, 0x3c, 0xa7, 0x06, 0xdc, 0xb5, 0x7a, 0xec, 0x3d, 0xae, 0x07, 0xbd, 0xc1, 0xc6, 0x7b, 0xf3, 0x36, 0x09, 55*f0865ec9SKyle Evans }; 56*f0865ec9SKyle Evans 57*f0865ec9SKyle Evans static const u8 x448_WEI448_1_shared_secret[] = { 58*f0865ec9SKyle Evans 0x07, 0xff, 0xf4, 0x18, 0x1a, 0xc6, 0xcc, 0x95, 0xec, 0x1c, 0x16, 0xa9, 0x4a, 0x0f, 0x74, 0xd1, 0x2d, 0xa2, 0x32, 0xce, 0x40, 0xa7, 0x75, 0x52, 0x28, 0x1d, 0x28, 0x2b, 0xb6, 0x0c, 0x0b, 0x56, 0xfd, 0x24, 0x64, 0xc3, 0x35, 0x54, 0x39, 0x36, 0x52, 0x1c, 0x24, 0x40, 0x30, 0x85, 0xd5, 0x9a, 0x44, 0x9a, 0x50, 0x37, 0x51, 0x4a, 0x87, 0x9d, 59*f0865ec9SKyle Evans }; 60*f0865ec9SKyle Evans 61*f0865ec9SKyle Evans static const ecdh_test_case x448_WEI448_1_test_case = { 62*f0865ec9SKyle Evans .name = "X448/WEI448 1", 63*f0865ec9SKyle Evans .ecdh_type = X448, 64*f0865ec9SKyle Evans .ec_str_p = &wei25519_str_params, 65*f0865ec9SKyle Evans .our_priv_key = x448_WEI448_1_our_priv_key, 66*f0865ec9SKyle Evans .our_priv_key_len = sizeof(x448_WEI448_1_our_priv_key), 67*f0865ec9SKyle Evans .peer_pub_key = x448_WEI448_1_peer_pub_key, 68*f0865ec9SKyle Evans .peer_pub_key_len = sizeof(x448_WEI448_1_peer_pub_key), 69*f0865ec9SKyle Evans .exp_our_pub_key = x448_WEI448_1_our_pub_key, 70*f0865ec9SKyle Evans .exp_our_pub_key_len = sizeof(x448_WEI448_1_our_pub_key), 71*f0865ec9SKyle Evans .exp_shared_secret = x448_WEI448_1_shared_secret, 72*f0865ec9SKyle Evans .exp_shared_secret_len = sizeof(x448_WEI448_1_shared_secret), 73*f0865ec9SKyle Evans }; 74*f0865ec9SKyle Evans 75*f0865ec9SKyle Evans #endif 76