1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016-2017 Intel Corporation 3 */ 4 5 #include <rte_crypto.h> 6 #include <rte_malloc.h> 7 8 #include "cperf_test_vectors.h" 9 10 struct 11 cperf_modex_test_data modex_perf_data[10] = { 12 { 13 .base = { 14 .data = { 15 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 16 0xAE, 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 17 0xA8, 0xEB, 0x7E, 0x78, 0xA0, 0x50 18 }, 19 .len = 20 20 }, 21 .exponent = { 22 .data = { 23 0x01, 0x00, 0x01 24 }, 25 .len = 3 26 }, 27 .modulus = { 28 .data = { 29 0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 0x0a, 30 0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 0xce, 31 0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 0xa2, 32 0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 0x0a, 33 0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 0x3d, 34 0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 0x6a, 35 0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 0x6e, 36 0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 0x72, 37 0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 0x87, 38 0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 0x62, 39 0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 0x18, 40 0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 0x4e, 41 0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 0x03, 42 0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 0xee, 43 0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 0xa6, 44 0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 0x55 45 }, 46 .len = 128 47 }, 48 .result = { 49 .len = 128 50 } 51 }, 52 { 53 .base = { 54 .data = { 55 0x4F, 0xD8, 0x5C, 0xDB, 0x6D, 0xA2, 0xFA, 0x35, 56 0x9D, 0xD7, 0x97, 0x10, 0x4B, 0x71, 0x5F, 0x53, 57 0xE1, 0xC7, 0x09, 0x74, 0x88, 0xC8, 0x9D, 0x03, 58 0xC0, 0x70, 0xE0, 0xBE, 0xE3, 0xF2, 0x2C, 0x01, 59 0x85, 0xA6, 0x4E, 0x28, 0x6E, 0xD3, 0xB5, 0x18, 60 0x58, 0x69, 0x07, 0xDA, 0x3A, 0x1B, 0x35, 0xCE, 61 0xE6, 0xFA 62 }, 63 .len = 50 64 }, 65 .exponent = { 66 .data = { 67 0x30, 0xA5, 0xD5, 0xF0, 0x42, 0x03, 0xC3, 0x2D, 68 0x2F, 0x58, 0xA8, 0x5C, 0x21, 0x88, 0xDE, 0x82, 69 0x36, 0x44, 0xC1, 0x5A, 0x87, 0x2C, 0x33, 0x19, 70 0x4E, 0xCE, 0x3F, 0x87, 0xFF, 0x98, 0x4B, 0xFC, 71 0x15, 0xC0, 0xBE, 0x9E, 0x8F, 0xF0, 0x6A, 0x62 72 }, 73 .len = 40 74 }, 75 .modulus = { 76 .data = { 77 0xF8, 0x04, 0x0D, 0xD5, 0x09, 0x6C, 0x78, 0x06, 78 0x7D, 0x28, 0x77, 0xA4, 0x0E, 0xA5, 0x49, 0xE7, 79 0x6D, 0xC9, 0x97, 0xD3, 0xC0, 0x7F, 0x82, 0xC6, 80 0x75, 0x51, 0x72, 0xAF, 0x8C, 0x77, 0x97, 0xD0, 81 0xA1, 0x85, 0x54, 0xC0, 0x78, 0x86, 0xD6, 0x40, 82 0x7A, 0x6B, 0xB3, 0xD7, 0x07, 0xCA, 0x27, 0xA3, 83 0x66, 0xB9, 0x98, 0x22, 0xC4, 0x54, 0x18, 0x07, 84 0x65, 0x76, 0x0F, 0x5A 85 }, 86 .len = 60 87 }, 88 .result = { 89 .len = 60 90 } 91 }, 92 { 93 .base = { 94 .data = { 95 0xD8, 0x21, 0xD2, 0x76, 0xAE, 0x01, 0x62, 0xD8, 96 0x8C, 0x80, 0x01, 0x25, 0xC7, 0xE8, 0x4E, 0x0F, 97 0x7F, 0x23, 0xFE, 0xBB 98 }, 99 .len = 20 100 }, 101 .exponent = { 102 .data = { 103 0xE5, 0xCE, 0x50, 0xE8, 0x97, 0x32, 0xFB, 0x5C, 104 0xFC, 0x62 105 }, 106 .len = 10 107 }, 108 .modulus = { 109 .data = { 110 0x71, 0x3C, 0x6C, 0x7A, 0x19, 0x31, 0xF8, 0x94, 111 0xC9, 0xAA, 0x25, 0x69, 0xA7, 0xF2, 0x28, 0x70, 112 0x84, 0x5D, 0xEC, 0x40, 0xC8, 0xF9, 0xC5, 0x79, 113 0xF9, 0x87, 0xD1, 0xA0, 0xC1, 0x5A, 0x06, 0xE4, 114 0x65, 0xB8, 0x29, 0x0B, 0x2B, 0xFE, 0x67, 0xF0, 115 0x91, 0x96, 0xE1, 0xCD, 0x5A, 0xCE, 0x44, 0xA3, 116 0x4F, 0xE8, 0xBE, 0xC6, 0xA3, 0x0A, 0xCB, 0xF5, 117 0x7D, 0x8B, 0x9B, 0x2F, 0x4E, 0xC9, 0x54, 0x48, 118 0xA4, 0xC2, 0x09, 0xCE, 0xA5, 0x93, 0x1F, 0x43, 119 0xC2, 0xCE, 0xFB, 0xBB, 0x69, 0x29, 0x03, 0x74, 120 0xD6, 0x25, 0x47, 0x6B, 0xAC, 0x4E, 0x44, 0x8C, 121 0x39, 0x2F, 0xB2, 0xDD, 0x15, 0x1B, 0xA3, 0x3D, 122 0xA4, 0x0C, 0xFF, 0xCB, 0x05, 0xC2, 0x81, 0x97, 123 0x16, 0xE2, 0xAC, 0x8A, 0xF3, 0xED, 0x80, 0xA4, 124 0xC5, 0xFC, 0xF5, 0x6C, 0x4B, 0xBB, 0x05, 0x91, 125 0xD4, 0x0F, 0xDA, 0x70, 0x7C, 0x9A, 0xA1, 0x63, 126 0x15, 0xEE, 0xBB, 0x17, 0xE6, 0x20, 0x50, 0x74, 127 0x36, 0x9C, 0xA1, 0x10, 0x29, 0x22, 0xFB, 0x7E, 128 0x2A, 0x08, 0xF3, 0x07, 0xEA, 0xCD, 0x2C, 0x50, 129 0x18, 0x15, 0x66, 0x87, 0x74, 0x19, 0x11, 0x2B, 130 0x77, 0x85, 0xA0, 0x57, 0xA7, 0xEB, 0x6E, 0x15, 131 0x15, 0x0D, 0xA4, 0x18, 0x5D, 0x54, 0x13, 0xE3, 132 0x33, 0x12, 0x8D, 0xA3, 0xEF, 0x54, 0xE6, 0x1E, 133 0xDB, 0x8F, 0x3D, 0x02, 0x3C, 0xCB, 0x34, 0x93, 134 0x31, 0x1D, 0x4D, 0x3E, 0x9C, 0x22, 0x04, 0xD1, 135 0x19, 0x53, 0x45, 0xE5, 0xBF, 0xF8, 0x70, 0x1A, 136 0xEA, 0x52, 0x93, 0x2A, 0x26, 0x8A, 0x1E, 0x47, 137 0xCE, 0x83, 0x5B, 0x35, 0x9A, 0xD2, 0x75, 0xC6, 138 0xC6, 0x20, 0x84, 0x9F, 0x74, 0x69, 0x69, 0xB8, 139 0x29, 0xD8, 0xA4, 0x70, 0x91, 0x42, 0x06, 0x25, 140 0x38, 0xCB, 0x42, 0x75, 0x52, 0xEF, 0xB8, 0x64, 141 0x4F, 0xC5, 0x7C, 0xC4, 0x09, 0xDB, 0x12 142 }, 143 .len = 255 144 }, 145 .result = { 146 .len = 255 147 } 148 }, 149 { 150 .base = { 151 .data = { 152 0x92, 0x45, 0x17, 0x7D, 0xD3, 0xF4, 0x2B, 0x93, 153 0x8E, 0x1A, 0xFB, 0x1D, 0x13, 0x55, 0x53, 0x84, 154 0x96, 0x3C, 0x39, 0xE0, 0xAF, 0x4A, 0xB4, 0xC9, 155 0x16, 0x1F, 0xF4, 0x24, 0x65, 0xDD, 0xC3, 0x62, 156 0x12, 0xAF, 0x86, 0x95, 0x0D, 0xDE, 0x28, 0x87, 157 0x90, 0x11, 0xAA, 0x6E, 0x60, 0xCD, 0x54, 0xB7, 158 0x48, 0x43 159 }, 160 .len = 50 161 }, 162 .exponent = { 163 .data = { 164 0x22, 0xD9, 0x4D, 0x01, 0x2F, 0x50, 0x5D, 0xE1, 165 0x01, 0xAA, 0xC6, 0xC6, 0xCD, 0x5D, 0x7E, 0x61, 166 0x75, 0x0A, 0xDC, 0x06, 0x07, 0x4B, 0xBD, 0x29, 167 0x33, 0x09, 0x91, 0xD4, 0x29, 0xEB, 0x52, 0x24, 168 0x27, 0xC6, 0x83, 0x6D, 0x70, 0xA9, 0xC9, 0x11 169 }, 170 .len = 40 171 }, 172 .modulus = { 173 .data = { 174 0xBB, 0x97, 0x8A, 0xB6, 0x26, 0xD4, 0x0E, 0x70, 175 0x21, 0xA6, 0x56, 0x71, 0xE5, 0xD8, 0x18, 0x21, 176 0x64, 0x9F, 0x1B, 0x6F, 0x7C, 0x27, 0x72, 0xB8, 177 0x39, 0xE5, 0x2A, 0x94, 0x76, 0x22, 0xB7, 0x68, 178 0x57, 0x3A, 0x01, 0x54, 0xA8, 0x50, 0x41, 0xA1, 179 0xAD, 0xD0, 0xC7, 0xDB, 0xAA, 0x76, 0x7F, 0x37, 180 0xA9, 0x27, 0x22, 0x8D, 0xF0, 0x5C, 0x5A, 0xAC, 181 0xFB, 0x82, 0x6A, 0x8E, 0x31, 0x51, 0x54, 0x7C, 182 0xDB, 0x55, 0x9C, 0xBC, 0x82, 0x27, 0xF4, 0x0B, 183 0x94, 0x74, 0xC8, 0x83, 0x80, 0x1C, 0xD8, 0xFF, 184 0x50, 0xA2, 0xC9, 0xED, 0x2B, 0x98, 0x77, 0xF3, 185 0x31, 0x81, 0x1C, 0x41, 0x8E, 0xAF, 0x87, 0xA2, 186 0x02, 0xAC, 0x8B, 0x55, 0x01, 0x5C, 0x16, 0x11, 187 0x63, 0x8C, 0xE2, 0x0D, 0x51, 0xD2, 0x4C, 0xD7, 188 0xD4, 0x3D, 0xE4, 0x79, 0x1A, 0xA7, 0xC4, 0xBF, 189 0x4E, 0x2A, 0xC9, 0x74, 0xD6, 0xD4, 0x90, 0x03, 190 0x65, 0x7F, 0x54, 0x0F, 0xAC, 0x5F, 0x98, 0x2C, 191 0x46, 0xC0, 0xD7, 0xE6, 0x75, 0x95, 0xC3, 0xEA, 192 0x05, 0x3A, 0x03, 0x55, 0x43, 0xC7, 0xC2, 0xD1, 193 0x11, 0xCD, 0x57, 0x37, 0x0D, 0x40, 0x87, 0xDF, 194 0x7D, 0xC3, 0x04, 0x54, 0xDE, 0x1D, 0xAF, 0xB8, 195 0x02, 0x50, 0x42, 0xFF, 0x9D, 0xFB, 0x13, 0xF7, 196 0x25, 0x5A, 0x8B, 0xE3, 0x31, 0xA2, 0x64, 0xF8, 197 0x94, 0x50, 0x18, 0xFB, 0xBB, 0xA2, 0xE9, 0x13, 198 0x77, 0x6E, 0xE1, 0x6F, 0x9F, 0x06, 0x03, 0xEE, 199 0x0D, 0x06, 0x6E, 0xF2, 0x9B, 0x15, 0x70, 0xDD, 200 0x26, 0x7C, 0xB4, 0x5D, 0xD0, 0xE7, 0x77, 0xC4, 201 0xB9, 0x88, 0x75, 0xB8, 0x73, 0xFC, 0xE9, 0xB7, 202 0x11, 0x26, 0xAC, 0xDB, 0x97, 0x27, 0x18, 0x21, 203 0x50, 0x7E, 0x46, 0xB2, 0xF1, 0x50, 0x40, 0xD9, 204 0x8B, 0x63, 0xDB, 0x1A, 0x8E, 0x29, 0xBE, 0x1F, 205 0x88, 0x35, 0xFD, 0x95, 0xC3, 0xA6, 0x80, 0xEB, 206 0x73, 0xF7, 0x02, 0x02, 0xB0, 0xCA, 0x97, 0x2C, 207 0x32, 0x44, 0xA9, 0xCA, 0x94, 0xC0, 0xB2, 0xD9, 208 0x7C, 0xD9, 0x10, 0x62, 0x31, 0xC9, 0xFA, 0x5B, 209 0x5C, 0x2C, 0xB6, 0x04, 0x5B, 0x7E, 0x86, 0xBB, 210 0x49, 0x02, 0x16, 0x9E, 0x1E, 0x53, 0xBD, 0xC2, 211 0xA9, 0xAA, 0x94, 0x39, 0xA1, 0xB2, 0x18, 0x17, 212 0xB6, 0x2C, 0xF6, 0xFF, 0xC0, 0xD0, 0x2D, 0x4D, 213 0xAA, 0x6C, 0xB5, 0xC8, 0x6A, 0xBE, 0x38, 0xE4, 214 0x9F, 0xDC, 0x5C, 0x56, 0x56, 0x04, 0x32, 0x49, 215 0x91, 0x17, 0x44, 0x6E, 0xB3, 0xF9, 0x8F, 0xDB, 216 0xEA, 0x04, 0x4C, 0x67, 0xE6, 0xDA, 0x96, 0x2F, 217 0x89, 0x2D, 0x54, 0xC3, 0xAD, 0x07, 0x6B, 0xA0, 218 0x87, 0xF0, 0xCF, 0x4B, 0x43, 0x46, 0xCA, 0x06, 219 0x48, 0x8D, 0x34, 0xC4, 0xD2, 0xD2, 0xA9, 0x16, 220 0x13, 0xF5, 0x49, 0x44, 0x8C, 0xD9, 0x0C, 0x1E, 221 0x79, 0x47, 0xFC, 0x4C, 0x37, 0x8E, 0xD1, 0xFD, 222 0xB9, 0xE8, 0x6E, 0x1B, 0x8D, 0x68, 0xCC, 0x49, 223 0x0D, 0x98, 0xB5, 0xD5, 0x22, 0x1C, 0xFC, 0xBA, 224 0x7A, 0x74, 0x3D, 0xBD, 0xD9, 0xB3, 0x80, 0x58, 225 0x4A, 0x05, 0x67, 0x9D, 0x59, 0xF4, 0xF7, 0x72, 226 0x11, 0x3C, 0x67, 0x96, 0xE7, 0x0D, 0x8E, 0x73, 227 0xD1, 0xEE, 0x00, 0x79, 0x98, 0x7A, 0x0E, 0xE0, 228 0xA8, 0xEA, 0x7D, 0xF3, 0xDB, 0x0E, 0x62, 0x3E, 229 0x66, 0x95, 0xED, 0xD5, 0x8C, 0x39, 0xF5, 0xAB 230 }, 231 .len = 448 232 }, 233 .result = { 234 .len = 448 235 } 236 }, 237 { 238 .base = { 239 .data = { 240 0x02, 241 }, 242 .len = 1 243 }, 244 .exponent = { 245 .data = { 246 0x6C, 0x80, 0xFF, 0x29, 0xF9, 0x27, 0x2E, 0x6D, 247 0xE1, 0xB7, 0x3F, 0x13, 0x77, 0xD2, 0x3E, 0x49, 248 0xCE, 0xAE, 0xBD, 0x73, 0x7A, 0x0F, 0xE7, 0xA4, 249 0x20, 0x49, 0x72, 0x87, 0x4E, 0x1B 250 }, 251 .len = 30 252 }, 253 .modulus = { 254 .data = { 255 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 256 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 257 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 258 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 259 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 260 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 261 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 262 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 263 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 264 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 265 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 266 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 267 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 268 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 269 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 270 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 271 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 272 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 273 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 274 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 275 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 276 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 277 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27, 278 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 279 }, 280 .len = 192 281 }, 282 .result = { 283 .len = 192 284 } 285 }, 286 { 287 .base = { 288 .data = { 289 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 290 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 291 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 292 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 293 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 294 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 295 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 296 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 297 }, 298 .len = 64 299 }, 300 .exponent = { 301 .data = { 302 0x8E, 0x4E, 0x41, 0xA2, 0xE0, 0x59, 0xA8, 0x29, 303 0x71, 0xF6, 0x21, 0xC9, 0xD5, 0x0E, 0x36, 0x0F, 304 0x59, 0xD6, 0x74, 0x4C, 0x3A, 0xC7, 0x13, 0x5E, 305 0x7D, 0x2D, 0x43, 0x63, 0x5A, 0x3D, 0xCA, 0x5F, 306 0xF7, 0xB2, 0x3D, 0x9C, 0x3F, 0xA1, 0x5D, 0x71 307 }, 308 .len = 40 309 }, 310 .modulus = { 311 .data = { 312 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 313 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 314 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 315 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 316 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 317 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 318 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 319 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 320 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 321 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 322 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 323 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 324 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 325 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 326 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 327 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 328 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 329 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 330 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 331 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 332 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 333 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 334 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 335 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 336 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 337 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 338 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 339 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 340 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 341 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 342 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 343 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 344 }, 345 .len = 256 346 }, 347 .result = { 348 .len = 256 349 } 350 }, 351 { 352 .base = { 353 .data = { 354 0x02, 355 }, 356 .len = 1 357 }, 358 .exponent = { 359 .data = { 360 0x63, 0x4D, 0x67, 0x4E, 0x4A, 0x16, 0x0F, 0xEB, 361 0x76, 0xC8, 0xAB, 0x3B, 0x4A, 0x74, 0x03, 0x02, 362 0x2F, 0xAC, 0x34, 0x23, 0xC8, 0x2E, 0x1E, 0x60, 363 0x63, 0x1E, 0x7D, 0x3F, 0x22, 0xB9, 0xBF, 0x2D, 364 0x4F, 0xB3, 0x72, 0xAC, 0x1E, 0x62, 0xA7, 0x47, 365 0x7A, 0xF3, 0x45, 0xAB, 0x5B, 0x67, 0x12, 0x80, 366 0x77, 0xDA, 0xF8, 0xF4 367 }, 368 .len = 52 369 }, 370 .modulus = { 371 .data = { 372 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 373 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 374 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 375 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 376 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 377 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 378 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 379 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 380 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 381 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 382 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 383 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 384 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 385 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 386 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 387 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 388 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 389 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 390 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 391 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 392 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 393 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 394 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 395 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 396 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 397 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 398 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 399 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 400 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 401 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 402 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 403 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 404 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 405 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 406 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 407 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 408 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 409 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 410 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 411 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 412 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 413 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 414 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 415 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 416 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 417 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 418 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 419 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 420 }, 421 .len = 384 422 }, 423 .result = { 424 .len = 384 425 } 426 }, 427 { 428 .base = { 429 .data = { 430 0x02, 431 }, 432 .len = 1 433 }, 434 .exponent = { 435 .data = { 436 0xF2, 0x77, 0xFF, 0x91, 0x08, 0xF6, 0x16, 0x8E, 437 0xEE, 0x8C, 0xCC, 0x62, 0x07, 0xA4, 0xE3, 0x0F, 438 0xB8, 0xE8, 0xFD, 0x77, 0xEA, 0x06, 0x1D, 0x9F, 439 0x2A, 0x96, 0xE8, 0x0D, 0x66, 0xA4, 0x97, 0x7E, 440 0xDA, 0xDB, 0xC0, 0xC0, 0x2F, 0x72, 0xCD, 0xFC, 441 0xBE, 0xC3, 0xAA, 0x46, 0x31, 0x7C, 0x4B, 0x4D, 442 0x0B, 0x14, 0x02, 0x5C, 0x7F, 0x29, 0xC1, 0xDE, 443 0xC5, 0x06, 0x70, 0x0B 444 }, 445 .len = 60 446 }, 447 .modulus = { 448 .data = { 449 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 450 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 451 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 452 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 453 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 454 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 455 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 456 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 457 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 458 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 459 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 460 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 461 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 462 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 463 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 464 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 465 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 466 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 467 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 468 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 469 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 470 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 471 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 472 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 473 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 474 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 475 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 476 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 477 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 478 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 479 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 480 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 481 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 482 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 483 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 484 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 485 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 486 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 487 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 488 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 489 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 490 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 491 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 492 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 493 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 494 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 495 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 496 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 497 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 498 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 499 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 500 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 501 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 502 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 503 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 504 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 505 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 506 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 507 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 508 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 509 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 510 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 511 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99, 512 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 513 }, 514 .len = 512 515 }, 516 .result = { 517 .len = 512 518 } 519 }, 520 { 521 .base = { 522 .data = { 523 0x02, 524 }, 525 .len = 1 526 }, 527 .exponent = { 528 .data = { 529 0x06, 0x8B, 0x74, 0x99, 0x02, 0xCE, 0x50, 0x2C, 530 0xED, 0x29, 0x2F, 0xFB, 0x14, 0x74, 0x11, 0x7A, 531 0x7C, 0x1D, 0xBF, 0xF8, 0xC3, 0x2D, 0xFD, 0x45, 532 0x56, 0xCF, 0xCD, 0x92, 0x12, 0xF2, 0xC1, 0x96, 533 0x73, 0x11, 0x4C, 0xAC, 0xFA, 0x0C, 0x4B, 0x2B, 534 0xFA, 0xED, 0xA5, 0x5A, 0xDD, 0xF7, 0x5F, 0x75, 535 0xB0, 0x18, 0x69, 0x63, 0xB0, 0x8E, 0x04, 0xA2, 536 0x0D, 0x1F, 0x68, 0xA9, 0x1A, 0x75, 0x8A, 0x29, 537 0xD4, 0xC1, 0x31, 0xAC 538 }, 539 .len = 68 540 }, 541 .modulus = { 542 .data = { 543 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 544 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 545 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 546 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 547 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 548 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 549 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 550 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 551 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 552 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 553 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 554 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 555 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 556 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 557 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 558 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 559 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 560 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 561 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 562 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 563 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 564 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 565 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 566 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 567 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 568 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 569 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 570 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 571 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 572 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 573 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 574 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 575 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 576 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 577 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 578 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 579 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 580 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 581 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 582 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 583 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 584 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 585 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 586 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 587 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 588 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 589 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 590 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 591 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 592 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 593 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 594 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 595 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 596 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 597 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 598 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 599 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 600 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 601 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 602 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 603 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 604 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 605 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 606 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 607 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 608 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 609 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 610 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 611 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 612 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 613 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 614 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 615 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 616 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 617 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 618 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 619 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 620 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 621 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 622 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 623 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 624 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 625 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 626 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 627 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 628 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 629 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 630 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 631 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 632 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 633 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 634 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 635 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 636 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 637 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24, 638 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 639 }, 640 .len = 768 641 }, 642 .result = { 643 .len = 768 644 } 645 }, 646 { 647 .base = { 648 .data = { 649 0x02, 650 }, 651 .len = 1 652 }, 653 .exponent = { 654 .data = { 655 0x01, 0xA6, 0x8A, 0x0A, 0xDA, 0xA6, 0x14, 0x43, 656 0x84, 0xD6, 0xEB, 0x11, 0x67, 0xA6, 0xD2, 0xAC, 657 0x11, 0x5D, 0x15, 0x99, 0x31, 0x99, 0xAE, 0x08, 658 0x3D, 0xEC, 0x19, 0x57, 0x3D, 0xDF, 0x96, 0x7C, 659 0x9A, 0x1A, 0x72, 0x80, 0x1F, 0xF3, 0x50, 0x91, 660 0xD0, 0x70, 0x11, 0x37, 0xA8, 0xFE, 0xE4, 0x37, 661 0x3B, 0x36, 0x62, 0x89, 0xCF, 0x31, 0x1D, 0x76, 662 0x28, 0xBE, 0x5F, 0x25, 0x12, 0x6E, 0x72, 0x83, 663 0x8A, 0x1A, 0xC2, 0xFA, 0xD6, 0x49, 0x2C, 0x4F, 664 0x2D, 0xF1, 0x77, 0x67, 0x49, 0xDA 665 }, 666 .len = 78 667 }, 668 .modulus = { 669 .data = { 670 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 671 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 672 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 673 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 674 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 675 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 676 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 677 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 678 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 679 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 680 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 681 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 682 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 683 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 684 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 685 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 686 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 687 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 688 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 689 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 690 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 691 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 692 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 693 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 694 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 695 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 696 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 697 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 698 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 699 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 700 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 701 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 702 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 703 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 704 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 705 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 706 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 707 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 708 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 709 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 710 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 711 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 712 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 713 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 714 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 715 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 716 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 717 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 718 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 719 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 720 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 721 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 722 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 723 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 724 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 725 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 726 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 727 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 728 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 729 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 730 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 731 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 732 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 733 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 734 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 735 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 736 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 737 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 738 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 739 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 740 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 741 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 742 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 743 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 744 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 745 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 746 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 747 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 748 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 749 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 750 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 751 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 752 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 753 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 754 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 755 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 756 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 757 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 758 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 759 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 760 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 761 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 762 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 763 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 764 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59, 765 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 766 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 767 0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA, 768 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00, 769 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 770 0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66, 771 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68, 772 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 773 0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D, 774 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9, 775 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 776 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7, 777 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B, 778 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 779 0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8, 780 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 781 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 782 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D, 783 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36, 784 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 785 0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D, 786 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1, 787 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 788 0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68, 789 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92, 790 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 791 0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B, 792 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47, 793 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 794 0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF, 795 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71, 796 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 797 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 798 }, 799 .len = 1024 800 }, 801 .result = { 802 .len = 1024 803 } 804 } 805 }; 806 807 static uint8_t secp256r1_pkey[] = { 808 0x51, 0x9b, 0x42, 0x3d, 0x71, 0x5f, 0x8b, 0x58, 809 0x1f, 0x4f, 0xa8, 0xee, 0x59, 0xf4, 0x77, 0x1a, 810 0x5b, 0x44, 0xc8, 0x13, 0x0b, 0x4e, 0x3e, 0xac, 811 0xca, 0x54, 0xa5, 0x6d, 0xda, 0x72, 0xb4, 0x64 812 }; 813 814 static uint8_t secp256r1_qx[] = { 815 0x1c, 0xcb, 0xe9, 0x1c, 0x07, 0x5f, 0xc7, 0xf4, 816 0xf0, 0x33, 0xbf, 0xa2, 0x48, 0xdb, 0x8f, 0xcc, 817 0xd3, 0x56, 0x5d, 0xe9, 0x4b, 0xbf, 0xb1, 0x2f, 818 0x3c, 0x59, 0xff, 0x46, 0xc2, 0x71, 0xbf, 0x83 819 }; 820 821 static uint8_t secp256r1_qy[] = { 822 0xce, 0x40, 0x14, 0xc6, 0x88, 0x11, 0xf9, 0xa2, 823 0x1a, 0x1f, 0xdb, 0x2c, 0x0e, 0x61, 0x13, 0xe0, 824 0x6d, 0xb7, 0xca, 0x93, 0xb7, 0x40, 0x4e, 0x78, 825 0xdc, 0x7c, 0xcd, 0x5c, 0xa8, 0x9a, 0x4c, 0xa9 826 }; 827 828 static uint8_t secp256r1_k[] = { 829 0x94, 0xa1, 0xbb, 0xb1, 0x4b, 0x90, 0x6a, 0x61, 830 0xa2, 0x80, 0xf2, 0x45, 0xf9, 0xe9, 0x3c, 0x7f, 831 0x3b, 0x4a, 0x62, 0x47, 0x82, 0x4f, 0x5d, 0x33, 832 0xb9, 0x67, 0x07, 0x87, 0x64, 0x2a, 0x68, 0xde 833 }; 834 835 static uint8_t secp256r1_sign_r[] = { 836 0xf3, 0xac, 0x80, 0x61, 0xb5, 0x14, 0x79, 0x5b, 837 0x88, 0x43, 0xe3, 0xd6, 0x62, 0x95, 0x27, 0xed, 838 0x2a, 0xfd, 0x6b, 0x1f, 0x6a, 0x55, 0x5a, 0x7a, 839 0xca, 0xbb, 0x5e, 0x6f, 0x79, 0xc8, 0xc2, 0xac 840 }; 841 842 static uint8_t secp256r1_sign_s[] = { 843 0x8b, 0xf7, 0x78, 0x19, 0xca, 0x05, 0xa6, 0xb2, 844 0x78, 0x6c, 0x76, 0x26, 0x2b, 0xf7, 0x37, 0x1c, 845 0xef, 0x97, 0xb2, 0x18, 0xe9, 0x6f, 0x17, 0x5a, 846 0x3c, 0xcd, 0xda, 0x2a, 0xcc, 0x05, 0x89, 0x03 847 }; 848 849 static uint8_t secp256r1_message[] = { 850 0x44, 0xac, 0xf6, 0xb7, 0xe3, 0x6c, 0x13, 0x42, 851 0xc2, 0xc5, 0x89, 0x72, 0x04, 0xfe, 0x09, 0x50, 852 0x4e, 0x1e, 0x2e, 0xfb, 0x1a, 0x90, 0x03, 0x77, 853 0xdb, 0xc4, 0xe7, 0xa6, 0xa1, 0x33, 0xec, 0x56 854 }; 855 856 static uint8_t ed25519_pkey[] = { 857 0x4c, 0xcd, 0x08, 0x9b, 0x28, 0xff, 0x96, 0xda, 858 0x9d, 0xb6, 0xc3, 0x46, 0xec, 0x11, 0x4e, 0x0f, 859 0x5b, 0x8a, 0x31, 0x9f, 0x35, 0xab, 0xa6, 0x24, 860 0xda, 0x8c, 0xf6, 0xed, 0x4f, 0xb8, 0xa6, 0xfb, 861 }; 862 863 static uint8_t ed25519_pubkey[] = { 864 0x3d, 0x40, 0x17, 0xc3, 0xe8, 0x43, 0x89, 0x5a, 865 0x92, 0xb7, 0x0a, 0xa7, 0x4d, 0x1b, 0x7e, 0xbc, 866 0x9c, 0x98, 0x2c, 0xcf, 0x2e, 0xc4, 0x96, 0x8c, 867 0xc0, 0xcd, 0x55, 0xf1, 0x2a, 0xf4, 0x66, 0x0c, 868 }; 869 870 static uint8_t ed25519_sign[] = { 871 0x92, 0xa0, 0x09, 0xa9, 0xf0, 0xd4, 0xca, 0xb8, 872 0x72, 0x0e, 0x82, 0x0b, 0x5f, 0x64, 0x25, 0x40, 873 0xa2, 0xb2, 0x7b, 0x54, 0x16, 0x50, 0x3f, 0x8f, 874 0xb3, 0x76, 0x22, 0x23, 0xeb, 0xdb, 0x69, 0xda, 875 0x08, 0x5a, 0xc1, 0xe4, 0x3e, 0x15, 0x99, 0x6e, 876 0x45, 0x8f, 0x36, 0x13, 0xd0, 0xf1, 0x1d, 0x8c, 877 0x38, 0x7b, 0x2e, 0xae, 0xb4, 0x30, 0x2a, 0xee, 878 0xb0, 0x0d, 0x29, 0x16, 0x12, 0xbb, 0x0c, 0x00, 879 }; 880 881 static uint8_t ed25519_message[] = { 882 0x72 883 }; 884 885 static uint8_t fp256_pkey[] = { 886 0x77, 0x84, 0x35, 0x65, 0x4c, 0x7a, 0x6d, 0xb1, 887 0x1e, 0x63, 0x0b, 0x41, 0x97, 0x36, 0x04, 0xf4, 888 0xec, 0x35, 0xee, 0x3b, 0x76, 0xc2, 0x34, 0x08, 889 0xd9, 0x4a, 0x22, 0x0d, 0x7f, 0xf6, 0xc6, 0x90 890 }; 891 892 static uint8_t fp256_qx[] = { 893 0x7b, 0x24, 0xa3, 0x03, 0xcf, 0xb2, 0x22, 0xfa, 894 0x4c, 0xb3, 0x88, 0x54, 0xf9, 0x30, 0xd1, 0x4d, 895 0xe3, 0x50, 0xda, 0xba, 0xe6, 0xa7, 0x0b, 0x91, 896 0x4c, 0x04, 0x0d, 0x5c, 0xe0, 0x8e, 0x86, 0xc5 897 }; 898 899 static uint8_t fp256_qy[] = { 900 0xbc, 0x39, 0xe3, 0x19, 0x4e, 0xd2, 0x29, 0x22, 901 0x5b, 0x37, 0x2d, 0xeb, 0xcc, 0x05, 0x52, 0x8d, 902 0xb9, 0x40, 0xa3, 0xab, 0x3c, 0xbe, 0x16, 0x30, 903 0x1c, 0xe4, 0xe8, 0x7f, 0xba, 0x6e, 0x0b, 0xae 904 }; 905 906 static uint8_t fp256_k[] = { 907 0x01, 0x04, 0x02, 0x05, 0x04, 0x06, 0x03, 0x07 908 }; 909 910 static uint8_t fp256_sign_r[] = { 911 0x75, 0x2B, 0x8C, 0x15, 0x38, 0x10, 0xF6, 0xC0, 912 0x28, 0xC9, 0x8A, 0x51, 0xD0, 0x62, 0x69, 0x4B, 913 0xF6, 0x58, 0x06, 0xEB, 0xF1, 0x91, 0x1F, 0x15, 914 0x8B, 0x08, 0x09, 0xF9, 0x88, 0x0A, 0x44, 0x24 915 }; 916 917 static uint8_t fp256_sign_s[] = { 918 0x5A, 0x3C, 0x96, 0x3E, 0x1C, 0xB4, 0x19, 0xF9, 919 0xD7, 0x78, 0xB8, 0xCE, 0xFF, 0x9D, 0xB1, 0x31, 920 0x77, 0xDB, 0xA0, 0xFE, 0x84, 0x61, 0x1A, 0xD9, 921 0x4E, 0xFF, 0x82, 0x13, 0x1C, 0xCA, 0x04, 0x75, 922 }; 923 924 static uint8_t fp256_id[] = { 925 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 926 }; 927 928 static uint8_t fp256_message[] = { 929 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 930 0x64, 0x69, 0x67, 0x65, 0x73, 0x74 931 }; 932 933 static uint8_t fp256_digest[] = { 934 0x0F, 0xB5, 0xCE, 0xF3, 0x3C, 0xB7, 0xD1, 0x35, 935 0xA9, 0x3A, 0xC7, 0xA7, 0x89, 0x2A, 0x6D, 0x9A, 936 0xF3, 0x1E, 0xC5, 0x38, 0xD3, 0x65, 0x1B, 0xB9, 937 0xDF, 0x5F, 0x7F, 0x4A, 0xD8, 0x89, 0x57, 0xF1 938 }; 939 940 static uint8_t fp256_cipher[] = { 941 0x30, 0x78, 0x02, 0x21, 0x00, 0xAB, 0xBD, 0xE8, 942 0xE8, 0x80, 0x93, 0x36, 0x77, 0xB6, 0x44, 0x47, 943 0x6D, 0x00, 0xF6, 0x51, 0xC8, 0x80, 0x9C, 0x9E, 944 0xD9, 0xEC, 0x36, 0x8A, 0x60, 0x8E, 0x26, 0x2D, 945 0x71, 0x31, 0xB7, 0xC1, 0x38, 0x02, 0x21, 0x00, 946 0xE1, 0xBF, 0x4C, 0x13, 0x7A, 0x87, 0x40, 0x32, 947 0xF5, 0xA1, 0xE2, 0xA1, 0x3B, 0x83, 0xBF, 0x6B, 948 0x3F, 0xFB, 0xC8, 0x13, 0x01, 0xDE, 0xCF, 0xC0, 949 0xF4, 0x24, 0x66, 0x52, 0x89, 0xDA, 0x6D, 0x7A, 950 0x04, 0x20, 0x8E, 0xFD, 0x52, 0x77, 0xC9, 0xE7, 951 0x90, 0xD1, 0x17, 0x75, 0xDE, 0xEE, 0xF3, 0xE5, 952 0x11, 0x0C, 0x5D, 0xE1, 0x3A, 0xB6, 0x2B, 0x72, 953 0x60, 0xE5, 0xD5, 0xF3, 0x0F, 0xE2, 0x44, 0xDB, 954 0xBC, 0x66, 0x04, 0x0E, 0x78, 0x2D, 0xC0, 0x3D, 955 0x38, 0xA2, 0x42, 0xA4, 0x8E, 0x8B, 0xF5, 0x06, 956 0x32, 0xFA 957 }; 958 959 uint8_t plaintext[2048] = { 960 0x71, 0x75, 0x83, 0x98, 0x75, 0x42, 0x51, 0x09, 0x94, 0x02, 0x13, 0x20, 961 0x15, 0x64, 0x46, 0x32, 0x08, 0x18, 0x91, 0x82, 0x86, 0x52, 0x23, 0x93, 962 0x44, 0x54, 0x28, 0x68, 0x78, 0x78, 0x70, 0x06, 0x42, 0x74, 0x41, 0x27, 963 0x73, 0x38, 0x53, 0x77, 0x51, 0x96, 0x53, 0x24, 0x03, 0x88, 0x74, 0x14, 964 0x70, 0x23, 0x88, 0x30, 0x85, 0x18, 0x89, 0x27, 0x41, 0x71, 0x61, 0x23, 965 0x04, 0x83, 0x30, 0x57, 0x26, 0x47, 0x23, 0x75, 0x25, 0x62, 0x53, 0x80, 966 0x38, 0x34, 0x21, 0x33, 0x34, 0x51, 0x46, 0x29, 0x94, 0x64, 0x22, 0x67, 967 0x25, 0x45, 0x70, 0x26, 0x74, 0x39, 0x46, 0x71, 0x08, 0x85, 0x27, 0x18, 968 0x93, 0x39, 0x72, 0x11, 0x57, 0x26, 0x88, 0x46, 0x47, 0x49, 0x86, 0x92, 969 0x03, 0x37, 0x96, 0x40, 0x84, 0x53, 0x67, 0x47, 0x60, 0x60, 0x37, 0x67, 970 0x02, 0x68, 0x76, 0x62, 0x42, 0x01, 0x59, 0x11, 0x01, 0x89, 0x40, 0x87, 971 0x58, 0x20, 0x51, 0x21, 0x66, 0x26, 0x26, 0x73, 0x03, 0x06, 0x14, 0x25, 972 0x98, 0x42, 0x44, 0x67, 0x24, 0x78, 0x71, 0x45, 0x32, 0x61, 0x20, 0x26, 973 0x08, 0x88, 0x44, 0x26, 0x40, 0x63, 0x76, 0x23, 0x78, 0x55, 0x81, 0x97, 974 0x95, 0x89, 0x39, 0x07, 0x14, 0x50, 0x50, 0x73, 0x07, 0x20, 0x86, 0x83, 975 0x74, 0x57, 0x72, 0x36, 0x68, 0x61, 0x14, 0x41, 0x56, 0x49, 0x64, 0x72, 976 0x75, 0x81, 0x47, 0x91, 0x08, 0x76, 0x47, 0x06, 0x55, 0x77, 0x61, 0x45, 977 0x50, 0x10, 0x07, 0x46, 0x46, 0x89, 0x80, 0x07, 0x24, 0x95, 0x39, 0x43, 978 0x03, 0x75, 0x24, 0x35, 0x57, 0x82, 0x09, 0x64, 0x29, 0x24, 0x26, 0x66, 979 0x67, 0x29, 0x05, 0x90, 0x82, 0x02, 0x45, 0x71, 0x21, 0x34, 0x25, 0x48, 980 0x68, 0x26, 0x01, 0x18, 0x73, 0x18, 0x46, 0x15, 0x14, 0x33, 0x28, 0x44, 981 0x24, 0x82, 0x20, 0x12, 0x99, 0x43, 0x68, 0x43, 0x25, 0x14, 0x34, 0x33, 982 0x31, 0x13, 0x77, 0x44, 0x95, 0x22, 0x99, 0x02, 0x30, 0x50, 0x74, 0x43, 983 0x81, 0x78, 0x32, 0x17, 0x09, 0x85, 0x04, 0x37, 0x31, 0x98, 0x76, 0x79, 984 0x64, 0x10, 0x39, 0x89, 0x59, 0x90, 0x50, 0x15, 0x77, 0x39, 0x28, 0x14, 985 0x30, 0x19, 0x68, 0x77, 0x89, 0x48, 0x86, 0x16, 0x11, 0x33, 0x84, 0x56, 986 0x10, 0x20, 0x94, 0x72, 0x41, 0x69, 0x13, 0x00, 0x56, 0x27, 0x01, 0x57, 987 0x46, 0x65, 0x65, 0x19, 0x33, 0x07, 0x62, 0x19, 0x91, 0x60, 0x29, 0x11, 988 0x41, 0x25, 0x88, 0x21, 0x93, 0x85, 0x87, 0x40, 0x91, 0x25, 0x32, 0x86, 989 0x76, 0x54, 0x92, 0x52, 0x72, 0x46, 0x61, 0x84, 0x20, 0x14, 0x65, 0x83, 990 0x69, 0x90, 0x80, 0x11, 0x35, 0x70, 0x42, 0x64, 0x74, 0x85, 0x15, 0x23, 991 0x06, 0x55, 0x67, 0x49, 0x76, 0x47, 0x11, 0x95, 0x00, 0x85, 0x05, 0x12, 992 0x58, 0x53, 0x25, 0x73, 0x62, 0x81, 0x63, 0x82, 0x32, 0x75, 0x16, 0x48, 993 0x04, 0x96, 0x75, 0x16, 0x43, 0x83, 0x41, 0x85, 0x95, 0x67, 0x27, 0x83, 994 0x22, 0x43, 0x02, 0x27, 0x69, 0x62, 0x78, 0x50, 0x57, 0x66, 0x99, 0x89, 995 0x05, 0x06, 0x35, 0x86, 0x37, 0x27, 0x48, 0x46, 0x50, 0x80, 0x96, 0x40, 996 0x42, 0x36, 0x21, 0x54, 0x49, 0x18, 0x63, 0x38, 0x45, 0x76, 0x23, 0x20, 997 0x28, 0x06, 0x17, 0x32, 0x58, 0x50, 0x49, 0x54, 0x29, 0x46, 0x18, 0x12, 998 0x17, 0x50, 0x02, 0x80, 0x99, 0x53, 0x15, 0x02, 0x07, 0x14, 0x19, 0x60, 999 0x56, 0x43, 0x76, 0x71, 0x49, 0x99, 0x54, 0x83, 0x28, 0x94, 0x30, 0x30, 1000 0x57, 0x05, 0x89, 0x80, 0x11, 0x03, 0x78, 0x35, 0x73, 0x52, 0x67, 0x39, 1001 0x67, 0x07, 0x04, 0x49, 0x23, 0x83, 0x86, 0x89, 0x57, 0x71, 0x08, 0x41, 1002 0x15, 0x97, 0x19, 0x72, 0x03, 0x27, 0x72, 0x52, 0x66, 0x67, 0x99, 0x15, 1003 0x33, 0x64, 0x69, 0x78, 0x07, 0x83, 0x53, 0x71, 0x21, 0x50, 0x05, 0x48, 1004 0x59, 0x85, 0x01, 0x36, 0x65, 0x02, 0x52, 0x01, 0x09, 0x49, 0x28, 0x77, 1005 0x25, 0x35, 0x67, 0x77, 0x81, 0x64, 0x24, 0x29, 0x42, 0x32, 0x59, 0x22, 1006 0x93, 0x48, 0x59, 0x03, 0x85, 0x87, 0x15, 0x55, 0x23, 0x42, 0x58, 0x17, 1007 0x18, 0x37, 0x70, 0x83, 0x80, 0x12, 0x44, 0x83, 0x45, 0x70, 0x55, 0x86, 1008 0x03, 0x23, 0x01, 0x56, 0x94, 0x12, 0x41, 0x34, 0x82, 0x90, 0x83, 0x46, 1009 0x17, 0x56, 0x66, 0x96, 0x75, 0x80, 0x59, 0x07, 0x15, 0x84, 0x19, 0x52, 1010 0x37, 0x44, 0x44, 0x83, 0x72, 0x43, 0x25, 0x42, 0x26, 0x86, 0x87, 0x86, 1011 0x91, 0x62, 0x14, 0x90, 0x34, 0x26, 0x14, 0x33, 0x59, 0x70, 0x73, 0x15, 1012 0x49, 0x40, 0x66, 0x88, 0x42, 0x66, 0x16, 0x42, 0x55, 0x92, 0x82, 0x06, 1013 0x20, 0x96, 0x36, 0x96, 0x13, 0x07, 0x84, 0x94, 0x37, 0x66, 0x62, 0x78, 1014 0x60, 0x58, 0x80, 0x50, 0x69, 0x03, 0x97, 0x16, 0x64, 0x45, 0x21, 0x39, 1015 0x79, 0x28, 0x52, 0x17, 0x14, 0x77, 0x31, 0x60, 0x86, 0x70, 0x09, 0x53, 1016 0x39, 0x32, 0x52, 0x31, 0x35, 0x79, 0x24, 0x70, 0x25, 0x48, 0x23, 0x49, 1017 0x10, 0x64, 0x54, 0x30, 0x82, 0x34, 0x51, 0x20, 0x46, 0x04, 0x29, 0x25, 1018 0x65, 0x09, 0x55, 0x30, 0x30, 0x52, 0x85, 0x32, 0x79, 0x19, 0x59, 0x07, 1019 0x05, 0x12, 0x11, 0x03, 0x21, 0x90, 0x36, 0x62, 0x23, 0x67, 0x36, 0x67, 1020 0x47, 0x39, 0x92, 0x88, 0x45, 0x43, 0x71, 0x16, 0x48, 0x27, 0x68, 0x39, 1021 0x98, 0x38, 0x03, 0x31, 0x85, 0x10, 0x06, 0x95, 0x54, 0x79, 0x28, 0x79, 1022 0x56, 0x16, 0x65, 0x69, 0x00, 0x54, 0x09, 0x91, 0x06, 0x10, 0x10, 0x86, 1023 0x75, 0x01, 0x02, 0x71, 0x01, 0x09, 0x32, 0x94, 0x66, 0x43, 0x68, 0x36, 1024 0x19, 0x52, 0x02, 0x04, 0x45, 0x49, 0x40, 0x94, 0x07, 0x87, 0x86, 0x79, 1025 0x84, 0x07, 0x75, 0x30, 0x73, 0x02, 0x57, 0x81, 0x65, 0x02, 0x28, 0x96, 1026 0x57, 0x07, 0x70, 0x34, 0x39, 0x35, 0x75, 0x19, 0x47, 0x57, 0x08, 0x75, 1027 0x86, 0x57, 0x11, 0x32, 0x09, 0x47, 0x83, 0x93, 0x20, 0x94, 0x90, 0x88, 1028 0x39, 0x63, 0x22, 0x88, 0x54, 0x54, 0x95, 0x75, 0x67, 0x26, 0x02, 0x49, 1029 0x26, 0x17, 0x35, 0x16, 0x27, 0x65, 0x64, 0x26, 0x93, 0x92, 0x77, 0x85, 1030 0x84, 0x40, 0x59, 0x29, 0x49, 0x69, 0x94, 0x71, 0x72, 0x21, 0x55, 0x03, 1031 0x19, 0x74, 0x09, 0x40, 0x57, 0x68, 0x41, 0x19, 0x11, 0x21, 0x63, 0x56, 1032 0x29, 0x77, 0x57, 0x81, 0x44, 0x40, 0x76, 0x77, 0x02, 0x71, 0x66, 0x35, 1033 0x89, 0x02, 0x64, 0x51, 0x61, 0x02, 0x46, 0x91, 0x38, 0x93, 0x62, 0x57, 1034 0x18, 0x98, 0x12, 0x87, 0x29, 0x48, 0x65, 0x39, 0x99, 0x45, 0x54, 0x69, 1035 0x51, 0x16, 0x25, 0x75, 0x60, 0x70, 0x33, 0x72, 0x01, 0x60, 0x26, 0x51, 1036 0x44, 0x14, 0x39, 0x12, 0x95, 0x48, 0x87, 0x33, 0x90, 0x16, 0x42, 0x78, 1037 0x48, 0x58, 0x96, 0x93, 0x75, 0x23, 0x07, 0x13, 0x86, 0x07, 0x96, 0x30, 1038 0x22, 0x82, 0x91, 0x36, 0x72, 0x16, 0x48, 0x77, 0x64, 0x99, 0x07, 0x34, 1039 0x78, 0x60, 0x61, 0x13, 0x48, 0x93, 0x46, 0x62, 0x48, 0x38, 0x37, 0x96, 1040 0x58, 0x64, 0x39, 0x90, 0x69, 0x46, 0x81, 0x98, 0x61, 0x89, 0x15, 0x59, 1041 0x78, 0x98, 0x21, 0x34, 0x00, 0x69, 0x97, 0x80, 0x28, 0x81, 0x53, 0x49, 1042 0x79, 0x53, 0x92, 0x20, 0x29, 0x40, 0x70, 0x06, 0x09, 0x55, 0x99, 0x41, 1043 0x51, 0x35, 0x55, 0x27, 0x39, 0x06, 0x29, 0x83, 0x66, 0x03, 0x68, 0x14, 1044 0x11, 0x69, 0x95, 0x51, 0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11, 1045 0x88, 0x25, 0x37, 0x86, 0x01, 0x52, 0x93, 0x52, 0x02, 0x24, 0x91, 0x58, 1046 0x56, 0x37, 0x50, 0x88, 0x39, 0x09, 0x61, 0x19, 0x08, 0x86, 0x29, 0x51, 1047 0x63, 0x38, 0x81, 0x14, 0x75, 0x75, 0x39, 0x99, 0x22, 0x04, 0x32, 0x63, 1048 0x14, 0x68, 0x41, 0x79, 0x09, 0x57, 0x87, 0x29, 0x26, 0x94, 0x05, 0x71, 1049 0x82, 0x41, 0x26, 0x98, 0x68, 0x18, 0x55, 0x42, 0x78, 0x05, 0x74, 0x17, 1050 0x34, 0x34, 0x07, 0x62, 0x94, 0x72, 0x21, 0x08, 0x54, 0x72, 0x21, 0x08, 1051 0x31, 0x53, 0x82, 0x35, 0x27, 0x40, 0x85, 0x77, 0x08, 0x52, 0x58, 0x48, 1052 0x03, 0x86, 0x65, 0x51, 0x96, 0x43, 0x89, 0x19, 0x15, 0x08, 0x49, 0x62, 1053 0x57, 0x46, 0x17, 0x68, 0x56, 0x04, 0x70, 0x63, 0x75, 0x88, 0x13, 0x27, 1054 0x87, 0x44, 0x46, 0x27, 0x02, 0x97, 0x71, 0x07, 0x40, 0x17, 0x24, 0x61, 1055 0x16, 0x94, 0x86, 0x85, 0x67, 0x58, 0x87, 0x92, 0x02, 0x84, 0x75, 0x19, 1056 0x43, 0x60, 0x68, 0x03, 0x54, 0x75, 0x33, 0x17, 0x97, 0x75, 0x12, 0x62, 1057 0x43, 0x08, 0x35, 0x75, 0x32, 0x21, 0x08, 0x82, 0x78, 0x04, 0x74, 0x09, 1058 0x13, 0x48, 0x63, 0x68, 0x67, 0x09, 0x08, 0x50, 0x11, 0x71, 0x64, 0x72, 1059 0x63, 0x76, 0x21, 0x62, 0x80, 0x57, 0x19, 0x15, 0x26, 0x88, 0x02, 0x26, 1060 0x83, 0x17, 0x61, 0x76, 0x28, 0x10, 0x22, 0x37, 0x56, 0x71, 0x51, 0x60, 1061 0x12, 0x79, 0x24, 0x83, 0x78, 0x47, 0x78, 0x20, 0x52, 0x27, 0x19, 0x88, 1062 0x81, 0x04, 0x70, 0x20, 0x25, 0x10, 0x04, 0x01, 0x72, 0x57, 0x30, 0x93, 1063 0x96, 0x23, 0x02, 0x94, 0x61, 0x44, 0x17, 0x65, 0x77, 0x60, 0x27, 0x43, 1064 0x24, 0x59, 0x46, 0x76, 0x00, 0x11, 0x31, 0x99, 0x41, 0x48, 0x75, 0x32, 1065 0x05, 0x15, 0x45, 0x31, 0x57, 0x89, 0x10, 0x47, 0x53, 0x14, 0x66, 0x54, 1066 0x60, 0x55, 0x36, 0x93, 0x30, 0x03, 0x63, 0x80, 0x65, 0x43, 0x17, 0x36, 1067 0x18, 0x64, 0x21, 0x38, 0x16, 0x19, 0x19, 0x51, 0x73, 0x80, 0x38, 0x27, 1068 0x30, 0x89, 0x13, 0x43, 0x54, 0x11, 0x78, 0x05, 0x24, 0x38, 0x83, 0x56, 1069 0x50, 0x59, 0x12, 0x47, 0x69, 0x70, 0x70, 0x91, 0x28, 0x02, 0x08, 0x91, 1070 0x66, 0x09, 0x31, 0x65, 0x46, 0x20, 0x04, 0x85, 0x89, 0x53, 0x91, 0x42, 1071 0x34, 0x09, 0x36, 0x92, 0x42, 0x06, 0x87, 0x88, 0x23, 0x54, 0x87, 0x85, 1072 0x52, 0x98, 0x95, 0x76, 0x13, 0x50, 0x59, 0x89, 0x18, 0x14, 0x17, 0x47, 1073 0x10, 0x97, 0x39, 0x14, 0x33, 0x79, 0x83, 0x62, 0x55, 0x18, 0x30, 0x83, 1074 0x03, 0x45, 0x38, 0x37, 0x35, 0x20, 0x94, 0x84, 0x89, 0x80, 0x89, 0x10, 1075 0x48, 0x77, 0x33, 0x36, 0x50, 0x07, 0x93, 0x02, 0x45, 0x42, 0x91, 0x12, 1076 0x98, 0x09, 0x77, 0x20, 0x31, 0x95, 0x10, 0x29, 0x89, 0x02, 0x38, 0x92, 1077 0x90, 0x19, 0x51, 0x10, 0x19, 0x82, 0x23, 0x68, 0x06, 0x00, 0x67, 0x50, 1078 0x25, 0x03, 0x41, 0x69, 0x53, 0x42, 0x23, 0x99, 0x29, 0x21, 0x63, 0x22, 1079 0x72, 0x54, 0x72, 0x40, 0x23, 0x39, 0x74, 0x92, 0x53, 0x28, 0x67, 0x56, 1080 0x46, 0x84, 0x59, 0x85, 0x10, 0x92, 0x31, 0x20, 0x39, 0x95, 0x65, 0x15, 1081 0x76, 0x35, 0x37, 0x21, 0x98, 0x41, 0x68, 0x74, 0x94, 0x94, 0x86, 0x90, 1082 0x35, 0x07, 0x06, 0x38, 0x78, 0x32, 0x00, 0x60, 0x86, 0x12, 0x34, 0x65, 1083 0x67, 0x35, 0x76, 0x94, 0x78, 0x22, 0x99, 0x42, 0x82, 0x40, 0x05, 0x74, 1084 0x18, 0x59, 0x03, 0x83, 0x89, 0x05, 0x19, 0x28, 0x88, 0x35, 0x59, 0x10, 1085 0x12, 0x96, 0x48, 0x67, 0x59, 0x87, 0x26, 0x85, 0x74, 0x64, 0x78, 0x56, 1086 0x91, 0x81, 0x45, 0x90, 0x21, 0x80, 0x32, 0x19, 0x61, 0x38, 0x61, 0x70, 1087 0x35, 0x08, 0x93, 0x53, 0x21, 0x95, 0x08, 0x27, 0x90, 0x28, 0x94, 0x27, 1088 0x35, 0x78, 0x03, 0x57, 0x74, 0x84, 0x73, 0x63, 0x27, 0x98, 0x14, 0x21, 1089 0x22, 0x36, 0x75, 0x31, 0x81, 0x65, 0x85, 0x51, 0x02, 0x45, 0x18, 0x06, 1090 0x39, 0x13, 0x29, 0x29, 0x73, 0x26, 0x99, 0x51, 0x38, 0x43, 0x35, 0x58, 1091 0x70, 0x92, 0x32, 0x13, 0x80, 0x16, 0x26, 0x44, 0x22, 0x28, 0x05, 0x45, 1092 0x86, 0x90, 0x38, 0x19, 0x40, 0x06, 0x30, 0x56, 0x94, 0x09, 0x02, 0x02, 1093 0x96, 0x29, 0x22, 0x44, 0x87, 0x38, 0x09, 0x95, 0x58, 0x46, 0x42, 0x78, 1094 0x72, 0x77, 0x86, 0x31, 0x97, 0x19, 0x86, 0x51, 0x73, 0x76, 0x63, 0x98, 1095 0x39, 0x40, 0x20, 0x20, 0x67, 0x42, 0x55, 0x50, 0x63, 0x76, 0x81, 0x87, 1096 0x13, 0x81, 0x19, 0x54, 0x11, 0x77, 0x90, 0x26, 0x47, 0x25, 0x92, 0x88, 1097 0x18, 0x56, 0x23, 0x73, 0x91, 0x52, 0x39, 0x08, 0x59, 0x51, 0x81, 0x57, 1098 0x78, 0x17, 0x13, 0x90, 0x90, 0x50, 0x65, 0x59, 0x99, 0x77, 0x42, 0x28, 1099 0x21, 0x59, 0x97, 0x64, 0x25, 0x17, 0x92, 0x24, 0x50, 0x00, 0x28, 0x40, 1100 0x85, 0x33, 0x78, 0x86, 0x79, 0x40, 0x28, 0x30, 0x14, 0x12, 0x01, 0x72, 1101 0x41, 0x43, 0x06, 0x87, 0x67, 0x31, 0x66, 0x77, 0x07, 0x50, 0x55, 0x50, 1102 0x22, 0x80, 0x42, 0x06, 0x38, 0x01, 0x63, 0x66, 0x70, 0x12, 0x52, 0x91, 1103 0x90, 0x97, 0x21, 0x28, 0x22, 0x65, 0x02, 0x80, 0x72, 0x31, 0x17, 0x76, 1104 0x35, 0x16, 0x03, 0x56, 0x59, 0x93, 0x36, 0x37, 0x67, 0x54, 0x46, 0x87, 1105 0x29, 0x01, 0x30, 0x80, 0x47, 0x47, 0x31, 0x98, 0x34, 0x30, 0x23, 0x86, 1106 0x86, 0x14, 0x05, 0x75, 0x09, 0x88, 0x77, 0x92, 0x59, 0x43, 0x98, 0x72, 1107 0x55, 0x54, 0x25, 0x59, 0x22, 0x27, 0x21, 0x62, 0x97, 0x10, 0x61, 0x73, 1108 0x86, 0x95, 0x99, 0x10, 0x62, 0x35, 0x25, 0x16, 0x62, 0x60, 0x51, 0x48, 1109 0x69, 0x69, 0x92, 0x27, 0x19, 0x43, 0x40, 0x52, 0x70, 0x23, 0x37, 0x28, 1110 0x73, 0x10, 0x32, 0x55, 0x85, 0x46, 0x97, 0x59, 0x88, 0x48, 0x54, 0x06, 1111 0x58, 0x04, 0x82, 0x98, 0x88, 0x34, 0x05, 0x41, 0x94, 0x44, 0x35, 0x10, 1112 0x96, 0x48, 0x21, 0x17, 0x24, 0x40, 0x26, 0x15, 0x49, 0x28, 0x12, 0x17, 1113 0x10, 0x17, 0x91, 0x42, 0x84, 0x15, 0x83, 0x36, 0x29, 0x49, 0x92, 0x77, 1114 0x74, 0x11, 0x72, 0x97, 0x64, 0x53, 0x23, 0x29, 0x16, 0x35, 0x22, 0x10, 1115 0x87, 0x07, 0x44, 0x78, 0x18, 0x19, 0x79, 0x03, 0x58, 0x24, 0x15, 0x63, 1116 0x55, 0x75, 0x56, 0x14, 0x63, 0x65, 0x86, 0x61, 0x92, 0x94, 0x30, 0x92, 1117 0x69, 0x78, 0x40, 0x95, 0x19, 0x81, 0x41, 0x66, 0x97, 0x00, 0x17, 0x37, 1118 0x20, 0x82, 0x14, 0x26, 0x42, 0x63, 0x84, 0x20, 0x96, 0x11, 0x68, 0x37, 1119 0x60, 0x28, 0x69, 0x85, 0x45, 0x04, 0x62, 0x20, 0x49, 0x39, 0x74, 0x84, 1120 0x60, 0x23, 0x38, 0x33, 0x42, 0x49, 0x38, 0x82, 0x30, 0x63, 0x21, 0x51, 1121 0x69, 0x09, 0x05, 0x55, 0x78, 0x90, 0x68, 0x69, 0x22, 0x20, 0x17, 0x26, 1122 0x54, 0x01, 0x10, 0x04, 0x68, 0x19, 0x88, 0x40, 0x91, 0x74, 0x81, 0x29, 1123 0x07, 0x45, 0x33, 0x77, 0x12, 0x47, 0x08, 0x60, 0x09, 0x42, 0x84, 0x15, 1124 0x63, 0x92, 0x64, 0x77, 0x07, 0x44, 0x11, 0x07, 0x79, 0x81, 0x24, 0x05, 1125 0x21, 0x60, 0x81, 0x70, 0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95, 1126 0x67, 0x95, 0x55, 0x07, 0x96, 0x63, 0x84, 0x04, 0x74, 0x72, 0x61, 0x91, 1127 0x60, 0x09, 0x90, 0x14, 0x34, 0x94, 0x06, 0x12, 0x01, 0x94, 0x40, 0x14, 1128 0x12, 0x53, 0x64, 0x81, 0x75, 0x99, 0x36, 0x99, 0x11, 0x69, 0x95, 0x51, 1129 0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11, 0x88, 0x25, 0x37, 0x86, 1130 0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95 1131 }; 1132 1133 /* cipher text */ 1134 uint8_t ciphertext[2048] = { 1135 0xE2, 0x19, 0x24, 0x56, 0x13, 0x59, 0xA6, 0x5D, 0xDF, 0xD0, 0x72, 0xAA, 1136 0x23, 0xC7, 0x36, 0x3A, 0xBB, 0x3E, 0x8B, 0x64, 0xD5, 0xBF, 0xDE, 0x65, 1137 0xA2, 0x75, 0xD9, 0x45, 0x6C, 0x3C, 0xD2, 0x6A, 0xC7, 0xD0, 0x9A, 0xD0, 1138 0x87, 0xB8, 0xE4, 0x94, 0x11, 0x62, 0x5A, 0xC3, 0xC3, 0x01, 0xA3, 0x86, 1139 0xBC, 0xBC, 0x9C, 0xC0, 0x81, 0x9F, 0xBF, 0x5C, 0x6F, 0x3F, 0x13, 0xF1, 1140 0xAE, 0xCF, 0x26, 0xB3, 0xBC, 0x49, 0xD6, 0x3B, 0x7A, 0x2E, 0x99, 0x9E, 1141 0x1B, 0x04, 0x50, 0x6C, 0x48, 0x6B, 0x4E, 0x72, 0xFC, 0xC8, 0xA7, 0x0C, 1142 0x2C, 0xD9, 0xED, 0xE4, 0x82, 0xC4, 0x81, 0xA6, 0xB4, 0xCC, 0xAD, 0x10, 1143 0xF3, 0x1C, 0x39, 0x05, 0x41, 0x2D, 0x57, 0x32, 0xE7, 0x16, 0xF8, 0x4D, 1144 0xF0, 0xDE, 0x40, 0x5B, 0x5F, 0x80, 0xDC, 0xA7, 0xC3, 0x2D, 0x3D, 0x9E, 1145 0x27, 0xD4, 0xE8, 0x10, 0x8E, 0xEB, 0xA5, 0x68, 0x6F, 0x3D, 0xC0, 0x44, 1146 0xE7, 0x77, 0x73, 0xB9, 0x92, 0x8E, 0xA2, 0x26, 0x5C, 0x6F, 0x33, 0x4B, 1147 0x0B, 0xEF, 0x37, 0x55, 0xBE, 0xEC, 0x98, 0x83, 0x1E, 0xDF, 0xB2, 0x9E, 1148 0x5D, 0x1D, 0x78, 0x14, 0xD7, 0x85, 0x0E, 0xF8, 0x12, 0x30, 0x8E, 0x5D, 1149 0x08, 0x77, 0x0B, 0x2E, 0x9B, 0xF9, 0xA6, 0x72, 0xD2, 0x41, 0xC1, 0x8E, 1150 0x6B, 0x5E, 0x11, 0x85, 0x22, 0x6E, 0xE4, 0xA3, 0xEA, 0x4C, 0x91, 0xE1, 1151 0x7D, 0xD0, 0xEB, 0x9F, 0xD9, 0xD7, 0x05, 0x77, 0xD9, 0xA1, 0xC2, 0xFD, 1152 0x41, 0x63, 0x51, 0xB4, 0x7A, 0x1F, 0x21, 0xF0, 0xBF, 0x11, 0x4D, 0x9B, 1153 0x97, 0xAB, 0xB4, 0x94, 0x36, 0x34, 0xC9, 0x2D, 0x8B, 0xE2, 0x61, 0xCF, 1154 0xAF, 0x69, 0xD5, 0x5C, 0xE9, 0xED, 0xE3, 0xA0, 0x69, 0xD3, 0xE5, 0xAE, 1155 0x67, 0x6C, 0xC7, 0x11, 0xB1, 0x21, 0x96, 0xD6, 0xDB, 0xA8, 0x1D, 0xC9, 1156 0x83, 0x0B, 0xE2, 0xC6, 0x6E, 0x94, 0xE9, 0x50, 0x12, 0x9B, 0x01, 0x72, 1157 0xAA, 0xFD, 0x8B, 0x7C, 0xEC, 0x0D, 0x01, 0xA4, 0x5D, 0x00, 0xE9, 0x79, 1158 0x58, 0xF5, 0x67, 0xF9, 0x61, 0xC3, 0x11, 0xB4, 0x7E, 0x76, 0x0A, 0x4C, 1159 0x60, 0xD6, 0xBD, 0xC8, 0x31, 0xD3, 0x0C, 0xD0, 0x5B, 0xDF, 0x7B, 0x05, 1160 0x9A, 0xBB, 0xC6, 0x2E, 0x9F, 0xF8, 0x18, 0x80, 0x6D, 0x1B, 0x21, 0xE5, 1161 0xAC, 0x75, 0xBC, 0x0D, 0x72, 0x51, 0x61, 0xD7, 0xEA, 0xA2, 0xAC, 0x0E, 1162 0xC1, 0xE7, 0x49, 0x37, 0xE7, 0x7C, 0xDE, 0xBD, 0x56, 0x00, 0x44, 0x6D, 1163 0xAB, 0x81, 0x2B, 0x26, 0x4A, 0xAA, 0x60, 0xE6, 0x43, 0x8D, 0x88, 0x1C, 1164 0x48, 0x55, 0x53, 0x25, 0xE8, 0x3C, 0x46, 0xF0, 0xA6, 0x33, 0x2D, 0xA2, 1165 0xDC, 0x99, 0x57, 0x38, 0x59, 0xCF, 0x53, 0xFA, 0x3E, 0x78, 0x46, 0xA0, 1166 0xA9, 0x50, 0x12, 0x72, 0xAC, 0x15, 0xC6, 0xA7, 0x42, 0x0F, 0x59, 0x6E, 1167 0xEA, 0xB0, 0x3D, 0xB8, 0x94, 0x32, 0xD1, 0xB6, 0xE8, 0x90, 0x06, 0x66, 1168 0x0C, 0xDE, 0xA9, 0x35, 0xC7, 0xDD, 0x72, 0x42, 0x38, 0x33, 0x32, 0x2F, 1169 0x2C, 0x3F, 0xBD, 0x01, 0xD6, 0x47, 0xFC, 0x89, 0x31, 0x38, 0x2E, 0xB9, 1170 0x6B, 0xED, 0xDB, 0x85, 0x38, 0xB1, 0xA5, 0x50, 0xFA, 0xFB, 0xA7, 0x31, 1171 0xEC, 0xB6, 0xBB, 0x82, 0x50, 0xB4, 0x88, 0x5C, 0xED, 0xE5, 0x4B, 0x5B, 1172 0xBF, 0xB3, 0x18, 0xFB, 0xAD, 0x24, 0x41, 0x55, 0x80, 0xCD, 0xA3, 0xA1, 1173 0xD6, 0xD5, 0xB6, 0x06, 0xE9, 0x85, 0x12, 0x33, 0x52, 0x56, 0xF1, 0xB7, 1174 0xDC, 0x57, 0x9E, 0xB4, 0x00, 0x1E, 0xCB, 0x62, 0x13, 0x4C, 0x90, 0x9A, 1175 0x9D, 0x64, 0x80, 0xD1, 0x5E, 0xB3, 0xCB, 0x8A, 0x73, 0x4E, 0x7B, 0xBE, 1176 0x4D, 0xA7, 0xF7, 0xB7, 0x9C, 0x1C, 0x7F, 0x27, 0x1E, 0x7F, 0x58, 0xB2, 1177 0x74, 0xAF, 0x94, 0x0E, 0x19, 0x23, 0xE1, 0x6B, 0xD8, 0x20, 0x4F, 0x2C, 1178 0x13, 0xE8, 0x8C, 0x37, 0x46, 0x27, 0x55, 0x68, 0xDA, 0x3F, 0x7A, 0xC6, 1179 0xEF, 0x87, 0x1D, 0x3B, 0x95, 0x43, 0x5E, 0x75, 0xE0, 0x02, 0x22, 0x0E, 1180 0x11, 0x60, 0xAB, 0x1A, 0x91, 0x94, 0xC4, 0xFA, 0xD9, 0x92, 0x2B, 0xE5, 1181 0x03, 0xE0, 0x7A, 0x17, 0x5C, 0x67, 0x22, 0xB3, 0xCB, 0x77, 0x9E, 0x22, 1182 0x01, 0x5F, 0x5D, 0x64, 0xE4, 0x2F, 0xC4, 0x61, 0xCA, 0xC7, 0xFD, 0x20, 1183 0x24, 0x30, 0xAB, 0x3F, 0x1A, 0x08, 0x85, 0x08, 0x39, 0xDE, 0x19, 0x1C, 1184 0x1A, 0xEA, 0xB8, 0x7E, 0xE5, 0xBC, 0xD9, 0xB2, 0x59, 0xC8, 0x81, 0x02, 1185 0x1D, 0x5C, 0xC0, 0xDD, 0x8D, 0x56, 0xB6, 0x2E, 0x85, 0x26, 0xA8, 0x34, 1186 0x92, 0x36, 0x9A, 0x84, 0xBD, 0x27, 0xC1, 0x9D, 0x5E, 0x14, 0xC4, 0xB7, 1187 0x02, 0xA8, 0xC9, 0xC2, 0xAD, 0xDC, 0x98, 0x42, 0x51, 0xDE, 0x94, 0x28, 1188 0x39, 0xEF, 0xE9, 0x7F, 0x05, 0x3F, 0x1D, 0x67, 0x72, 0x04, 0xCF, 0x7D, 1189 0x38, 0x49, 0xC4, 0x59, 0xA5, 0xF6, 0xB6, 0x02, 0x31, 0xD0, 0x05, 0x74, 1190 0x4B, 0xD0, 0x89, 0xD1, 0x7F, 0xC6, 0xDB, 0x7E, 0x75, 0x62, 0xA3, 0xC2, 1191 0x2E, 0xB0, 0xCC, 0x9A, 0xD3, 0xA4, 0x14, 0xB6, 0xF2, 0x91, 0x44, 0x3F, 1192 0x84, 0xE0, 0x90, 0x4A, 0x6A, 0x34, 0x8C, 0x35, 0x3C, 0xB2, 0xA9, 0x35, 1193 0x88, 0xB0, 0x88, 0xF8, 0x7E, 0x5C, 0xD2, 0x08, 0x5E, 0x08, 0x15, 0x03, 1194 0xBC, 0xF5, 0x42, 0x6B, 0x28, 0xED, 0xDD, 0xAA, 0x4D, 0x78, 0x10, 0x31, 1195 0x32, 0xA2, 0xC5, 0xCA, 0xEE, 0x9A, 0x62, 0x52, 0x3E, 0x48, 0x83, 0xA4, 1196 0xCA, 0xD4, 0xC7, 0xA7, 0xA5, 0x3F, 0x44, 0x1C, 0x86, 0xAD, 0x52, 0x7D, 1197 0x80, 0x1D, 0x9E, 0x32, 0x3F, 0x2A, 0x2E, 0xD8, 0x89, 0xC1, 0xA4, 0xD6, 1198 0xC1, 0x90, 0x2E, 0x1A, 0x20, 0x4B, 0x87, 0x32, 0x35, 0x25, 0xD8, 0xB8, 1199 0x57, 0x15, 0x85, 0x1E, 0x3C, 0x8A, 0xDC, 0x1A, 0x49, 0x3D, 0x70, 0x35, 1200 0x99, 0xAA, 0xDE, 0x2C, 0xD4, 0xAF, 0x79, 0x72, 0xAB, 0x97, 0x84, 0x20, 1201 0xB6, 0x4F, 0x34, 0x3F, 0xEA, 0xAE, 0x5F, 0x8F, 0x3A, 0x42, 0xDB, 0x68, 1202 0xE5, 0x84, 0x63, 0x2E, 0x7A, 0x0E, 0xBD, 0x28, 0x6A, 0x24, 0xB6, 0xAB, 1203 0xE4, 0xAC, 0x20, 0x7C, 0x81, 0xD0, 0x69, 0x89, 0xF8, 0xDE, 0xA9, 0x02, 1204 0xFD, 0x1F, 0x08, 0xDA, 0x26, 0xC2, 0x24, 0xCA, 0xEB, 0x44, 0x16, 0x8D, 1205 0x55, 0x5F, 0xB9, 0xA9, 0x5A, 0x18, 0x50, 0xB1, 0x54, 0xF1, 0xBF, 0x06, 1206 0xC2, 0xB0, 0x95, 0xC2, 0xAE, 0xE5, 0xBF, 0xB3, 0xFD, 0xC9, 0xBF, 0x75, 1207 0x42, 0x7D, 0xA0, 0xA8, 0x95, 0xF9, 0x62, 0x3B, 0x9C, 0x0D, 0x81, 0xF3, 1208 0x9C, 0xFC, 0x19, 0x5B, 0xF7, 0xD1, 0x9C, 0xF0, 0xAA, 0xFE, 0xEF, 0x35, 1209 0x1E, 0x81, 0x9E, 0x02, 0x46, 0x52, 0x9B, 0x99, 0x0D, 0x12, 0x8B, 0x71, 1210 0x6C, 0x32, 0xB5, 0x23, 0x17, 0x03, 0xC5, 0xB0, 0xA1, 0xC3, 0x4B, 0x10, 1211 0x01, 0x4D, 0x4C, 0x4A, 0x46, 0x8F, 0xD9, 0x79, 0xBB, 0x10, 0x44, 0xB0, 1212 0x3C, 0x7D, 0x46, 0xFD, 0x38, 0xDF, 0xAF, 0x6E, 0x58, 0x7D, 0xE1, 0xEB, 1213 0xBB, 0x8C, 0xDC, 0x79, 0xDA, 0x41, 0xD1, 0x8B, 0x0B, 0x11, 0x4F, 0xE5, 1214 0x1C, 0xC1, 0x59, 0xA7, 0x1E, 0x5A, 0xC1, 0xEE, 0x27, 0x33, 0xC8, 0x55, 1215 0xA9, 0x32, 0xEA, 0xF7, 0x45, 0xB0, 0x08, 0xE9, 0x32, 0xDF, 0x70, 0x24, 1216 0x82, 0xD3, 0x2A, 0x3E, 0x4F, 0x42, 0xB9, 0x25, 0x10, 0xD1, 0x73, 0xFA, 1217 0xFD, 0xC1, 0x84, 0xF2, 0xF7, 0x0E, 0xBC, 0x9D, 0x90, 0x39, 0xD7, 0xFD, 1218 0x45, 0x77, 0xBA, 0x29, 0xF9, 0x87, 0x45, 0xC1, 0x32, 0x44, 0xB0, 0x27, 1219 0x6B, 0xFC, 0x8A, 0xFE, 0x00, 0x6F, 0x61, 0x98, 0xD0, 0x60, 0xC8, 0x10, 1220 0xE5, 0xBC, 0x88, 0x13, 0x45, 0x44, 0xA5, 0xEB, 0x6E, 0xCB, 0x11, 0xAF, 1221 0x30, 0xDC, 0x8B, 0xF8, 0x30, 0x46, 0xDA, 0x76, 0xF1, 0xE5, 0x14, 0x51, 1222 0x8A, 0x02, 0x5A, 0x5A, 0xAA, 0x7B, 0x2D, 0x57, 0x0A, 0x5C, 0x73, 0xD1, 1223 0x88, 0xCE, 0xBE, 0x3D, 0x06, 0x3F, 0x48, 0x1D, 0x44, 0x24, 0x6F, 0x4F, 1224 0x7F, 0x6A, 0xF2, 0x16, 0x34, 0x35, 0x38, 0x73, 0x8A, 0xE5, 0x25, 0xF4, 1225 0x34, 0x9E, 0x5B, 0x40, 0x90, 0x04, 0x57, 0x1B, 0x57, 0x75, 0x8F, 0xEA, 1226 0x1C, 0xF8, 0x7A, 0x68, 0x01, 0x1C, 0x8D, 0xBA, 0xF4, 0xE3, 0xD3, 0x8F, 1227 0x7F, 0xE4, 0x50, 0x35, 0x6B, 0x6B, 0xF6, 0xFC, 0x5F, 0x9B, 0x98, 0x78, 1228 0x16, 0x68, 0x72, 0x74, 0x71, 0x78, 0x25, 0x68, 0xE5, 0x1E, 0x66, 0xE2, 1229 0x4E, 0xC8, 0xDB, 0x92, 0x8E, 0x88, 0x64, 0x74, 0xDE, 0xDB, 0x85, 0x56, 1230 0x9F, 0xF9, 0xC4, 0x29, 0x54, 0xA8, 0xFB, 0xBA, 0xEA, 0xAB, 0xC7, 0x49, 1231 0x5C, 0x6C, 0xD7, 0x61, 0x8C, 0xE2, 0x2B, 0xF5, 0xA0, 0xA8, 0xD2, 0x41, 1232 0xC0, 0x54, 0xAB, 0xA7, 0x56, 0x5C, 0xE7, 0xA5, 0xEA, 0xBC, 0x47, 0xD1, 1233 0x0D, 0xD9, 0xC0, 0xA9, 0xC4, 0xA7, 0x3E, 0xD1, 0x2B, 0x1E, 0x34, 0x31, 1234 0x36, 0x9D, 0xB9, 0x51, 0xD3, 0xAD, 0x29, 0xE6, 0x9B, 0xD8, 0x4B, 0x93, 1235 0x33, 0x2F, 0x30, 0xEF, 0x18, 0x90, 0x69, 0x11, 0x09, 0xEA, 0xBA, 0xE0, 1236 0x10, 0x93, 0x63, 0x71, 0xA8, 0x83, 0x59, 0xDB, 0xFC, 0x12, 0x22, 0x84, 1237 0xC7, 0x01, 0x20, 0x99, 0xEC, 0x59, 0xA9, 0xE6, 0x9B, 0x5B, 0x8B, 0xB8, 1238 0x68, 0x52, 0x61, 0x8B, 0x4E, 0xF3, 0x50, 0x69, 0xF1, 0x49, 0x9B, 0xAF, 1239 0x53, 0xAD, 0xA0, 0x9D, 0x23, 0xE0, 0xE0, 0xC4, 0x31, 0xE4, 0x8E, 0x1C, 1240 0x51, 0x14, 0xFC, 0x95, 0x9C, 0xA6, 0x34, 0x85, 0xB0, 0x36, 0xFC, 0x7A, 1241 0x53, 0x03, 0x31, 0x0E, 0xCB, 0x34, 0x3E, 0xDF, 0xD1, 0x71, 0xBC, 0xDB, 1242 0xA1, 0xAF, 0x59, 0x4A, 0x03, 0x19, 0xA7, 0x8E, 0xB5, 0x82, 0x15, 0x24, 1243 0x69, 0x68, 0xBD, 0x9C, 0x2E, 0xFA, 0x06, 0xB5, 0x70, 0xC5, 0x70, 0xC4, 1244 0x14, 0x99, 0x01, 0x49, 0xBD, 0x6E, 0xAE, 0x10, 0xA1, 0xE4, 0xEF, 0xDD, 1245 0xE5, 0x51, 0x22, 0x9D, 0xF7, 0x93, 0xAB, 0x41, 0xBD, 0x86, 0x7A, 0xCC, 1246 0x51, 0x94, 0xEC, 0x22, 0xBE, 0x0D, 0x67, 0xFD, 0xA3, 0xFD, 0xCF, 0xF8, 1247 0x74, 0x0A, 0x5E, 0x1C, 0x71, 0xAD, 0xB6, 0xD0, 0xD7, 0xF8, 0x71, 0x34, 1248 0xAB, 0x62, 0xE7, 0xA8, 0x6B, 0x8F, 0x1E, 0x43, 0x46, 0xA5, 0xE4, 0xB4, 1249 0x52, 0x81, 0x66, 0xB3, 0xE5, 0x10, 0x23, 0x21, 0x2B, 0x31, 0x0F, 0xB8, 1250 0xB6, 0xC5, 0xA5, 0xC9, 0x90, 0x07, 0x83, 0xD0, 0xC3, 0x10, 0x7A, 0x04, 1251 0xBD, 0x8A, 0x3C, 0x7B, 0xF9, 0x0E, 0x51, 0x81, 0x96, 0xC8, 0xAE, 0xF9, 1252 0x27, 0xDE, 0x62, 0x7A, 0x41, 0x60, 0x35, 0x8F, 0x77, 0xBC, 0x95, 0x11, 1253 0x2C, 0xC4, 0x6C, 0x47, 0x7A, 0xEB, 0x29, 0xE5, 0x8E, 0xB5, 0xD6, 0xA5, 1254 0x54, 0x1B, 0xD0, 0xE0, 0x0F, 0x7D, 0x5C, 0x51, 0xD8, 0x6C, 0x92, 0x2F, 1255 0x13, 0x4E, 0x90, 0x77, 0xF8, 0x8D, 0x69, 0x78, 0x96, 0x96, 0x49, 0x9F, 1256 0x3C, 0x2E, 0x5C, 0xA6, 0x73, 0x27, 0x7D, 0xAD, 0x8D, 0xE3, 0x9B, 0x4A, 1257 0x2F, 0x50, 0x0A, 0x42, 0x7E, 0xF2, 0x3B, 0x50, 0x5C, 0x81, 0xC9, 0x49, 1258 0x01, 0x96, 0x83, 0x0A, 0xEC, 0x7F, 0xED, 0x1C, 0xA5, 0x7D, 0xF1, 0xE6, 1259 0xC4, 0xB3, 0x8F, 0xF9, 0x0F, 0xDB, 0x7B, 0xC1, 0x35, 0xF7, 0x63, 0x4A, 1260 0x39, 0xD4, 0x0E, 0x9E, 0x05, 0xD9, 0x42, 0xAA, 0xAB, 0x52, 0xCA, 0x4E, 1261 0x98, 0x3B, 0x43, 0x1A, 0x91, 0x25, 0xA9, 0x34, 0xD5, 0x66, 0xB2, 0xF4, 1262 0xFF, 0xDE, 0x64, 0x91, 0x90, 0xB9, 0x17, 0x70, 0xA0, 0xD6, 0xEA, 0xB6, 1263 0x36, 0xF4, 0x44, 0xCE, 0x86, 0x7B, 0x18, 0x74, 0x9C, 0x18, 0xAD, 0xB6, 1264 0xE0, 0x74, 0xC1, 0x0E, 0x29, 0x5D, 0x6A, 0x36, 0xD1, 0x3E, 0xB8, 0x2A, 1265 0xE4, 0x23, 0x1D, 0xB2, 0xAE, 0xF5, 0x5B, 0x8E, 0x2C, 0xD9, 0xD1, 0xE1, 1266 0x4F, 0x58, 0xA6, 0xE3, 0x88, 0x2E, 0xF9, 0xCF, 0x32, 0x3E, 0x8E, 0x37, 1267 0x95, 0xFF, 0xAD, 0x68, 0x11, 0x5E, 0x7F, 0x3D, 0x38, 0x06, 0x7C, 0x33, 1268 0x32, 0x78, 0x09, 0xEC, 0xCA, 0x3E, 0x08, 0xF1, 0xD0, 0x95, 0x19, 0xC9, 1269 0x7E, 0x62, 0xB2, 0x02, 0xA3, 0x5D, 0xF8, 0x3F, 0xA2, 0xB0, 0x8B, 0x38, 1270 0xB1, 0x8C, 0xEA, 0xB3, 0xE4, 0xBF, 0xD3, 0x6C, 0x6D, 0x3D, 0xD1, 0xC6, 1271 0xDA, 0x6B, 0x7A, 0xBA, 0x05, 0xEA, 0x9E, 0xA5, 0xE9, 0x00, 0xCC, 0x80, 1272 0x57, 0xAB, 0xD9, 0x0A, 0xD1, 0x00, 0x82, 0x2A, 0x51, 0x4B, 0xA2, 0x96, 1273 0xEB, 0x96, 0x14, 0xA8, 0x46, 0xDF, 0x1D, 0x48, 0xAE, 0xFA, 0x12, 0xA8, 1274 0x89, 0x8E, 0xEF, 0xBC, 0x3C, 0xA1, 0x6E, 0xDD, 0x90, 0x66, 0x2E, 0x56, 1275 0x6B, 0xF7, 0x1D, 0xF0, 0x46, 0x11, 0x4A, 0xA6, 0x07, 0x73, 0xC4, 0xE3, 1276 0x97, 0xFE, 0x7E, 0x22, 0x6F, 0x22, 0xB4, 0x6F, 0xB0, 0x32, 0x0A, 0x5E, 1277 0x85, 0x7E, 0x54, 0xB4, 0x24, 0xBD, 0x36, 0xA7, 0x94, 0xE7, 0x37, 0xFD, 1278 0x1A, 0xAF, 0xF4, 0x44, 0xB4, 0x35, 0x4F, 0xE0, 0x41, 0x0E, 0x7D, 0x73, 1279 0x29, 0x28, 0xDA, 0xAF, 0x69, 0xB2, 0xC5, 0xA7, 0x2A, 0x0A, 0xB5, 0x9C, 1280 0xC2, 0xAC, 0x5F, 0x59, 0x5C, 0xEE, 0x44, 0x49, 0x6F, 0x4F, 0x64, 0x43, 1281 0x6F, 0x43, 0x44, 0xAA, 0xA0, 0x4E, 0x94, 0x7C, 0x26, 0x5A, 0xF1, 0xD9, 1282 0xE6, 0x09, 0x80, 0x7A, 0x7D, 0x2E, 0xA2, 0xB9, 0x1A, 0x7A, 0x8F, 0x2A, 1283 0x97, 0x77, 0x23, 0xB4, 0x10, 0xAD, 0x20, 0x7B, 0xA3, 0x0F, 0xFD, 0x44, 1284 0x38, 0xAD, 0x94, 0x39, 0x88, 0x1C, 0xC4, 0xC8, 0xDF, 0xF1, 0x04, 0xA6, 1285 0x51, 0x5D, 0x54, 0x53, 0x60, 0xE4, 0x8A, 0x89, 0x4A, 0x9C, 0xE1, 0x68, 1286 0x4D, 0xFE, 0x69, 0x94, 0x0B, 0x8E, 0xED, 0x6C, 0xFE, 0x11, 0xA7, 0x77, 1287 0xBF, 0x08, 0x41, 0x67, 0x22, 0x59, 0x51, 0x48, 0xEE, 0x59, 0x02, 0x0E, 1288 0x60, 0x6D, 0xAE, 0x8C, 0xC6, 0x39, 0xB7, 0x55, 0xC5, 0x3B, 0x87, 0xA9, 1289 0xBD, 0xD8, 0xEA, 0x48, 0x21, 0xE4, 0x57, 0x51, 0x56, 0x03, 0xF4, 0xBE, 1290 0xBD, 0xBD, 0xC5, 0x26, 0x9B, 0x27, 0xE3, 0xAE, 0xD5, 0x1E, 0x30, 0xE9, 1291 0x7C, 0x9D, 0xDB, 0xE1, 0x09, 0x9D, 0x82, 0x49, 0x15, 0x38, 0x69, 0xFC, 1292 0x1D, 0x52, 0x1A, 0x75, 0xE6, 0xDD, 0x1D, 0xBE, 0x06, 0xC4, 0x9F, 0x14, 1293 0x4C, 0x12, 0xDE, 0xDF, 0x4A, 0xE1, 0x3B, 0xE7, 0xD1, 0xE3, 0x71, 0xD1, 1294 0xFA, 0xD8, 0x0E, 0x63, 0x27, 0xA9, 0xC7, 0x9D, 0xC0, 0x01, 0xC2, 0xDD, 1295 0xFC, 0xA6, 0x1F, 0x59, 0x87, 0xC5, 0x56, 0x99, 0x80, 0xEB, 0xF0, 0xB8, 1296 0xB3, 0x00, 0x9A, 0x61, 0xDB, 0x50, 0x79, 0x48, 0x37, 0x35, 0xDA, 0xD8, 1297 0xF2, 0x37, 0xA7, 0x43, 0xA7, 0xEB, 0x88, 0x2C, 0x68, 0xB4, 0xBB, 0x14, 1298 0x45, 0x31, 0x6B, 0x87, 0x65, 0xE7, 0x82, 0xB4, 0x74, 0xD2, 0xFF, 0x7F, 1299 0x60, 0x15, 0x94, 0x75, 0xEE, 0x30, 0x3C, 0x4E, 0xFC, 0x41, 0xD1, 0x5B, 1300 0xDD, 0x84, 0x6E, 0x13, 0x6C, 0xF8, 0x12, 0xE6, 0xB7, 0xA4, 0xB9, 0xC8, 1301 0x13, 0x89, 0x0C, 0x34, 0xA6, 0xAF, 0x09, 0xEB, 0xF2, 0xB3, 0x79, 0x77, 1302 0x80, 0xD8, 0x77, 0x64, 0xAD, 0x32, 0x3D, 0xD2, 0x06, 0xDF, 0x72, 0x11, 1303 0x4A, 0xA7, 0x70, 0xCE, 0xF9, 0xE6, 0x81, 0x35, 0xA4, 0xA7, 0x52, 0xB5, 1304 0x13, 0x68, 0x5C, 0x69, 0x45, 0xE2, 0x77, 0x2D, 0xBE, 0x2C, 0xE9, 0x38, 1305 0x25, 0x28, 0x7B, 0x63, 0x2C, 0x19, 0x8F, 0x59 1306 }; 1307 1308 /* aad */ 1309 uint8_t aad[] = { 1310 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B 1311 }; 1312 1313 /* iv */ 1314 uint8_t iv[] = { 1315 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1316 0x0C, 0x0D, 0x0E, 0x0F 1317 }; 1318 1319 /* cipher key */ 1320 uint8_t cipher_key[] = { 1321 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1322 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1323 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F 1324 }; 1325 1326 /* auth key */ 1327 uint8_t auth_key[] = { 1328 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1329 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1330 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 1331 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 1332 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 1333 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 1334 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 1335 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 1336 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 1337 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 1338 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F 1339 }; 1340 1341 /* AEAD key */ 1342 uint8_t aead_key[] = { 1343 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1344 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1345 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F 1346 }; 1347 1348 /* Digests */ 1349 uint8_t digest[2048] = { 0x00 }; 1350 1351 uint8_t ipsec_plaintext[2048] = { 1352 /* IP */ 1353 0x45, 0x00, 0x00, 0x28, 0xa4, 0xad, 0x40, 0x00, 1354 0x40, 0x06, 0x78, 0x80, 0x0a, 0x01, 0x03, 0x8f, 1355 0x0a, 0x01, 0x06, 0x12, 1356 1357 /* TCP */ 1358 0x80, 0x23, 0x06, 0xb8, 0xcb, 0x71, 0x26, 0x02, 1359 0xdd, 0x6b, 0xb0, 0x3e, 0x50, 0x10, 0x16, 0xd0, 1360 0x75, 0x67, 0x00, 0x01 1361 }; 1362 1363 /** ECDSA secp256r1 elliptic curve test params */ 1364 struct 1365 cperf_ecdsa_test_data secp256r1_perf_data = { 1366 .pubkey_qx = { 1367 .data = secp256r1_qx, 1368 .length = sizeof(secp256r1_qx), 1369 }, 1370 .pubkey_qy = { 1371 .data = secp256r1_qy, 1372 .length = sizeof(secp256r1_qy), 1373 }, 1374 .k = { 1375 .data = secp256r1_k, 1376 .length = sizeof(secp256r1_k), 1377 }, 1378 .sign_r = { 1379 .data = secp256r1_sign_r, 1380 .length = sizeof(secp256r1_sign_r), 1381 }, 1382 .sign_s = { 1383 .data = secp256r1_sign_s, 1384 .length = sizeof(secp256r1_sign_s), 1385 }, 1386 .pkey = { 1387 .data = secp256r1_pkey, 1388 .length = sizeof(secp256r1_pkey), 1389 }, 1390 .message = { 1391 .data = secp256r1_message, 1392 .length = sizeof(secp256r1_message), 1393 }, 1394 .curve = RTE_CRYPTO_EC_GROUP_SECP256R1 1395 }; 1396 1397 /* EdDSA 25519 elliptic curve test params */ 1398 struct 1399 cperf_eddsa_test_data ed25519_perf_data = { 1400 .pubkey = { 1401 .data = ed25519_pubkey, 1402 .length = sizeof(ed25519_pubkey), 1403 }, 1404 .pkey = { 1405 .data = ed25519_pkey, 1406 .length = sizeof(ed25519_pkey), 1407 }, 1408 .sign = { 1409 .data = ed25519_sign, 1410 .length = sizeof(ed25519_sign), 1411 }, 1412 .message = { 1413 .data = ed25519_message, 1414 .length = sizeof(ed25519_message), 1415 }, 1416 .curve = RTE_CRYPTO_EC_GROUP_ED25519, 1417 .instance = RTE_CRYPTO_EDCURVE_25519 1418 }; 1419 1420 /** SM2 Fp256 elliptic curve test params */ 1421 struct 1422 cperf_sm2_test_data sm2_perf_data = { 1423 .pubkey_qx = { 1424 .data = fp256_qx, 1425 .length = sizeof(fp256_qx), 1426 }, 1427 .pubkey_qy = { 1428 .data = fp256_qy, 1429 .length = sizeof(fp256_qy), 1430 }, 1431 .k = { 1432 .data = fp256_k, 1433 .length = sizeof(fp256_k), 1434 }, 1435 .sign_r = { 1436 .data = fp256_sign_r, 1437 .length = sizeof(fp256_sign_r), 1438 }, 1439 .sign_s = { 1440 .data = fp256_sign_s, 1441 .length = sizeof(fp256_sign_s), 1442 }, 1443 .id = { 1444 .data = fp256_id, 1445 .length = sizeof(fp256_id), 1446 }, 1447 .pkey = { 1448 .data = fp256_pkey, 1449 .length = sizeof(fp256_pkey), 1450 }, 1451 .message = { 1452 .data = fp256_message, 1453 .length = sizeof(fp256_message), 1454 }, 1455 .digest = { 1456 .data = fp256_digest, 1457 .length = sizeof(fp256_digest), 1458 }, 1459 .cipher = { 1460 .data = fp256_cipher, 1461 .length = sizeof(fp256_cipher), 1462 }, 1463 .curve = RTE_CRYPTO_EC_GROUP_SM2 1464 }; 1465 1466 struct cperf_test_vector* 1467 cperf_test_vector_get_dummy(struct cperf_options *options) 1468 { 1469 struct cperf_test_vector *t_vec; 1470 1471 t_vec = (struct cperf_test_vector *)rte_malloc(NULL, 1472 sizeof(struct cperf_test_vector), 0); 1473 if (t_vec == NULL) 1474 return t_vec; 1475 1476 t_vec->plaintext.data = plaintext; 1477 t_vec->plaintext.length = options->max_buffer_size; 1478 1479 if (options->op_type == CPERF_ASYM_MODEX) { 1480 t_vec->modex.mod = options->modex_data->modulus.data; 1481 t_vec->modex.exp = options->modex_data->exponent.data; 1482 t_vec->modex.mlen = options->modex_data->modulus.len; 1483 t_vec->modex.elen = options->modex_data->exponent.len; 1484 } 1485 1486 if (options->op_type == CPERF_PDCP || options->op_type == CPERF_TLS || 1487 options->op_type == CPERF_IPSEC) { 1488 if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) { 1489 t_vec->cipher_key.length = 0; 1490 t_vec->ciphertext.data = plaintext; 1491 t_vec->cipher_key.data = NULL; 1492 } else { 1493 t_vec->cipher_key.length = options->cipher_key_sz; 1494 t_vec->ciphertext.data = ciphertext; 1495 t_vec->cipher_key.data = cipher_key; 1496 } 1497 1498 if (options->op_type == CPERF_IPSEC) 1499 t_vec->plaintext.data = ipsec_plaintext; 1500 1501 /* Init IV data ptr */ 1502 t_vec->cipher_iv.data = NULL; 1503 1504 if (options->cipher_iv_sz != 0) { 1505 /* Set IV parameters */ 1506 t_vec->cipher_iv.data = rte_malloc(NULL, 1507 options->cipher_iv_sz, 16); 1508 if (t_vec->cipher_iv.data == NULL) { 1509 rte_free(t_vec); 1510 return NULL; 1511 } 1512 memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz); 1513 } 1514 t_vec->ciphertext.length = options->max_buffer_size; 1515 t_vec->cipher_iv.length = options->cipher_iv_sz; 1516 t_vec->data.cipher_offset = 0; 1517 t_vec->data.cipher_length = options->max_buffer_size; 1518 if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) { 1519 t_vec->auth_key.length = 0; 1520 t_vec->auth_key.data = NULL; 1521 t_vec->digest.data = NULL; 1522 t_vec->digest.length = 0; 1523 } else { 1524 t_vec->auth_key.length = options->auth_key_sz; 1525 t_vec->auth_key.data = auth_key; 1526 1527 t_vec->digest.data = rte_malloc(NULL, 1528 options->digest_sz, 1529 16); 1530 if (t_vec->digest.data == NULL) { 1531 rte_free(t_vec->cipher_iv.data); 1532 rte_free(t_vec); 1533 return NULL; 1534 } 1535 t_vec->digest.phys_addr = 1536 rte_malloc_virt2iova(t_vec->digest.data); 1537 t_vec->digest.length = options->digest_sz; 1538 memcpy(t_vec->digest.data, digest, 1539 options->digest_sz); 1540 } 1541 t_vec->data.auth_offset = 0; 1542 t_vec->data.auth_length = options->max_buffer_size; 1543 } 1544 1545 if (options->op_type == CPERF_CIPHER_ONLY || 1546 options->op_type == CPERF_CIPHER_THEN_AUTH || 1547 options->op_type == CPERF_AUTH_THEN_CIPHER || 1548 options->op_type == CPERF_DOCSIS) { 1549 if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) { 1550 t_vec->cipher_key.length = 0; 1551 t_vec->ciphertext.data = plaintext; 1552 t_vec->cipher_key.data = NULL; 1553 } else { 1554 t_vec->cipher_key.length = options->cipher_key_sz; 1555 t_vec->ciphertext.data = ciphertext; 1556 t_vec->cipher_key.data = cipher_key; 1557 } 1558 1559 /* Init IV data ptr */ 1560 t_vec->cipher_iv.data = NULL; 1561 1562 if (options->cipher_iv_sz != 0) { 1563 /* Set IV parameters */ 1564 t_vec->cipher_iv.data = rte_malloc(NULL, 1565 options->cipher_iv_sz, 16); 1566 if (t_vec->cipher_iv.data == NULL) { 1567 rte_free(t_vec); 1568 return NULL; 1569 } 1570 memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz); 1571 } 1572 t_vec->ciphertext.length = options->max_buffer_size; 1573 t_vec->cipher_iv.length = options->cipher_iv_sz; 1574 t_vec->data.cipher_offset = 0; 1575 t_vec->data.cipher_length = options->max_buffer_size; 1576 1577 } 1578 1579 if (options->op_type == CPERF_AUTH_ONLY || 1580 options->op_type == CPERF_CIPHER_THEN_AUTH || 1581 options->op_type == CPERF_AUTH_THEN_CIPHER) { 1582 if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) { 1583 t_vec->auth_key.length = 0; 1584 t_vec->auth_key.data = NULL; 1585 t_vec->digest.data = NULL; 1586 t_vec->digest.length = 0; 1587 } else { 1588 t_vec->auth_key.length = options->auth_key_sz; 1589 t_vec->auth_key.data = auth_key; 1590 1591 t_vec->digest.data = rte_malloc(NULL, 1592 options->digest_sz, 1593 16); 1594 if (t_vec->digest.data == NULL) { 1595 rte_free(t_vec->cipher_iv.data); 1596 rte_free(t_vec); 1597 return NULL; 1598 } 1599 t_vec->digest.phys_addr = 1600 rte_malloc_virt2iova(t_vec->digest.data); 1601 t_vec->digest.length = options->digest_sz; 1602 memcpy(t_vec->digest.data, digest, 1603 options->digest_sz); 1604 } 1605 t_vec->data.auth_offset = 0; 1606 t_vec->data.auth_length = options->max_buffer_size; 1607 1608 /* Set IV parameters */ 1609 t_vec->auth_iv.data = rte_malloc(NULL, options->auth_iv_sz, 1610 16); 1611 if (options->auth_iv_sz && t_vec->auth_iv.data == NULL) { 1612 if (options->op_type != CPERF_AUTH_ONLY) 1613 rte_free(t_vec->cipher_iv.data); 1614 rte_free(t_vec); 1615 return NULL; 1616 } 1617 memcpy(t_vec->auth_iv.data, iv, options->auth_iv_sz); 1618 t_vec->auth_iv.length = options->auth_iv_sz; 1619 } 1620 1621 if (options->op_type == CPERF_AEAD || options->op_type == CPERF_TLS || 1622 options->op_type == CPERF_IPSEC) { 1623 t_vec->aead_key.length = options->aead_key_sz; 1624 t_vec->aead_key.data = aead_key; 1625 1626 if (options->aead_aad_sz) { 1627 t_vec->aad.data = rte_malloc(NULL, 1628 options->aead_aad_sz, 16); 1629 if (t_vec->aad.data == NULL) { 1630 rte_free(t_vec); 1631 return NULL; 1632 } 1633 1634 if (options->aead_aad_sz > sizeof(aad)) 1635 options->aead_aad_sz = sizeof(aad); 1636 1637 memcpy(t_vec->aad.data, aad, options->aead_aad_sz); 1638 t_vec->aad.phys_addr = rte_malloc_virt2iova(t_vec->aad.data); 1639 t_vec->aad.length = options->aead_aad_sz; 1640 } else { 1641 t_vec->aad.data = NULL; 1642 t_vec->aad.length = 0; 1643 } 1644 1645 t_vec->digest.data = rte_malloc(NULL, options->digest_sz, 1646 16); 1647 if (t_vec->digest.data == NULL) { 1648 rte_free(t_vec->aad.data); 1649 rte_free(t_vec); 1650 return NULL; 1651 } 1652 t_vec->digest.phys_addr = 1653 rte_malloc_virt2iova(t_vec->digest.data); 1654 t_vec->digest.length = options->digest_sz; 1655 memcpy(t_vec->digest.data, digest, options->digest_sz); 1656 t_vec->data.aead_offset = 0; 1657 t_vec->data.aead_length = options->max_buffer_size; 1658 1659 /* Set IV parameters */ 1660 t_vec->aead_iv.data = rte_malloc(NULL, options->aead_iv_sz, 1661 16); 1662 if (options->aead_iv_sz && t_vec->aead_iv.data == NULL) { 1663 rte_free(t_vec->aad.data); 1664 rte_free(t_vec->digest.data); 1665 rte_free(t_vec); 1666 return NULL; 1667 } 1668 memcpy(t_vec->aead_iv.data, iv, options->aead_iv_sz); 1669 t_vec->aead_iv.length = options->aead_iv_sz; 1670 } 1671 return t_vec; 1672 } 1673