1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2024 Marvell. 3 */ 4 5 #ifndef __TEST_CRYPTODEV_EDDSA_TEST_VECTORS_H__ 6 #define __TEST_CRYPTODEV_EDDSA_TEST_VECTORS_H__ 7 8 #include "rte_crypto_asym.h" 9 10 #define DATA_SIZE 1024 11 12 struct crypto_testsuite_eddsa_params { 13 enum rte_crypto_edward_instance instance; 14 enum rte_crypto_curve_id curve; 15 const char *description; 16 struct { 17 uint8_t data[DATA_SIZE]; 18 uint16_t length; 19 } pubkey; 20 struct { 21 uint8_t data[DATA_SIZE]; 22 uint16_t length; 23 } pkey; 24 struct { 25 uint8_t data[DATA_SIZE]; 26 uint16_t length; 27 } sign; 28 struct { 29 uint8_t data[DATA_SIZE]; 30 uint16_t length; 31 } message; 32 struct { 33 uint8_t data[DATA_SIZE]; 34 uint16_t length; 35 } context; 36 }; 37 38 /* EdDSA curve test params (RFC 8032) */ 39 static const struct 40 crypto_testsuite_eddsa_params eddsa_test_params[] = { 41 { 42 .description = "EdDSA 25519 (msg=0)", 43 .pkey = { 44 .data = { 45 0x9d, 0x61, 0xb1, 0x9d, 0xef, 0xfd, 0x5a, 0x60, 46 0xba, 0x84, 0x4a, 0xf4, 0x92, 0xec, 0x2c, 0xc4, 47 0x44, 0x49, 0xc5, 0x69, 0x7b, 0x32, 0x69, 0x19, 48 0x70, 0x3b, 0xac, 0x03, 0x1c, 0xae, 0x7f, 0x60 49 }, 50 .length = 32, 51 }, 52 .pubkey = { 53 .data = { 54 0xd7, 0x5a, 0x98, 0x01, 0x82, 0xb1, 0x0a, 0xb7, 55 0xd5, 0x4b, 0xfe, 0xd3, 0xc9, 0x64, 0x07, 0x3a, 56 0x0e, 0xe1, 0x72, 0xf3, 0xda, 0xa6, 0x23, 0x25, 57 0xaf, 0x02, 0x1a, 0x68, 0xf7, 0x07, 0x51, 0x1a 58 }, 59 .length = 32, 60 }, 61 .sign = { 62 .data = { 63 0xe5, 0x56, 0x43, 0x00, 0xc3, 0x60, 0xac, 0x72, 64 0x90, 0x86, 0xe2, 0xcc, 0x80, 0x6e, 0x82, 0x8a, 65 0x84, 0x87, 0x7f, 0x1e, 0xb8, 0xe5, 0xd9, 0x74, 66 0xd8, 0x73, 0xe0, 0x65, 0x22, 0x49, 0x01, 0x55, 67 0x5f, 0xb8, 0x82, 0x15, 0x90, 0xa3, 0x3b, 0xac, 68 0xc6, 0x1e, 0x39, 0x70, 0x1c, 0xf9, 0xb4, 0x6b, 69 0xd2, 0x5b, 0xf5, 0xf0, 0x59, 0x5b, 0xbe, 0x24, 70 0x65, 0x51, 0x41, 0x43, 0x8e, 0x7a, 0x10, 0x0b 71 }, 72 .length = 64, 73 }, 74 .message = { 75 .data = { 76 }, 77 .length = 0, 78 }, 79 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 80 .instance = RTE_CRYPTO_EDCURVE_25519 81 }, 82 { 83 .description = "EdDSA 25519 (msg=1)", 84 .pkey = { 85 .data = { 86 0x4c, 0xcd, 0x08, 0x9b, 0x28, 0xff, 0x96, 0xda, 87 0x9d, 0xb6, 0xc3, 0x46, 0xec, 0x11, 0x4e, 0x0f, 88 0x5b, 0x8a, 0x31, 0x9f, 0x35, 0xab, 0xa6, 0x24, 89 0xda, 0x8c, 0xf6, 0xed, 0x4f, 0xb8, 0xa6, 0xfb, 90 }, 91 .length = 32, 92 }, 93 .pubkey = { 94 .data = { 95 0x3d, 0x40, 0x17, 0xc3, 0xe8, 0x43, 0x89, 0x5a, 96 0x92, 0xb7, 0x0a, 0xa7, 0x4d, 0x1b, 0x7e, 0xbc, 97 0x9c, 0x98, 0x2c, 0xcf, 0x2e, 0xc4, 0x96, 0x8c, 98 0xc0, 0xcd, 0x55, 0xf1, 0x2a, 0xf4, 0x66, 0x0c, 99 }, 100 .length = 32, 101 }, 102 .sign = { 103 .data = { 104 0x92, 0xa0, 0x09, 0xa9, 0xf0, 0xd4, 0xca, 0xb8, 105 0x72, 0x0e, 0x82, 0x0b, 0x5f, 0x64, 0x25, 0x40, 106 0xa2, 0xb2, 0x7b, 0x54, 0x16, 0x50, 0x3f, 0x8f, 107 0xb3, 0x76, 0x22, 0x23, 0xeb, 0xdb, 0x69, 0xda, 108 0x08, 0x5a, 0xc1, 0xe4, 0x3e, 0x15, 0x99, 0x6e, 109 0x45, 0x8f, 0x36, 0x13, 0xd0, 0xf1, 0x1d, 0x8c, 110 0x38, 0x7b, 0x2e, 0xae, 0xb4, 0x30, 0x2a, 0xee, 111 0xb0, 0x0d, 0x29, 0x16, 0x12, 0xbb, 0x0c, 0x00, 112 }, 113 .length = 64, 114 }, 115 .message = { 116 .data = { 117 0x72 118 }, 119 .length = 1, 120 }, 121 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 122 .instance = RTE_CRYPTO_EDCURVE_25519 123 }, 124 { 125 .description = "EdDSA 25519 (msg=1023)", 126 .pkey = { 127 .data = { 128 0xf5, 0xe5, 0x76, 0x7c, 0xf1, 0x53, 0x31, 0x95, 129 0x17, 0x63, 0x0f, 0x22, 0x68, 0x76, 0xb8, 0x6c, 130 0x81, 0x60, 0xcc, 0x58, 0x3b, 0xc0, 0x13, 0x74, 131 0x4c, 0x6b, 0xf2, 0x55, 0xf5, 0xcc, 0x0e, 0xe5 132 }, 133 .length = 32, 134 }, 135 .pubkey = { 136 .data = { 137 0x27, 0x81, 0x17, 0xfc, 0x14, 0x4c, 0x72, 0x34, 138 0x0f, 0x67, 0xd0, 0xf2, 0x31, 0x6e, 0x83, 0x86, 139 0xce, 0xff, 0xbf, 0x2b, 0x24, 0x28, 0xc9, 0xc5, 140 0x1f, 0xef, 0x7c, 0x59, 0x7f, 0x1d, 0x42, 0x6e 141 }, 142 .length = 32, 143 }, 144 .sign = { 145 .data = { 146 0x0a, 0xab, 0x4c, 0x90, 0x05, 0x01, 0xb3, 0xe2, 147 0x4d, 0x7c, 0xdf, 0x46, 0x63, 0x32, 0x6a, 0x3a, 148 0x87, 0xdf, 0x5e, 0x48, 0x43, 0xb2, 0xcb, 0xdb, 149 0x67, 0xcb, 0xf6, 0xe4, 0x60, 0xfe, 0xc3, 0x50, 150 0xaa, 0x53, 0x71, 0xb1, 0x50, 0x8f, 0x9f, 0x45, 151 0x28, 0xec, 0xea, 0x23, 0xc4, 0x36, 0xd9, 0x4b, 152 0x5e, 0x8f, 0xcd, 0x4f, 0x68, 0x1e, 0x30, 0xa6, 153 0xac, 0x00, 0xa9, 0x70, 0x4a, 0x18, 0x8a, 0x03 154 }, 155 .length = 64, 156 }, 157 .message = { 158 .data = { 159 0x08, 0xb8, 0xb2, 0xb7, 0x33, 0x42, 0x42, 0x43, 160 0x76, 0x0f, 0xe4, 0x26, 0xa4, 0xb5, 0x49, 0x08, 161 0x63, 0x21, 0x10, 0xa6, 0x6c, 0x2f, 0x65, 0x91, 162 0xea, 0xbd, 0x33, 0x45, 0xe3, 0xe4, 0xeb, 0x98, 163 0xfa, 0x6e, 0x26, 0x4b, 0xf0, 0x9e, 0xfe, 0x12, 164 0xee, 0x50, 0xf8, 0xf5, 0x4e, 0x9f, 0x77, 0xb1, 165 0xe3, 0x55, 0xf6, 0xc5, 0x05, 0x44, 0xe2, 0x3f, 166 0xb1, 0x43, 0x3d, 0xdf, 0x73, 0xbe, 0x84, 0xd8, 167 0x79, 0xde, 0x7c, 0x00, 0x46, 0xdc, 0x49, 0x96, 168 0xd9, 0xe7, 0x73, 0xf4, 0xbc, 0x9e, 0xfe, 0x57, 169 0x38, 0x82, 0x9a, 0xdb, 0x26, 0xc8, 0x1b, 0x37, 170 0xc9, 0x3a, 0x1b, 0x27, 0x0b, 0x20, 0x32, 0x9d, 171 0x65, 0x86, 0x75, 0xfc, 0x6e, 0xa5, 0x34, 0xe0, 172 0x81, 0x0a, 0x44, 0x32, 0x82, 0x6b, 0xf5, 0x8c, 173 0x94, 0x1e, 0xfb, 0x65, 0xd5, 0x7a, 0x33, 0x8b, 174 0xbd, 0x2e, 0x26, 0x64, 0x0f, 0x89, 0xff, 0xbc, 175 0x1a, 0x85, 0x8e, 0xfc, 0xb8, 0x55, 0x0e, 0xe3, 176 0xa5, 0xe1, 0x99, 0x8b, 0xd1, 0x77, 0xe9, 0x3a, 177 0x73, 0x63, 0xc3, 0x44, 0xfe, 0x6b, 0x19, 0x9e, 178 0xe5, 0xd0, 0x2e, 0x82, 0xd5, 0x22, 0xc4, 0xfe, 179 0xba, 0x15, 0x45, 0x2f, 0x80, 0x28, 0x8a, 0x82, 180 0x1a, 0x57, 0x91, 0x16, 0xec, 0x6d, 0xad, 0x2b, 181 0x3b, 0x31, 0x0d, 0xa9, 0x03, 0x40, 0x1a, 0xa6, 182 0x21, 0x00, 0xab, 0x5d, 0x1a, 0x36, 0x55, 0x3e, 183 0x06, 0x20, 0x3b, 0x33, 0x89, 0x0c, 0xc9, 0xb8, 184 0x32, 0xf7, 0x9e, 0xf8, 0x05, 0x60, 0xcc, 0xb9, 185 0xa3, 0x9c, 0xe7, 0x67, 0x96, 0x7e, 0xd6, 0x28, 186 0xc6, 0xad, 0x57, 0x3c, 0xb1, 0x16, 0xdb, 0xef, 187 0xef, 0xd7, 0x54, 0x99, 0xda, 0x96, 0xbd, 0x68, 188 0xa8, 0xa9, 0x7b, 0x92, 0x8a, 0x8b, 0xbc, 0x10, 189 0x3b, 0x66, 0x21, 0xfc, 0xde, 0x2b, 0xec, 0xa1, 190 0x23, 0x1d, 0x20, 0x6b, 0xe6, 0xcd, 0x9e, 0xc7, 191 0xaf, 0xf6, 0xf6, 0xc9, 0x4f, 0xcd, 0x72, 0x04, 192 0xed, 0x34, 0x55, 0xc6, 0x8c, 0x83, 0xf4, 0xa4, 193 0x1d, 0xa4, 0xaf, 0x2b, 0x74, 0xef, 0x5c, 0x53, 194 0xf1, 0xd8, 0xac, 0x70, 0xbd, 0xcb, 0x7e, 0xd1, 195 0x85, 0xce, 0x81, 0xbd, 0x84, 0x35, 0x9d, 0x44, 196 0x25, 0x4d, 0x95, 0x62, 0x9e, 0x98, 0x55, 0xa9, 197 0x4a, 0x7c, 0x19, 0x58, 0xd1, 0xf8, 0xad, 0xa5, 198 0xd0, 0x53, 0x2e, 0xd8, 0xa5, 0xaa, 0x3f, 0xb2, 199 0xd1, 0x7b, 0xa7, 0x0e, 0xb6, 0x24, 0x8e, 0x59, 200 0x4e, 0x1a, 0x22, 0x97, 0xac, 0xbb, 0xb3, 0x9d, 201 0x50, 0x2f, 0x1a, 0x8c, 0x6e, 0xb6, 0xf1, 0xce, 202 0x22, 0xb3, 0xde, 0x1a, 0x1f, 0x40, 0xcc, 0x24, 203 0x55, 0x41, 0x19, 0xa8, 0x31, 0xa9, 0xaa, 0xd6, 204 0x07, 0x9c, 0xad, 0x88, 0x42, 0x5d, 0xe6, 0xbd, 205 0xe1, 0xa9, 0x18, 0x7e, 0xbb, 0x60, 0x92, 0xcf, 206 0x67, 0xbf, 0x2b, 0x13, 0xfd, 0x65, 0xf2, 0x70, 207 0x88, 0xd7, 0x8b, 0x7e, 0x88, 0x3c, 0x87, 0x59, 208 0xd2, 0xc4, 0xf5, 0xc6, 0x5a, 0xdb, 0x75, 0x53, 209 0x87, 0x8a, 0xd5, 0x75, 0xf9, 0xfa, 0xd8, 0x78, 210 0xe8, 0x0a, 0x0c, 0x9b, 0xa6, 0x3b, 0xcb, 0xcc, 211 0x27, 0x32, 0xe6, 0x94, 0x85, 0xbb, 0xc9, 0xc9, 212 0x0b, 0xfb, 0xd6, 0x24, 0x81, 0xd9, 0x08, 0x9b, 213 0xec, 0xcf, 0x80, 0xcf, 0xe2, 0xdf, 0x16, 0xa2, 214 0xcf, 0x65, 0xbd, 0x92, 0xdd, 0x59, 0x7b, 0x07, 215 0x07, 0xe0, 0x91, 0x7a, 0xf4, 0x8b, 0xbb, 0x75, 216 0xfe, 0xd4, 0x13, 0xd2, 0x38, 0xf5, 0x55, 0x5a, 217 0x7a, 0x56, 0x9d, 0x80, 0xc3, 0x41, 0x4a, 0x8d, 218 0x08, 0x59, 0xdc, 0x65, 0xa4, 0x61, 0x28, 0xba, 219 0xb2, 0x7a, 0xf8, 0x7a, 0x71, 0x31, 0x4f, 0x31, 220 0x8c, 0x78, 0x2b, 0x23, 0xeb, 0xfe, 0x80, 0x8b, 221 0x82, 0xb0, 0xce, 0x26, 0x40, 0x1d, 0x2e, 0x22, 222 0xf0, 0x4d, 0x83, 0xd1, 0x25, 0x5d, 0xc5, 0x1a, 223 0xdd, 0xd3, 0xb7, 0x5a, 0x2b, 0x1a, 0xe0, 0x78, 224 0x45, 0x04, 0xdf, 0x54, 0x3a, 0xf8, 0x96, 0x9b, 225 0xe3, 0xea, 0x70, 0x82, 0xff, 0x7f, 0xc9, 0x88, 226 0x8c, 0x14, 0x4d, 0xa2, 0xaf, 0x58, 0x42, 0x9e, 227 0xc9, 0x60, 0x31, 0xdb, 0xca, 0xd3, 0xda, 0xd9, 228 0xaf, 0x0d, 0xcb, 0xaa, 0xaf, 0x26, 0x8c, 0xb8, 229 0xfc, 0xff, 0xea, 0xd9, 0x4f, 0x3c, 0x7c, 0xa4, 230 0x95, 0xe0, 0x56, 0xa9, 0xb4, 0x7a, 0xcd, 0xb7, 231 0x51, 0xfb, 0x73, 0xe6, 0x66, 0xc6, 0xc6, 0x55, 232 0xad, 0xe8, 0x29, 0x72, 0x97, 0xd0, 0x7a, 0xd1, 233 0xba, 0x5e, 0x43, 0xf1, 0xbc, 0xa3, 0x23, 0x01, 234 0x65, 0x13, 0x39, 0xe2, 0x29, 0x04, 0xcc, 0x8c, 235 0x42, 0xf5, 0x8c, 0x30, 0xc0, 0x4a, 0xaf, 0xdb, 236 0x03, 0x8d, 0xda, 0x08, 0x47, 0xdd, 0x98, 0x8d, 237 0xcd, 0xa6, 0xf3, 0xbf, 0xd1, 0x5c, 0x4b, 0x4c, 238 0x45, 0x25, 0x00, 0x4a, 0xa0, 0x6e, 0xef, 0xf8, 239 0xca, 0x61, 0x78, 0x3a, 0xac, 0xec, 0x57, 0xfb, 240 0x3d, 0x1f, 0x92, 0xb0, 0xfe, 0x2f, 0xd1, 0xa8, 241 0x5f, 0x67, 0x24, 0x51, 0x7b, 0x65, 0xe6, 0x14, 242 0xad, 0x68, 0x08, 0xd6, 0xf6, 0xee, 0x34, 0xdf, 243 0xf7, 0x31, 0x0f, 0xdc, 0x82, 0xae, 0xbf, 0xd9, 244 0x04, 0xb0, 0x1e, 0x1d, 0xc5, 0x4b, 0x29, 0x27, 245 0x09, 0x4b, 0x2d, 0xb6, 0x8d, 0x6f, 0x90, 0x3b, 246 0x68, 0x40, 0x1a, 0xde, 0xbf, 0x5a, 0x7e, 0x08, 247 0xd7, 0x8f, 0xf4, 0xef, 0x5d, 0x63, 0x65, 0x3a, 248 0x65, 0x04, 0x0c, 0xf9, 0xbf, 0xd4, 0xac, 0xa7, 249 0x98, 0x4a, 0x74, 0xd3, 0x71, 0x45, 0x98, 0x67, 250 0x80, 0xfc, 0x0b, 0x16, 0xac, 0x45, 0x16, 0x49, 251 0xde, 0x61, 0x88, 0xa7, 0xdb, 0xdf, 0x19, 0x1f, 252 0x64, 0xb5, 0xfc, 0x5e, 0x2a, 0xb4, 0x7b, 0x57, 253 0xf7, 0xf7, 0x27, 0x6c, 0xd4, 0x19, 0xc1, 0x7a, 254 0x3c, 0xa8, 0xe1, 0xb9, 0x39, 0xae, 0x49, 0xe4, 255 0x88, 0xac, 0xba, 0x6b, 0x96, 0x56, 0x10, 0xb5, 256 0x48, 0x01, 0x09, 0xc8, 0xb1, 0x7b, 0x80, 0xe1, 257 0xb7, 0xb7, 0x50, 0xdf, 0xc7, 0x59, 0x8d, 0x5d, 258 0x50, 0x11, 0xfd, 0x2d, 0xcc, 0x56, 0x00, 0xa3, 259 0x2e, 0xf5, 0xb5, 0x2a, 0x1e, 0xcc, 0x82, 0x0e, 260 0x30, 0x8a, 0xa3, 0x42, 0x72, 0x1a, 0xac, 0x09, 261 0x43, 0xbf, 0x66, 0x86, 0xb6, 0x4b, 0x25, 0x79, 262 0x37, 0x65, 0x04, 0xcc, 0xc4, 0x93, 0xd9, 0x7e, 263 0x6a, 0xed, 0x3f, 0xb0, 0xf9, 0xcd, 0x71, 0xa4, 264 0x3d, 0xd4, 0x97, 0xf0, 0x1f, 0x17, 0xc0, 0xe2, 265 0xcb, 0x37, 0x97, 0xaa, 0x2a, 0x2f, 0x25, 0x66, 266 0x56, 0x16, 0x8e, 0x6c, 0x49, 0x6a, 0xfc, 0x5f, 267 0xb9, 0x32, 0x46, 0xf6, 0xb1, 0x11, 0x63, 0x98, 268 0xa3, 0x46, 0xf1, 0xa6, 0x41, 0xf3, 0xb0, 0x41, 269 0xe9, 0x89, 0xf7, 0x91, 0x4f, 0x90, 0xcc, 0x2c, 270 0x7f, 0xff, 0x35, 0x78, 0x76, 0xe5, 0x06, 0xb5, 271 0x0d, 0x33, 0x4b, 0xa7, 0x7c, 0x22, 0x5b, 0xc3, 272 0x07, 0xba, 0x53, 0x71, 0x52, 0xf3, 0xf1, 0x61, 273 0x0e, 0x4e, 0xaf, 0xe5, 0x95, 0xf6, 0xd9, 0xd9, 274 0x0d, 0x11, 0xfa, 0xa9, 0x33, 0xa1, 0x5e, 0xf1, 275 0x36, 0x95, 0x46, 0x86, 0x8a, 0x7f, 0x3a, 0x45, 276 0xa9, 0x67, 0x68, 0xd4, 0x0f, 0xd9, 0xd0, 0x34, 277 0x12, 0xc0, 0x91, 0xc6, 0x31, 0x5c, 0xf4, 0xfd, 278 0xe7, 0xcb, 0x68, 0x60, 0x69, 0x37, 0x38, 0x0d, 279 0xb2, 0xea, 0xaa, 0x70, 0x7b, 0x4c, 0x41, 0x85, 280 0xc3, 0x2e, 0xdd, 0xcd, 0xd3, 0x06, 0x70, 0x5e, 281 0x4d, 0xc1, 0xff, 0xc8, 0x72, 0xee, 0xee, 0x47, 282 0x5a, 0x64, 0xdf, 0xac, 0x86, 0xab, 0xa4, 0x1c, 283 0x06, 0x18, 0x98, 0x3f, 0x87, 0x41, 0xc5, 0xef, 284 0x68, 0xd3, 0xa1, 0x01, 0xe8, 0xa3, 0xb8, 0xca, 285 0xc6, 0x0c, 0x90, 0x5c, 0x15, 0xfc, 0x91, 0x08, 286 0x40, 0xb9, 0x4c, 0x00, 0xa0, 0xb9, 0xd0 287 }, 288 .length = 1023, 289 }, 290 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 291 .instance = RTE_CRYPTO_EDCURVE_25519 292 }, 293 { 294 .description = "EdDSA 25519CTX (msg=16, ctx=3)", 295 .pkey = { 296 .data = { 297 0x03, 0x05, 0x33, 0x4e, 0x38, 0x1a, 0xf7, 0x8f, 298 0x14, 0x1c, 0xb6, 0x66, 0xf6, 0x19, 0x9f, 0x57, 299 0xbc, 0x34, 0x95, 0x33, 0x5a, 0x25, 0x6a, 0x95, 300 0xbd, 0x2a, 0x55, 0xbf, 0x54, 0x66, 0x63, 0xf6 301 }, 302 .length = 32, 303 }, 304 .pubkey = { 305 .data = { 306 0xdf, 0xc9, 0x42, 0x5e, 0x4f, 0x96, 0x8f, 0x7f, 307 0x0c, 0x29, 0xf0, 0x25, 0x9c, 0xf5, 0xf9, 0xae, 308 0xd6, 0x85, 0x1c, 0x2b, 0xb4, 0xad, 0x8b, 0xfb, 309 0x86, 0x0c, 0xfe, 0xe0, 0xab, 0x24, 0x82, 0x92 310 }, 311 .length = 32, 312 }, 313 .sign = { 314 .data = { 315 0x55, 0xa4, 0xcc, 0x2f, 0x70, 0xa5, 0x4e, 0x04, 316 0x28, 0x8c, 0x5f, 0x4c, 0xd1, 0xe4, 0x5a, 0x7b, 317 0xb5, 0x20, 0xb3, 0x62, 0x92, 0x91, 0x18, 0x76, 318 0xca, 0xda, 0x73, 0x23, 0x19, 0x8d, 0xd8, 0x7a, 319 0x8b, 0x36, 0x95, 0x0b, 0x95, 0x13, 0x00, 0x22, 320 0x90, 0x7a, 0x7f, 0xb7, 0xc4, 0xe9, 0xb2, 0xd5, 321 0xf6, 0xcc, 0xa6, 0x85, 0xa5, 0x87, 0xb4, 0xb2, 322 0x1f, 0x4b, 0x88, 0x8e, 0x4e, 0x7e, 0xdb, 0x0d 323 }, 324 .length = 64, 325 }, 326 .message = { 327 .data = { 328 0xf7, 0x26, 0x93, 0x6d, 0x19, 0xc8, 0x00, 0x49, 329 0x4e, 0x3f, 0xda, 0xff, 0x20, 0xb2, 0x76, 0xa8, 330 }, 331 .length = 16, 332 }, 333 .context = { 334 .data = { 335 0x66, 0x6f, 0x6f 336 }, 337 .length = 3, 338 }, 339 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 340 .instance = RTE_CRYPTO_EDCURVE_25519CTX 341 }, 342 { 343 .description = "EdDSA 25519PH (msg=1, ph=1)", 344 .pkey = { 345 .data = { 346 0x83, 0x3f, 0xe6, 0x24, 0x09, 0x23, 0x7b, 0x9d, 347 0x62, 0xec, 0x77, 0x58, 0x75, 0x20, 0x91, 0x1e, 348 0x9a, 0x75, 0x9c, 0xec, 0x1d, 0x19, 0x75, 0x5b, 349 0x7d, 0xa9, 0x01, 0xb9, 0x6d, 0xca, 0x3d, 0x42 350 }, 351 .length = 32, 352 }, 353 .pubkey = { 354 .data = { 355 0xec, 0x17, 0x2b, 0x93, 0xad, 0x5e, 0x56, 0x3b, 356 0xf4, 0x93, 0x2c, 0x70, 0xe1, 0x24, 0x50, 0x34, 357 0xc3, 0x54, 0x67, 0xef, 0x2e, 0xfd, 0x4d, 0x64, 358 0xeb, 0xf8, 0x19, 0x68, 0x34, 0x67, 0xe2, 0xbf 359 }, 360 .length = 32, 361 }, 362 .sign = { 363 .data = { 364 0x98, 0xa7, 0x02, 0x22, 0xf0, 0xb8, 0x12, 0x1a, 365 0xa9, 0xd3, 0x0f, 0x81, 0x3d, 0x68, 0x3f, 0x80, 366 0x9e, 0x46, 0x2b, 0x46, 0x9c, 0x7f, 0xf8, 0x76, 367 0x39, 0x49, 0x9b, 0xb9, 0x4e, 0x6d, 0xae, 0x41, 368 0x31, 0xf8, 0x50, 0x42, 0x46, 0x3c, 0x2a, 0x35, 369 0x5a, 0x20, 0x03, 0xd0, 0x62, 0xad, 0xf5, 0xaa, 370 0xa1, 0x0b, 0x8c, 0x61, 0xe6, 0x36, 0x06, 0x2a, 371 0xaa, 0xd1, 0x1c, 0x2a, 0x26, 0x08, 0x34, 0x06 372 }, 373 .length = 64, 374 }, 375 .message = { 376 .data = { 377 0x61, 0x62, 0x63 378 }, 379 .length = 3, 380 }, 381 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 382 .instance = RTE_CRYPTO_EDCURVE_25519PH 383 }, 384 { 385 .description = "EdDSA 448 (msg=0)", 386 .pkey = { 387 .data = { 388 0x6C, 0x82, 0xA5, 0x62, 0xCB, 0x80, 0x8D, 0x10, 389 0xD6, 0x32, 0xBE, 0x89, 0xC8, 0x51, 0x3E, 0xBF, 390 0x6C, 0x92, 0x9F, 0x34, 0xDD, 0xFA, 0x8C, 0x9F, 391 0x63, 0xC9, 0x96, 0x0E, 0xF6, 0xE3, 0x48, 0xA3, 392 0x52, 0x8C, 0x8A, 0x3F, 0xCC, 0x2F, 0x04, 0x4E, 393 0x39, 0xA3, 0xFC, 0x5B, 0x94, 0x49, 0x2F, 0x8F, 394 0x03, 0x2E, 0x75, 0x49, 0xA2, 0x00, 0x98, 0xF9, 395 0x5B, 396 }, 397 .length = 57, 398 }, 399 .pubkey = { 400 .data = { 401 0x5F, 0xD7, 0x44, 0x9B, 0x59, 0xB4, 0x61, 0xFD, 402 0x2C, 0xE7, 0x87, 0xEC, 0x61, 0x6A, 0xD4, 0x6A, 403 0x1D, 0xA1, 0x34, 0x24, 0x85, 0xA7, 0x0E, 0x1F, 404 0x8A, 0x0E, 0xA7, 0x5D, 0x80, 0xE9, 0x67, 0x78, 405 0xED, 0xF1, 0x24, 0x76, 0x9B, 0x46, 0xC7, 0x06, 406 0x1B, 0xD6, 0x78, 0x3D, 0xF1, 0xE5, 0x0F, 0x6C, 407 0xD1, 0xFA, 0x1A, 0xBE, 0xAF, 0xE8, 0x25, 0x61, 408 0x80, 409 }, 410 .length = 57, 411 }, 412 .sign = { 413 .data = { 414 0x53, 0x3a, 0x37, 0xf6, 0xbb, 0xe4, 0x57, 0x25, 415 0x1f, 0x02, 0x3c, 0x0d, 0x88, 0xf9, 0x76, 0xae, 416 0x2d, 0xfb, 0x50, 0x4a, 0x84, 0x3e, 0x34, 0xd2, 417 0x07, 0x4f, 0xd8, 0x23, 0xd4, 0x1a, 0x59, 0x1f, 418 0x2b, 0x23, 0x3f, 0x03, 0x4f, 0x62, 0x82, 0x81, 419 0xf2, 0xfd, 0x7a, 0x22, 0xdd, 0xd4, 0x7d, 0x78, 420 0x28, 0xc5, 0x9b, 0xd0, 0xa2, 0x1b, 0xfd, 0x39, 421 0x80, 0xff, 0x0d, 0x20, 0x28, 0xd4, 0xb1, 0x8a, 422 0x9d, 0xf6, 0x3e, 0x00, 0x6c, 0x5d, 0x1c, 0x2d, 423 0x34, 0x5b, 0x92, 0x5d, 0x8d, 0xc0, 0x0b, 0x41, 424 0x04, 0x85, 0x2d, 0xb9, 0x9a, 0xc5, 0xc7, 0xcd, 425 0xda, 0x85, 0x30, 0xa1, 0x13, 0xa0, 0xf4, 0xdb, 426 0xb6, 0x11, 0x49, 0xf0, 0x5a, 0x73, 0x63, 0x26, 427 0x8c, 0x71, 0xd9, 0x58, 0x08, 0xff, 0x2e, 0x65, 428 0x26, 0x00, 429 }, 430 .length = 114, 431 }, 432 .message = { 433 .data = { 434 }, 435 .length = 0, 436 }, 437 .curve = RTE_CRYPTO_EC_GROUP_ED448, 438 .instance = RTE_CRYPTO_EDCURVE_448 439 }, 440 { 441 .description = "EdDSA 448 (msg=1)", 442 .pkey = { 443 .data = { 444 0xc4, 0xea, 0xb0, 0x5d, 0x35, 0x70, 0x07, 0xc6, 445 0x32, 0xf3, 0xdb, 0xb4, 0x84, 0x89, 0x92, 0x4d, 446 0x55, 0x2b, 0x08, 0xfe, 0x0c, 0x35, 0x3a, 0x0d, 447 0x4a, 0x1f, 0x00, 0xac, 0xda, 0x2c, 0x46, 0x3a, 448 0xfb, 0xea, 0x67, 0xc5, 0xe8, 0xd2, 0x87, 0x7c, 449 0x5e, 0x3b, 0xc3, 0x97, 0xa6, 0x59, 0x94, 0x9e, 450 0xf8, 0x02, 0x1e, 0x95, 0x4e, 0x0a, 0x12, 0x27, 451 0x4e, 452 }, 453 .length = 57, 454 }, 455 .pubkey = { 456 .data = { 457 0x43, 0xba, 0x28, 0xf4, 0x30, 0xcd, 0xff, 0x45, 458 0x6a, 0xe5, 0x31, 0x54, 0x5f, 0x7e, 0xcd, 0x0a, 459 0xc8, 0x34, 0xa5, 0x5d, 0x93, 0x58, 0xc0, 0x37, 460 0x2b, 0xfa, 0x0c, 0x6c, 0x67, 0x98, 0xc0, 0x86, 461 0x6a, 0xea, 0x01, 0xeb, 0x00, 0x74, 0x28, 0x02, 462 0xb8, 0x43, 0x8e, 0xa4, 0xcb, 0x82, 0x16, 0x9c, 463 0x23, 0x51, 0x60, 0x62, 0x7b, 0x4c, 0x3a, 0x94, 464 0x80, 465 }, 466 .length = 57, 467 }, 468 .sign = { 469 .data = { 470 0x26, 0xb8, 0xf9, 0x17, 0x27, 0xbd, 0x62, 0x89, 471 0x7a, 0xf1, 0x5e, 0x41, 0xeb, 0x43, 0xc3, 0x77, 472 0xef, 0xb9, 0xc6, 0x10, 0xd4, 0x8f, 0x23, 0x35, 473 0xcb, 0x0b, 0xd0, 0x08, 0x78, 0x10, 0xf4, 0x35, 474 0x25, 0x41, 0xb1, 0x43, 0xc4, 0xb9, 0x81, 0xb7, 475 0xe1, 0x8f, 0x62, 0xde, 0x8c, 0xcd, 0xf6, 0x33, 476 0xfc, 0x1b, 0xf0, 0x37, 0xab, 0x7c, 0xd7, 0x79, 477 0x80, 0x5e, 0x0d, 0xbc, 0xc0, 0xaa, 0xe1, 0xcb, 478 0xce, 0xe1, 0xaf, 0xb2, 0xe0, 0x27, 0xdf, 0x36, 479 0xbc, 0x04, 0xdc, 0xec, 0xbf, 0x15, 0x43, 0x36, 480 0xc1, 0x9f, 0x0a, 0xf7, 0xe0, 0xa6, 0x47, 0x29, 481 0x05, 0xe7, 0x99, 0xf1, 0x95, 0x3d, 0x2a, 0x0f, 482 0xf3, 0x34, 0x8a, 0xb2, 0x1a, 0xa4, 0xad, 0xaf, 483 0xd1, 0xd2, 0x34, 0x44, 0x1c, 0xf8, 0x07, 0xc0, 484 0x3a, 0x00, 485 }, 486 .length = 114, 487 }, 488 .message = { 489 .data = { 490 0x03 491 }, 492 .length = 1, 493 }, 494 .curve = RTE_CRYPTO_EC_GROUP_ED448, 495 .instance = RTE_CRYPTO_EDCURVE_448 496 }, 497 { 498 .description = "EdDSA 448 (msg=3, ph=1)", 499 .pkey = { 500 .data = { 501 0x83, 0x3f, 0xe6, 0x24, 0x09, 0x23, 0x7b, 0x9d, 502 0x62, 0xec, 0x77, 0x58, 0x75, 0x20, 0x91, 0x1e, 503 0x9a, 0x75, 0x9c, 0xec, 0x1d, 0x19, 0x75, 0x5b, 504 0x7d, 0xa9, 0x01, 0xb9, 0x6d, 0xca, 0x3d, 0x42, 505 0xef, 0x78, 0x22, 0xe0, 0xd5, 0x10, 0x41, 0x27, 506 0xdc, 0x05, 0xd6, 0xdb, 0xef, 0xde, 0x69, 0xe3, 507 0xab, 0x2c, 0xec, 0x7c, 0x86, 0x7c, 0x6e, 0x2c, 508 0x49 509 }, 510 .length = 57, 511 }, 512 .pubkey = { 513 .data = { 514 0x25, 0x9b, 0x71, 0xc1, 0x9f, 0x83, 0xef, 0x77, 515 0xa7, 0xab, 0xd2, 0x65, 0x24, 0xcb, 0xdb, 0x31, 516 0x61, 0xb5, 0x90, 0xa4, 0x8f, 0x7d, 0x17, 0xde, 517 0x3e, 0xe0, 0xba, 0x9c, 0x52, 0xbe, 0xb7, 0x43, 518 0xc0, 0x94, 0x28, 0xa1, 0x31, 0xd6, 0xb1, 0xb5, 519 0x73, 0x03, 0xd9, 0x0d, 0x81, 0x32, 0xc2, 0x76, 520 0xd5, 0xed, 0x3d, 0x5d, 0x01, 0xc0, 0xf5, 0x38, 521 0x80 522 }, 523 .length = 57, 524 }, 525 .sign = { 526 .data = { 527 0x82, 0x2f, 0x69, 0x01, 0xf7, 0x48, 0x0f, 0x3d, 528 0x5f, 0x56, 0x2c, 0x59, 0x29, 0x94, 0xd9, 0x69, 529 0x36, 0x02, 0x87, 0x56, 0x14, 0x48, 0x32, 0x56, 530 0x50, 0x56, 0x00, 0xbb, 0xc2, 0x81, 0xae, 0x38, 531 0x1f, 0x54, 0xd6, 0xbc, 0xe2, 0xea, 0x91, 0x15, 532 0x74, 0x93, 0x2f, 0x52, 0xa4, 0xe6, 0xca, 0xdd, 533 0x78, 0x76, 0x93, 0x75, 0xec, 0x3f, 0xfd, 0x1b, 534 0x80, 0x1a, 0x0d, 0x9b, 0x3f, 0x40, 0x30, 0xcd, 535 0x43, 0x39, 0x64, 0xb6, 0x45, 0x7e, 0xa3, 0x94, 536 0x76, 0x51, 0x12, 0x14, 0xf9, 0x74, 0x69, 0xb5, 537 0x7d, 0xd3, 0x2d, 0xbc, 0x56, 0x0a, 0x9a, 0x94, 538 0xd0, 0x0b, 0xff, 0x07, 0x62, 0x04, 0x64, 0xa3, 539 0xad, 0x20, 0x3d, 0xf7, 0xdc, 0x7c, 0xe3, 0x60, 540 0xc3, 0xcd, 0x36, 0x96, 0xd9, 0xd9, 0xfa, 0xb9, 541 0x0f, 0x00 542 }, 543 .length = 114, 544 }, 545 .message = { 546 .data = { 547 0x61, 0x62, 0x63 548 }, 549 .length = 3, 550 }, 551 .curve = RTE_CRYPTO_EC_GROUP_ED448, 552 .instance = RTE_CRYPTO_EDCURVE_448PH 553 }, 554 }; 555 556 #endif /* __TEST_CRYPTODEV_EDDSA_TEST_VECTORS_H__ */ 557