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 fp256_pkey[] = { 808 0x77, 0x84, 0x35, 0x65, 0x4c, 0x7a, 0x6d, 0xb1, 809 0x1e, 0x63, 0x0b, 0x41, 0x97, 0x36, 0x04, 0xf4, 810 0xec, 0x35, 0xee, 0x3b, 0x76, 0xc2, 0x34, 0x08, 811 0xd9, 0x4a, 0x22, 0x0d, 0x7f, 0xf6, 0xc6, 0x90 812 }; 813 814 static uint8_t fp256_qx[] = { 815 0x7b, 0x24, 0xa3, 0x03, 0xcf, 0xb2, 0x22, 0xfa, 816 0x4c, 0xb3, 0x88, 0x54, 0xf9, 0x30, 0xd1, 0x4d, 817 0xe3, 0x50, 0xda, 0xba, 0xe6, 0xa7, 0x0b, 0x91, 818 0x4c, 0x04, 0x0d, 0x5c, 0xe0, 0x8e, 0x86, 0xc5 819 }; 820 821 static uint8_t fp256_qy[] = { 822 0xbc, 0x39, 0xe3, 0x19, 0x4e, 0xd2, 0x29, 0x22, 823 0x5b, 0x37, 0x2d, 0xeb, 0xcc, 0x05, 0x52, 0x8d, 824 0xb9, 0x40, 0xa3, 0xab, 0x3c, 0xbe, 0x16, 0x30, 825 0x1c, 0xe4, 0xe8, 0x7f, 0xba, 0x6e, 0x0b, 0xae 826 }; 827 828 static uint8_t fp256_k[] = { 829 0x01, 0x04, 0x02, 0x05, 0x04, 0x06, 0x03, 0x07 830 }; 831 832 static uint8_t fp256_sign_r[] = { 833 0x75, 0x2B, 0x8C, 0x15, 0x38, 0x10, 0xF6, 0xC0, 834 0x28, 0xC9, 0x8A, 0x51, 0xD0, 0x62, 0x69, 0x4B, 835 0xF6, 0x58, 0x06, 0xEB, 0xF1, 0x91, 0x1F, 0x15, 836 0x8B, 0x08, 0x09, 0xF9, 0x88, 0x0A, 0x44, 0x24 837 }; 838 839 static uint8_t fp256_sign_s[] = { 840 0x5A, 0x3C, 0x96, 0x3E, 0x1C, 0xB4, 0x19, 0xF9, 841 0xD7, 0x78, 0xB8, 0xCE, 0xFF, 0x9D, 0xB1, 0x31, 842 0x77, 0xDB, 0xA0, 0xFE, 0x84, 0x61, 0x1A, 0xD9, 843 0x4E, 0xFF, 0x82, 0x13, 0x1C, 0xCA, 0x04, 0x75, 844 }; 845 846 static uint8_t fp256_id[] = { 847 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 848 }; 849 850 static uint8_t fp256_message[] = { 851 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 852 0x64, 0x69, 0x67, 0x65, 0x73, 0x74 853 }; 854 855 static uint8_t fp256_digest[] = { 856 0x0F, 0xB5, 0xCE, 0xF3, 0x3C, 0xB7, 0xD1, 0x35, 857 0xA9, 0x3A, 0xC7, 0xA7, 0x89, 0x2A, 0x6D, 0x9A, 858 0xF3, 0x1E, 0xC5, 0x38, 0xD3, 0x65, 0x1B, 0xB9, 859 0xDF, 0x5F, 0x7F, 0x4A, 0xD8, 0x89, 0x57, 0xF1 860 }; 861 862 static uint8_t fp256_cipher[] = { 863 0x30, 0x78, 0x02, 0x21, 0x00, 0xAB, 0xBD, 0xE8, 864 0xE8, 0x80, 0x93, 0x36, 0x77, 0xB6, 0x44, 0x47, 865 0x6D, 0x00, 0xF6, 0x51, 0xC8, 0x80, 0x9C, 0x9E, 866 0xD9, 0xEC, 0x36, 0x8A, 0x60, 0x8E, 0x26, 0x2D, 867 0x71, 0x31, 0xB7, 0xC1, 0x38, 0x02, 0x21, 0x00, 868 0xE1, 0xBF, 0x4C, 0x13, 0x7A, 0x87, 0x40, 0x32, 869 0xF5, 0xA1, 0xE2, 0xA1, 0x3B, 0x83, 0xBF, 0x6B, 870 0x3F, 0xFB, 0xC8, 0x13, 0x01, 0xDE, 0xCF, 0xC0, 871 0xF4, 0x24, 0x66, 0x52, 0x89, 0xDA, 0x6D, 0x7A, 872 0x04, 0x20, 0x8E, 0xFD, 0x52, 0x77, 0xC9, 0xE7, 873 0x90, 0xD1, 0x17, 0x75, 0xDE, 0xEE, 0xF3, 0xE5, 874 0x11, 0x0C, 0x5D, 0xE1, 0x3A, 0xB6, 0x2B, 0x72, 875 0x60, 0xE5, 0xD5, 0xF3, 0x0F, 0xE2, 0x44, 0xDB, 876 0xBC, 0x66, 0x04, 0x0E, 0x78, 0x2D, 0xC0, 0x3D, 877 0x38, 0xA2, 0x42, 0xA4, 0x8E, 0x8B, 0xF5, 0x06, 878 0x32, 0xFA 879 }; 880 881 uint8_t plaintext[2048] = { 882 0x71, 0x75, 0x83, 0x98, 0x75, 0x42, 0x51, 0x09, 0x94, 0x02, 0x13, 0x20, 883 0x15, 0x64, 0x46, 0x32, 0x08, 0x18, 0x91, 0x82, 0x86, 0x52, 0x23, 0x93, 884 0x44, 0x54, 0x28, 0x68, 0x78, 0x78, 0x70, 0x06, 0x42, 0x74, 0x41, 0x27, 885 0x73, 0x38, 0x53, 0x77, 0x51, 0x96, 0x53, 0x24, 0x03, 0x88, 0x74, 0x14, 886 0x70, 0x23, 0x88, 0x30, 0x85, 0x18, 0x89, 0x27, 0x41, 0x71, 0x61, 0x23, 887 0x04, 0x83, 0x30, 0x57, 0x26, 0x47, 0x23, 0x75, 0x25, 0x62, 0x53, 0x80, 888 0x38, 0x34, 0x21, 0x33, 0x34, 0x51, 0x46, 0x29, 0x94, 0x64, 0x22, 0x67, 889 0x25, 0x45, 0x70, 0x26, 0x74, 0x39, 0x46, 0x71, 0x08, 0x85, 0x27, 0x18, 890 0x93, 0x39, 0x72, 0x11, 0x57, 0x26, 0x88, 0x46, 0x47, 0x49, 0x86, 0x92, 891 0x03, 0x37, 0x96, 0x40, 0x84, 0x53, 0x67, 0x47, 0x60, 0x60, 0x37, 0x67, 892 0x02, 0x68, 0x76, 0x62, 0x42, 0x01, 0x59, 0x11, 0x01, 0x89, 0x40, 0x87, 893 0x58, 0x20, 0x51, 0x21, 0x66, 0x26, 0x26, 0x73, 0x03, 0x06, 0x14, 0x25, 894 0x98, 0x42, 0x44, 0x67, 0x24, 0x78, 0x71, 0x45, 0x32, 0x61, 0x20, 0x26, 895 0x08, 0x88, 0x44, 0x26, 0x40, 0x63, 0x76, 0x23, 0x78, 0x55, 0x81, 0x97, 896 0x95, 0x89, 0x39, 0x07, 0x14, 0x50, 0x50, 0x73, 0x07, 0x20, 0x86, 0x83, 897 0x74, 0x57, 0x72, 0x36, 0x68, 0x61, 0x14, 0x41, 0x56, 0x49, 0x64, 0x72, 898 0x75, 0x81, 0x47, 0x91, 0x08, 0x76, 0x47, 0x06, 0x55, 0x77, 0x61, 0x45, 899 0x50, 0x10, 0x07, 0x46, 0x46, 0x89, 0x80, 0x07, 0x24, 0x95, 0x39, 0x43, 900 0x03, 0x75, 0x24, 0x35, 0x57, 0x82, 0x09, 0x64, 0x29, 0x24, 0x26, 0x66, 901 0x67, 0x29, 0x05, 0x90, 0x82, 0x02, 0x45, 0x71, 0x21, 0x34, 0x25, 0x48, 902 0x68, 0x26, 0x01, 0x18, 0x73, 0x18, 0x46, 0x15, 0x14, 0x33, 0x28, 0x44, 903 0x24, 0x82, 0x20, 0x12, 0x99, 0x43, 0x68, 0x43, 0x25, 0x14, 0x34, 0x33, 904 0x31, 0x13, 0x77, 0x44, 0x95, 0x22, 0x99, 0x02, 0x30, 0x50, 0x74, 0x43, 905 0x81, 0x78, 0x32, 0x17, 0x09, 0x85, 0x04, 0x37, 0x31, 0x98, 0x76, 0x79, 906 0x64, 0x10, 0x39, 0x89, 0x59, 0x90, 0x50, 0x15, 0x77, 0x39, 0x28, 0x14, 907 0x30, 0x19, 0x68, 0x77, 0x89, 0x48, 0x86, 0x16, 0x11, 0x33, 0x84, 0x56, 908 0x10, 0x20, 0x94, 0x72, 0x41, 0x69, 0x13, 0x00, 0x56, 0x27, 0x01, 0x57, 909 0x46, 0x65, 0x65, 0x19, 0x33, 0x07, 0x62, 0x19, 0x91, 0x60, 0x29, 0x11, 910 0x41, 0x25, 0x88, 0x21, 0x93, 0x85, 0x87, 0x40, 0x91, 0x25, 0x32, 0x86, 911 0x76, 0x54, 0x92, 0x52, 0x72, 0x46, 0x61, 0x84, 0x20, 0x14, 0x65, 0x83, 912 0x69, 0x90, 0x80, 0x11, 0x35, 0x70, 0x42, 0x64, 0x74, 0x85, 0x15, 0x23, 913 0x06, 0x55, 0x67, 0x49, 0x76, 0x47, 0x11, 0x95, 0x00, 0x85, 0x05, 0x12, 914 0x58, 0x53, 0x25, 0x73, 0x62, 0x81, 0x63, 0x82, 0x32, 0x75, 0x16, 0x48, 915 0x04, 0x96, 0x75, 0x16, 0x43, 0x83, 0x41, 0x85, 0x95, 0x67, 0x27, 0x83, 916 0x22, 0x43, 0x02, 0x27, 0x69, 0x62, 0x78, 0x50, 0x57, 0x66, 0x99, 0x89, 917 0x05, 0x06, 0x35, 0x86, 0x37, 0x27, 0x48, 0x46, 0x50, 0x80, 0x96, 0x40, 918 0x42, 0x36, 0x21, 0x54, 0x49, 0x18, 0x63, 0x38, 0x45, 0x76, 0x23, 0x20, 919 0x28, 0x06, 0x17, 0x32, 0x58, 0x50, 0x49, 0x54, 0x29, 0x46, 0x18, 0x12, 920 0x17, 0x50, 0x02, 0x80, 0x99, 0x53, 0x15, 0x02, 0x07, 0x14, 0x19, 0x60, 921 0x56, 0x43, 0x76, 0x71, 0x49, 0x99, 0x54, 0x83, 0x28, 0x94, 0x30, 0x30, 922 0x57, 0x05, 0x89, 0x80, 0x11, 0x03, 0x78, 0x35, 0x73, 0x52, 0x67, 0x39, 923 0x67, 0x07, 0x04, 0x49, 0x23, 0x83, 0x86, 0x89, 0x57, 0x71, 0x08, 0x41, 924 0x15, 0x97, 0x19, 0x72, 0x03, 0x27, 0x72, 0x52, 0x66, 0x67, 0x99, 0x15, 925 0x33, 0x64, 0x69, 0x78, 0x07, 0x83, 0x53, 0x71, 0x21, 0x50, 0x05, 0x48, 926 0x59, 0x85, 0x01, 0x36, 0x65, 0x02, 0x52, 0x01, 0x09, 0x49, 0x28, 0x77, 927 0x25, 0x35, 0x67, 0x77, 0x81, 0x64, 0x24, 0x29, 0x42, 0x32, 0x59, 0x22, 928 0x93, 0x48, 0x59, 0x03, 0x85, 0x87, 0x15, 0x55, 0x23, 0x42, 0x58, 0x17, 929 0x18, 0x37, 0x70, 0x83, 0x80, 0x12, 0x44, 0x83, 0x45, 0x70, 0x55, 0x86, 930 0x03, 0x23, 0x01, 0x56, 0x94, 0x12, 0x41, 0x34, 0x82, 0x90, 0x83, 0x46, 931 0x17, 0x56, 0x66, 0x96, 0x75, 0x80, 0x59, 0x07, 0x15, 0x84, 0x19, 0x52, 932 0x37, 0x44, 0x44, 0x83, 0x72, 0x43, 0x25, 0x42, 0x26, 0x86, 0x87, 0x86, 933 0x91, 0x62, 0x14, 0x90, 0x34, 0x26, 0x14, 0x33, 0x59, 0x70, 0x73, 0x15, 934 0x49, 0x40, 0x66, 0x88, 0x42, 0x66, 0x16, 0x42, 0x55, 0x92, 0x82, 0x06, 935 0x20, 0x96, 0x36, 0x96, 0x13, 0x07, 0x84, 0x94, 0x37, 0x66, 0x62, 0x78, 936 0x60, 0x58, 0x80, 0x50, 0x69, 0x03, 0x97, 0x16, 0x64, 0x45, 0x21, 0x39, 937 0x79, 0x28, 0x52, 0x17, 0x14, 0x77, 0x31, 0x60, 0x86, 0x70, 0x09, 0x53, 938 0x39, 0x32, 0x52, 0x31, 0x35, 0x79, 0x24, 0x70, 0x25, 0x48, 0x23, 0x49, 939 0x10, 0x64, 0x54, 0x30, 0x82, 0x34, 0x51, 0x20, 0x46, 0x04, 0x29, 0x25, 940 0x65, 0x09, 0x55, 0x30, 0x30, 0x52, 0x85, 0x32, 0x79, 0x19, 0x59, 0x07, 941 0x05, 0x12, 0x11, 0x03, 0x21, 0x90, 0x36, 0x62, 0x23, 0x67, 0x36, 0x67, 942 0x47, 0x39, 0x92, 0x88, 0x45, 0x43, 0x71, 0x16, 0x48, 0x27, 0x68, 0x39, 943 0x98, 0x38, 0x03, 0x31, 0x85, 0x10, 0x06, 0x95, 0x54, 0x79, 0x28, 0x79, 944 0x56, 0x16, 0x65, 0x69, 0x00, 0x54, 0x09, 0x91, 0x06, 0x10, 0x10, 0x86, 945 0x75, 0x01, 0x02, 0x71, 0x01, 0x09, 0x32, 0x94, 0x66, 0x43, 0x68, 0x36, 946 0x19, 0x52, 0x02, 0x04, 0x45, 0x49, 0x40, 0x94, 0x07, 0x87, 0x86, 0x79, 947 0x84, 0x07, 0x75, 0x30, 0x73, 0x02, 0x57, 0x81, 0x65, 0x02, 0x28, 0x96, 948 0x57, 0x07, 0x70, 0x34, 0x39, 0x35, 0x75, 0x19, 0x47, 0x57, 0x08, 0x75, 949 0x86, 0x57, 0x11, 0x32, 0x09, 0x47, 0x83, 0x93, 0x20, 0x94, 0x90, 0x88, 950 0x39, 0x63, 0x22, 0x88, 0x54, 0x54, 0x95, 0x75, 0x67, 0x26, 0x02, 0x49, 951 0x26, 0x17, 0x35, 0x16, 0x27, 0x65, 0x64, 0x26, 0x93, 0x92, 0x77, 0x85, 952 0x84, 0x40, 0x59, 0x29, 0x49, 0x69, 0x94, 0x71, 0x72, 0x21, 0x55, 0x03, 953 0x19, 0x74, 0x09, 0x40, 0x57, 0x68, 0x41, 0x19, 0x11, 0x21, 0x63, 0x56, 954 0x29, 0x77, 0x57, 0x81, 0x44, 0x40, 0x76, 0x77, 0x02, 0x71, 0x66, 0x35, 955 0x89, 0x02, 0x64, 0x51, 0x61, 0x02, 0x46, 0x91, 0x38, 0x93, 0x62, 0x57, 956 0x18, 0x98, 0x12, 0x87, 0x29, 0x48, 0x65, 0x39, 0x99, 0x45, 0x54, 0x69, 957 0x51, 0x16, 0x25, 0x75, 0x60, 0x70, 0x33, 0x72, 0x01, 0x60, 0x26, 0x51, 958 0x44, 0x14, 0x39, 0x12, 0x95, 0x48, 0x87, 0x33, 0x90, 0x16, 0x42, 0x78, 959 0x48, 0x58, 0x96, 0x93, 0x75, 0x23, 0x07, 0x13, 0x86, 0x07, 0x96, 0x30, 960 0x22, 0x82, 0x91, 0x36, 0x72, 0x16, 0x48, 0x77, 0x64, 0x99, 0x07, 0x34, 961 0x78, 0x60, 0x61, 0x13, 0x48, 0x93, 0x46, 0x62, 0x48, 0x38, 0x37, 0x96, 962 0x58, 0x64, 0x39, 0x90, 0x69, 0x46, 0x81, 0x98, 0x61, 0x89, 0x15, 0x59, 963 0x78, 0x98, 0x21, 0x34, 0x00, 0x69, 0x97, 0x80, 0x28, 0x81, 0x53, 0x49, 964 0x79, 0x53, 0x92, 0x20, 0x29, 0x40, 0x70, 0x06, 0x09, 0x55, 0x99, 0x41, 965 0x51, 0x35, 0x55, 0x27, 0x39, 0x06, 0x29, 0x83, 0x66, 0x03, 0x68, 0x14, 966 0x11, 0x69, 0x95, 0x51, 0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11, 967 0x88, 0x25, 0x37, 0x86, 0x01, 0x52, 0x93, 0x52, 0x02, 0x24, 0x91, 0x58, 968 0x56, 0x37, 0x50, 0x88, 0x39, 0x09, 0x61, 0x19, 0x08, 0x86, 0x29, 0x51, 969 0x63, 0x38, 0x81, 0x14, 0x75, 0x75, 0x39, 0x99, 0x22, 0x04, 0x32, 0x63, 970 0x14, 0x68, 0x41, 0x79, 0x09, 0x57, 0x87, 0x29, 0x26, 0x94, 0x05, 0x71, 971 0x82, 0x41, 0x26, 0x98, 0x68, 0x18, 0x55, 0x42, 0x78, 0x05, 0x74, 0x17, 972 0x34, 0x34, 0x07, 0x62, 0x94, 0x72, 0x21, 0x08, 0x54, 0x72, 0x21, 0x08, 973 0x31, 0x53, 0x82, 0x35, 0x27, 0x40, 0x85, 0x77, 0x08, 0x52, 0x58, 0x48, 974 0x03, 0x86, 0x65, 0x51, 0x96, 0x43, 0x89, 0x19, 0x15, 0x08, 0x49, 0x62, 975 0x57, 0x46, 0x17, 0x68, 0x56, 0x04, 0x70, 0x63, 0x75, 0x88, 0x13, 0x27, 976 0x87, 0x44, 0x46, 0x27, 0x02, 0x97, 0x71, 0x07, 0x40, 0x17, 0x24, 0x61, 977 0x16, 0x94, 0x86, 0x85, 0x67, 0x58, 0x87, 0x92, 0x02, 0x84, 0x75, 0x19, 978 0x43, 0x60, 0x68, 0x03, 0x54, 0x75, 0x33, 0x17, 0x97, 0x75, 0x12, 0x62, 979 0x43, 0x08, 0x35, 0x75, 0x32, 0x21, 0x08, 0x82, 0x78, 0x04, 0x74, 0x09, 980 0x13, 0x48, 0x63, 0x68, 0x67, 0x09, 0x08, 0x50, 0x11, 0x71, 0x64, 0x72, 981 0x63, 0x76, 0x21, 0x62, 0x80, 0x57, 0x19, 0x15, 0x26, 0x88, 0x02, 0x26, 982 0x83, 0x17, 0x61, 0x76, 0x28, 0x10, 0x22, 0x37, 0x56, 0x71, 0x51, 0x60, 983 0x12, 0x79, 0x24, 0x83, 0x78, 0x47, 0x78, 0x20, 0x52, 0x27, 0x19, 0x88, 984 0x81, 0x04, 0x70, 0x20, 0x25, 0x10, 0x04, 0x01, 0x72, 0x57, 0x30, 0x93, 985 0x96, 0x23, 0x02, 0x94, 0x61, 0x44, 0x17, 0x65, 0x77, 0x60, 0x27, 0x43, 986 0x24, 0x59, 0x46, 0x76, 0x00, 0x11, 0x31, 0x99, 0x41, 0x48, 0x75, 0x32, 987 0x05, 0x15, 0x45, 0x31, 0x57, 0x89, 0x10, 0x47, 0x53, 0x14, 0x66, 0x54, 988 0x60, 0x55, 0x36, 0x93, 0x30, 0x03, 0x63, 0x80, 0x65, 0x43, 0x17, 0x36, 989 0x18, 0x64, 0x21, 0x38, 0x16, 0x19, 0x19, 0x51, 0x73, 0x80, 0x38, 0x27, 990 0x30, 0x89, 0x13, 0x43, 0x54, 0x11, 0x78, 0x05, 0x24, 0x38, 0x83, 0x56, 991 0x50, 0x59, 0x12, 0x47, 0x69, 0x70, 0x70, 0x91, 0x28, 0x02, 0x08, 0x91, 992 0x66, 0x09, 0x31, 0x65, 0x46, 0x20, 0x04, 0x85, 0x89, 0x53, 0x91, 0x42, 993 0x34, 0x09, 0x36, 0x92, 0x42, 0x06, 0x87, 0x88, 0x23, 0x54, 0x87, 0x85, 994 0x52, 0x98, 0x95, 0x76, 0x13, 0x50, 0x59, 0x89, 0x18, 0x14, 0x17, 0x47, 995 0x10, 0x97, 0x39, 0x14, 0x33, 0x79, 0x83, 0x62, 0x55, 0x18, 0x30, 0x83, 996 0x03, 0x45, 0x38, 0x37, 0x35, 0x20, 0x94, 0x84, 0x89, 0x80, 0x89, 0x10, 997 0x48, 0x77, 0x33, 0x36, 0x50, 0x07, 0x93, 0x02, 0x45, 0x42, 0x91, 0x12, 998 0x98, 0x09, 0x77, 0x20, 0x31, 0x95, 0x10, 0x29, 0x89, 0x02, 0x38, 0x92, 999 0x90, 0x19, 0x51, 0x10, 0x19, 0x82, 0x23, 0x68, 0x06, 0x00, 0x67, 0x50, 1000 0x25, 0x03, 0x41, 0x69, 0x53, 0x42, 0x23, 0x99, 0x29, 0x21, 0x63, 0x22, 1001 0x72, 0x54, 0x72, 0x40, 0x23, 0x39, 0x74, 0x92, 0x53, 0x28, 0x67, 0x56, 1002 0x46, 0x84, 0x59, 0x85, 0x10, 0x92, 0x31, 0x20, 0x39, 0x95, 0x65, 0x15, 1003 0x76, 0x35, 0x37, 0x21, 0x98, 0x41, 0x68, 0x74, 0x94, 0x94, 0x86, 0x90, 1004 0x35, 0x07, 0x06, 0x38, 0x78, 0x32, 0x00, 0x60, 0x86, 0x12, 0x34, 0x65, 1005 0x67, 0x35, 0x76, 0x94, 0x78, 0x22, 0x99, 0x42, 0x82, 0x40, 0x05, 0x74, 1006 0x18, 0x59, 0x03, 0x83, 0x89, 0x05, 0x19, 0x28, 0x88, 0x35, 0x59, 0x10, 1007 0x12, 0x96, 0x48, 0x67, 0x59, 0x87, 0x26, 0x85, 0x74, 0x64, 0x78, 0x56, 1008 0x91, 0x81, 0x45, 0x90, 0x21, 0x80, 0x32, 0x19, 0x61, 0x38, 0x61, 0x70, 1009 0x35, 0x08, 0x93, 0x53, 0x21, 0x95, 0x08, 0x27, 0x90, 0x28, 0x94, 0x27, 1010 0x35, 0x78, 0x03, 0x57, 0x74, 0x84, 0x73, 0x63, 0x27, 0x98, 0x14, 0x21, 1011 0x22, 0x36, 0x75, 0x31, 0x81, 0x65, 0x85, 0x51, 0x02, 0x45, 0x18, 0x06, 1012 0x39, 0x13, 0x29, 0x29, 0x73, 0x26, 0x99, 0x51, 0x38, 0x43, 0x35, 0x58, 1013 0x70, 0x92, 0x32, 0x13, 0x80, 0x16, 0x26, 0x44, 0x22, 0x28, 0x05, 0x45, 1014 0x86, 0x90, 0x38, 0x19, 0x40, 0x06, 0x30, 0x56, 0x94, 0x09, 0x02, 0x02, 1015 0x96, 0x29, 0x22, 0x44, 0x87, 0x38, 0x09, 0x95, 0x58, 0x46, 0x42, 0x78, 1016 0x72, 0x77, 0x86, 0x31, 0x97, 0x19, 0x86, 0x51, 0x73, 0x76, 0x63, 0x98, 1017 0x39, 0x40, 0x20, 0x20, 0x67, 0x42, 0x55, 0x50, 0x63, 0x76, 0x81, 0x87, 1018 0x13, 0x81, 0x19, 0x54, 0x11, 0x77, 0x90, 0x26, 0x47, 0x25, 0x92, 0x88, 1019 0x18, 0x56, 0x23, 0x73, 0x91, 0x52, 0x39, 0x08, 0x59, 0x51, 0x81, 0x57, 1020 0x78, 0x17, 0x13, 0x90, 0x90, 0x50, 0x65, 0x59, 0x99, 0x77, 0x42, 0x28, 1021 0x21, 0x59, 0x97, 0x64, 0x25, 0x17, 0x92, 0x24, 0x50, 0x00, 0x28, 0x40, 1022 0x85, 0x33, 0x78, 0x86, 0x79, 0x40, 0x28, 0x30, 0x14, 0x12, 0x01, 0x72, 1023 0x41, 0x43, 0x06, 0x87, 0x67, 0x31, 0x66, 0x77, 0x07, 0x50, 0x55, 0x50, 1024 0x22, 0x80, 0x42, 0x06, 0x38, 0x01, 0x63, 0x66, 0x70, 0x12, 0x52, 0x91, 1025 0x90, 0x97, 0x21, 0x28, 0x22, 0x65, 0x02, 0x80, 0x72, 0x31, 0x17, 0x76, 1026 0x35, 0x16, 0x03, 0x56, 0x59, 0x93, 0x36, 0x37, 0x67, 0x54, 0x46, 0x87, 1027 0x29, 0x01, 0x30, 0x80, 0x47, 0x47, 0x31, 0x98, 0x34, 0x30, 0x23, 0x86, 1028 0x86, 0x14, 0x05, 0x75, 0x09, 0x88, 0x77, 0x92, 0x59, 0x43, 0x98, 0x72, 1029 0x55, 0x54, 0x25, 0x59, 0x22, 0x27, 0x21, 0x62, 0x97, 0x10, 0x61, 0x73, 1030 0x86, 0x95, 0x99, 0x10, 0x62, 0x35, 0x25, 0x16, 0x62, 0x60, 0x51, 0x48, 1031 0x69, 0x69, 0x92, 0x27, 0x19, 0x43, 0x40, 0x52, 0x70, 0x23, 0x37, 0x28, 1032 0x73, 0x10, 0x32, 0x55, 0x85, 0x46, 0x97, 0x59, 0x88, 0x48, 0x54, 0x06, 1033 0x58, 0x04, 0x82, 0x98, 0x88, 0x34, 0x05, 0x41, 0x94, 0x44, 0x35, 0x10, 1034 0x96, 0x48, 0x21, 0x17, 0x24, 0x40, 0x26, 0x15, 0x49, 0x28, 0x12, 0x17, 1035 0x10, 0x17, 0x91, 0x42, 0x84, 0x15, 0x83, 0x36, 0x29, 0x49, 0x92, 0x77, 1036 0x74, 0x11, 0x72, 0x97, 0x64, 0x53, 0x23, 0x29, 0x16, 0x35, 0x22, 0x10, 1037 0x87, 0x07, 0x44, 0x78, 0x18, 0x19, 0x79, 0x03, 0x58, 0x24, 0x15, 0x63, 1038 0x55, 0x75, 0x56, 0x14, 0x63, 0x65, 0x86, 0x61, 0x92, 0x94, 0x30, 0x92, 1039 0x69, 0x78, 0x40, 0x95, 0x19, 0x81, 0x41, 0x66, 0x97, 0x00, 0x17, 0x37, 1040 0x20, 0x82, 0x14, 0x26, 0x42, 0x63, 0x84, 0x20, 0x96, 0x11, 0x68, 0x37, 1041 0x60, 0x28, 0x69, 0x85, 0x45, 0x04, 0x62, 0x20, 0x49, 0x39, 0x74, 0x84, 1042 0x60, 0x23, 0x38, 0x33, 0x42, 0x49, 0x38, 0x82, 0x30, 0x63, 0x21, 0x51, 1043 0x69, 0x09, 0x05, 0x55, 0x78, 0x90, 0x68, 0x69, 0x22, 0x20, 0x17, 0x26, 1044 0x54, 0x01, 0x10, 0x04, 0x68, 0x19, 0x88, 0x40, 0x91, 0x74, 0x81, 0x29, 1045 0x07, 0x45, 0x33, 0x77, 0x12, 0x47, 0x08, 0x60, 0x09, 0x42, 0x84, 0x15, 1046 0x63, 0x92, 0x64, 0x77, 0x07, 0x44, 0x11, 0x07, 0x79, 0x81, 0x24, 0x05, 1047 0x21, 0x60, 0x81, 0x70, 0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95, 1048 0x67, 0x95, 0x55, 0x07, 0x96, 0x63, 0x84, 0x04, 0x74, 0x72, 0x61, 0x91, 1049 0x60, 0x09, 0x90, 0x14, 0x34, 0x94, 0x06, 0x12, 0x01, 0x94, 0x40, 0x14, 1050 0x12, 0x53, 0x64, 0x81, 0x75, 0x99, 0x36, 0x99, 0x11, 0x69, 0x95, 0x51, 1051 0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11, 0x88, 0x25, 0x37, 0x86, 1052 0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95 1053 }; 1054 1055 /* cipher text */ 1056 uint8_t ciphertext[2048] = { 1057 0xE2, 0x19, 0x24, 0x56, 0x13, 0x59, 0xA6, 0x5D, 0xDF, 0xD0, 0x72, 0xAA, 1058 0x23, 0xC7, 0x36, 0x3A, 0xBB, 0x3E, 0x8B, 0x64, 0xD5, 0xBF, 0xDE, 0x65, 1059 0xA2, 0x75, 0xD9, 0x45, 0x6C, 0x3C, 0xD2, 0x6A, 0xC7, 0xD0, 0x9A, 0xD0, 1060 0x87, 0xB8, 0xE4, 0x94, 0x11, 0x62, 0x5A, 0xC3, 0xC3, 0x01, 0xA3, 0x86, 1061 0xBC, 0xBC, 0x9C, 0xC0, 0x81, 0x9F, 0xBF, 0x5C, 0x6F, 0x3F, 0x13, 0xF1, 1062 0xAE, 0xCF, 0x26, 0xB3, 0xBC, 0x49, 0xD6, 0x3B, 0x7A, 0x2E, 0x99, 0x9E, 1063 0x1B, 0x04, 0x50, 0x6C, 0x48, 0x6B, 0x4E, 0x72, 0xFC, 0xC8, 0xA7, 0x0C, 1064 0x2C, 0xD9, 0xED, 0xE4, 0x82, 0xC4, 0x81, 0xA6, 0xB4, 0xCC, 0xAD, 0x10, 1065 0xF3, 0x1C, 0x39, 0x05, 0x41, 0x2D, 0x57, 0x32, 0xE7, 0x16, 0xF8, 0x4D, 1066 0xF0, 0xDE, 0x40, 0x5B, 0x5F, 0x80, 0xDC, 0xA7, 0xC3, 0x2D, 0x3D, 0x9E, 1067 0x27, 0xD4, 0xE8, 0x10, 0x8E, 0xEB, 0xA5, 0x68, 0x6F, 0x3D, 0xC0, 0x44, 1068 0xE7, 0x77, 0x73, 0xB9, 0x92, 0x8E, 0xA2, 0x26, 0x5C, 0x6F, 0x33, 0x4B, 1069 0x0B, 0xEF, 0x37, 0x55, 0xBE, 0xEC, 0x98, 0x83, 0x1E, 0xDF, 0xB2, 0x9E, 1070 0x5D, 0x1D, 0x78, 0x14, 0xD7, 0x85, 0x0E, 0xF8, 0x12, 0x30, 0x8E, 0x5D, 1071 0x08, 0x77, 0x0B, 0x2E, 0x9B, 0xF9, 0xA6, 0x72, 0xD2, 0x41, 0xC1, 0x8E, 1072 0x6B, 0x5E, 0x11, 0x85, 0x22, 0x6E, 0xE4, 0xA3, 0xEA, 0x4C, 0x91, 0xE1, 1073 0x7D, 0xD0, 0xEB, 0x9F, 0xD9, 0xD7, 0x05, 0x77, 0xD9, 0xA1, 0xC2, 0xFD, 1074 0x41, 0x63, 0x51, 0xB4, 0x7A, 0x1F, 0x21, 0xF0, 0xBF, 0x11, 0x4D, 0x9B, 1075 0x97, 0xAB, 0xB4, 0x94, 0x36, 0x34, 0xC9, 0x2D, 0x8B, 0xE2, 0x61, 0xCF, 1076 0xAF, 0x69, 0xD5, 0x5C, 0xE9, 0xED, 0xE3, 0xA0, 0x69, 0xD3, 0xE5, 0xAE, 1077 0x67, 0x6C, 0xC7, 0x11, 0xB1, 0x21, 0x96, 0xD6, 0xDB, 0xA8, 0x1D, 0xC9, 1078 0x83, 0x0B, 0xE2, 0xC6, 0x6E, 0x94, 0xE9, 0x50, 0x12, 0x9B, 0x01, 0x72, 1079 0xAA, 0xFD, 0x8B, 0x7C, 0xEC, 0x0D, 0x01, 0xA4, 0x5D, 0x00, 0xE9, 0x79, 1080 0x58, 0xF5, 0x67, 0xF9, 0x61, 0xC3, 0x11, 0xB4, 0x7E, 0x76, 0x0A, 0x4C, 1081 0x60, 0xD6, 0xBD, 0xC8, 0x31, 0xD3, 0x0C, 0xD0, 0x5B, 0xDF, 0x7B, 0x05, 1082 0x9A, 0xBB, 0xC6, 0x2E, 0x9F, 0xF8, 0x18, 0x80, 0x6D, 0x1B, 0x21, 0xE5, 1083 0xAC, 0x75, 0xBC, 0x0D, 0x72, 0x51, 0x61, 0xD7, 0xEA, 0xA2, 0xAC, 0x0E, 1084 0xC1, 0xE7, 0x49, 0x37, 0xE7, 0x7C, 0xDE, 0xBD, 0x56, 0x00, 0x44, 0x6D, 1085 0xAB, 0x81, 0x2B, 0x26, 0x4A, 0xAA, 0x60, 0xE6, 0x43, 0x8D, 0x88, 0x1C, 1086 0x48, 0x55, 0x53, 0x25, 0xE8, 0x3C, 0x46, 0xF0, 0xA6, 0x33, 0x2D, 0xA2, 1087 0xDC, 0x99, 0x57, 0x38, 0x59, 0xCF, 0x53, 0xFA, 0x3E, 0x78, 0x46, 0xA0, 1088 0xA9, 0x50, 0x12, 0x72, 0xAC, 0x15, 0xC6, 0xA7, 0x42, 0x0F, 0x59, 0x6E, 1089 0xEA, 0xB0, 0x3D, 0xB8, 0x94, 0x32, 0xD1, 0xB6, 0xE8, 0x90, 0x06, 0x66, 1090 0x0C, 0xDE, 0xA9, 0x35, 0xC7, 0xDD, 0x72, 0x42, 0x38, 0x33, 0x32, 0x2F, 1091 0x2C, 0x3F, 0xBD, 0x01, 0xD6, 0x47, 0xFC, 0x89, 0x31, 0x38, 0x2E, 0xB9, 1092 0x6B, 0xED, 0xDB, 0x85, 0x38, 0xB1, 0xA5, 0x50, 0xFA, 0xFB, 0xA7, 0x31, 1093 0xEC, 0xB6, 0xBB, 0x82, 0x50, 0xB4, 0x88, 0x5C, 0xED, 0xE5, 0x4B, 0x5B, 1094 0xBF, 0xB3, 0x18, 0xFB, 0xAD, 0x24, 0x41, 0x55, 0x80, 0xCD, 0xA3, 0xA1, 1095 0xD6, 0xD5, 0xB6, 0x06, 0xE9, 0x85, 0x12, 0x33, 0x52, 0x56, 0xF1, 0xB7, 1096 0xDC, 0x57, 0x9E, 0xB4, 0x00, 0x1E, 0xCB, 0x62, 0x13, 0x4C, 0x90, 0x9A, 1097 0x9D, 0x64, 0x80, 0xD1, 0x5E, 0xB3, 0xCB, 0x8A, 0x73, 0x4E, 0x7B, 0xBE, 1098 0x4D, 0xA7, 0xF7, 0xB7, 0x9C, 0x1C, 0x7F, 0x27, 0x1E, 0x7F, 0x58, 0xB2, 1099 0x74, 0xAF, 0x94, 0x0E, 0x19, 0x23, 0xE1, 0x6B, 0xD8, 0x20, 0x4F, 0x2C, 1100 0x13, 0xE8, 0x8C, 0x37, 0x46, 0x27, 0x55, 0x68, 0xDA, 0x3F, 0x7A, 0xC6, 1101 0xEF, 0x87, 0x1D, 0x3B, 0x95, 0x43, 0x5E, 0x75, 0xE0, 0x02, 0x22, 0x0E, 1102 0x11, 0x60, 0xAB, 0x1A, 0x91, 0x94, 0xC4, 0xFA, 0xD9, 0x92, 0x2B, 0xE5, 1103 0x03, 0xE0, 0x7A, 0x17, 0x5C, 0x67, 0x22, 0xB3, 0xCB, 0x77, 0x9E, 0x22, 1104 0x01, 0x5F, 0x5D, 0x64, 0xE4, 0x2F, 0xC4, 0x61, 0xCA, 0xC7, 0xFD, 0x20, 1105 0x24, 0x30, 0xAB, 0x3F, 0x1A, 0x08, 0x85, 0x08, 0x39, 0xDE, 0x19, 0x1C, 1106 0x1A, 0xEA, 0xB8, 0x7E, 0xE5, 0xBC, 0xD9, 0xB2, 0x59, 0xC8, 0x81, 0x02, 1107 0x1D, 0x5C, 0xC0, 0xDD, 0x8D, 0x56, 0xB6, 0x2E, 0x85, 0x26, 0xA8, 0x34, 1108 0x92, 0x36, 0x9A, 0x84, 0xBD, 0x27, 0xC1, 0x9D, 0x5E, 0x14, 0xC4, 0xB7, 1109 0x02, 0xA8, 0xC9, 0xC2, 0xAD, 0xDC, 0x98, 0x42, 0x51, 0xDE, 0x94, 0x28, 1110 0x39, 0xEF, 0xE9, 0x7F, 0x05, 0x3F, 0x1D, 0x67, 0x72, 0x04, 0xCF, 0x7D, 1111 0x38, 0x49, 0xC4, 0x59, 0xA5, 0xF6, 0xB6, 0x02, 0x31, 0xD0, 0x05, 0x74, 1112 0x4B, 0xD0, 0x89, 0xD1, 0x7F, 0xC6, 0xDB, 0x7E, 0x75, 0x62, 0xA3, 0xC2, 1113 0x2E, 0xB0, 0xCC, 0x9A, 0xD3, 0xA4, 0x14, 0xB6, 0xF2, 0x91, 0x44, 0x3F, 1114 0x84, 0xE0, 0x90, 0x4A, 0x6A, 0x34, 0x8C, 0x35, 0x3C, 0xB2, 0xA9, 0x35, 1115 0x88, 0xB0, 0x88, 0xF8, 0x7E, 0x5C, 0xD2, 0x08, 0x5E, 0x08, 0x15, 0x03, 1116 0xBC, 0xF5, 0x42, 0x6B, 0x28, 0xED, 0xDD, 0xAA, 0x4D, 0x78, 0x10, 0x31, 1117 0x32, 0xA2, 0xC5, 0xCA, 0xEE, 0x9A, 0x62, 0x52, 0x3E, 0x48, 0x83, 0xA4, 1118 0xCA, 0xD4, 0xC7, 0xA7, 0xA5, 0x3F, 0x44, 0x1C, 0x86, 0xAD, 0x52, 0x7D, 1119 0x80, 0x1D, 0x9E, 0x32, 0x3F, 0x2A, 0x2E, 0xD8, 0x89, 0xC1, 0xA4, 0xD6, 1120 0xC1, 0x90, 0x2E, 0x1A, 0x20, 0x4B, 0x87, 0x32, 0x35, 0x25, 0xD8, 0xB8, 1121 0x57, 0x15, 0x85, 0x1E, 0x3C, 0x8A, 0xDC, 0x1A, 0x49, 0x3D, 0x70, 0x35, 1122 0x99, 0xAA, 0xDE, 0x2C, 0xD4, 0xAF, 0x79, 0x72, 0xAB, 0x97, 0x84, 0x20, 1123 0xB6, 0x4F, 0x34, 0x3F, 0xEA, 0xAE, 0x5F, 0x8F, 0x3A, 0x42, 0xDB, 0x68, 1124 0xE5, 0x84, 0x63, 0x2E, 0x7A, 0x0E, 0xBD, 0x28, 0x6A, 0x24, 0xB6, 0xAB, 1125 0xE4, 0xAC, 0x20, 0x7C, 0x81, 0xD0, 0x69, 0x89, 0xF8, 0xDE, 0xA9, 0x02, 1126 0xFD, 0x1F, 0x08, 0xDA, 0x26, 0xC2, 0x24, 0xCA, 0xEB, 0x44, 0x16, 0x8D, 1127 0x55, 0x5F, 0xB9, 0xA9, 0x5A, 0x18, 0x50, 0xB1, 0x54, 0xF1, 0xBF, 0x06, 1128 0xC2, 0xB0, 0x95, 0xC2, 0xAE, 0xE5, 0xBF, 0xB3, 0xFD, 0xC9, 0xBF, 0x75, 1129 0x42, 0x7D, 0xA0, 0xA8, 0x95, 0xF9, 0x62, 0x3B, 0x9C, 0x0D, 0x81, 0xF3, 1130 0x9C, 0xFC, 0x19, 0x5B, 0xF7, 0xD1, 0x9C, 0xF0, 0xAA, 0xFE, 0xEF, 0x35, 1131 0x1E, 0x81, 0x9E, 0x02, 0x46, 0x52, 0x9B, 0x99, 0x0D, 0x12, 0x8B, 0x71, 1132 0x6C, 0x32, 0xB5, 0x23, 0x17, 0x03, 0xC5, 0xB0, 0xA1, 0xC3, 0x4B, 0x10, 1133 0x01, 0x4D, 0x4C, 0x4A, 0x46, 0x8F, 0xD9, 0x79, 0xBB, 0x10, 0x44, 0xB0, 1134 0x3C, 0x7D, 0x46, 0xFD, 0x38, 0xDF, 0xAF, 0x6E, 0x58, 0x7D, 0xE1, 0xEB, 1135 0xBB, 0x8C, 0xDC, 0x79, 0xDA, 0x41, 0xD1, 0x8B, 0x0B, 0x11, 0x4F, 0xE5, 1136 0x1C, 0xC1, 0x59, 0xA7, 0x1E, 0x5A, 0xC1, 0xEE, 0x27, 0x33, 0xC8, 0x55, 1137 0xA9, 0x32, 0xEA, 0xF7, 0x45, 0xB0, 0x08, 0xE9, 0x32, 0xDF, 0x70, 0x24, 1138 0x82, 0xD3, 0x2A, 0x3E, 0x4F, 0x42, 0xB9, 0x25, 0x10, 0xD1, 0x73, 0xFA, 1139 0xFD, 0xC1, 0x84, 0xF2, 0xF7, 0x0E, 0xBC, 0x9D, 0x90, 0x39, 0xD7, 0xFD, 1140 0x45, 0x77, 0xBA, 0x29, 0xF9, 0x87, 0x45, 0xC1, 0x32, 0x44, 0xB0, 0x27, 1141 0x6B, 0xFC, 0x8A, 0xFE, 0x00, 0x6F, 0x61, 0x98, 0xD0, 0x60, 0xC8, 0x10, 1142 0xE5, 0xBC, 0x88, 0x13, 0x45, 0x44, 0xA5, 0xEB, 0x6E, 0xCB, 0x11, 0xAF, 1143 0x30, 0xDC, 0x8B, 0xF8, 0x30, 0x46, 0xDA, 0x76, 0xF1, 0xE5, 0x14, 0x51, 1144 0x8A, 0x02, 0x5A, 0x5A, 0xAA, 0x7B, 0x2D, 0x57, 0x0A, 0x5C, 0x73, 0xD1, 1145 0x88, 0xCE, 0xBE, 0x3D, 0x06, 0x3F, 0x48, 0x1D, 0x44, 0x24, 0x6F, 0x4F, 1146 0x7F, 0x6A, 0xF2, 0x16, 0x34, 0x35, 0x38, 0x73, 0x8A, 0xE5, 0x25, 0xF4, 1147 0x34, 0x9E, 0x5B, 0x40, 0x90, 0x04, 0x57, 0x1B, 0x57, 0x75, 0x8F, 0xEA, 1148 0x1C, 0xF8, 0x7A, 0x68, 0x01, 0x1C, 0x8D, 0xBA, 0xF4, 0xE3, 0xD3, 0x8F, 1149 0x7F, 0xE4, 0x50, 0x35, 0x6B, 0x6B, 0xF6, 0xFC, 0x5F, 0x9B, 0x98, 0x78, 1150 0x16, 0x68, 0x72, 0x74, 0x71, 0x78, 0x25, 0x68, 0xE5, 0x1E, 0x66, 0xE2, 1151 0x4E, 0xC8, 0xDB, 0x92, 0x8E, 0x88, 0x64, 0x74, 0xDE, 0xDB, 0x85, 0x56, 1152 0x9F, 0xF9, 0xC4, 0x29, 0x54, 0xA8, 0xFB, 0xBA, 0xEA, 0xAB, 0xC7, 0x49, 1153 0x5C, 0x6C, 0xD7, 0x61, 0x8C, 0xE2, 0x2B, 0xF5, 0xA0, 0xA8, 0xD2, 0x41, 1154 0xC0, 0x54, 0xAB, 0xA7, 0x56, 0x5C, 0xE7, 0xA5, 0xEA, 0xBC, 0x47, 0xD1, 1155 0x0D, 0xD9, 0xC0, 0xA9, 0xC4, 0xA7, 0x3E, 0xD1, 0x2B, 0x1E, 0x34, 0x31, 1156 0x36, 0x9D, 0xB9, 0x51, 0xD3, 0xAD, 0x29, 0xE6, 0x9B, 0xD8, 0x4B, 0x93, 1157 0x33, 0x2F, 0x30, 0xEF, 0x18, 0x90, 0x69, 0x11, 0x09, 0xEA, 0xBA, 0xE0, 1158 0x10, 0x93, 0x63, 0x71, 0xA8, 0x83, 0x59, 0xDB, 0xFC, 0x12, 0x22, 0x84, 1159 0xC7, 0x01, 0x20, 0x99, 0xEC, 0x59, 0xA9, 0xE6, 0x9B, 0x5B, 0x8B, 0xB8, 1160 0x68, 0x52, 0x61, 0x8B, 0x4E, 0xF3, 0x50, 0x69, 0xF1, 0x49, 0x9B, 0xAF, 1161 0x53, 0xAD, 0xA0, 0x9D, 0x23, 0xE0, 0xE0, 0xC4, 0x31, 0xE4, 0x8E, 0x1C, 1162 0x51, 0x14, 0xFC, 0x95, 0x9C, 0xA6, 0x34, 0x85, 0xB0, 0x36, 0xFC, 0x7A, 1163 0x53, 0x03, 0x31, 0x0E, 0xCB, 0x34, 0x3E, 0xDF, 0xD1, 0x71, 0xBC, 0xDB, 1164 0xA1, 0xAF, 0x59, 0x4A, 0x03, 0x19, 0xA7, 0x8E, 0xB5, 0x82, 0x15, 0x24, 1165 0x69, 0x68, 0xBD, 0x9C, 0x2E, 0xFA, 0x06, 0xB5, 0x70, 0xC5, 0x70, 0xC4, 1166 0x14, 0x99, 0x01, 0x49, 0xBD, 0x6E, 0xAE, 0x10, 0xA1, 0xE4, 0xEF, 0xDD, 1167 0xE5, 0x51, 0x22, 0x9D, 0xF7, 0x93, 0xAB, 0x41, 0xBD, 0x86, 0x7A, 0xCC, 1168 0x51, 0x94, 0xEC, 0x22, 0xBE, 0x0D, 0x67, 0xFD, 0xA3, 0xFD, 0xCF, 0xF8, 1169 0x74, 0x0A, 0x5E, 0x1C, 0x71, 0xAD, 0xB6, 0xD0, 0xD7, 0xF8, 0x71, 0x34, 1170 0xAB, 0x62, 0xE7, 0xA8, 0x6B, 0x8F, 0x1E, 0x43, 0x46, 0xA5, 0xE4, 0xB4, 1171 0x52, 0x81, 0x66, 0xB3, 0xE5, 0x10, 0x23, 0x21, 0x2B, 0x31, 0x0F, 0xB8, 1172 0xB6, 0xC5, 0xA5, 0xC9, 0x90, 0x07, 0x83, 0xD0, 0xC3, 0x10, 0x7A, 0x04, 1173 0xBD, 0x8A, 0x3C, 0x7B, 0xF9, 0x0E, 0x51, 0x81, 0x96, 0xC8, 0xAE, 0xF9, 1174 0x27, 0xDE, 0x62, 0x7A, 0x41, 0x60, 0x35, 0x8F, 0x77, 0xBC, 0x95, 0x11, 1175 0x2C, 0xC4, 0x6C, 0x47, 0x7A, 0xEB, 0x29, 0xE5, 0x8E, 0xB5, 0xD6, 0xA5, 1176 0x54, 0x1B, 0xD0, 0xE0, 0x0F, 0x7D, 0x5C, 0x51, 0xD8, 0x6C, 0x92, 0x2F, 1177 0x13, 0x4E, 0x90, 0x77, 0xF8, 0x8D, 0x69, 0x78, 0x96, 0x96, 0x49, 0x9F, 1178 0x3C, 0x2E, 0x5C, 0xA6, 0x73, 0x27, 0x7D, 0xAD, 0x8D, 0xE3, 0x9B, 0x4A, 1179 0x2F, 0x50, 0x0A, 0x42, 0x7E, 0xF2, 0x3B, 0x50, 0x5C, 0x81, 0xC9, 0x49, 1180 0x01, 0x96, 0x83, 0x0A, 0xEC, 0x7F, 0xED, 0x1C, 0xA5, 0x7D, 0xF1, 0xE6, 1181 0xC4, 0xB3, 0x8F, 0xF9, 0x0F, 0xDB, 0x7B, 0xC1, 0x35, 0xF7, 0x63, 0x4A, 1182 0x39, 0xD4, 0x0E, 0x9E, 0x05, 0xD9, 0x42, 0xAA, 0xAB, 0x52, 0xCA, 0x4E, 1183 0x98, 0x3B, 0x43, 0x1A, 0x91, 0x25, 0xA9, 0x34, 0xD5, 0x66, 0xB2, 0xF4, 1184 0xFF, 0xDE, 0x64, 0x91, 0x90, 0xB9, 0x17, 0x70, 0xA0, 0xD6, 0xEA, 0xB6, 1185 0x36, 0xF4, 0x44, 0xCE, 0x86, 0x7B, 0x18, 0x74, 0x9C, 0x18, 0xAD, 0xB6, 1186 0xE0, 0x74, 0xC1, 0x0E, 0x29, 0x5D, 0x6A, 0x36, 0xD1, 0x3E, 0xB8, 0x2A, 1187 0xE4, 0x23, 0x1D, 0xB2, 0xAE, 0xF5, 0x5B, 0x8E, 0x2C, 0xD9, 0xD1, 0xE1, 1188 0x4F, 0x58, 0xA6, 0xE3, 0x88, 0x2E, 0xF9, 0xCF, 0x32, 0x3E, 0x8E, 0x37, 1189 0x95, 0xFF, 0xAD, 0x68, 0x11, 0x5E, 0x7F, 0x3D, 0x38, 0x06, 0x7C, 0x33, 1190 0x32, 0x78, 0x09, 0xEC, 0xCA, 0x3E, 0x08, 0xF1, 0xD0, 0x95, 0x19, 0xC9, 1191 0x7E, 0x62, 0xB2, 0x02, 0xA3, 0x5D, 0xF8, 0x3F, 0xA2, 0xB0, 0x8B, 0x38, 1192 0xB1, 0x8C, 0xEA, 0xB3, 0xE4, 0xBF, 0xD3, 0x6C, 0x6D, 0x3D, 0xD1, 0xC6, 1193 0xDA, 0x6B, 0x7A, 0xBA, 0x05, 0xEA, 0x9E, 0xA5, 0xE9, 0x00, 0xCC, 0x80, 1194 0x57, 0xAB, 0xD9, 0x0A, 0xD1, 0x00, 0x82, 0x2A, 0x51, 0x4B, 0xA2, 0x96, 1195 0xEB, 0x96, 0x14, 0xA8, 0x46, 0xDF, 0x1D, 0x48, 0xAE, 0xFA, 0x12, 0xA8, 1196 0x89, 0x8E, 0xEF, 0xBC, 0x3C, 0xA1, 0x6E, 0xDD, 0x90, 0x66, 0x2E, 0x56, 1197 0x6B, 0xF7, 0x1D, 0xF0, 0x46, 0x11, 0x4A, 0xA6, 0x07, 0x73, 0xC4, 0xE3, 1198 0x97, 0xFE, 0x7E, 0x22, 0x6F, 0x22, 0xB4, 0x6F, 0xB0, 0x32, 0x0A, 0x5E, 1199 0x85, 0x7E, 0x54, 0xB4, 0x24, 0xBD, 0x36, 0xA7, 0x94, 0xE7, 0x37, 0xFD, 1200 0x1A, 0xAF, 0xF4, 0x44, 0xB4, 0x35, 0x4F, 0xE0, 0x41, 0x0E, 0x7D, 0x73, 1201 0x29, 0x28, 0xDA, 0xAF, 0x69, 0xB2, 0xC5, 0xA7, 0x2A, 0x0A, 0xB5, 0x9C, 1202 0xC2, 0xAC, 0x5F, 0x59, 0x5C, 0xEE, 0x44, 0x49, 0x6F, 0x4F, 0x64, 0x43, 1203 0x6F, 0x43, 0x44, 0xAA, 0xA0, 0x4E, 0x94, 0x7C, 0x26, 0x5A, 0xF1, 0xD9, 1204 0xE6, 0x09, 0x80, 0x7A, 0x7D, 0x2E, 0xA2, 0xB9, 0x1A, 0x7A, 0x8F, 0x2A, 1205 0x97, 0x77, 0x23, 0xB4, 0x10, 0xAD, 0x20, 0x7B, 0xA3, 0x0F, 0xFD, 0x44, 1206 0x38, 0xAD, 0x94, 0x39, 0x88, 0x1C, 0xC4, 0xC8, 0xDF, 0xF1, 0x04, 0xA6, 1207 0x51, 0x5D, 0x54, 0x53, 0x60, 0xE4, 0x8A, 0x89, 0x4A, 0x9C, 0xE1, 0x68, 1208 0x4D, 0xFE, 0x69, 0x94, 0x0B, 0x8E, 0xED, 0x6C, 0xFE, 0x11, 0xA7, 0x77, 1209 0xBF, 0x08, 0x41, 0x67, 0x22, 0x59, 0x51, 0x48, 0xEE, 0x59, 0x02, 0x0E, 1210 0x60, 0x6D, 0xAE, 0x8C, 0xC6, 0x39, 0xB7, 0x55, 0xC5, 0x3B, 0x87, 0xA9, 1211 0xBD, 0xD8, 0xEA, 0x48, 0x21, 0xE4, 0x57, 0x51, 0x56, 0x03, 0xF4, 0xBE, 1212 0xBD, 0xBD, 0xC5, 0x26, 0x9B, 0x27, 0xE3, 0xAE, 0xD5, 0x1E, 0x30, 0xE9, 1213 0x7C, 0x9D, 0xDB, 0xE1, 0x09, 0x9D, 0x82, 0x49, 0x15, 0x38, 0x69, 0xFC, 1214 0x1D, 0x52, 0x1A, 0x75, 0xE6, 0xDD, 0x1D, 0xBE, 0x06, 0xC4, 0x9F, 0x14, 1215 0x4C, 0x12, 0xDE, 0xDF, 0x4A, 0xE1, 0x3B, 0xE7, 0xD1, 0xE3, 0x71, 0xD1, 1216 0xFA, 0xD8, 0x0E, 0x63, 0x27, 0xA9, 0xC7, 0x9D, 0xC0, 0x01, 0xC2, 0xDD, 1217 0xFC, 0xA6, 0x1F, 0x59, 0x87, 0xC5, 0x56, 0x99, 0x80, 0xEB, 0xF0, 0xB8, 1218 0xB3, 0x00, 0x9A, 0x61, 0xDB, 0x50, 0x79, 0x48, 0x37, 0x35, 0xDA, 0xD8, 1219 0xF2, 0x37, 0xA7, 0x43, 0xA7, 0xEB, 0x88, 0x2C, 0x68, 0xB4, 0xBB, 0x14, 1220 0x45, 0x31, 0x6B, 0x87, 0x65, 0xE7, 0x82, 0xB4, 0x74, 0xD2, 0xFF, 0x7F, 1221 0x60, 0x15, 0x94, 0x75, 0xEE, 0x30, 0x3C, 0x4E, 0xFC, 0x41, 0xD1, 0x5B, 1222 0xDD, 0x84, 0x6E, 0x13, 0x6C, 0xF8, 0x12, 0xE6, 0xB7, 0xA4, 0xB9, 0xC8, 1223 0x13, 0x89, 0x0C, 0x34, 0xA6, 0xAF, 0x09, 0xEB, 0xF2, 0xB3, 0x79, 0x77, 1224 0x80, 0xD8, 0x77, 0x64, 0xAD, 0x32, 0x3D, 0xD2, 0x06, 0xDF, 0x72, 0x11, 1225 0x4A, 0xA7, 0x70, 0xCE, 0xF9, 0xE6, 0x81, 0x35, 0xA4, 0xA7, 0x52, 0xB5, 1226 0x13, 0x68, 0x5C, 0x69, 0x45, 0xE2, 0x77, 0x2D, 0xBE, 0x2C, 0xE9, 0x38, 1227 0x25, 0x28, 0x7B, 0x63, 0x2C, 0x19, 0x8F, 0x59 1228 }; 1229 1230 /* aad */ 1231 uint8_t aad[] = { 1232 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B 1233 }; 1234 1235 /* iv */ 1236 uint8_t iv[] = { 1237 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1238 0x0C, 0x0D, 0x0E, 0x0F 1239 }; 1240 1241 /* cipher key */ 1242 uint8_t cipher_key[] = { 1243 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1244 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1245 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F 1246 }; 1247 1248 /* auth key */ 1249 uint8_t auth_key[] = { 1250 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1251 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1252 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 1253 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 1254 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 1255 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 1256 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 1257 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 1258 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 1259 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 1260 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F 1261 }; 1262 1263 /* AEAD key */ 1264 uint8_t aead_key[] = { 1265 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 1266 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 1267 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F 1268 }; 1269 1270 /* Digests */ 1271 uint8_t digest[2048] = { 0x00 }; 1272 1273 uint8_t ipsec_plaintext[2048] = { 1274 /* IP */ 1275 0x45, 0x00, 0x00, 0x28, 0xa4, 0xad, 0x40, 0x00, 1276 0x40, 0x06, 0x78, 0x80, 0x0a, 0x01, 0x03, 0x8f, 1277 0x0a, 0x01, 0x06, 0x12, 1278 1279 /* TCP */ 1280 0x80, 0x23, 0x06, 0xb8, 0xcb, 0x71, 0x26, 0x02, 1281 0xdd, 0x6b, 0xb0, 0x3e, 0x50, 0x10, 0x16, 0xd0, 1282 0x75, 0x67, 0x00, 0x01 1283 }; 1284 1285 /** SM2 Fp256 elliptic curve test params */ 1286 struct 1287 cperf_sm2_test_data sm2_perf_data = { 1288 .pubkey_qx = { 1289 .data = fp256_qx, 1290 .length = sizeof(fp256_qx), 1291 }, 1292 .pubkey_qy = { 1293 .data = fp256_qy, 1294 .length = sizeof(fp256_qy), 1295 }, 1296 .k = { 1297 .data = fp256_k, 1298 .length = sizeof(fp256_k), 1299 }, 1300 .sign_r = { 1301 .data = fp256_sign_r, 1302 .length = sizeof(fp256_sign_r), 1303 }, 1304 .sign_s = { 1305 .data = fp256_sign_s, 1306 .length = sizeof(fp256_sign_s), 1307 }, 1308 .id = { 1309 .data = fp256_id, 1310 .length = sizeof(fp256_id), 1311 }, 1312 .pkey = { 1313 .data = fp256_pkey, 1314 .length = sizeof(fp256_pkey), 1315 }, 1316 .message = { 1317 .data = fp256_message, 1318 .length = sizeof(fp256_message), 1319 }, 1320 .digest = { 1321 .data = fp256_digest, 1322 .length = sizeof(fp256_digest), 1323 }, 1324 .cipher = { 1325 .data = fp256_cipher, 1326 .length = sizeof(fp256_cipher), 1327 }, 1328 .curve = RTE_CRYPTO_EC_GROUP_SM2 1329 }; 1330 1331 struct cperf_test_vector* 1332 cperf_test_vector_get_dummy(struct cperf_options *options) 1333 { 1334 struct cperf_test_vector *t_vec; 1335 1336 t_vec = (struct cperf_test_vector *)rte_malloc(NULL, 1337 sizeof(struct cperf_test_vector), 0); 1338 if (t_vec == NULL) 1339 return t_vec; 1340 1341 t_vec->plaintext.data = plaintext; 1342 t_vec->plaintext.length = options->max_buffer_size; 1343 1344 if (options->op_type == CPERF_ASYM_MODEX) { 1345 t_vec->modex.mod = options->modex_data->modulus.data; 1346 t_vec->modex.exp = options->modex_data->exponent.data; 1347 t_vec->modex.mlen = options->modex_data->modulus.len; 1348 t_vec->modex.elen = options->modex_data->exponent.len; 1349 } 1350 1351 if (options->op_type == CPERF_PDCP || options->op_type == CPERF_TLS || 1352 options->op_type == CPERF_IPSEC) { 1353 if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) { 1354 t_vec->cipher_key.length = 0; 1355 t_vec->ciphertext.data = plaintext; 1356 t_vec->cipher_key.data = NULL; 1357 } else { 1358 t_vec->cipher_key.length = options->cipher_key_sz; 1359 t_vec->ciphertext.data = ciphertext; 1360 t_vec->cipher_key.data = cipher_key; 1361 } 1362 1363 if (options->op_type == CPERF_IPSEC) 1364 t_vec->plaintext.data = ipsec_plaintext; 1365 1366 /* Init IV data ptr */ 1367 t_vec->cipher_iv.data = NULL; 1368 1369 if (options->cipher_iv_sz != 0) { 1370 /* Set IV parameters */ 1371 t_vec->cipher_iv.data = rte_malloc(NULL, 1372 options->cipher_iv_sz, 16); 1373 if (t_vec->cipher_iv.data == NULL) { 1374 rte_free(t_vec); 1375 return NULL; 1376 } 1377 memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz); 1378 } 1379 t_vec->ciphertext.length = options->max_buffer_size; 1380 t_vec->cipher_iv.length = options->cipher_iv_sz; 1381 t_vec->data.cipher_offset = 0; 1382 t_vec->data.cipher_length = options->max_buffer_size; 1383 if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) { 1384 t_vec->auth_key.length = 0; 1385 t_vec->auth_key.data = NULL; 1386 t_vec->digest.data = NULL; 1387 t_vec->digest.length = 0; 1388 } else { 1389 t_vec->auth_key.length = options->auth_key_sz; 1390 t_vec->auth_key.data = auth_key; 1391 1392 t_vec->digest.data = rte_malloc(NULL, 1393 options->digest_sz, 1394 16); 1395 if (t_vec->digest.data == NULL) { 1396 rte_free(t_vec->cipher_iv.data); 1397 rte_free(t_vec); 1398 return NULL; 1399 } 1400 t_vec->digest.phys_addr = 1401 rte_malloc_virt2iova(t_vec->digest.data); 1402 t_vec->digest.length = options->digest_sz; 1403 memcpy(t_vec->digest.data, digest, 1404 options->digest_sz); 1405 } 1406 t_vec->data.auth_offset = 0; 1407 t_vec->data.auth_length = options->max_buffer_size; 1408 } 1409 1410 if (options->op_type == CPERF_CIPHER_ONLY || 1411 options->op_type == CPERF_CIPHER_THEN_AUTH || 1412 options->op_type == CPERF_AUTH_THEN_CIPHER || 1413 options->op_type == CPERF_DOCSIS) { 1414 if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) { 1415 t_vec->cipher_key.length = 0; 1416 t_vec->ciphertext.data = plaintext; 1417 t_vec->cipher_key.data = NULL; 1418 } else { 1419 t_vec->cipher_key.length = options->cipher_key_sz; 1420 t_vec->ciphertext.data = ciphertext; 1421 t_vec->cipher_key.data = cipher_key; 1422 } 1423 1424 /* Init IV data ptr */ 1425 t_vec->cipher_iv.data = NULL; 1426 1427 if (options->cipher_iv_sz != 0) { 1428 /* Set IV parameters */ 1429 t_vec->cipher_iv.data = rte_malloc(NULL, 1430 options->cipher_iv_sz, 16); 1431 if (t_vec->cipher_iv.data == NULL) { 1432 rte_free(t_vec); 1433 return NULL; 1434 } 1435 memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz); 1436 } 1437 t_vec->ciphertext.length = options->max_buffer_size; 1438 t_vec->cipher_iv.length = options->cipher_iv_sz; 1439 t_vec->data.cipher_offset = 0; 1440 t_vec->data.cipher_length = options->max_buffer_size; 1441 1442 } 1443 1444 if (options->op_type == CPERF_AUTH_ONLY || 1445 options->op_type == CPERF_CIPHER_THEN_AUTH || 1446 options->op_type == CPERF_AUTH_THEN_CIPHER) { 1447 if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) { 1448 t_vec->auth_key.length = 0; 1449 t_vec->auth_key.data = NULL; 1450 t_vec->digest.data = NULL; 1451 t_vec->digest.length = 0; 1452 } else { 1453 t_vec->auth_key.length = options->auth_key_sz; 1454 t_vec->auth_key.data = auth_key; 1455 1456 t_vec->digest.data = rte_malloc(NULL, 1457 options->digest_sz, 1458 16); 1459 if (t_vec->digest.data == NULL) { 1460 rte_free(t_vec->cipher_iv.data); 1461 rte_free(t_vec); 1462 return NULL; 1463 } 1464 t_vec->digest.phys_addr = 1465 rte_malloc_virt2iova(t_vec->digest.data); 1466 t_vec->digest.length = options->digest_sz; 1467 memcpy(t_vec->digest.data, digest, 1468 options->digest_sz); 1469 } 1470 t_vec->data.auth_offset = 0; 1471 t_vec->data.auth_length = options->max_buffer_size; 1472 1473 /* Set IV parameters */ 1474 t_vec->auth_iv.data = rte_malloc(NULL, options->auth_iv_sz, 1475 16); 1476 if (options->auth_iv_sz && t_vec->auth_iv.data == NULL) { 1477 if (options->op_type != CPERF_AUTH_ONLY) 1478 rte_free(t_vec->cipher_iv.data); 1479 rte_free(t_vec); 1480 return NULL; 1481 } 1482 memcpy(t_vec->auth_iv.data, iv, options->auth_iv_sz); 1483 t_vec->auth_iv.length = options->auth_iv_sz; 1484 } 1485 1486 if (options->op_type == CPERF_AEAD || options->op_type == CPERF_TLS || 1487 options->op_type == CPERF_IPSEC) { 1488 t_vec->aead_key.length = options->aead_key_sz; 1489 t_vec->aead_key.data = aead_key; 1490 1491 if (options->aead_aad_sz) { 1492 t_vec->aad.data = rte_malloc(NULL, 1493 options->aead_aad_sz, 16); 1494 if (t_vec->aad.data == NULL) { 1495 rte_free(t_vec); 1496 return NULL; 1497 } 1498 1499 if (options->aead_aad_sz > sizeof(aad)) 1500 options->aead_aad_sz = sizeof(aad); 1501 1502 memcpy(t_vec->aad.data, aad, options->aead_aad_sz); 1503 t_vec->aad.phys_addr = rte_malloc_virt2iova(t_vec->aad.data); 1504 t_vec->aad.length = options->aead_aad_sz; 1505 } else { 1506 t_vec->aad.data = NULL; 1507 t_vec->aad.length = 0; 1508 } 1509 1510 t_vec->digest.data = rte_malloc(NULL, options->digest_sz, 1511 16); 1512 if (t_vec->digest.data == NULL) { 1513 rte_free(t_vec->aad.data); 1514 rte_free(t_vec); 1515 return NULL; 1516 } 1517 t_vec->digest.phys_addr = 1518 rte_malloc_virt2iova(t_vec->digest.data); 1519 t_vec->digest.length = options->digest_sz; 1520 memcpy(t_vec->digest.data, digest, options->digest_sz); 1521 t_vec->data.aead_offset = 0; 1522 t_vec->data.aead_length = options->max_buffer_size; 1523 1524 /* Set IV parameters */ 1525 t_vec->aead_iv.data = rte_malloc(NULL, options->aead_iv_sz, 1526 16); 1527 if (options->aead_iv_sz && t_vec->aead_iv.data == NULL) { 1528 rte_free(t_vec->aad.data); 1529 rte_free(t_vec->digest.data); 1530 rte_free(t_vec); 1531 return NULL; 1532 } 1533 memcpy(t_vec->aead_iv.data, iv, options->aead_iv_sz); 1534 t_vec->aead_iv.length = options->aead_iv_sz; 1535 } 1536 return t_vec; 1537 } 1538