sftkdhverify.c (109910B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 /* 5 * This file makes sure a prime given to us matches one of the known 6 * approved primes for diffie-helman. 7 * 8 * It also checks if a prime is a safe prime for the case 9 * where we don't match an approved prime. 10 */ 11 #include "seccomon.h" 12 #include "secitem.h" 13 #include "secerr.h" 14 #include "blapi.h" 15 16 /* IKE 1536 prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 } */ 17 static const unsigned char prime_ike_1536[] = { 18 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 19 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 20 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 21 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 22 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 23 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 24 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 25 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 26 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 27 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 28 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 29 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 30 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 31 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 32 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 33 0xCA, 0x23, 0x73, 0x27, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 34 }; 35 36 /* IKE 2048 prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 */ 37 static const unsigned char prime_ike_2048[] = { 38 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 39 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 40 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 41 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 42 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 43 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 44 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 45 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 46 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 47 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 48 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 49 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 50 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 51 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 52 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 53 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 54 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 55 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 56 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C, 57 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 58 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 59 0xFF, 0xFF, 0xFF, 0xFF 60 }; 61 62 /* TLS 2048 prime is: 2^2048 - 2^1984 + {[2^1918 * e] + 560316 } * 2^64 - 1 */ 63 static const unsigned char prime_tls_2048[] = { 64 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58, 65 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1, 66 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41, 67 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 68 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02, 69 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61, 70 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55, 71 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35, 72 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA, 73 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35, 74 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 75 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB, 76 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3, 77 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19, 78 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1, 79 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61, 80 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32, 81 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 82 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83, 83 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA, 84 0x88, 0x6B, 0x42, 0x38, 0x61, 0x28, 0x5C, 0x97, 0xFF, 0xFF, 0xFF, 0xFF, 85 0xFF, 0xFF, 0xFF, 0xFF 86 }; 87 88 /* IKE 3072 prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 } */ 89 static const unsigned char prime_ike_3072[] = { 90 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 91 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 92 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 93 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 94 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 95 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 96 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 97 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 98 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 99 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 100 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 101 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 102 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 103 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 104 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 105 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 106 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 107 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 108 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C, 109 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 110 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D, 111 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 112 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57, 113 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 114 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 115 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 116 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73, 117 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 118 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0, 119 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 120 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20, 121 0xA9, 0x3A, 0xD2, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 122 }; 123 124 /* TLS 3072 prime is: 2^3072 - 2^3008 + {[2^2942 * e] + 2625351} * 2^64 - 1 */ 125 static const unsigned char prime_tls_3072[] = { 126 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58, 127 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1, 128 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41, 129 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 130 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02, 131 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61, 132 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55, 133 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35, 134 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA, 135 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35, 136 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 137 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB, 138 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3, 139 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19, 140 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1, 141 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61, 142 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32, 143 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 144 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83, 145 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA, 146 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B, 147 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38, 148 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26, 149 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C, 150 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 151 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3, 152 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB, 153 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D, 154 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 155 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF, 156 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B, 157 0x66, 0xC6, 0x2E, 0x37, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 158 }; 159 160 /* IKE 4096 prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } */ 161 static const unsigned char prime_ike_4096[] = { 162 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 163 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 164 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 165 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 166 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 167 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 168 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 169 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 170 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 171 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 172 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 173 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 174 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 175 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 176 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 177 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 178 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 179 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 180 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C, 181 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 182 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D, 183 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 184 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57, 185 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 186 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 187 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 188 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73, 189 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 190 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0, 191 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 192 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20, 193 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 194 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18, 195 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 196 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB, 197 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 198 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F, 199 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 200 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 201 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 202 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC, 203 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99, 204 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 205 }; 206 207 /* TLS 4096 prime is: 2^4096 - 2^4032 + {[2^3966 * e] + 5736041} * 2^64 - 1 */ 208 static const unsigned char prime_tls_4096[] = { 209 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58, 210 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1, 211 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41, 212 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 213 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02, 214 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61, 215 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55, 216 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35, 217 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA, 218 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35, 219 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 220 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB, 221 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3, 222 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19, 223 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1, 224 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61, 225 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32, 226 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 227 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83, 228 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA, 229 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B, 230 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38, 231 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26, 232 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C, 233 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 234 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3, 235 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB, 236 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D, 237 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 238 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF, 239 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B, 240 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 241 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42, 242 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04, 243 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86, 244 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32, 245 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9, 246 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A, 247 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 248 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF, 249 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51, 250 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x65, 0x5F, 0x6A, 251 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 252 }; 253 254 /* IKE 6144 prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 } */ 255 static const unsigned char prime_ike_6144[] = { 256 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 257 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 258 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 259 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 260 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 261 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 262 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 263 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 264 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 265 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 266 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 267 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 268 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 269 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 270 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 271 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 272 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 273 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 274 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C, 275 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 276 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D, 277 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 278 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57, 279 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 280 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 281 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 282 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73, 283 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 284 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0, 285 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 286 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20, 287 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 288 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18, 289 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 290 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB, 291 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 292 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F, 293 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 294 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 295 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 296 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC, 297 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 298 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 0xC1, 0xD4, 0xDC, 0xB2, 299 0x60, 0x26, 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 300 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38, 0x2F, 301 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 302 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 0xDA, 0x3E, 0xDB, 0xEB, 303 0xCF, 0x9B, 0x14, 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 304 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51, 305 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 306 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0, 0x32, 0xEA, 0x15, 307 0xD1, 0x72, 0x1D, 0x03, 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 308 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31, 309 0x90, 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 310 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D, 0x45, 0xB7, 311 0xFF, 0x58, 0x5A, 0xC5, 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 312 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 0x14, 0xCC, 0x5E, 0xD2, 313 0x0F, 0x80, 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 314 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA, 0x3D, 315 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 316 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 0x38, 0x7F, 0xE8, 0xD7, 317 0x6E, 0x3C, 0x04, 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 318 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E, 319 0x6D, 0xCC, 0x40, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 320 }; 321 322 /* TLS 6144 prime is: 2^6144 - 2^6080 + {[2^6014 * e] + 15705020} * 2^64 - 1 */ 323 static const unsigned char prime_tls_6144[] = { 324 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58, 325 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1, 326 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41, 327 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 328 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02, 329 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61, 330 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55, 331 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35, 332 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA, 333 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35, 334 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 335 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB, 336 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3, 337 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19, 338 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1, 339 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61, 340 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32, 341 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 342 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83, 343 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA, 344 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B, 345 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38, 346 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26, 347 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C, 348 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 349 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3, 350 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB, 351 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D, 352 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 353 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF, 354 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B, 355 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 356 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42, 357 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04, 358 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86, 359 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32, 360 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9, 361 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A, 362 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 363 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF, 364 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51, 365 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02, 366 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C, 0x7A, 0x4E, 0x67, 0x7D, 0x2C, 367 0x38, 0x53, 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA, 0xF5, 0x3E, 0xA6, 368 0x3B, 0xB4, 0x54, 0x32, 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD, 0x64, 369 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E, 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A, 370 0xCD, 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71, 0x9B, 0x1F, 0x5C, 0x3E, 371 0x4E, 0x46, 0x04, 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD, 0xB4, 0x77, 372 0xA5, 0x24, 0x71, 0xF7, 0xA9, 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E, 373 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0, 0x92, 0x35, 0x05, 0x11, 0xE3, 374 0x0A, 0xBE, 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F, 0xB2, 0x9F, 0x8C, 375 0x18, 0x30, 0x23, 0xC3, 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9, 0xB4, 376 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2, 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E, 377 0x77, 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23, 0x2A, 0x28, 0x1B, 0xF6, 378 0xB3, 0xA7, 0x39, 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8, 0xDB, 0x58, 379 0x47, 0xA6, 0x7C, 0xBE, 0xF9, 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C, 380 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F, 0x5E, 0x62, 0x29, 0x2C, 0x31, 381 0x15, 0x62, 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8, 0x54, 0x33, 0x8A, 382 0xE4, 0x9F, 0x52, 0x35, 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D, 0xD5, 383 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D, 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04, 384 0x5B, 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6, 0x3F, 0xDD, 0x4A, 0x8E, 385 0x9A, 0xDB, 0x1E, 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31, 0x61, 0xC1, 386 0xA4, 0x1D, 0x57, 0x0D, 0x79, 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C, 387 0xD0, 0xE4, 0x0E, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 388 }; 389 390 /* IKE 8192 prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 } */ 391 static const unsigned char prime_ike_8192[] = { 392 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 393 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 394 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 395 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 396 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 397 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 398 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9, 399 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 400 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 401 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 402 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 403 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 404 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56, 405 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 406 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08, 407 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 408 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 409 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 410 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C, 411 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 412 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D, 413 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 414 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57, 415 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 416 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 417 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 418 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73, 419 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 420 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0, 421 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 422 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20, 423 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 424 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18, 425 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 426 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB, 427 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 428 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F, 429 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 430 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 431 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 432 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC, 433 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 434 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 0xC1, 0xD4, 0xDC, 0xB2, 435 0x60, 0x26, 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 436 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38, 0x2F, 437 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 438 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 0xDA, 0x3E, 0xDB, 0xEB, 439 0xCF, 0x9B, 0x14, 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 440 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51, 441 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 442 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0, 0x32, 0xEA, 0x15, 443 0xD1, 0x72, 0x1D, 0x03, 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 444 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31, 445 0x90, 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 446 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D, 0x45, 0xB7, 447 0xFF, 0x58, 0x5A, 0xC5, 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 448 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 0x14, 0xCC, 0x5E, 0xD2, 449 0x0F, 0x80, 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 450 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA, 0x3D, 451 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 452 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 0x38, 0x7F, 0xE8, 0xD7, 453 0x6E, 0x3C, 0x04, 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 454 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E, 455 0x6D, 0xBE, 0x11, 0x59, 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 456 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 0xD8, 0xBE, 0xC4, 0xD0, 457 0x73, 0xB9, 0x31, 0xBA, 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00, 458 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 0x25, 0x76, 0xF6, 0x93, 459 0x6B, 0xA4, 0x24, 0x66, 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68, 460 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 0x23, 0x8F, 0x16, 0xCB, 461 0xE3, 0x9D, 0x65, 0x2D, 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9, 462 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 0x13, 0xEB, 0x57, 0xA8, 463 0x1A, 0x23, 0xF0, 0xC7, 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B, 464 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 0xFA, 0x9D, 0x4B, 0x7F, 465 0xA2, 0xC0, 0x87, 0xE8, 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 466 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 0x6D, 0x2A, 0x13, 0xF8, 467 0x3F, 0x44, 0xF8, 0x2D, 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36, 468 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 0x64, 0xF3, 0x1C, 0xC5, 469 0x08, 0x46, 0x85, 0x1D, 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1, 470 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 0xFA, 0xF3, 0x6B, 0xC3, 471 0x1E, 0xCF, 0xA2, 0x68, 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92, 472 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 0x88, 0x9A, 0x00, 0x2E, 473 0xD5, 0xEE, 0x38, 0x2B, 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47, 474 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 0x9E, 0x30, 0x50, 0xE2, 475 0x76, 0x56, 0x94, 0xDF, 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71, 476 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 477 0xFF, 0xFF, 0xFF, 0xFF 478 }; 479 480 /* TLS 8192 prime is: 2^8192 - 2^8128 + {[2^8062 * e] + 10965728} * 2^64 - 1 */ 481 static const unsigned char prime_tls_8192[] = { 482 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58, 483 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1, 484 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41, 485 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 486 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02, 487 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61, 488 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55, 489 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35, 490 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA, 491 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35, 492 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 493 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB, 494 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3, 495 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19, 496 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1, 497 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61, 498 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32, 499 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 500 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83, 501 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA, 502 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B, 503 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38, 504 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26, 505 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C, 506 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 507 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3, 508 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB, 509 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D, 510 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 511 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF, 512 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B, 513 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 514 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42, 515 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04, 516 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86, 517 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32, 518 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9, 519 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A, 520 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 521 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF, 522 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51, 523 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02, 524 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C, 0x7A, 0x4E, 0x67, 0x7D, 0x2C, 525 0x38, 0x53, 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA, 0xF5, 0x3E, 0xA6, 526 0x3B, 0xB4, 0x54, 0x32, 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD, 0x64, 527 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E, 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A, 528 0xCD, 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71, 0x9B, 0x1F, 0x5C, 0x3E, 529 0x4E, 0x46, 0x04, 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD, 0xB4, 0x77, 530 0xA5, 0x24, 0x71, 0xF7, 0xA9, 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E, 531 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0, 0x92, 0x35, 0x05, 0x11, 0xE3, 532 0x0A, 0xBE, 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F, 0xB2, 0x9F, 0x8C, 533 0x18, 0x30, 0x23, 0xC3, 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9, 0xB4, 534 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2, 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E, 535 0x77, 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23, 0x2A, 0x28, 0x1B, 0xF6, 536 0xB3, 0xA7, 0x39, 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8, 0xDB, 0x58, 537 0x47, 0xA6, 0x7C, 0xBE, 0xF9, 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C, 538 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F, 0x5E, 0x62, 0x29, 0x2C, 0x31, 539 0x15, 0x62, 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8, 0x54, 0x33, 0x8A, 540 0xE4, 0x9F, 0x52, 0x35, 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D, 0xD5, 541 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D, 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04, 542 0x5B, 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6, 0x3F, 0xDD, 0x4A, 0x8E, 543 0x9A, 0xDB, 0x1E, 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31, 0x61, 0xC1, 544 0xA4, 0x1D, 0x57, 0x0D, 0x79, 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C, 545 0xCF, 0xF4, 0x6A, 0xAA, 0x36, 0xAD, 0x00, 0x4C, 0xF6, 0x00, 0xC8, 0x38, 546 0x1E, 0x42, 0x5A, 0x31, 0xD9, 0x51, 0xAE, 0x64, 0xFD, 0xB2, 0x3F, 0xCE, 547 0xC9, 0x50, 0x9D, 0x43, 0x68, 0x7F, 0xEB, 0x69, 0xED, 0xD1, 0xCC, 0x5E, 548 0x0B, 0x8C, 0xC3, 0xBD, 0xF6, 0x4B, 0x10, 0xEF, 0x86, 0xB6, 0x31, 0x42, 549 0xA3, 0xAB, 0x88, 0x29, 0x55, 0x5B, 0x2F, 0x74, 0x7C, 0x93, 0x26, 0x65, 550 0xCB, 0x2C, 0x0F, 0x1C, 0xC0, 0x1B, 0xD7, 0x02, 0x29, 0x38, 0x88, 0x39, 551 0xD2, 0xAF, 0x05, 0xE4, 0x54, 0x50, 0x4A, 0xC7, 0x8B, 0x75, 0x82, 0x82, 552 0x28, 0x46, 0xC0, 0xBA, 0x35, 0xC3, 0x5F, 0x5C, 0x59, 0x16, 0x0C, 0xC0, 553 0x46, 0xFD, 0x82, 0x51, 0x54, 0x1F, 0xC6, 0x8C, 0x9C, 0x86, 0xB0, 0x22, 554 0xBB, 0x70, 0x99, 0x87, 0x6A, 0x46, 0x0E, 0x74, 0x51, 0xA8, 0xA9, 0x31, 555 0x09, 0x70, 0x3F, 0xEE, 0x1C, 0x21, 0x7E, 0x6C, 0x38, 0x26, 0xE5, 0x2C, 556 0x51, 0xAA, 0x69, 0x1E, 0x0E, 0x42, 0x3C, 0xFC, 0x99, 0xE9, 0xE3, 0x16, 557 0x50, 0xC1, 0x21, 0x7B, 0x62, 0x48, 0x16, 0xCD, 0xAD, 0x9A, 0x95, 0xF9, 558 0xD5, 0xB8, 0x01, 0x94, 0x88, 0xD9, 0xC0, 0xA0, 0xA1, 0xFE, 0x30, 0x75, 559 0xA5, 0x77, 0xE2, 0x31, 0x83, 0xF8, 0x1D, 0x4A, 0x3F, 0x2F, 0xA4, 0x57, 560 0x1E, 0xFC, 0x8C, 0xE0, 0xBA, 0x8A, 0x4F, 0xE8, 0xB6, 0x85, 0x5D, 0xFE, 561 0x72, 0xB0, 0xA6, 0x6E, 0xDE, 0xD2, 0xFB, 0xAB, 0xFB, 0xE5, 0x8A, 0x30, 562 0xFA, 0xFA, 0xBE, 0x1C, 0x5D, 0x71, 0xA8, 0x7E, 0x2F, 0x74, 0x1E, 0xF8, 563 0xC1, 0xFE, 0x86, 0xFE, 0xA6, 0xBB, 0xFD, 0xE5, 0x30, 0x67, 0x7F, 0x0D, 564 0x97, 0xD1, 0x1D, 0x49, 0xF7, 0xA8, 0x44, 0x3D, 0x08, 0x22, 0xE5, 0x06, 565 0xA9, 0xF4, 0x61, 0x4E, 0x01, 0x1E, 0x2A, 0x94, 0x83, 0x8F, 0xF8, 0x8C, 566 0xD6, 0x8C, 0x8B, 0xB7, 0xC5, 0xC6, 0x42, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 567 0xFF, 0xFF, 0xFF, 0xFF 568 }; 569 570 /* q=(p-1)/2 for prime prime_ike_1536 */ 571 static const unsigned char subprime_ike_1536_data[] = { 572 0x7f, 573 0xff, 574 0xff, 575 0xff, 576 0xff, 577 0xff, 578 0xff, 579 0xff, 580 0xe4, 581 0x87, 582 0xed, 583 0x51, 584 0x10, 585 0xb4, 586 0x61, 587 0x1a, 588 0x62, 589 0x63, 590 0x31, 591 0x45, 592 0xc0, 593 0x6e, 594 0x0e, 595 0x68, 596 0x94, 597 0x81, 598 0x27, 599 0x04, 600 0x45, 601 0x33, 602 0xe6, 603 0x3a, 604 0x01, 605 0x05, 606 0xdf, 607 0x53, 608 0x1d, 609 0x89, 610 0xcd, 611 0x91, 612 0x28, 613 0xa5, 614 0x04, 615 0x3c, 616 0xc7, 617 0x1a, 618 0x02, 619 0x6e, 620 0xf7, 621 0xca, 622 0x8c, 623 0xd9, 624 0xe6, 625 0x9d, 626 0x21, 627 0x8d, 628 0x98, 629 0x15, 630 0x85, 631 0x36, 632 0xf9, 633 0x2f, 634 0x8a, 635 0x1b, 636 0xa7, 637 0xf0, 638 0x9a, 639 0xb6, 640 0xb6, 641 0xa8, 642 0xe1, 643 0x22, 644 0xf2, 645 0x42, 646 0xda, 647 0xbb, 648 0x31, 649 0x2f, 650 0x3f, 651 0x63, 652 0x7a, 653 0x26, 654 0x21, 655 0x74, 656 0xd3, 657 0x1b, 658 0xf6, 659 0xb5, 660 0x85, 661 0xff, 662 0xae, 663 0x5b, 664 0x7a, 665 0x03, 666 0x5b, 667 0xf6, 668 0xf7, 669 0x1c, 670 0x35, 671 0xfd, 672 0xad, 673 0x44, 674 0xcf, 675 0xd2, 676 0xd7, 677 0x4f, 678 0x92, 679 0x08, 680 0xbe, 681 0x25, 682 0x8f, 683 0xf3, 684 0x24, 685 0x94, 686 0x33, 687 0x28, 688 0xf6, 689 0x72, 690 0x2d, 691 0x9e, 692 0xe1, 693 0x00, 694 0x3e, 695 0x5c, 696 0x50, 697 0xb1, 698 0xdf, 699 0x82, 700 0xcc, 701 0x6d, 702 0x24, 703 0x1b, 704 0x0e, 705 0x2a, 706 0xe9, 707 0xcd, 708 0x34, 709 0x8b, 710 0x1f, 711 0xd4, 712 0x7e, 713 0x92, 714 0x67, 715 0xaf, 716 0xc1, 717 0xb2, 718 0xae, 719 0x91, 720 0xee, 721 0x51, 722 0xd6, 723 0xcb, 724 0x0e, 725 0x31, 726 0x79, 727 0xab, 728 0x10, 729 0x42, 730 0xa9, 731 0x5d, 732 0xcf, 733 0x6a, 734 0x94, 735 0x83, 736 0xb8, 737 0x4b, 738 0x4b, 739 0x36, 740 0xb3, 741 0x86, 742 0x1a, 743 0xa7, 744 0x25, 745 0x5e, 746 0x4c, 747 0x02, 748 0x78, 749 0xba, 750 0x36, 751 0x04, 752 0x65, 753 0x11, 754 0xb9, 755 0x93, 756 0xff, 757 0xff, 758 0xff, 759 0xff, 760 0xff, 761 0xff, 762 0xff, 763 0xff, 764 }; 765 766 /* q=(p-1)/2 for prime prime_ike_2048 */ 767 static const unsigned char subprime_ike_2048_data[] = { 768 0x7f, 769 0xff, 770 0xff, 771 0xff, 772 0xff, 773 0xff, 774 0xff, 775 0xff, 776 0xe4, 777 0x87, 778 0xed, 779 0x51, 780 0x10, 781 0xb4, 782 0x61, 783 0x1a, 784 0x62, 785 0x63, 786 0x31, 787 0x45, 788 0xc0, 789 0x6e, 790 0x0e, 791 0x68, 792 0x94, 793 0x81, 794 0x27, 795 0x04, 796 0x45, 797 0x33, 798 0xe6, 799 0x3a, 800 0x01, 801 0x05, 802 0xdf, 803 0x53, 804 0x1d, 805 0x89, 806 0xcd, 807 0x91, 808 0x28, 809 0xa5, 810 0x04, 811 0x3c, 812 0xc7, 813 0x1a, 814 0x02, 815 0x6e, 816 0xf7, 817 0xca, 818 0x8c, 819 0xd9, 820 0xe6, 821 0x9d, 822 0x21, 823 0x8d, 824 0x98, 825 0x15, 826 0x85, 827 0x36, 828 0xf9, 829 0x2f, 830 0x8a, 831 0x1b, 832 0xa7, 833 0xf0, 834 0x9a, 835 0xb6, 836 0xb6, 837 0xa8, 838 0xe1, 839 0x22, 840 0xf2, 841 0x42, 842 0xda, 843 0xbb, 844 0x31, 845 0x2f, 846 0x3f, 847 0x63, 848 0x7a, 849 0x26, 850 0x21, 851 0x74, 852 0xd3, 853 0x1b, 854 0xf6, 855 0xb5, 856 0x85, 857 0xff, 858 0xae, 859 0x5b, 860 0x7a, 861 0x03, 862 0x5b, 863 0xf6, 864 0xf7, 865 0x1c, 866 0x35, 867 0xfd, 868 0xad, 869 0x44, 870 0xcf, 871 0xd2, 872 0xd7, 873 0x4f, 874 0x92, 875 0x08, 876 0xbe, 877 0x25, 878 0x8f, 879 0xf3, 880 0x24, 881 0x94, 882 0x33, 883 0x28, 884 0xf6, 885 0x72, 886 0x2d, 887 0x9e, 888 0xe1, 889 0x00, 890 0x3e, 891 0x5c, 892 0x50, 893 0xb1, 894 0xdf, 895 0x82, 896 0xcc, 897 0x6d, 898 0x24, 899 0x1b, 900 0x0e, 901 0x2a, 902 0xe9, 903 0xcd, 904 0x34, 905 0x8b, 906 0x1f, 907 0xd4, 908 0x7e, 909 0x92, 910 0x67, 911 0xaf, 912 0xc1, 913 0xb2, 914 0xae, 915 0x91, 916 0xee, 917 0x51, 918 0xd6, 919 0xcb, 920 0x0e, 921 0x31, 922 0x79, 923 0xab, 924 0x10, 925 0x42, 926 0xa9, 927 0x5d, 928 0xcf, 929 0x6a, 930 0x94, 931 0x83, 932 0xb8, 933 0x4b, 934 0x4b, 935 0x36, 936 0xb3, 937 0x86, 938 0x1a, 939 0xa7, 940 0x25, 941 0x5e, 942 0x4c, 943 0x02, 944 0x78, 945 0xba, 946 0x36, 947 0x04, 948 0x65, 949 0x0c, 950 0x10, 951 0xbe, 952 0x19, 953 0x48, 954 0x2f, 955 0x23, 956 0x17, 957 0x1b, 958 0x67, 959 0x1d, 960 0xf1, 961 0xcf, 962 0x3b, 963 0x96, 964 0x0c, 965 0x07, 966 0x43, 967 0x01, 968 0xcd, 969 0x93, 970 0xc1, 971 0xd1, 972 0x76, 973 0x03, 974 0xd1, 975 0x47, 976 0xda, 977 0xe2, 978 0xae, 979 0xf8, 980 0x37, 981 0xa6, 982 0x29, 983 0x64, 984 0xef, 985 0x15, 986 0xe5, 987 0xfb, 988 0x4a, 989 0xac, 990 0x0b, 991 0x8c, 992 0x1c, 993 0xca, 994 0xa4, 995 0xbe, 996 0x75, 997 0x4a, 998 0xb5, 999 0x72, 1000 0x8a, 1001 0xe9, 1002 0x13, 1003 0x0c, 1004 0x4c, 1005 0x7d, 1006 0x02, 1007 0x88, 1008 0x0a, 1009 0xb9, 1010 0x47, 1011 0x2d, 1012 0x45, 1013 0x56, 1014 0x55, 1015 0x34, 1016 0x7f, 1017 0xff, 1018 0xff, 1019 0xff, 1020 0xff, 1021 0xff, 1022 0xff, 1023 0xff, 1024 }; 1025 1026 /* q=(p-1)/2 for prime prime_tls_2048 */ 1027 static const unsigned char subprime_tls_2048_data[] = { 1028 0x7f, 1029 0xff, 1030 0xff, 1031 0xff, 1032 0xff, 1033 0xff, 1034 0xff, 1035 0xff, 1036 0xd6, 1037 0xfc, 1038 0x2a, 1039 0x2c, 1040 0x51, 1041 0x5d, 1042 0xa5, 1043 0x4d, 1044 0x57, 1045 0xee, 1046 0x2b, 1047 0x10, 1048 0x13, 1049 0x9e, 1050 0x9e, 1051 0x78, 1052 0xec, 1053 0x5c, 1054 0xe2, 1055 0xc1, 1056 0xe7, 1057 0x16, 1058 0x9b, 1059 0x4a, 1060 0xd4, 1061 0xf0, 1062 0x9b, 1063 0x20, 1064 0x8a, 1065 0x32, 1066 0x19, 1067 0xfd, 1068 0xe6, 1069 0x49, 1070 0xce, 1071 0xe7, 1072 0x12, 1073 0x4d, 1074 0x9f, 1075 0x7c, 1076 0xbe, 1077 0x97, 1078 0xf1, 1079 0xb1, 1080 0xb1, 1081 0x86, 1082 0x3a, 1083 0xec, 1084 0x7b, 1085 0x40, 1086 0xd9, 1087 0x01, 1088 0x57, 1089 0x62, 1090 0x30, 1091 0xbd, 1092 0x69, 1093 0xef, 1094 0x8f, 1095 0x6a, 1096 0xea, 1097 0xfe, 1098 0xb2, 1099 0xb0, 1100 0x92, 1101 0x19, 1102 0xfa, 1103 0x8f, 1104 0xaf, 1105 0x83, 1106 0x37, 1107 0x68, 1108 0x42, 1109 0xb1, 1110 0xb2, 1111 0xaa, 1112 0x9e, 1113 0xf6, 1114 0x8d, 1115 0x79, 1116 0xda, 1117 0xab, 1118 0x89, 1119 0xaf, 1120 0x3f, 1121 0xab, 1122 0xe4, 1123 0x9a, 1124 0xcc, 1125 0x27, 1126 0x86, 1127 0x38, 1128 0x70, 1129 0x73, 1130 0x45, 1131 0xbb, 1132 0xf1, 1133 0x53, 1134 0x44, 1135 0xed, 1136 0x79, 1137 0xf7, 1138 0xf4, 1139 0x39, 1140 0x0e, 1141 0xf8, 1142 0xac, 1143 0x50, 1144 0x9b, 1145 0x56, 1146 0xf3, 1147 0x9a, 1148 0x98, 1149 0x56, 1150 0x65, 1151 0x27, 1152 0xa4, 1153 0x1d, 1154 0x3c, 1155 0xbd, 1156 0x5e, 1157 0x05, 1158 0x58, 1159 0xc1, 1160 0x59, 1161 0x92, 1162 0x7d, 1163 0xb0, 1164 0xe8, 1165 0x84, 1166 0x54, 1167 0xa5, 1168 0xd9, 1169 0x64, 1170 0x71, 1171 0xfd, 1172 0xdc, 1173 0xb5, 1174 0x6d, 1175 0x5b, 1176 0xb0, 1177 0x6b, 1178 0xfa, 1179 0x34, 1180 0x0e, 1181 0xa7, 1182 0xa1, 1183 0x51, 1184 0xef, 1185 0x1c, 1186 0xa6, 1187 0xfa, 1188 0x57, 1189 0x2b, 1190 0x76, 1191 0xf3, 1192 0xb1, 1193 0xb9, 1194 0x5d, 1195 0x8c, 1196 0x85, 1197 0x83, 1198 0xd3, 1199 0xe4, 1200 0x77, 1201 0x05, 1202 0x36, 1203 0xb8, 1204 0x4f, 1205 0x01, 1206 0x7e, 1207 0x70, 1208 0xe6, 1209 0xfb, 1210 0xf1, 1211 0x76, 1212 0x60, 1213 0x1a, 1214 0x02, 1215 0x66, 1216 0x94, 1217 0x1a, 1218 0x17, 1219 0xb0, 1220 0xc8, 1221 0xb9, 1222 0x7f, 1223 0x4e, 1224 0x74, 1225 0xc2, 1226 0xc1, 1227 0xff, 1228 0xc7, 1229 0x27, 1230 0x89, 1231 0x19, 1232 0x77, 1233 0x79, 1234 0x40, 1235 0xc1, 1236 0xe1, 1237 0xff, 1238 0x1d, 1239 0x8d, 1240 0xa6, 1241 0x37, 1242 0xd6, 1243 0xb9, 1244 0x9d, 1245 0xda, 1246 0xfe, 1247 0x5e, 1248 0x17, 1249 0x61, 1250 0x10, 1251 0x02, 1252 0xe2, 1253 0xc7, 1254 0x78, 1255 0xc1, 1256 0xbe, 1257 0x8b, 1258 0x41, 1259 0xd9, 1260 0x63, 1261 0x79, 1262 0xa5, 1263 0x13, 1264 0x60, 1265 0xd9, 1266 0x77, 1267 0xfd, 1268 0x44, 1269 0x35, 1270 0xa1, 1271 0x1c, 1272 0x30, 1273 0x94, 1274 0x2e, 1275 0x4b, 1276 0xff, 1277 0xff, 1278 0xff, 1279 0xff, 1280 0xff, 1281 0xff, 1282 0xff, 1283 0xff, 1284 }; 1285 1286 /* q=(p-1)/2 for prime prime_ike_3072 */ 1287 static const unsigned char subprime_ike_3072_data[] = { 1288 0x7f, 1289 0xff, 1290 0xff, 1291 0xff, 1292 0xff, 1293 0xff, 1294 0xff, 1295 0xff, 1296 0xe4, 1297 0x87, 1298 0xed, 1299 0x51, 1300 0x10, 1301 0xb4, 1302 0x61, 1303 0x1a, 1304 0x62, 1305 0x63, 1306 0x31, 1307 0x45, 1308 0xc0, 1309 0x6e, 1310 0x0e, 1311 0x68, 1312 0x94, 1313 0x81, 1314 0x27, 1315 0x04, 1316 0x45, 1317 0x33, 1318 0xe6, 1319 0x3a, 1320 0x01, 1321 0x05, 1322 0xdf, 1323 0x53, 1324 0x1d, 1325 0x89, 1326 0xcd, 1327 0x91, 1328 0x28, 1329 0xa5, 1330 0x04, 1331 0x3c, 1332 0xc7, 1333 0x1a, 1334 0x02, 1335 0x6e, 1336 0xf7, 1337 0xca, 1338 0x8c, 1339 0xd9, 1340 0xe6, 1341 0x9d, 1342 0x21, 1343 0x8d, 1344 0x98, 1345 0x15, 1346 0x85, 1347 0x36, 1348 0xf9, 1349 0x2f, 1350 0x8a, 1351 0x1b, 1352 0xa7, 1353 0xf0, 1354 0x9a, 1355 0xb6, 1356 0xb6, 1357 0xa8, 1358 0xe1, 1359 0x22, 1360 0xf2, 1361 0x42, 1362 0xda, 1363 0xbb, 1364 0x31, 1365 0x2f, 1366 0x3f, 1367 0x63, 1368 0x7a, 1369 0x26, 1370 0x21, 1371 0x74, 1372 0xd3, 1373 0x1b, 1374 0xf6, 1375 0xb5, 1376 0x85, 1377 0xff, 1378 0xae, 1379 0x5b, 1380 0x7a, 1381 0x03, 1382 0x5b, 1383 0xf6, 1384 0xf7, 1385 0x1c, 1386 0x35, 1387 0xfd, 1388 0xad, 1389 0x44, 1390 0xcf, 1391 0xd2, 1392 0xd7, 1393 0x4f, 1394 0x92, 1395 0x08, 1396 0xbe, 1397 0x25, 1398 0x8f, 1399 0xf3, 1400 0x24, 1401 0x94, 1402 0x33, 1403 0x28, 1404 0xf6, 1405 0x72, 1406 0x2d, 1407 0x9e, 1408 0xe1, 1409 0x00, 1410 0x3e, 1411 0x5c, 1412 0x50, 1413 0xb1, 1414 0xdf, 1415 0x82, 1416 0xcc, 1417 0x6d, 1418 0x24, 1419 0x1b, 1420 0x0e, 1421 0x2a, 1422 0xe9, 1423 0xcd, 1424 0x34, 1425 0x8b, 1426 0x1f, 1427 0xd4, 1428 0x7e, 1429 0x92, 1430 0x67, 1431 0xaf, 1432 0xc1, 1433 0xb2, 1434 0xae, 1435 0x91, 1436 0xee, 1437 0x51, 1438 0xd6, 1439 0xcb, 1440 0x0e, 1441 0x31, 1442 0x79, 1443 0xab, 1444 0x10, 1445 0x42, 1446 0xa9, 1447 0x5d, 1448 0xcf, 1449 0x6a, 1450 0x94, 1451 0x83, 1452 0xb8, 1453 0x4b, 1454 0x4b, 1455 0x36, 1456 0xb3, 1457 0x86, 1458 0x1a, 1459 0xa7, 1460 0x25, 1461 0x5e, 1462 0x4c, 1463 0x02, 1464 0x78, 1465 0xba, 1466 0x36, 1467 0x04, 1468 0x65, 1469 0x0c, 1470 0x10, 1471 0xbe, 1472 0x19, 1473 0x48, 1474 0x2f, 1475 0x23, 1476 0x17, 1477 0x1b, 1478 0x67, 1479 0x1d, 1480 0xf1, 1481 0xcf, 1482 0x3b, 1483 0x96, 1484 0x0c, 1485 0x07, 1486 0x43, 1487 0x01, 1488 0xcd, 1489 0x93, 1490 0xc1, 1491 0xd1, 1492 0x76, 1493 0x03, 1494 0xd1, 1495 0x47, 1496 0xda, 1497 0xe2, 1498 0xae, 1499 0xf8, 1500 0x37, 1501 0xa6, 1502 0x29, 1503 0x64, 1504 0xef, 1505 0x15, 1506 0xe5, 1507 0xfb, 1508 0x4a, 1509 0xac, 1510 0x0b, 1511 0x8c, 1512 0x1c, 1513 0xca, 1514 0xa4, 1515 0xbe, 1516 0x75, 1517 0x4a, 1518 0xb5, 1519 0x72, 1520 0x8a, 1521 0xe9, 1522 0x13, 1523 0x0c, 1524 0x4c, 1525 0x7d, 1526 0x02, 1527 0x88, 1528 0x0a, 1529 0xb9, 1530 0x47, 1531 0x2d, 1532 0x45, 1533 0x55, 1534 0x62, 1535 0x16, 1536 0xd6, 1537 0x99, 1538 0x8b, 1539 0x86, 1540 0x82, 1541 0x28, 1542 0x3d, 1543 0x19, 1544 0xd4, 1545 0x2a, 1546 0x90, 1547 0xd5, 1548 0xef, 1549 0x8e, 1550 0x5d, 1551 0x32, 1552 0x76, 1553 0x7d, 1554 0xc2, 1555 0x82, 1556 0x2c, 1557 0x6d, 1558 0xf7, 1559 0x85, 1560 0x45, 1561 0x75, 1562 0x38, 1563 0xab, 1564 0xae, 1565 0x83, 1566 0x06, 1567 0x3e, 1568 0xd9, 1569 0xcb, 1570 0x87, 1571 0xc2, 1572 0xd3, 1573 0x70, 1574 0xf2, 1575 0x63, 1576 0xd5, 1577 0xfa, 1578 0xd7, 1579 0x46, 1580 0x6d, 1581 0x84, 1582 0x99, 1583 0xeb, 1584 0x8f, 1585 0x46, 1586 0x4a, 1587 0x70, 1588 0x25, 1589 0x12, 1590 0xb0, 1591 0xce, 1592 0xe7, 1593 0x71, 1594 0xe9, 1595 0x13, 1596 0x0d, 1597 0x69, 1598 0x77, 1599 0x35, 1600 0xf8, 1601 0x97, 1602 0xfd, 1603 0x03, 1604 0x6c, 1605 0xc5, 1606 0x04, 1607 0x32, 1608 0x6c, 1609 0x3b, 1610 0x01, 1611 0x39, 1612 0x9f, 1613 0x64, 1614 0x35, 1615 0x32, 1616 0x29, 1617 0x0f, 1618 0x95, 1619 0x8c, 1620 0x0b, 1621 0xbd, 1622 0x90, 1623 0x06, 1624 0x5d, 1625 0xf0, 1626 0x8b, 1627 0xab, 1628 0xbd, 1629 0x30, 1630 0xae, 1631 0xb6, 1632 0x3b, 1633 0x84, 1634 0xc4, 1635 0x60, 1636 0x5d, 1637 0x6c, 1638 0xa3, 1639 0x71, 1640 0x04, 1641 0x71, 1642 0x27, 1643 0xd0, 1644 0x3a, 1645 0x72, 1646 0xd5, 1647 0x98, 1648 0xa1, 1649 0xed, 1650 0xad, 1651 0xfe, 1652 0x70, 1653 0x7e, 1654 0x88, 1655 0x47, 1656 0x25, 1657 0xc1, 1658 0x68, 1659 0x90, 1660 0x54, 1661 0x9d, 1662 0x69, 1663 0x65, 1664 0x7f, 1665 0xff, 1666 0xff, 1667 0xff, 1668 0xff, 1669 0xff, 1670 0xff, 1671 0xff, 1672 }; 1673 1674 /* q=(p-1)/2 for prime prime_tls_3072 */ 1675 static const unsigned char subprime_tls_3072_data[] = { 1676 0x7f, 1677 0xff, 1678 0xff, 1679 0xff, 1680 0xff, 1681 0xff, 1682 0xff, 1683 0xff, 1684 0xd6, 1685 0xfc, 1686 0x2a, 1687 0x2c, 1688 0x51, 1689 0x5d, 1690 0xa5, 1691 0x4d, 1692 0x57, 1693 0xee, 1694 0x2b, 1695 0x10, 1696 0x13, 1697 0x9e, 1698 0x9e, 1699 0x78, 1700 0xec, 1701 0x5c, 1702 0xe2, 1703 0xc1, 1704 0xe7, 1705 0x16, 1706 0x9b, 1707 0x4a, 1708 0xd4, 1709 0xf0, 1710 0x9b, 1711 0x20, 1712 0x8a, 1713 0x32, 1714 0x19, 1715 0xfd, 1716 0xe6, 1717 0x49, 1718 0xce, 1719 0xe7, 1720 0x12, 1721 0x4d, 1722 0x9f, 1723 0x7c, 1724 0xbe, 1725 0x97, 1726 0xf1, 1727 0xb1, 1728 0xb1, 1729 0x86, 1730 0x3a, 1731 0xec, 1732 0x7b, 1733 0x40, 1734 0xd9, 1735 0x01, 1736 0x57, 1737 0x62, 1738 0x30, 1739 0xbd, 1740 0x69, 1741 0xef, 1742 0x8f, 1743 0x6a, 1744 0xea, 1745 0xfe, 1746 0xb2, 1747 0xb0, 1748 0x92, 1749 0x19, 1750 0xfa, 1751 0x8f, 1752 0xaf, 1753 0x83, 1754 0x37, 1755 0x68, 1756 0x42, 1757 0xb1, 1758 0xb2, 1759 0xaa, 1760 0x9e, 1761 0xf6, 1762 0x8d, 1763 0x79, 1764 0xda, 1765 0xab, 1766 0x89, 1767 0xaf, 1768 0x3f, 1769 0xab, 1770 0xe4, 1771 0x9a, 1772 0xcc, 1773 0x27, 1774 0x86, 1775 0x38, 1776 0x70, 1777 0x73, 1778 0x45, 1779 0xbb, 1780 0xf1, 1781 0x53, 1782 0x44, 1783 0xed, 1784 0x79, 1785 0xf7, 1786 0xf4, 1787 0x39, 1788 0x0e, 1789 0xf8, 1790 0xac, 1791 0x50, 1792 0x9b, 1793 0x56, 1794 0xf3, 1795 0x9a, 1796 0x98, 1797 0x56, 1798 0x65, 1799 0x27, 1800 0xa4, 1801 0x1d, 1802 0x3c, 1803 0xbd, 1804 0x5e, 1805 0x05, 1806 0x58, 1807 0xc1, 1808 0x59, 1809 0x92, 1810 0x7d, 1811 0xb0, 1812 0xe8, 1813 0x84, 1814 0x54, 1815 0xa5, 1816 0xd9, 1817 0x64, 1818 0x71, 1819 0xfd, 1820 0xdc, 1821 0xb5, 1822 0x6d, 1823 0x5b, 1824 0xb0, 1825 0x6b, 1826 0xfa, 1827 0x34, 1828 0x0e, 1829 0xa7, 1830 0xa1, 1831 0x51, 1832 0xef, 1833 0x1c, 1834 0xa6, 1835 0xfa, 1836 0x57, 1837 0x2b, 1838 0x76, 1839 0xf3, 1840 0xb1, 1841 0xb9, 1842 0x5d, 1843 0x8c, 1844 0x85, 1845 0x83, 1846 0xd3, 1847 0xe4, 1848 0x77, 1849 0x05, 1850 0x36, 1851 0xb8, 1852 0x4f, 1853 0x01, 1854 0x7e, 1855 0x70, 1856 0xe6, 1857 0xfb, 1858 0xf1, 1859 0x76, 1860 0x60, 1861 0x1a, 1862 0x02, 1863 0x66, 1864 0x94, 1865 0x1a, 1866 0x17, 1867 0xb0, 1868 0xc8, 1869 0xb9, 1870 0x7f, 1871 0x4e, 1872 0x74, 1873 0xc2, 1874 0xc1, 1875 0xff, 1876 0xc7, 1877 0x27, 1878 0x89, 1879 0x19, 1880 0x77, 1881 0x79, 1882 0x40, 1883 0xc1, 1884 0xe1, 1885 0xff, 1886 0x1d, 1887 0x8d, 1888 0xa6, 1889 0x37, 1890 0xd6, 1891 0xb9, 1892 0x9d, 1893 0xda, 1894 0xfe, 1895 0x5e, 1896 0x17, 1897 0x61, 1898 0x10, 1899 0x02, 1900 0xe2, 1901 0xc7, 1902 0x78, 1903 0xc1, 1904 0xbe, 1905 0x8b, 1906 0x41, 1907 0xd9, 1908 0x63, 1909 0x79, 1910 0xa5, 1911 0x13, 1912 0x60, 1913 0xd9, 1914 0x77, 1915 0xfd, 1916 0x44, 1917 0x35, 1918 0xa1, 1919 0x1c, 1920 0x30, 1921 0x8f, 1922 0xe7, 1923 0xee, 1924 0x6f, 1925 0x1a, 1926 0xad, 1927 0x9d, 1928 0xb2, 1929 0x8c, 1930 0x81, 1931 0xad, 1932 0xde, 1933 0x1a, 1934 0x7a, 1935 0x6f, 1936 0x7c, 1937 0xce, 1938 0x01, 1939 0x1c, 1940 0x30, 1941 0xda, 1942 0x37, 1943 0xe4, 1944 0xeb, 1945 0x73, 1946 0x64, 1947 0x83, 1948 0xbd, 1949 0x6c, 1950 0x8e, 1951 0x93, 1952 0x48, 1953 0xfb, 1954 0xfb, 1955 0xf7, 1956 0x2c, 1957 0xc6, 1958 0x58, 1959 0x7d, 1960 0x60, 1961 0xc3, 1962 0x6c, 1963 0x8e, 1964 0x57, 1965 0x7f, 1966 0x09, 1967 0x84, 1968 0xc2, 1969 0x89, 1970 0xc9, 1971 0x38, 1972 0x5a, 1973 0x09, 1974 0x86, 1975 0x49, 1976 0xde, 1977 0x21, 1978 0xbc, 1979 0xa2, 1980 0x7a, 1981 0x7e, 1982 0xa2, 1983 0x29, 1984 0x71, 1985 0x6b, 1986 0xa6, 1987 0xe9, 1988 0xb2, 1989 0x79, 1990 0x71, 1991 0x0f, 1992 0x38, 1993 0xfa, 1994 0xa5, 1995 0xff, 1996 0xae, 1997 0x57, 1998 0x41, 1999 0x55, 2000 0xce, 2001 0x4e, 2002 0xfb, 2003 0x4f, 2004 0x74, 2005 0x36, 2006 0x95, 2007 0xe2, 2008 0x91, 2009 0x1b, 2010 0x1d, 2011 0x06, 2012 0xd5, 2013 0xe2, 2014 0x90, 2015 0xcb, 2016 0xcd, 2017 0x86, 2018 0xf5, 2019 0x6d, 2020 0x0e, 2021 0xdf, 2022 0xcd, 2023 0x21, 2024 0x6a, 2025 0xe2, 2026 0x24, 2027 0x27, 2028 0x05, 2029 0x5e, 2030 0x68, 2031 0x35, 2032 0xfd, 2033 0x29, 2034 0xee, 2035 0xf7, 2036 0x9e, 2037 0x0d, 2038 0x90, 2039 0x77, 2040 0x1f, 2041 0xea, 2042 0xce, 2043 0xbe, 2044 0x12, 2045 0xf2, 2046 0x0e, 2047 0x95, 2048 0xb3, 2049 0x63, 2050 0x17, 2051 0x1b, 2052 0xff, 2053 0xff, 2054 0xff, 2055 0xff, 2056 0xff, 2057 0xff, 2058 0xff, 2059 0xff, 2060 }; 2061 2062 /* q=(p-1)/2 for prime prime_ike_4096 */ 2063 static const unsigned char subprime_ike_4096_data[] = { 2064 0x7f, 2065 0xff, 2066 0xff, 2067 0xff, 2068 0xff, 2069 0xff, 2070 0xff, 2071 0xff, 2072 0xe4, 2073 0x87, 2074 0xed, 2075 0x51, 2076 0x10, 2077 0xb4, 2078 0x61, 2079 0x1a, 2080 0x62, 2081 0x63, 2082 0x31, 2083 0x45, 2084 0xc0, 2085 0x6e, 2086 0x0e, 2087 0x68, 2088 0x94, 2089 0x81, 2090 0x27, 2091 0x04, 2092 0x45, 2093 0x33, 2094 0xe6, 2095 0x3a, 2096 0x01, 2097 0x05, 2098 0xdf, 2099 0x53, 2100 0x1d, 2101 0x89, 2102 0xcd, 2103 0x91, 2104 0x28, 2105 0xa5, 2106 0x04, 2107 0x3c, 2108 0xc7, 2109 0x1a, 2110 0x02, 2111 0x6e, 2112 0xf7, 2113 0xca, 2114 0x8c, 2115 0xd9, 2116 0xe6, 2117 0x9d, 2118 0x21, 2119 0x8d, 2120 0x98, 2121 0x15, 2122 0x85, 2123 0x36, 2124 0xf9, 2125 0x2f, 2126 0x8a, 2127 0x1b, 2128 0xa7, 2129 0xf0, 2130 0x9a, 2131 0xb6, 2132 0xb6, 2133 0xa8, 2134 0xe1, 2135 0x22, 2136 0xf2, 2137 0x42, 2138 0xda, 2139 0xbb, 2140 0x31, 2141 0x2f, 2142 0x3f, 2143 0x63, 2144 0x7a, 2145 0x26, 2146 0x21, 2147 0x74, 2148 0xd3, 2149 0x1b, 2150 0xf6, 2151 0xb5, 2152 0x85, 2153 0xff, 2154 0xae, 2155 0x5b, 2156 0x7a, 2157 0x03, 2158 0x5b, 2159 0xf6, 2160 0xf7, 2161 0x1c, 2162 0x35, 2163 0xfd, 2164 0xad, 2165 0x44, 2166 0xcf, 2167 0xd2, 2168 0xd7, 2169 0x4f, 2170 0x92, 2171 0x08, 2172 0xbe, 2173 0x25, 2174 0x8f, 2175 0xf3, 2176 0x24, 2177 0x94, 2178 0x33, 2179 0x28, 2180 0xf6, 2181 0x72, 2182 0x2d, 2183 0x9e, 2184 0xe1, 2185 0x00, 2186 0x3e, 2187 0x5c, 2188 0x50, 2189 0xb1, 2190 0xdf, 2191 0x82, 2192 0xcc, 2193 0x6d, 2194 0x24, 2195 0x1b, 2196 0x0e, 2197 0x2a, 2198 0xe9, 2199 0xcd, 2200 0x34, 2201 0x8b, 2202 0x1f, 2203 0xd4, 2204 0x7e, 2205 0x92, 2206 0x67, 2207 0xaf, 2208 0xc1, 2209 0xb2, 2210 0xae, 2211 0x91, 2212 0xee, 2213 0x51, 2214 0xd6, 2215 0xcb, 2216 0x0e, 2217 0x31, 2218 0x79, 2219 0xab, 2220 0x10, 2221 0x42, 2222 0xa9, 2223 0x5d, 2224 0xcf, 2225 0x6a, 2226 0x94, 2227 0x83, 2228 0xb8, 2229 0x4b, 2230 0x4b, 2231 0x36, 2232 0xb3, 2233 0x86, 2234 0x1a, 2235 0xa7, 2236 0x25, 2237 0x5e, 2238 0x4c, 2239 0x02, 2240 0x78, 2241 0xba, 2242 0x36, 2243 0x04, 2244 0x65, 2245 0x0c, 2246 0x10, 2247 0xbe, 2248 0x19, 2249 0x48, 2250 0x2f, 2251 0x23, 2252 0x17, 2253 0x1b, 2254 0x67, 2255 0x1d, 2256 0xf1, 2257 0xcf, 2258 0x3b, 2259 0x96, 2260 0x0c, 2261 0x07, 2262 0x43, 2263 0x01, 2264 0xcd, 2265 0x93, 2266 0xc1, 2267 0xd1, 2268 0x76, 2269 0x03, 2270 0xd1, 2271 0x47, 2272 0xda, 2273 0xe2, 2274 0xae, 2275 0xf8, 2276 0x37, 2277 0xa6, 2278 0x29, 2279 0x64, 2280 0xef, 2281 0x15, 2282 0xe5, 2283 0xfb, 2284 0x4a, 2285 0xac, 2286 0x0b, 2287 0x8c, 2288 0x1c, 2289 0xca, 2290 0xa4, 2291 0xbe, 2292 0x75, 2293 0x4a, 2294 0xb5, 2295 0x72, 2296 0x8a, 2297 0xe9, 2298 0x13, 2299 0x0c, 2300 0x4c, 2301 0x7d, 2302 0x02, 2303 0x88, 2304 0x0a, 2305 0xb9, 2306 0x47, 2307 0x2d, 2308 0x45, 2309 0x55, 2310 0x62, 2311 0x16, 2312 0xd6, 2313 0x99, 2314 0x8b, 2315 0x86, 2316 0x82, 2317 0x28, 2318 0x3d, 2319 0x19, 2320 0xd4, 2321 0x2a, 2322 0x90, 2323 0xd5, 2324 0xef, 2325 0x8e, 2326 0x5d, 2327 0x32, 2328 0x76, 2329 0x7d, 2330 0xc2, 2331 0x82, 2332 0x2c, 2333 0x6d, 2334 0xf7, 2335 0x85, 2336 0x45, 2337 0x75, 2338 0x38, 2339 0xab, 2340 0xae, 2341 0x83, 2342 0x06, 2343 0x3e, 2344 0xd9, 2345 0xcb, 2346 0x87, 2347 0xc2, 2348 0xd3, 2349 0x70, 2350 0xf2, 2351 0x63, 2352 0xd5, 2353 0xfa, 2354 0xd7, 2355 0x46, 2356 0x6d, 2357 0x84, 2358 0x99, 2359 0xeb, 2360 0x8f, 2361 0x46, 2362 0x4a, 2363 0x70, 2364 0x25, 2365 0x12, 2366 0xb0, 2367 0xce, 2368 0xe7, 2369 0x71, 2370 0xe9, 2371 0x13, 2372 0x0d, 2373 0x69, 2374 0x77, 2375 0x35, 2376 0xf8, 2377 0x97, 2378 0xfd, 2379 0x03, 2380 0x6c, 2381 0xc5, 2382 0x04, 2383 0x32, 2384 0x6c, 2385 0x3b, 2386 0x01, 2387 0x39, 2388 0x9f, 2389 0x64, 2390 0x35, 2391 0x32, 2392 0x29, 2393 0x0f, 2394 0x95, 2395 0x8c, 2396 0x0b, 2397 0xbd, 2398 0x90, 2399 0x06, 2400 0x5d, 2401 0xf0, 2402 0x8b, 2403 0xab, 2404 0xbd, 2405 0x30, 2406 0xae, 2407 0xb6, 2408 0x3b, 2409 0x84, 2410 0xc4, 2411 0x60, 2412 0x5d, 2413 0x6c, 2414 0xa3, 2415 0x71, 2416 0x04, 2417 0x71, 2418 0x27, 2419 0xd0, 2420 0x3a, 2421 0x72, 2422 0xd5, 2423 0x98, 2424 0xa1, 2425 0xed, 2426 0xad, 2427 0xfe, 2428 0x70, 2429 0x7e, 2430 0x88, 2431 0x47, 2432 0x25, 2433 0xc1, 2434 0x68, 2435 0x90, 2436 0x54, 2437 0x90, 2438 0x84, 2439 0x00, 2440 0x8d, 2441 0x39, 2442 0x1e, 2443 0x09, 2444 0x53, 2445 0xc3, 2446 0xf3, 2447 0x6b, 2448 0xc4, 2449 0x38, 2450 0xcd, 2451 0x08, 2452 0x5e, 2453 0xdd, 2454 0x2d, 2455 0x93, 2456 0x4c, 2457 0xe1, 2458 0x93, 2459 0x8c, 2460 0x35, 2461 0x7a, 2462 0x71, 2463 0x1e, 2464 0x0d, 2465 0x4a, 2466 0x34, 2467 0x1a, 2468 0x5b, 2469 0x0a, 2470 0x85, 2471 0xed, 2472 0x12, 2473 0xc1, 2474 0xf4, 2475 0xe5, 2476 0x15, 2477 0x6a, 2478 0x26, 2479 0x74, 2480 0x6d, 2481 0xdd, 2482 0xe1, 2483 0x6d, 2484 0x82, 2485 0x6f, 2486 0x47, 2487 0x7c, 2488 0x97, 2489 0x47, 2490 0x7e, 2491 0x0a, 2492 0x0f, 2493 0xdf, 2494 0x65, 2495 0x53, 2496 0x14, 2497 0x3e, 2498 0x2c, 2499 0xa3, 2500 0xa7, 2501 0x35, 2502 0xe0, 2503 0x2e, 2504 0xcc, 2505 0xd9, 2506 0x4b, 2507 0x27, 2508 0xd0, 2509 0x48, 2510 0x61, 2511 0xd1, 2512 0x11, 2513 0x9d, 2514 0xd0, 2515 0xc3, 2516 0x28, 2517 0xad, 2518 0xf3, 2519 0xf6, 2520 0x8f, 2521 0xb0, 2522 0x94, 2523 0xb8, 2524 0x67, 2525 0x71, 2526 0x6b, 2527 0xd7, 2528 0xdc, 2529 0x0d, 2530 0xee, 2531 0xbb, 2532 0x10, 2533 0xb8, 2534 0x24, 2535 0x0e, 2536 0x68, 2537 0x03, 2538 0x48, 2539 0x93, 2540 0xea, 2541 0xd8, 2542 0x2d, 2543 0x54, 2544 0xc9, 2545 0xda, 2546 0x75, 2547 0x4c, 2548 0x46, 2549 0xc7, 2550 0xee, 2551 0xe0, 2552 0xc3, 2553 0x7f, 2554 0xdb, 2555 0xee, 2556 0x48, 2557 0x53, 2558 0x60, 2559 0x47, 2560 0xa6, 2561 0xfa, 2562 0x1a, 2563 0xe4, 2564 0x9a, 2565 0x03, 2566 0x18, 2567 0xcc, 2568 0xff, 2569 0xff, 2570 0xff, 2571 0xff, 2572 0xff, 2573 0xff, 2574 0xff, 2575 0xff, 2576 }; 2577 2578 /* q=(p-1)/2 for prime prime_tls_4096 */ 2579 static const unsigned char subprime_tls_4096_data[] = { 2580 0x7f, 2581 0xff, 2582 0xff, 2583 0xff, 2584 0xff, 2585 0xff, 2586 0xff, 2587 0xff, 2588 0xd6, 2589 0xfc, 2590 0x2a, 2591 0x2c, 2592 0x51, 2593 0x5d, 2594 0xa5, 2595 0x4d, 2596 0x57, 2597 0xee, 2598 0x2b, 2599 0x10, 2600 0x13, 2601 0x9e, 2602 0x9e, 2603 0x78, 2604 0xec, 2605 0x5c, 2606 0xe2, 2607 0xc1, 2608 0xe7, 2609 0x16, 2610 0x9b, 2611 0x4a, 2612 0xd4, 2613 0xf0, 2614 0x9b, 2615 0x20, 2616 0x8a, 2617 0x32, 2618 0x19, 2619 0xfd, 2620 0xe6, 2621 0x49, 2622 0xce, 2623 0xe7, 2624 0x12, 2625 0x4d, 2626 0x9f, 2627 0x7c, 2628 0xbe, 2629 0x97, 2630 0xf1, 2631 0xb1, 2632 0xb1, 2633 0x86, 2634 0x3a, 2635 0xec, 2636 0x7b, 2637 0x40, 2638 0xd9, 2639 0x01, 2640 0x57, 2641 0x62, 2642 0x30, 2643 0xbd, 2644 0x69, 2645 0xef, 2646 0x8f, 2647 0x6a, 2648 0xea, 2649 0xfe, 2650 0xb2, 2651 0xb0, 2652 0x92, 2653 0x19, 2654 0xfa, 2655 0x8f, 2656 0xaf, 2657 0x83, 2658 0x37, 2659 0x68, 2660 0x42, 2661 0xb1, 2662 0xb2, 2663 0xaa, 2664 0x9e, 2665 0xf6, 2666 0x8d, 2667 0x79, 2668 0xda, 2669 0xab, 2670 0x89, 2671 0xaf, 2672 0x3f, 2673 0xab, 2674 0xe4, 2675 0x9a, 2676 0xcc, 2677 0x27, 2678 0x86, 2679 0x38, 2680 0x70, 2681 0x73, 2682 0x45, 2683 0xbb, 2684 0xf1, 2685 0x53, 2686 0x44, 2687 0xed, 2688 0x79, 2689 0xf7, 2690 0xf4, 2691 0x39, 2692 0x0e, 2693 0xf8, 2694 0xac, 2695 0x50, 2696 0x9b, 2697 0x56, 2698 0xf3, 2699 0x9a, 2700 0x98, 2701 0x56, 2702 0x65, 2703 0x27, 2704 0xa4, 2705 0x1d, 2706 0x3c, 2707 0xbd, 2708 0x5e, 2709 0x05, 2710 0x58, 2711 0xc1, 2712 0x59, 2713 0x92, 2714 0x7d, 2715 0xb0, 2716 0xe8, 2717 0x84, 2718 0x54, 2719 0xa5, 2720 0xd9, 2721 0x64, 2722 0x71, 2723 0xfd, 2724 0xdc, 2725 0xb5, 2726 0x6d, 2727 0x5b, 2728 0xb0, 2729 0x6b, 2730 0xfa, 2731 0x34, 2732 0x0e, 2733 0xa7, 2734 0xa1, 2735 0x51, 2736 0xef, 2737 0x1c, 2738 0xa6, 2739 0xfa, 2740 0x57, 2741 0x2b, 2742 0x76, 2743 0xf3, 2744 0xb1, 2745 0xb9, 2746 0x5d, 2747 0x8c, 2748 0x85, 2749 0x83, 2750 0xd3, 2751 0xe4, 2752 0x77, 2753 0x05, 2754 0x36, 2755 0xb8, 2756 0x4f, 2757 0x01, 2758 0x7e, 2759 0x70, 2760 0xe6, 2761 0xfb, 2762 0xf1, 2763 0x76, 2764 0x60, 2765 0x1a, 2766 0x02, 2767 0x66, 2768 0x94, 2769 0x1a, 2770 0x17, 2771 0xb0, 2772 0xc8, 2773 0xb9, 2774 0x7f, 2775 0x4e, 2776 0x74, 2777 0xc2, 2778 0xc1, 2779 0xff, 2780 0xc7, 2781 0x27, 2782 0x89, 2783 0x19, 2784 0x77, 2785 0x79, 2786 0x40, 2787 0xc1, 2788 0xe1, 2789 0xff, 2790 0x1d, 2791 0x8d, 2792 0xa6, 2793 0x37, 2794 0xd6, 2795 0xb9, 2796 0x9d, 2797 0xda, 2798 0xfe, 2799 0x5e, 2800 0x17, 2801 0x61, 2802 0x10, 2803 0x02, 2804 0xe2, 2805 0xc7, 2806 0x78, 2807 0xc1, 2808 0xbe, 2809 0x8b, 2810 0x41, 2811 0xd9, 2812 0x63, 2813 0x79, 2814 0xa5, 2815 0x13, 2816 0x60, 2817 0xd9, 2818 0x77, 2819 0xfd, 2820 0x44, 2821 0x35, 2822 0xa1, 2823 0x1c, 2824 0x30, 2825 0x8f, 2826 0xe7, 2827 0xee, 2828 0x6f, 2829 0x1a, 2830 0xad, 2831 0x9d, 2832 0xb2, 2833 0x8c, 2834 0x81, 2835 0xad, 2836 0xde, 2837 0x1a, 2838 0x7a, 2839 0x6f, 2840 0x7c, 2841 0xce, 2842 0x01, 2843 0x1c, 2844 0x30, 2845 0xda, 2846 0x37, 2847 0xe4, 2848 0xeb, 2849 0x73, 2850 0x64, 2851 0x83, 2852 0xbd, 2853 0x6c, 2854 0x8e, 2855 0x93, 2856 0x48, 2857 0xfb, 2858 0xfb, 2859 0xf7, 2860 0x2c, 2861 0xc6, 2862 0x58, 2863 0x7d, 2864 0x60, 2865 0xc3, 2866 0x6c, 2867 0x8e, 2868 0x57, 2869 0x7f, 2870 0x09, 2871 0x84, 2872 0xc2, 2873 0x89, 2874 0xc9, 2875 0x38, 2876 0x5a, 2877 0x09, 2878 0x86, 2879 0x49, 2880 0xde, 2881 0x21, 2882 0xbc, 2883 0xa2, 2884 0x7a, 2885 0x7e, 2886 0xa2, 2887 0x29, 2888 0x71, 2889 0x6b, 2890 0xa6, 2891 0xe9, 2892 0xb2, 2893 0x79, 2894 0x71, 2895 0x0f, 2896 0x38, 2897 0xfa, 2898 0xa5, 2899 0xff, 2900 0xae, 2901 0x57, 2902 0x41, 2903 0x55, 2904 0xce, 2905 0x4e, 2906 0xfb, 2907 0x4f, 2908 0x74, 2909 0x36, 2910 0x95, 2911 0xe2, 2912 0x91, 2913 0x1b, 2914 0x1d, 2915 0x06, 2916 0xd5, 2917 0xe2, 2918 0x90, 2919 0xcb, 2920 0xcd, 2921 0x86, 2922 0xf5, 2923 0x6d, 2924 0x0e, 2925 0xdf, 2926 0xcd, 2927 0x21, 2928 0x6a, 2929 0xe2, 2930 0x24, 2931 0x27, 2932 0x05, 2933 0x5e, 2934 0x68, 2935 0x35, 2936 0xfd, 2937 0x29, 2938 0xee, 2939 0xf7, 2940 0x9e, 2941 0x0d, 2942 0x90, 2943 0x77, 2944 0x1f, 2945 0xea, 2946 0xce, 2947 0xbe, 2948 0x12, 2949 0xf2, 2950 0x0e, 2951 0x95, 2952 0xb3, 2953 0x4f, 2954 0x0f, 2955 0x78, 2956 0xb7, 2957 0x37, 2958 0xa9, 2959 0x61, 2960 0x8b, 2961 0x26, 2962 0xfa, 2963 0x7d, 2964 0xbc, 2965 0x98, 2966 0x74, 2967 0xf2, 2968 0x72, 2969 0xc4, 2970 0x2b, 2971 0xdb, 2972 0x56, 2973 0x3e, 2974 0xaf, 2975 0xa1, 2976 0x6b, 2977 0x4f, 2978 0xb6, 2979 0x8c, 2980 0x3b, 2981 0xb1, 2982 0xe7, 2983 0x8e, 2984 0xaa, 2985 0x81, 2986 0xa0, 2987 0x02, 2988 0x43, 2989 0xfa, 2990 0xad, 2991 0xd2, 2992 0xbf, 2993 0x18, 2994 0xe6, 2995 0x3d, 2996 0x38, 2997 0x9a, 2998 0xe4, 2999 0x43, 3000 0x77, 3001 0xda, 3002 0x18, 3003 0xc5, 3004 0x76, 3005 0xb5, 3006 0x0f, 3007 0x00, 3008 0x96, 3009 0xcf, 3010 0x34, 3011 0x19, 3012 0x54, 3013 0x83, 3014 0xb0, 3015 0x05, 3016 0x48, 3017 0xc0, 3018 0x98, 3019 0x62, 3020 0x36, 3021 0xe3, 3022 0xbc, 3023 0x7c, 3024 0xb8, 3025 0xd6, 3026 0x80, 3027 0x1c, 3028 0x04, 3029 0x94, 3030 0xcc, 3031 0xd1, 3032 0x99, 3033 0xe5, 3034 0xc5, 3035 0xbd, 3036 0x0d, 3037 0x0e, 3038 0xdc, 3039 0x9e, 3040 0xb8, 3041 0xa0, 3042 0x00, 3043 0x1e, 3044 0x15, 3045 0x27, 3046 0x67, 3047 0x54, 3048 0xfc, 3049 0xc6, 3050 0x85, 3051 0x66, 3052 0x05, 3053 0x41, 3054 0x48, 3055 0xe6, 3056 0xe7, 3057 0x64, 3058 0xbe, 3059 0xe7, 3060 0xc7, 3061 0x64, 3062 0xda, 3063 0xad, 3064 0x3f, 3065 0xc4, 3066 0x52, 3067 0x35, 3068 0xa6, 3069 0xda, 3070 0xd4, 3071 0x28, 3072 0xfa, 3073 0x20, 3074 0xc1, 3075 0x70, 3076 0xe3, 3077 0x45, 3078 0x00, 3079 0x3f, 3080 0x2f, 3081 0x32, 3082 0xaf, 3083 0xb5, 3084 0x7f, 3085 0xff, 3086 0xff, 3087 0xff, 3088 0xff, 3089 0xff, 3090 0xff, 3091 0xff, 3092 }; 3093 3094 /* q=(p-1)/2 for prime prime_ike_6144 */ 3095 static const unsigned char subprime_ike_6144_data[] = { 3096 0x7f, 3097 0xff, 3098 0xff, 3099 0xff, 3100 0xff, 3101 0xff, 3102 0xff, 3103 0xff, 3104 0xe4, 3105 0x87, 3106 0xed, 3107 0x51, 3108 0x10, 3109 0xb4, 3110 0x61, 3111 0x1a, 3112 0x62, 3113 0x63, 3114 0x31, 3115 0x45, 3116 0xc0, 3117 0x6e, 3118 0x0e, 3119 0x68, 3120 0x94, 3121 0x81, 3122 0x27, 3123 0x04, 3124 0x45, 3125 0x33, 3126 0xe6, 3127 0x3a, 3128 0x01, 3129 0x05, 3130 0xdf, 3131 0x53, 3132 0x1d, 3133 0x89, 3134 0xcd, 3135 0x91, 3136 0x28, 3137 0xa5, 3138 0x04, 3139 0x3c, 3140 0xc7, 3141 0x1a, 3142 0x02, 3143 0x6e, 3144 0xf7, 3145 0xca, 3146 0x8c, 3147 0xd9, 3148 0xe6, 3149 0x9d, 3150 0x21, 3151 0x8d, 3152 0x98, 3153 0x15, 3154 0x85, 3155 0x36, 3156 0xf9, 3157 0x2f, 3158 0x8a, 3159 0x1b, 3160 0xa7, 3161 0xf0, 3162 0x9a, 3163 0xb6, 3164 0xb6, 3165 0xa8, 3166 0xe1, 3167 0x22, 3168 0xf2, 3169 0x42, 3170 0xda, 3171 0xbb, 3172 0x31, 3173 0x2f, 3174 0x3f, 3175 0x63, 3176 0x7a, 3177 0x26, 3178 0x21, 3179 0x74, 3180 0xd3, 3181 0x1b, 3182 0xf6, 3183 0xb5, 3184 0x85, 3185 0xff, 3186 0xae, 3187 0x5b, 3188 0x7a, 3189 0x03, 3190 0x5b, 3191 0xf6, 3192 0xf7, 3193 0x1c, 3194 0x35, 3195 0xfd, 3196 0xad, 3197 0x44, 3198 0xcf, 3199 0xd2, 3200 0xd7, 3201 0x4f, 3202 0x92, 3203 0x08, 3204 0xbe, 3205 0x25, 3206 0x8f, 3207 0xf3, 3208 0x24, 3209 0x94, 3210 0x33, 3211 0x28, 3212 0xf6, 3213 0x72, 3214 0x2d, 3215 0x9e, 3216 0xe1, 3217 0x00, 3218 0x3e, 3219 0x5c, 3220 0x50, 3221 0xb1, 3222 0xdf, 3223 0x82, 3224 0xcc, 3225 0x6d, 3226 0x24, 3227 0x1b, 3228 0x0e, 3229 0x2a, 3230 0xe9, 3231 0xcd, 3232 0x34, 3233 0x8b, 3234 0x1f, 3235 0xd4, 3236 0x7e, 3237 0x92, 3238 0x67, 3239 0xaf, 3240 0xc1, 3241 0xb2, 3242 0xae, 3243 0x91, 3244 0xee, 3245 0x51, 3246 0xd6, 3247 0xcb, 3248 0x0e, 3249 0x31, 3250 0x79, 3251 0xab, 3252 0x10, 3253 0x42, 3254 0xa9, 3255 0x5d, 3256 0xcf, 3257 0x6a, 3258 0x94, 3259 0x83, 3260 0xb8, 3261 0x4b, 3262 0x4b, 3263 0x36, 3264 0xb3, 3265 0x86, 3266 0x1a, 3267 0xa7, 3268 0x25, 3269 0x5e, 3270 0x4c, 3271 0x02, 3272 0x78, 3273 0xba, 3274 0x36, 3275 0x04, 3276 0x65, 3277 0x0c, 3278 0x10, 3279 0xbe, 3280 0x19, 3281 0x48, 3282 0x2f, 3283 0x23, 3284 0x17, 3285 0x1b, 3286 0x67, 3287 0x1d, 3288 0xf1, 3289 0xcf, 3290 0x3b, 3291 0x96, 3292 0x0c, 3293 0x07, 3294 0x43, 3295 0x01, 3296 0xcd, 3297 0x93, 3298 0xc1, 3299 0xd1, 3300 0x76, 3301 0x03, 3302 0xd1, 3303 0x47, 3304 0xda, 3305 0xe2, 3306 0xae, 3307 0xf8, 3308 0x37, 3309 0xa6, 3310 0x29, 3311 0x64, 3312 0xef, 3313 0x15, 3314 0xe5, 3315 0xfb, 3316 0x4a, 3317 0xac, 3318 0x0b, 3319 0x8c, 3320 0x1c, 3321 0xca, 3322 0xa4, 3323 0xbe, 3324 0x75, 3325 0x4a, 3326 0xb5, 3327 0x72, 3328 0x8a, 3329 0xe9, 3330 0x13, 3331 0x0c, 3332 0x4c, 3333 0x7d, 3334 0x02, 3335 0x88, 3336 0x0a, 3337 0xb9, 3338 0x47, 3339 0x2d, 3340 0x45, 3341 0x55, 3342 0x62, 3343 0x16, 3344 0xd6, 3345 0x99, 3346 0x8b, 3347 0x86, 3348 0x82, 3349 0x28, 3350 0x3d, 3351 0x19, 3352 0xd4, 3353 0x2a, 3354 0x90, 3355 0xd5, 3356 0xef, 3357 0x8e, 3358 0x5d, 3359 0x32, 3360 0x76, 3361 0x7d, 3362 0xc2, 3363 0x82, 3364 0x2c, 3365 0x6d, 3366 0xf7, 3367 0x85, 3368 0x45, 3369 0x75, 3370 0x38, 3371 0xab, 3372 0xae, 3373 0x83, 3374 0x06, 3375 0x3e, 3376 0xd9, 3377 0xcb, 3378 0x87, 3379 0xc2, 3380 0xd3, 3381 0x70, 3382 0xf2, 3383 0x63, 3384 0xd5, 3385 0xfa, 3386 0xd7, 3387 0x46, 3388 0x6d, 3389 0x84, 3390 0x99, 3391 0xeb, 3392 0x8f, 3393 0x46, 3394 0x4a, 3395 0x70, 3396 0x25, 3397 0x12, 3398 0xb0, 3399 0xce, 3400 0xe7, 3401 0x71, 3402 0xe9, 3403 0x13, 3404 0x0d, 3405 0x69, 3406 0x77, 3407 0x35, 3408 0xf8, 3409 0x97, 3410 0xfd, 3411 0x03, 3412 0x6c, 3413 0xc5, 3414 0x04, 3415 0x32, 3416 0x6c, 3417 0x3b, 3418 0x01, 3419 0x39, 3420 0x9f, 3421 0x64, 3422 0x35, 3423 0x32, 3424 0x29, 3425 0x0f, 3426 0x95, 3427 0x8c, 3428 0x0b, 3429 0xbd, 3430 0x90, 3431 0x06, 3432 0x5d, 3433 0xf0, 3434 0x8b, 3435 0xab, 3436 0xbd, 3437 0x30, 3438 0xae, 3439 0xb6, 3440 0x3b, 3441 0x84, 3442 0xc4, 3443 0x60, 3444 0x5d, 3445 0x6c, 3446 0xa3, 3447 0x71, 3448 0x04, 3449 0x71, 3450 0x27, 3451 0xd0, 3452 0x3a, 3453 0x72, 3454 0xd5, 3455 0x98, 3456 0xa1, 3457 0xed, 3458 0xad, 3459 0xfe, 3460 0x70, 3461 0x7e, 3462 0x88, 3463 0x47, 3464 0x25, 3465 0xc1, 3466 0x68, 3467 0x90, 3468 0x54, 3469 0x90, 3470 0x84, 3471 0x00, 3472 0x8d, 3473 0x39, 3474 0x1e, 3475 0x09, 3476 0x53, 3477 0xc3, 3478 0xf3, 3479 0x6b, 3480 0xc4, 3481 0x38, 3482 0xcd, 3483 0x08, 3484 0x5e, 3485 0xdd, 3486 0x2d, 3487 0x93, 3488 0x4c, 3489 0xe1, 3490 0x93, 3491 0x8c, 3492 0x35, 3493 0x7a, 3494 0x71, 3495 0x1e, 3496 0x0d, 3497 0x4a, 3498 0x34, 3499 0x1a, 3500 0x5b, 3501 0x0a, 3502 0x85, 3503 0xed, 3504 0x12, 3505 0xc1, 3506 0xf4, 3507 0xe5, 3508 0x15, 3509 0x6a, 3510 0x26, 3511 0x74, 3512 0x6d, 3513 0xdd, 3514 0xe1, 3515 0x6d, 3516 0x82, 3517 0x6f, 3518 0x47, 3519 0x7c, 3520 0x97, 3521 0x47, 3522 0x7e, 3523 0x0a, 3524 0x0f, 3525 0xdf, 3526 0x65, 3527 0x53, 3528 0x14, 3529 0x3e, 3530 0x2c, 3531 0xa3, 3532 0xa7, 3533 0x35, 3534 0xe0, 3535 0x2e, 3536 0xcc, 3537 0xd9, 3538 0x4b, 3539 0x27, 3540 0xd0, 3541 0x48, 3542 0x61, 3543 0xd1, 3544 0x11, 3545 0x9d, 3546 0xd0, 3547 0xc3, 3548 0x28, 3549 0xad, 3550 0xf3, 3551 0xf6, 3552 0x8f, 3553 0xb0, 3554 0x94, 3555 0xb8, 3556 0x67, 3557 0x71, 3558 0x6b, 3559 0xd7, 3560 0xdc, 3561 0x0d, 3562 0xee, 3563 0xbb, 3564 0x10, 3565 0xb8, 3566 0x24, 3567 0x0e, 3568 0x68, 3569 0x03, 3570 0x48, 3571 0x93, 3572 0xea, 3573 0xd8, 3574 0x2d, 3575 0x54, 3576 0xc9, 3577 0xda, 3578 0x75, 3579 0x4c, 3580 0x46, 3581 0xc7, 3582 0xee, 3583 0xe0, 3584 0xc3, 3585 0x7f, 3586 0xdb, 3587 0xee, 3588 0x48, 3589 0x53, 3590 0x60, 3591 0x47, 3592 0xa6, 3593 0xfa, 3594 0x1a, 3595 0xe4, 3596 0x9a, 3597 0x01, 3598 0x42, 3599 0x49, 3600 0x1b, 3601 0x61, 3602 0xfd, 3603 0x5a, 3604 0x69, 3605 0x3e, 3606 0x38, 3607 0x13, 3608 0x60, 3609 0xea, 3610 0x6e, 3611 0x59, 3612 0x30, 3613 0x13, 3614 0x23, 3615 0x6f, 3616 0x64, 3617 0xba, 3618 0x8f, 3619 0x3b, 3620 0x1e, 3621 0xdd, 3622 0x1b, 3623 0xde, 3624 0xfc, 3625 0x7f, 3626 0xca, 3627 0x03, 3628 0x56, 3629 0xcf, 3630 0x29, 3631 0x87, 3632 0x72, 3633 0xed, 3634 0x9c, 3635 0x17, 3636 0xa0, 3637 0x98, 3638 0x00, 3639 0xd7, 3640 0x58, 3641 0x35, 3642 0x29, 3643 0xf6, 3644 0xc8, 3645 0x13, 3646 0xec, 3647 0x18, 3648 0x8b, 3649 0xcb, 3650 0x93, 3651 0xd8, 3652 0x43, 3653 0x2d, 3654 0x44, 3655 0x8c, 3656 0x6d, 3657 0x1f, 3658 0x6d, 3659 0xf5, 3660 0xe7, 3661 0xcd, 3662 0x8a, 3663 0x76, 3664 0xa2, 3665 0x67, 3666 0x36, 3667 0x5d, 3668 0x67, 3669 0x6a, 3670 0x5d, 3671 0x8d, 3672 0xed, 3673 0xbf, 3674 0x8a, 3675 0x23, 3676 0xf3, 3677 0x66, 3678 0x12, 3679 0xa5, 3680 0x99, 3681 0x90, 3682 0x28, 3683 0xa8, 3684 0x95, 3685 0xeb, 3686 0xd7, 3687 0xa1, 3688 0x37, 3689 0xdc, 3690 0x7a, 3691 0x00, 3692 0x9b, 3693 0xc6, 3694 0x69, 3695 0x5f, 3696 0xac, 3697 0xc1, 3698 0xe5, 3699 0x00, 3700 0xe3, 3701 0x25, 3702 0xc9, 3703 0x76, 3704 0x78, 3705 0x19, 3706 0x75, 3707 0x0a, 3708 0xe8, 3709 0xb9, 3710 0x0e, 3711 0x81, 3712 0xfa, 3713 0x41, 3714 0x6b, 3715 0xe7, 3716 0x37, 3717 0x3a, 3718 0x7f, 3719 0x7b, 3720 0x6a, 3721 0xaf, 3722 0x38, 3723 0x17, 3724 0xa3, 3725 0x4c, 3726 0x06, 3727 0x41, 3728 0x5a, 3729 0xd4, 3730 0x20, 3731 0x18, 3732 0xc8, 3733 0x05, 3734 0x8e, 3735 0x4f, 3736 0x2c, 3737 0xf3, 3738 0xe4, 3739 0xbf, 3740 0xdf, 3741 0x63, 3742 0xf4, 3743 0x79, 3744 0x91, 3745 0xd4, 3746 0xbd, 3747 0x3f, 3748 0x1b, 3749 0x66, 3750 0x44, 3751 0x5f, 3752 0x07, 3753 0x8e, 3754 0xa2, 3755 0xdb, 3756 0xff, 3757 0xac, 3758 0x2d, 3759 0x62, 3760 0xa5, 3761 0xea, 3762 0x03, 3763 0xd9, 3764 0x15, 3765 0xa0, 3766 0xaa, 3767 0x55, 3768 0x66, 3769 0x47, 3770 0xb6, 3771 0xbf, 3772 0x5f, 3773 0xa4, 3774 0x70, 3775 0xec, 3776 0x0a, 3777 0x66, 3778 0x2f, 3779 0x69, 3780 0x07, 3781 0xc0, 3782 0x1b, 3783 0xf0, 3784 0x53, 3785 0xcb, 3786 0x8a, 3787 0xf7, 3788 0x79, 3789 0x4d, 3790 0xf1, 3791 0x94, 3792 0x03, 3793 0x50, 3794 0xea, 3795 0xc5, 3796 0xdb, 3797 0xe2, 3798 0xed, 3799 0x3b, 3800 0x7a, 3801 0xa8, 3802 0x55, 3803 0x1e, 3804 0xc5, 3805 0x0f, 3806 0xdf, 3807 0xf8, 3808 0x75, 3809 0x8c, 3810 0xe6, 3811 0x58, 3812 0xd1, 3813 0x89, 3814 0xea, 3815 0xae, 3816 0x6d, 3817 0x2b, 3818 0x64, 3819 0xf6, 3820 0x17, 3821 0x79, 3822 0x4b, 3823 0x19, 3824 0x1c, 3825 0x3f, 3826 0xf4, 3827 0x6b, 3828 0xb7, 3829 0x1e, 3830 0x02, 3831 0x34, 3832 0x02, 3833 0x1f, 3834 0x47, 3835 0xb3, 3836 0x1f, 3837 0xa4, 3838 0x30, 3839 0x77, 3840 0x09, 3841 0x5f, 3842 0x96, 3843 0xad, 3844 0x85, 3845 0xba, 3846 0x3a, 3847 0x6b, 3848 0x73, 3849 0x4a, 3850 0x7c, 3851 0x8f, 3852 0x36, 3853 0xe6, 3854 0x20, 3855 0x12, 3856 0x7f, 3857 0xff, 3858 0xff, 3859 0xff, 3860 0xff, 3861 0xff, 3862 0xff, 3863 0xff, 3864 }; 3865 3866 /* q=(p-1)/2 for prime prime_tls_6144 */ 3867 static const unsigned char subprime_tls_6144_data[] = { 3868 0x7f, 3869 0xff, 3870 0xff, 3871 0xff, 3872 0xff, 3873 0xff, 3874 0xff, 3875 0xff, 3876 0xd6, 3877 0xfc, 3878 0x2a, 3879 0x2c, 3880 0x51, 3881 0x5d, 3882 0xa5, 3883 0x4d, 3884 0x57, 3885 0xee, 3886 0x2b, 3887 0x10, 3888 0x13, 3889 0x9e, 3890 0x9e, 3891 0x78, 3892 0xec, 3893 0x5c, 3894 0xe2, 3895 0xc1, 3896 0xe7, 3897 0x16, 3898 0x9b, 3899 0x4a, 3900 0xd4, 3901 0xf0, 3902 0x9b, 3903 0x20, 3904 0x8a, 3905 0x32, 3906 0x19, 3907 0xfd, 3908 0xe6, 3909 0x49, 3910 0xce, 3911 0xe7, 3912 0x12, 3913 0x4d, 3914 0x9f, 3915 0x7c, 3916 0xbe, 3917 0x97, 3918 0xf1, 3919 0xb1, 3920 0xb1, 3921 0x86, 3922 0x3a, 3923 0xec, 3924 0x7b, 3925 0x40, 3926 0xd9, 3927 0x01, 3928 0x57, 3929 0x62, 3930 0x30, 3931 0xbd, 3932 0x69, 3933 0xef, 3934 0x8f, 3935 0x6a, 3936 0xea, 3937 0xfe, 3938 0xb2, 3939 0xb0, 3940 0x92, 3941 0x19, 3942 0xfa, 3943 0x8f, 3944 0xaf, 3945 0x83, 3946 0x37, 3947 0x68, 3948 0x42, 3949 0xb1, 3950 0xb2, 3951 0xaa, 3952 0x9e, 3953 0xf6, 3954 0x8d, 3955 0x79, 3956 0xda, 3957 0xab, 3958 0x89, 3959 0xaf, 3960 0x3f, 3961 0xab, 3962 0xe4, 3963 0x9a, 3964 0xcc, 3965 0x27, 3966 0x86, 3967 0x38, 3968 0x70, 3969 0x73, 3970 0x45, 3971 0xbb, 3972 0xf1, 3973 0x53, 3974 0x44, 3975 0xed, 3976 0x79, 3977 0xf7, 3978 0xf4, 3979 0x39, 3980 0x0e, 3981 0xf8, 3982 0xac, 3983 0x50, 3984 0x9b, 3985 0x56, 3986 0xf3, 3987 0x9a, 3988 0x98, 3989 0x56, 3990 0x65, 3991 0x27, 3992 0xa4, 3993 0x1d, 3994 0x3c, 3995 0xbd, 3996 0x5e, 3997 0x05, 3998 0x58, 3999 0xc1, 4000 0x59, 4001 0x92, 4002 0x7d, 4003 0xb0, 4004 0xe8, 4005 0x84, 4006 0x54, 4007 0xa5, 4008 0xd9, 4009 0x64, 4010 0x71, 4011 0xfd, 4012 0xdc, 4013 0xb5, 4014 0x6d, 4015 0x5b, 4016 0xb0, 4017 0x6b, 4018 0xfa, 4019 0x34, 4020 0x0e, 4021 0xa7, 4022 0xa1, 4023 0x51, 4024 0xef, 4025 0x1c, 4026 0xa6, 4027 0xfa, 4028 0x57, 4029 0x2b, 4030 0x76, 4031 0xf3, 4032 0xb1, 4033 0xb9, 4034 0x5d, 4035 0x8c, 4036 0x85, 4037 0x83, 4038 0xd3, 4039 0xe4, 4040 0x77, 4041 0x05, 4042 0x36, 4043 0xb8, 4044 0x4f, 4045 0x01, 4046 0x7e, 4047 0x70, 4048 0xe6, 4049 0xfb, 4050 0xf1, 4051 0x76, 4052 0x60, 4053 0x1a, 4054 0x02, 4055 0x66, 4056 0x94, 4057 0x1a, 4058 0x17, 4059 0xb0, 4060 0xc8, 4061 0xb9, 4062 0x7f, 4063 0x4e, 4064 0x74, 4065 0xc2, 4066 0xc1, 4067 0xff, 4068 0xc7, 4069 0x27, 4070 0x89, 4071 0x19, 4072 0x77, 4073 0x79, 4074 0x40, 4075 0xc1, 4076 0xe1, 4077 0xff, 4078 0x1d, 4079 0x8d, 4080 0xa6, 4081 0x37, 4082 0xd6, 4083 0xb9, 4084 0x9d, 4085 0xda, 4086 0xfe, 4087 0x5e, 4088 0x17, 4089 0x61, 4090 0x10, 4091 0x02, 4092 0xe2, 4093 0xc7, 4094 0x78, 4095 0xc1, 4096 0xbe, 4097 0x8b, 4098 0x41, 4099 0xd9, 4100 0x63, 4101 0x79, 4102 0xa5, 4103 0x13, 4104 0x60, 4105 0xd9, 4106 0x77, 4107 0xfd, 4108 0x44, 4109 0x35, 4110 0xa1, 4111 0x1c, 4112 0x30, 4113 0x8f, 4114 0xe7, 4115 0xee, 4116 0x6f, 4117 0x1a, 4118 0xad, 4119 0x9d, 4120 0xb2, 4121 0x8c, 4122 0x81, 4123 0xad, 4124 0xde, 4125 0x1a, 4126 0x7a, 4127 0x6f, 4128 0x7c, 4129 0xce, 4130 0x01, 4131 0x1c, 4132 0x30, 4133 0xda, 4134 0x37, 4135 0xe4, 4136 0xeb, 4137 0x73, 4138 0x64, 4139 0x83, 4140 0xbd, 4141 0x6c, 4142 0x8e, 4143 0x93, 4144 0x48, 4145 0xfb, 4146 0xfb, 4147 0xf7, 4148 0x2c, 4149 0xc6, 4150 0x58, 4151 0x7d, 4152 0x60, 4153 0xc3, 4154 0x6c, 4155 0x8e, 4156 0x57, 4157 0x7f, 4158 0x09, 4159 0x84, 4160 0xc2, 4161 0x89, 4162 0xc9, 4163 0x38, 4164 0x5a, 4165 0x09, 4166 0x86, 4167 0x49, 4168 0xde, 4169 0x21, 4170 0xbc, 4171 0xa2, 4172 0x7a, 4173 0x7e, 4174 0xa2, 4175 0x29, 4176 0x71, 4177 0x6b, 4178 0xa6, 4179 0xe9, 4180 0xb2, 4181 0x79, 4182 0x71, 4183 0x0f, 4184 0x38, 4185 0xfa, 4186 0xa5, 4187 0xff, 4188 0xae, 4189 0x57, 4190 0x41, 4191 0x55, 4192 0xce, 4193 0x4e, 4194 0xfb, 4195 0x4f, 4196 0x74, 4197 0x36, 4198 0x95, 4199 0xe2, 4200 0x91, 4201 0x1b, 4202 0x1d, 4203 0x06, 4204 0xd5, 4205 0xe2, 4206 0x90, 4207 0xcb, 4208 0xcd, 4209 0x86, 4210 0xf5, 4211 0x6d, 4212 0x0e, 4213 0xdf, 4214 0xcd, 4215 0x21, 4216 0x6a, 4217 0xe2, 4218 0x24, 4219 0x27, 4220 0x05, 4221 0x5e, 4222 0x68, 4223 0x35, 4224 0xfd, 4225 0x29, 4226 0xee, 4227 0xf7, 4228 0x9e, 4229 0x0d, 4230 0x90, 4231 0x77, 4232 0x1f, 4233 0xea, 4234 0xce, 4235 0xbe, 4236 0x12, 4237 0xf2, 4238 0x0e, 4239 0x95, 4240 0xb3, 4241 0x4f, 4242 0x0f, 4243 0x78, 4244 0xb7, 4245 0x37, 4246 0xa9, 4247 0x61, 4248 0x8b, 4249 0x26, 4250 0xfa, 4251 0x7d, 4252 0xbc, 4253 0x98, 4254 0x74, 4255 0xf2, 4256 0x72, 4257 0xc4, 4258 0x2b, 4259 0xdb, 4260 0x56, 4261 0x3e, 4262 0xaf, 4263 0xa1, 4264 0x6b, 4265 0x4f, 4266 0xb6, 4267 0x8c, 4268 0x3b, 4269 0xb1, 4270 0xe7, 4271 0x8e, 4272 0xaa, 4273 0x81, 4274 0xa0, 4275 0x02, 4276 0x43, 4277 0xfa, 4278 0xad, 4279 0xd2, 4280 0xbf, 4281 0x18, 4282 0xe6, 4283 0x3d, 4284 0x38, 4285 0x9a, 4286 0xe4, 4287 0x43, 4288 0x77, 4289 0xda, 4290 0x18, 4291 0xc5, 4292 0x76, 4293 0xb5, 4294 0x0f, 4295 0x00, 4296 0x96, 4297 0xcf, 4298 0x34, 4299 0x19, 4300 0x54, 4301 0x83, 4302 0xb0, 4303 0x05, 4304 0x48, 4305 0xc0, 4306 0x98, 4307 0x62, 4308 0x36, 4309 0xe3, 4310 0xbc, 4311 0x7c, 4312 0xb8, 4313 0xd6, 4314 0x80, 4315 0x1c, 4316 0x04, 4317 0x94, 4318 0xcc, 4319 0xd1, 4320 0x99, 4321 0xe5, 4322 0xc5, 4323 0xbd, 4324 0x0d, 4325 0x0e, 4326 0xdc, 4327 0x9e, 4328 0xb8, 4329 0xa0, 4330 0x00, 4331 0x1e, 4332 0x15, 4333 0x27, 4334 0x67, 4335 0x54, 4336 0xfc, 4337 0xc6, 4338 0x85, 4339 0x66, 4340 0x05, 4341 0x41, 4342 0x48, 4343 0xe6, 4344 0xe7, 4345 0x64, 4346 0xbe, 4347 0xe7, 4348 0xc7, 4349 0x64, 4350 0xda, 4351 0xad, 4352 0x3f, 4353 0xc4, 4354 0x52, 4355 0x35, 4356 0xa6, 4357 0xda, 4358 0xd4, 4359 0x28, 4360 0xfa, 4361 0x20, 4362 0xc1, 4363 0x70, 4364 0xe3, 4365 0x45, 4366 0x00, 4367 0x3f, 4368 0x2f, 4369 0x06, 4370 0xec, 4371 0x81, 4372 0x05, 4373 0xfe, 4374 0xb2, 4375 0x5b, 4376 0x22, 4377 0x81, 4378 0xb6, 4379 0x3d, 4380 0x27, 4381 0x33, 4382 0xbe, 4383 0x96, 4384 0x1c, 4385 0x29, 4386 0x95, 4387 0x1d, 4388 0x11, 4389 0xdd, 4390 0x22, 4391 0x21, 4392 0x65, 4393 0x7a, 4394 0x9f, 4395 0x53, 4396 0x1d, 4397 0xda, 4398 0x2a, 4399 0x19, 4400 0x4d, 4401 0xbb, 4402 0x12, 4403 0x64, 4404 0x48, 4405 0xbd, 4406 0xee, 4407 0xb2, 4408 0x58, 4409 0xe0, 4410 0x7e, 4411 0xa6, 4412 0x59, 4413 0xc7, 4414 0x46, 4415 0x19, 4416 0xa6, 4417 0x38, 4418 0x0e, 4419 0x1d, 4420 0x66, 4421 0xd6, 4422 0x83, 4423 0x2b, 4424 0xfe, 4425 0x67, 4426 0xf6, 4427 0x38, 4428 0xcd, 4429 0x8f, 4430 0xae, 4431 0x1f, 4432 0x27, 4433 0x23, 4434 0x02, 4435 0x0f, 4436 0x9c, 4437 0x40, 4438 0xa3, 4439 0xfd, 4440 0xa6, 4441 0x7e, 4442 0xda, 4443 0x3b, 4444 0xd2, 4445 0x92, 4446 0x38, 4447 0xfb, 4448 0xd4, 4449 0xd4, 4450 0xb4, 4451 0x88, 4452 0x5c, 4453 0x2a, 4454 0x99, 4455 0x17, 4456 0x6d, 4457 0xb1, 4458 0xa0, 4459 0x6c, 4460 0x50, 4461 0x07, 4462 0x78, 4463 0x49, 4464 0x1a, 4465 0x82, 4466 0x88, 4467 0xf1, 4468 0x85, 4469 0x5f, 4470 0x60, 4471 0xff, 4472 0xfc, 4473 0xf1, 4474 0xd1, 4475 0x37, 4476 0x3f, 4477 0xd9, 4478 0x4f, 4479 0xc6, 4480 0x0c, 4481 0x18, 4482 0x11, 4483 0xe1, 4484 0xac, 4485 0x3f, 4486 0x1c, 4487 0x6d, 4488 0x00, 4489 0x3b, 4490 0xec, 4491 0xda, 4492 0x3b, 4493 0x1f, 4494 0x27, 4495 0x25, 4496 0xca, 4497 0x59, 4498 0x5d, 4499 0xe0, 4500 0xca, 4501 0x63, 4502 0x32, 4503 0x8f, 4504 0x3b, 4505 0xe5, 4506 0x7c, 4507 0xc9, 4508 0x77, 4509 0x55, 4510 0x60, 4511 0x11, 4512 0x95, 4513 0x14, 4514 0x0d, 4515 0xfb, 4516 0x59, 4517 0xd3, 4518 0x9c, 4519 0xe0, 4520 0x91, 4521 0x30, 4522 0x8b, 4523 0x41, 4524 0x05, 4525 0x74, 4526 0x6d, 4527 0xac, 4528 0x23, 4529 0xd3, 4530 0x3e, 4531 0x5f, 4532 0x7c, 4533 0xe4, 4534 0x84, 4535 0x8d, 4536 0xa3, 4537 0x16, 4538 0xa9, 4539 0xc6, 4540 0x6b, 4541 0x95, 4542 0x81, 4543 0xba, 4544 0x35, 4545 0x73, 4546 0xbf, 4547 0xaf, 4548 0x31, 4549 0x14, 4550 0x96, 4551 0x18, 4552 0x8a, 4553 0xb1, 4554 0x54, 4555 0x23, 4556 0x28, 4557 0x2e, 4558 0xe4, 4559 0x16, 4560 0xdc, 4561 0x2a, 4562 0x19, 4563 0xc5, 4564 0x72, 4565 0x4f, 4566 0xa9, 4567 0x1a, 4568 0xe4, 4569 0xad, 4570 0xc8, 4571 0x8b, 4572 0xc6, 4573 0x67, 4574 0x96, 4575 0xea, 4576 0xe5, 4577 0x67, 4578 0x7a, 4579 0x01, 4580 0xf6, 4581 0x4e, 4582 0x8c, 4583 0x08, 4584 0x63, 4585 0x13, 4586 0x95, 4587 0x82, 4588 0x2d, 4589 0x9d, 4590 0xb8, 4591 0xfc, 4592 0xee, 4593 0x35, 4594 0xc0, 4595 0x6b, 4596 0x1f, 4597 0xee, 4598 0xa5, 4599 0x47, 4600 0x4d, 4601 0x6d, 4602 0x8f, 4603 0x34, 4604 0xb1, 4605 0x53, 4606 0x4a, 4607 0x93, 4608 0x6a, 4609 0x18, 4610 0xb0, 4611 0xe0, 4612 0xd2, 4613 0x0e, 4614 0xab, 4615 0x86, 4616 0xbc, 4617 0x9c, 4618 0x6d, 4619 0x6a, 4620 0x52, 4621 0x07, 4622 0x19, 4623 0x4e, 4624 0x68, 4625 0x72, 4626 0x07, 4627 0x32, 4628 0xff, 4629 0xff, 4630 0xff, 4631 0xff, 4632 0xff, 4633 0xff, 4634 0xff, 4635 0xff, 4636 }; 4637 4638 /* q=(p-1)/2 for prime prime_ike_8192 */ 4639 static const unsigned char subprime_ike_8192_data[] = { 4640 0x7f, 4641 0xff, 4642 0xff, 4643 0xff, 4644 0xff, 4645 0xff, 4646 0xff, 4647 0xff, 4648 0xe4, 4649 0x87, 4650 0xed, 4651 0x51, 4652 0x10, 4653 0xb4, 4654 0x61, 4655 0x1a, 4656 0x62, 4657 0x63, 4658 0x31, 4659 0x45, 4660 0xc0, 4661 0x6e, 4662 0x0e, 4663 0x68, 4664 0x94, 4665 0x81, 4666 0x27, 4667 0x04, 4668 0x45, 4669 0x33, 4670 0xe6, 4671 0x3a, 4672 0x01, 4673 0x05, 4674 0xdf, 4675 0x53, 4676 0x1d, 4677 0x89, 4678 0xcd, 4679 0x91, 4680 0x28, 4681 0xa5, 4682 0x04, 4683 0x3c, 4684 0xc7, 4685 0x1a, 4686 0x02, 4687 0x6e, 4688 0xf7, 4689 0xca, 4690 0x8c, 4691 0xd9, 4692 0xe6, 4693 0x9d, 4694 0x21, 4695 0x8d, 4696 0x98, 4697 0x15, 4698 0x85, 4699 0x36, 4700 0xf9, 4701 0x2f, 4702 0x8a, 4703 0x1b, 4704 0xa7, 4705 0xf0, 4706 0x9a, 4707 0xb6, 4708 0xb6, 4709 0xa8, 4710 0xe1, 4711 0x22, 4712 0xf2, 4713 0x42, 4714 0xda, 4715 0xbb, 4716 0x31, 4717 0x2f, 4718 0x3f, 4719 0x63, 4720 0x7a, 4721 0x26, 4722 0x21, 4723 0x74, 4724 0xd3, 4725 0x1b, 4726 0xf6, 4727 0xb5, 4728 0x85, 4729 0xff, 4730 0xae, 4731 0x5b, 4732 0x7a, 4733 0x03, 4734 0x5b, 4735 0xf6, 4736 0xf7, 4737 0x1c, 4738 0x35, 4739 0xfd, 4740 0xad, 4741 0x44, 4742 0xcf, 4743 0xd2, 4744 0xd7, 4745 0x4f, 4746 0x92, 4747 0x08, 4748 0xbe, 4749 0x25, 4750 0x8f, 4751 0xf3, 4752 0x24, 4753 0x94, 4754 0x33, 4755 0x28, 4756 0xf6, 4757 0x72, 4758 0x2d, 4759 0x9e, 4760 0xe1, 4761 0x00, 4762 0x3e, 4763 0x5c, 4764 0x50, 4765 0xb1, 4766 0xdf, 4767 0x82, 4768 0xcc, 4769 0x6d, 4770 0x24, 4771 0x1b, 4772 0x0e, 4773 0x2a, 4774 0xe9, 4775 0xcd, 4776 0x34, 4777 0x8b, 4778 0x1f, 4779 0xd4, 4780 0x7e, 4781 0x92, 4782 0x67, 4783 0xaf, 4784 0xc1, 4785 0xb2, 4786 0xae, 4787 0x91, 4788 0xee, 4789 0x51, 4790 0xd6, 4791 0xcb, 4792 0x0e, 4793 0x31, 4794 0x79, 4795 0xab, 4796 0x10, 4797 0x42, 4798 0xa9, 4799 0x5d, 4800 0xcf, 4801 0x6a, 4802 0x94, 4803 0x83, 4804 0xb8, 4805 0x4b, 4806 0x4b, 4807 0x36, 4808 0xb3, 4809 0x86, 4810 0x1a, 4811 0xa7, 4812 0x25, 4813 0x5e, 4814 0x4c, 4815 0x02, 4816 0x78, 4817 0xba, 4818 0x36, 4819 0x04, 4820 0x65, 4821 0x0c, 4822 0x10, 4823 0xbe, 4824 0x19, 4825 0x48, 4826 0x2f, 4827 0x23, 4828 0x17, 4829 0x1b, 4830 0x67, 4831 0x1d, 4832 0xf1, 4833 0xcf, 4834 0x3b, 4835 0x96, 4836 0x0c, 4837 0x07, 4838 0x43, 4839 0x01, 4840 0xcd, 4841 0x93, 4842 0xc1, 4843 0xd1, 4844 0x76, 4845 0x03, 4846 0xd1, 4847 0x47, 4848 0xda, 4849 0xe2, 4850 0xae, 4851 0xf8, 4852 0x37, 4853 0xa6, 4854 0x29, 4855 0x64, 4856 0xef, 4857 0x15, 4858 0xe5, 4859 0xfb, 4860 0x4a, 4861 0xac, 4862 0x0b, 4863 0x8c, 4864 0x1c, 4865 0xca, 4866 0xa4, 4867 0xbe, 4868 0x75, 4869 0x4a, 4870 0xb5, 4871 0x72, 4872 0x8a, 4873 0xe9, 4874 0x13, 4875 0x0c, 4876 0x4c, 4877 0x7d, 4878 0x02, 4879 0x88, 4880 0x0a, 4881 0xb9, 4882 0x47, 4883 0x2d, 4884 0x45, 4885 0x55, 4886 0x62, 4887 0x16, 4888 0xd6, 4889 0x99, 4890 0x8b, 4891 0x86, 4892 0x82, 4893 0x28, 4894 0x3d, 4895 0x19, 4896 0xd4, 4897 0x2a, 4898 0x90, 4899 0xd5, 4900 0xef, 4901 0x8e, 4902 0x5d, 4903 0x32, 4904 0x76, 4905 0x7d, 4906 0xc2, 4907 0x82, 4908 0x2c, 4909 0x6d, 4910 0xf7, 4911 0x85, 4912 0x45, 4913 0x75, 4914 0x38, 4915 0xab, 4916 0xae, 4917 0x83, 4918 0x06, 4919 0x3e, 4920 0xd9, 4921 0xcb, 4922 0x87, 4923 0xc2, 4924 0xd3, 4925 0x70, 4926 0xf2, 4927 0x63, 4928 0xd5, 4929 0xfa, 4930 0xd7, 4931 0x46, 4932 0x6d, 4933 0x84, 4934 0x99, 4935 0xeb, 4936 0x8f, 4937 0x46, 4938 0x4a, 4939 0x70, 4940 0x25, 4941 0x12, 4942 0xb0, 4943 0xce, 4944 0xe7, 4945 0x71, 4946 0xe9, 4947 0x13, 4948 0x0d, 4949 0x69, 4950 0x77, 4951 0x35, 4952 0xf8, 4953 0x97, 4954 0xfd, 4955 0x03, 4956 0x6c, 4957 0xc5, 4958 0x04, 4959 0x32, 4960 0x6c, 4961 0x3b, 4962 0x01, 4963 0x39, 4964 0x9f, 4965 0x64, 4966 0x35, 4967 0x32, 4968 0x29, 4969 0x0f, 4970 0x95, 4971 0x8c, 4972 0x0b, 4973 0xbd, 4974 0x90, 4975 0x06, 4976 0x5d, 4977 0xf0, 4978 0x8b, 4979 0xab, 4980 0xbd, 4981 0x30, 4982 0xae, 4983 0xb6, 4984 0x3b, 4985 0x84, 4986 0xc4, 4987 0x60, 4988 0x5d, 4989 0x6c, 4990 0xa3, 4991 0x71, 4992 0x04, 4993 0x71, 4994 0x27, 4995 0xd0, 4996 0x3a, 4997 0x72, 4998 0xd5, 4999 0x98, 5000 0xa1, 5001 0xed, 5002 0xad, 5003 0xfe, 5004 0x70, 5005 0x7e, 5006 0x88, 5007 0x47, 5008 0x25, 5009 0xc1, 5010 0x68, 5011 0x90, 5012 0x54, 5013 0x90, 5014 0x84, 5015 0x00, 5016 0x8d, 5017 0x39, 5018 0x1e, 5019 0x09, 5020 0x53, 5021 0xc3, 5022 0xf3, 5023 0x6b, 5024 0xc4, 5025 0x38, 5026 0xcd, 5027 0x08, 5028 0x5e, 5029 0xdd, 5030 0x2d, 5031 0x93, 5032 0x4c, 5033 0xe1, 5034 0x93, 5035 0x8c, 5036 0x35, 5037 0x7a, 5038 0x71, 5039 0x1e, 5040 0x0d, 5041 0x4a, 5042 0x34, 5043 0x1a, 5044 0x5b, 5045 0x0a, 5046 0x85, 5047 0xed, 5048 0x12, 5049 0xc1, 5050 0xf4, 5051 0xe5, 5052 0x15, 5053 0x6a, 5054 0x26, 5055 0x74, 5056 0x6d, 5057 0xdd, 5058 0xe1, 5059 0x6d, 5060 0x82, 5061 0x6f, 5062 0x47, 5063 0x7c, 5064 0x97, 5065 0x47, 5066 0x7e, 5067 0x0a, 5068 0x0f, 5069 0xdf, 5070 0x65, 5071 0x53, 5072 0x14, 5073 0x3e, 5074 0x2c, 5075 0xa3, 5076 0xa7, 5077 0x35, 5078 0xe0, 5079 0x2e, 5080 0xcc, 5081 0xd9, 5082 0x4b, 5083 0x27, 5084 0xd0, 5085 0x48, 5086 0x61, 5087 0xd1, 5088 0x11, 5089 0x9d, 5090 0xd0, 5091 0xc3, 5092 0x28, 5093 0xad, 5094 0xf3, 5095 0xf6, 5096 0x8f, 5097 0xb0, 5098 0x94, 5099 0xb8, 5100 0x67, 5101 0x71, 5102 0x6b, 5103 0xd7, 5104 0xdc, 5105 0x0d, 5106 0xee, 5107 0xbb, 5108 0x10, 5109 0xb8, 5110 0x24, 5111 0x0e, 5112 0x68, 5113 0x03, 5114 0x48, 5115 0x93, 5116 0xea, 5117 0xd8, 5118 0x2d, 5119 0x54, 5120 0xc9, 5121 0xda, 5122 0x75, 5123 0x4c, 5124 0x46, 5125 0xc7, 5126 0xee, 5127 0xe0, 5128 0xc3, 5129 0x7f, 5130 0xdb, 5131 0xee, 5132 0x48, 5133 0x53, 5134 0x60, 5135 0x47, 5136 0xa6, 5137 0xfa, 5138 0x1a, 5139 0xe4, 5140 0x9a, 5141 0x01, 5142 0x42, 5143 0x49, 5144 0x1b, 5145 0x61, 5146 0xfd, 5147 0x5a, 5148 0x69, 5149 0x3e, 5150 0x38, 5151 0x13, 5152 0x60, 5153 0xea, 5154 0x6e, 5155 0x59, 5156 0x30, 5157 0x13, 5158 0x23, 5159 0x6f, 5160 0x64, 5161 0xba, 5162 0x8f, 5163 0x3b, 5164 0x1e, 5165 0xdd, 5166 0x1b, 5167 0xde, 5168 0xfc, 5169 0x7f, 5170 0xca, 5171 0x03, 5172 0x56, 5173 0xcf, 5174 0x29, 5175 0x87, 5176 0x72, 5177 0xed, 5178 0x9c, 5179 0x17, 5180 0xa0, 5181 0x98, 5182 0x00, 5183 0xd7, 5184 0x58, 5185 0x35, 5186 0x29, 5187 0xf6, 5188 0xc8, 5189 0x13, 5190 0xec, 5191 0x18, 5192 0x8b, 5193 0xcb, 5194 0x93, 5195 0xd8, 5196 0x43, 5197 0x2d, 5198 0x44, 5199 0x8c, 5200 0x6d, 5201 0x1f, 5202 0x6d, 5203 0xf5, 5204 0xe7, 5205 0xcd, 5206 0x8a, 5207 0x76, 5208 0xa2, 5209 0x67, 5210 0x36, 5211 0x5d, 5212 0x67, 5213 0x6a, 5214 0x5d, 5215 0x8d, 5216 0xed, 5217 0xbf, 5218 0x8a, 5219 0x23, 5220 0xf3, 5221 0x66, 5222 0x12, 5223 0xa5, 5224 0x99, 5225 0x90, 5226 0x28, 5227 0xa8, 5228 0x95, 5229 0xeb, 5230 0xd7, 5231 0xa1, 5232 0x37, 5233 0xdc, 5234 0x7a, 5235 0x00, 5236 0x9b, 5237 0xc6, 5238 0x69, 5239 0x5f, 5240 0xac, 5241 0xc1, 5242 0xe5, 5243 0x00, 5244 0xe3, 5245 0x25, 5246 0xc9, 5247 0x76, 5248 0x78, 5249 0x19, 5250 0x75, 5251 0x0a, 5252 0xe8, 5253 0xb9, 5254 0x0e, 5255 0x81, 5256 0xfa, 5257 0x41, 5258 0x6b, 5259 0xe7, 5260 0x37, 5261 0x3a, 5262 0x7f, 5263 0x7b, 5264 0x6a, 5265 0xaf, 5266 0x38, 5267 0x17, 5268 0xa3, 5269 0x4c, 5270 0x06, 5271 0x41, 5272 0x5a, 5273 0xd4, 5274 0x20, 5275 0x18, 5276 0xc8, 5277 0x05, 5278 0x8e, 5279 0x4f, 5280 0x2c, 5281 0xf3, 5282 0xe4, 5283 0xbf, 5284 0xdf, 5285 0x63, 5286 0xf4, 5287 0x79, 5288 0x91, 5289 0xd4, 5290 0xbd, 5291 0x3f, 5292 0x1b, 5293 0x66, 5294 0x44, 5295 0x5f, 5296 0x07, 5297 0x8e, 5298 0xa2, 5299 0xdb, 5300 0xff, 5301 0xac, 5302 0x2d, 5303 0x62, 5304 0xa5, 5305 0xea, 5306 0x03, 5307 0xd9, 5308 0x15, 5309 0xa0, 5310 0xaa, 5311 0x55, 5312 0x66, 5313 0x47, 5314 0xb6, 5315 0xbf, 5316 0x5f, 5317 0xa4, 5318 0x70, 5319 0xec, 5320 0x0a, 5321 0x66, 5322 0x2f, 5323 0x69, 5324 0x07, 5325 0xc0, 5326 0x1b, 5327 0xf0, 5328 0x53, 5329 0xcb, 5330 0x8a, 5331 0xf7, 5332 0x79, 5333 0x4d, 5334 0xf1, 5335 0x94, 5336 0x03, 5337 0x50, 5338 0xea, 5339 0xc5, 5340 0xdb, 5341 0xe2, 5342 0xed, 5343 0x3b, 5344 0x7a, 5345 0xa8, 5346 0x55, 5347 0x1e, 5348 0xc5, 5349 0x0f, 5350 0xdf, 5351 0xf8, 5352 0x75, 5353 0x8c, 5354 0xe6, 5355 0x58, 5356 0xd1, 5357 0x89, 5358 0xea, 5359 0xae, 5360 0x6d, 5361 0x2b, 5362 0x64, 5363 0xf6, 5364 0x17, 5365 0x79, 5366 0x4b, 5367 0x19, 5368 0x1c, 5369 0x3f, 5370 0xf4, 5371 0x6b, 5372 0xb7, 5373 0x1e, 5374 0x02, 5375 0x34, 5376 0x02, 5377 0x1f, 5378 0x47, 5379 0xb3, 5380 0x1f, 5381 0xa4, 5382 0x30, 5383 0x77, 5384 0x09, 5385 0x5f, 5386 0x96, 5387 0xad, 5388 0x85, 5389 0xba, 5390 0x3a, 5391 0x6b, 5392 0x73, 5393 0x4a, 5394 0x7c, 5395 0x8f, 5396 0x36, 5397 0xdf, 5398 0x08, 5399 0xac, 5400 0xba, 5401 0x51, 5402 0xc9, 5403 0x37, 5404 0x89, 5405 0x7f, 5406 0x72, 5407 0xf2, 5408 0x1c, 5409 0x3b, 5410 0xbe, 5411 0x5b, 5412 0x54, 5413 0x99, 5414 0x6f, 5415 0xc6, 5416 0x6c, 5417 0x5f, 5418 0x62, 5419 0x68, 5420 0x39, 5421 0xdc, 5422 0x98, 5423 0xdd, 5424 0x1d, 5425 0xe4, 5426 0x19, 5427 0x5b, 5428 0x46, 5429 0xce, 5430 0xe9, 5431 0x80, 5432 0x3a, 5433 0x0f, 5434 0xd3, 5435 0xdf, 5436 0xc5, 5437 0x7e, 5438 0x23, 5439 0xf6, 5440 0x92, 5441 0xbb, 5442 0x7b, 5443 0x49, 5444 0xb5, 5445 0xd2, 5446 0x12, 5447 0x33, 5448 0x1d, 5449 0x55, 5450 0xb1, 5451 0xce, 5452 0x2d, 5453 0x72, 5454 0x7a, 5455 0xb4, 5456 0x1a, 5457 0x11, 5458 0xda, 5459 0x3a, 5460 0x15, 5461 0xf8, 5462 0xe4, 5463 0xbc, 5464 0x11, 5465 0xc7, 5466 0x8b, 5467 0x65, 5468 0xf1, 5469 0xce, 5470 0xb2, 5471 0x96, 5472 0xf1, 5473 0xfe, 5474 0xdc, 5475 0x5f, 5476 0x7e, 5477 0x42, 5478 0x45, 5479 0x6c, 5480 0x91, 5481 0x11, 5482 0x17, 5483 0x02, 5484 0x52, 5485 0x01, 5486 0xbe, 5487 0x03, 5488 0x89, 5489 0xf5, 5490 0xab, 5491 0xd4, 5492 0x0d, 5493 0x11, 5494 0xf8, 5495 0x63, 5496 0x9a, 5497 0x39, 5498 0xfe, 5499 0x32, 5500 0x36, 5501 0x75, 5502 0x18, 5503 0x35, 5504 0xa5, 5505 0xe5, 5506 0xe4, 5507 0x43, 5508 0x17, 5509 0xc1, 5510 0xc2, 5511 0xee, 5512 0xfd, 5513 0x4e, 5514 0xa5, 5515 0xbf, 5516 0xd1, 5517 0x60, 5518 0x43, 5519 0xf4, 5520 0x3c, 5521 0xb4, 5522 0x19, 5523 0x81, 5524 0xf6, 5525 0xad, 5526 0xee, 5527 0x9d, 5528 0x03, 5529 0x15, 5530 0x9e, 5531 0x7a, 5532 0xd9, 5533 0xd1, 5534 0x3c, 5535 0x53, 5536 0x36, 5537 0x95, 5538 0x09, 5539 0xfc, 5540 0x1f, 5541 0xa2, 5542 0x7c, 5543 0x16, 5544 0xef, 5545 0x98, 5546 0x87, 5547 0x70, 5548 0x3a, 5549 0x55, 5550 0xb5, 5551 0x1b, 5552 0x22, 5553 0xcb, 5554 0xf4, 5555 0x4c, 5556 0xd0, 5557 0x12, 5558 0xae, 5559 0xe0, 5560 0xb2, 5561 0x79, 5562 0x8e, 5563 0x62, 5564 0x84, 5565 0x23, 5566 0x42, 5567 0x8e, 5568 0xfc, 5569 0xd5, 5570 0xa4, 5571 0x0c, 5572 0xae, 5573 0xf6, 5574 0xbf, 5575 0x50, 5576 0xd8, 5577 0xea, 5578 0x88, 5579 0x5e, 5580 0xbf, 5581 0x73, 5582 0xa6, 5583 0xb9, 5584 0xfd, 5585 0x79, 5586 0xb5, 5587 0xe1, 5588 0x8f, 5589 0x67, 5590 0xd1, 5591 0x34, 5592 0x1a, 5593 0xc8, 5594 0x23, 5595 0x7a, 5596 0x75, 5597 0xc3, 5598 0xcf, 5599 0xc9, 5600 0x20, 5601 0x04, 5602 0xa1, 5603 0xc5, 5604 0xa4, 5605 0x0e, 5606 0x36, 5607 0x6b, 5608 0xc4, 5609 0x4d, 5610 0x00, 5611 0x17, 5612 0x6a, 5613 0xf7, 5614 0x1c, 5615 0x15, 5616 0xe4, 5617 0x8c, 5618 0x86, 5619 0xd3, 5620 0x7e, 5621 0x01, 5622 0x37, 5623 0x23, 5624 0xca, 5625 0xac, 5626 0x72, 5627 0x23, 5628 0xab, 5629 0x3b, 5630 0xf4, 5631 0xd5, 5632 0x4f, 5633 0x18, 5634 0x28, 5635 0x71, 5636 0x3b, 5637 0x2b, 5638 0x4a, 5639 0x6f, 5640 0xe4, 5641 0x0f, 5642 0xab, 5643 0x74, 5644 0x40, 5645 0x5c, 5646 0xb7, 5647 0x38, 5648 0xb0, 5649 0x64, 5650 0xc0, 5651 0x6e, 5652 0xcc, 5653 0x76, 5654 0xe9, 5655 0xef, 5656 0xff, 5657 0xff, 5658 0xff, 5659 0xff, 5660 0xff, 5661 0xff, 5662 0xff, 5663 0xff, 5664 }; 5665 5666 /* q=(p-1)/2 for prime prime_tls_8192 */ 5667 static const unsigned char subprime_tls_8192_data[] = { 5668 0x7f, 5669 0xff, 5670 0xff, 5671 0xff, 5672 0xff, 5673 0xff, 5674 0xff, 5675 0xff, 5676 0xd6, 5677 0xfc, 5678 0x2a, 5679 0x2c, 5680 0x51, 5681 0x5d, 5682 0xa5, 5683 0x4d, 5684 0x57, 5685 0xee, 5686 0x2b, 5687 0x10, 5688 0x13, 5689 0x9e, 5690 0x9e, 5691 0x78, 5692 0xec, 5693 0x5c, 5694 0xe2, 5695 0xc1, 5696 0xe7, 5697 0x16, 5698 0x9b, 5699 0x4a, 5700 0xd4, 5701 0xf0, 5702 0x9b, 5703 0x20, 5704 0x8a, 5705 0x32, 5706 0x19, 5707 0xfd, 5708 0xe6, 5709 0x49, 5710 0xce, 5711 0xe7, 5712 0x12, 5713 0x4d, 5714 0x9f, 5715 0x7c, 5716 0xbe, 5717 0x97, 5718 0xf1, 5719 0xb1, 5720 0xb1, 5721 0x86, 5722 0x3a, 5723 0xec, 5724 0x7b, 5725 0x40, 5726 0xd9, 5727 0x01, 5728 0x57, 5729 0x62, 5730 0x30, 5731 0xbd, 5732 0x69, 5733 0xef, 5734 0x8f, 5735 0x6a, 5736 0xea, 5737 0xfe, 5738 0xb2, 5739 0xb0, 5740 0x92, 5741 0x19, 5742 0xfa, 5743 0x8f, 5744 0xaf, 5745 0x83, 5746 0x37, 5747 0x68, 5748 0x42, 5749 0xb1, 5750 0xb2, 5751 0xaa, 5752 0x9e, 5753 0xf6, 5754 0x8d, 5755 0x79, 5756 0xda, 5757 0xab, 5758 0x89, 5759 0xaf, 5760 0x3f, 5761 0xab, 5762 0xe4, 5763 0x9a, 5764 0xcc, 5765 0x27, 5766 0x86, 5767 0x38, 5768 0x70, 5769 0x73, 5770 0x45, 5771 0xbb, 5772 0xf1, 5773 0x53, 5774 0x44, 5775 0xed, 5776 0x79, 5777 0xf7, 5778 0xf4, 5779 0x39, 5780 0x0e, 5781 0xf8, 5782 0xac, 5783 0x50, 5784 0x9b, 5785 0x56, 5786 0xf3, 5787 0x9a, 5788 0x98, 5789 0x56, 5790 0x65, 5791 0x27, 5792 0xa4, 5793 0x1d, 5794 0x3c, 5795 0xbd, 5796 0x5e, 5797 0x05, 5798 0x58, 5799 0xc1, 5800 0x59, 5801 0x92, 5802 0x7d, 5803 0xb0, 5804 0xe8, 5805 0x84, 5806 0x54, 5807 0xa5, 5808 0xd9, 5809 0x64, 5810 0x71, 5811 0xfd, 5812 0xdc, 5813 0xb5, 5814 0x6d, 5815 0x5b, 5816 0xb0, 5817 0x6b, 5818 0xfa, 5819 0x34, 5820 0x0e, 5821 0xa7, 5822 0xa1, 5823 0x51, 5824 0xef, 5825 0x1c, 5826 0xa6, 5827 0xfa, 5828 0x57, 5829 0x2b, 5830 0x76, 5831 0xf3, 5832 0xb1, 5833 0xb9, 5834 0x5d, 5835 0x8c, 5836 0x85, 5837 0x83, 5838 0xd3, 5839 0xe4, 5840 0x77, 5841 0x05, 5842 0x36, 5843 0xb8, 5844 0x4f, 5845 0x01, 5846 0x7e, 5847 0x70, 5848 0xe6, 5849 0xfb, 5850 0xf1, 5851 0x76, 5852 0x60, 5853 0x1a, 5854 0x02, 5855 0x66, 5856 0x94, 5857 0x1a, 5858 0x17, 5859 0xb0, 5860 0xc8, 5861 0xb9, 5862 0x7f, 5863 0x4e, 5864 0x74, 5865 0xc2, 5866 0xc1, 5867 0xff, 5868 0xc7, 5869 0x27, 5870 0x89, 5871 0x19, 5872 0x77, 5873 0x79, 5874 0x40, 5875 0xc1, 5876 0xe1, 5877 0xff, 5878 0x1d, 5879 0x8d, 5880 0xa6, 5881 0x37, 5882 0xd6, 5883 0xb9, 5884 0x9d, 5885 0xda, 5886 0xfe, 5887 0x5e, 5888 0x17, 5889 0x61, 5890 0x10, 5891 0x02, 5892 0xe2, 5893 0xc7, 5894 0x78, 5895 0xc1, 5896 0xbe, 5897 0x8b, 5898 0x41, 5899 0xd9, 5900 0x63, 5901 0x79, 5902 0xa5, 5903 0x13, 5904 0x60, 5905 0xd9, 5906 0x77, 5907 0xfd, 5908 0x44, 5909 0x35, 5910 0xa1, 5911 0x1c, 5912 0x30, 5913 0x8f, 5914 0xe7, 5915 0xee, 5916 0x6f, 5917 0x1a, 5918 0xad, 5919 0x9d, 5920 0xb2, 5921 0x8c, 5922 0x81, 5923 0xad, 5924 0xde, 5925 0x1a, 5926 0x7a, 5927 0x6f, 5928 0x7c, 5929 0xce, 5930 0x01, 5931 0x1c, 5932 0x30, 5933 0xda, 5934 0x37, 5935 0xe4, 5936 0xeb, 5937 0x73, 5938 0x64, 5939 0x83, 5940 0xbd, 5941 0x6c, 5942 0x8e, 5943 0x93, 5944 0x48, 5945 0xfb, 5946 0xfb, 5947 0xf7, 5948 0x2c, 5949 0xc6, 5950 0x58, 5951 0x7d, 5952 0x60, 5953 0xc3, 5954 0x6c, 5955 0x8e, 5956 0x57, 5957 0x7f, 5958 0x09, 5959 0x84, 5960 0xc2, 5961 0x89, 5962 0xc9, 5963 0x38, 5964 0x5a, 5965 0x09, 5966 0x86, 5967 0x49, 5968 0xde, 5969 0x21, 5970 0xbc, 5971 0xa2, 5972 0x7a, 5973 0x7e, 5974 0xa2, 5975 0x29, 5976 0x71, 5977 0x6b, 5978 0xa6, 5979 0xe9, 5980 0xb2, 5981 0x79, 5982 0x71, 5983 0x0f, 5984 0x38, 5985 0xfa, 5986 0xa5, 5987 0xff, 5988 0xae, 5989 0x57, 5990 0x41, 5991 0x55, 5992 0xce, 5993 0x4e, 5994 0xfb, 5995 0x4f, 5996 0x74, 5997 0x36, 5998 0x95, 5999 0xe2, 6000 0x91, 6001 0x1b, 6002 0x1d, 6003 0x06, 6004 0xd5, 6005 0xe2, 6006 0x90, 6007 0xcb, 6008 0xcd, 6009 0x86, 6010 0xf5, 6011 0x6d, 6012 0x0e, 6013 0xdf, 6014 0xcd, 6015 0x21, 6016 0x6a, 6017 0xe2, 6018 0x24, 6019 0x27, 6020 0x05, 6021 0x5e, 6022 0x68, 6023 0x35, 6024 0xfd, 6025 0x29, 6026 0xee, 6027 0xf7, 6028 0x9e, 6029 0x0d, 6030 0x90, 6031 0x77, 6032 0x1f, 6033 0xea, 6034 0xce, 6035 0xbe, 6036 0x12, 6037 0xf2, 6038 0x0e, 6039 0x95, 6040 0xb3, 6041 0x4f, 6042 0x0f, 6043 0x78, 6044 0xb7, 6045 0x37, 6046 0xa9, 6047 0x61, 6048 0x8b, 6049 0x26, 6050 0xfa, 6051 0x7d, 6052 0xbc, 6053 0x98, 6054 0x74, 6055 0xf2, 6056 0x72, 6057 0xc4, 6058 0x2b, 6059 0xdb, 6060 0x56, 6061 0x3e, 6062 0xaf, 6063 0xa1, 6064 0x6b, 6065 0x4f, 6066 0xb6, 6067 0x8c, 6068 0x3b, 6069 0xb1, 6070 0xe7, 6071 0x8e, 6072 0xaa, 6073 0x81, 6074 0xa0, 6075 0x02, 6076 0x43, 6077 0xfa, 6078 0xad, 6079 0xd2, 6080 0xbf, 6081 0x18, 6082 0xe6, 6083 0x3d, 6084 0x38, 6085 0x9a, 6086 0xe4, 6087 0x43, 6088 0x77, 6089 0xda, 6090 0x18, 6091 0xc5, 6092 0x76, 6093 0xb5, 6094 0x0f, 6095 0x00, 6096 0x96, 6097 0xcf, 6098 0x34, 6099 0x19, 6100 0x54, 6101 0x83, 6102 0xb0, 6103 0x05, 6104 0x48, 6105 0xc0, 6106 0x98, 6107 0x62, 6108 0x36, 6109 0xe3, 6110 0xbc, 6111 0x7c, 6112 0xb8, 6113 0xd6, 6114 0x80, 6115 0x1c, 6116 0x04, 6117 0x94, 6118 0xcc, 6119 0xd1, 6120 0x99, 6121 0xe5, 6122 0xc5, 6123 0xbd, 6124 0x0d, 6125 0x0e, 6126 0xdc, 6127 0x9e, 6128 0xb8, 6129 0xa0, 6130 0x00, 6131 0x1e, 6132 0x15, 6133 0x27, 6134 0x67, 6135 0x54, 6136 0xfc, 6137 0xc6, 6138 0x85, 6139 0x66, 6140 0x05, 6141 0x41, 6142 0x48, 6143 0xe6, 6144 0xe7, 6145 0x64, 6146 0xbe, 6147 0xe7, 6148 0xc7, 6149 0x64, 6150 0xda, 6151 0xad, 6152 0x3f, 6153 0xc4, 6154 0x52, 6155 0x35, 6156 0xa6, 6157 0xda, 6158 0xd4, 6159 0x28, 6160 0xfa, 6161 0x20, 6162 0xc1, 6163 0x70, 6164 0xe3, 6165 0x45, 6166 0x00, 6167 0x3f, 6168 0x2f, 6169 0x06, 6170 0xec, 6171 0x81, 6172 0x05, 6173 0xfe, 6174 0xb2, 6175 0x5b, 6176 0x22, 6177 0x81, 6178 0xb6, 6179 0x3d, 6180 0x27, 6181 0x33, 6182 0xbe, 6183 0x96, 6184 0x1c, 6185 0x29, 6186 0x95, 6187 0x1d, 6188 0x11, 6189 0xdd, 6190 0x22, 6191 0x21, 6192 0x65, 6193 0x7a, 6194 0x9f, 6195 0x53, 6196 0x1d, 6197 0xda, 6198 0x2a, 6199 0x19, 6200 0x4d, 6201 0xbb, 6202 0x12, 6203 0x64, 6204 0x48, 6205 0xbd, 6206 0xee, 6207 0xb2, 6208 0x58, 6209 0xe0, 6210 0x7e, 6211 0xa6, 6212 0x59, 6213 0xc7, 6214 0x46, 6215 0x19, 6216 0xa6, 6217 0x38, 6218 0x0e, 6219 0x1d, 6220 0x66, 6221 0xd6, 6222 0x83, 6223 0x2b, 6224 0xfe, 6225 0x67, 6226 0xf6, 6227 0x38, 6228 0xcd, 6229 0x8f, 6230 0xae, 6231 0x1f, 6232 0x27, 6233 0x23, 6234 0x02, 6235 0x0f, 6236 0x9c, 6237 0x40, 6238 0xa3, 6239 0xfd, 6240 0xa6, 6241 0x7e, 6242 0xda, 6243 0x3b, 6244 0xd2, 6245 0x92, 6246 0x38, 6247 0xfb, 6248 0xd4, 6249 0xd4, 6250 0xb4, 6251 0x88, 6252 0x5c, 6253 0x2a, 6254 0x99, 6255 0x17, 6256 0x6d, 6257 0xb1, 6258 0xa0, 6259 0x6c, 6260 0x50, 6261 0x07, 6262 0x78, 6263 0x49, 6264 0x1a, 6265 0x82, 6266 0x88, 6267 0xf1, 6268 0x85, 6269 0x5f, 6270 0x60, 6271 0xff, 6272 0xfc, 6273 0xf1, 6274 0xd1, 6275 0x37, 6276 0x3f, 6277 0xd9, 6278 0x4f, 6279 0xc6, 6280 0x0c, 6281 0x18, 6282 0x11, 6283 0xe1, 6284 0xac, 6285 0x3f, 6286 0x1c, 6287 0x6d, 6288 0x00, 6289 0x3b, 6290 0xec, 6291 0xda, 6292 0x3b, 6293 0x1f, 6294 0x27, 6295 0x25, 6296 0xca, 6297 0x59, 6298 0x5d, 6299 0xe0, 6300 0xca, 6301 0x63, 6302 0x32, 6303 0x8f, 6304 0x3b, 6305 0xe5, 6306 0x7c, 6307 0xc9, 6308 0x77, 6309 0x55, 6310 0x60, 6311 0x11, 6312 0x95, 6313 0x14, 6314 0x0d, 6315 0xfb, 6316 0x59, 6317 0xd3, 6318 0x9c, 6319 0xe0, 6320 0x91, 6321 0x30, 6322 0x8b, 6323 0x41, 6324 0x05, 6325 0x74, 6326 0x6d, 6327 0xac, 6328 0x23, 6329 0xd3, 6330 0x3e, 6331 0x5f, 6332 0x7c, 6333 0xe4, 6334 0x84, 6335 0x8d, 6336 0xa3, 6337 0x16, 6338 0xa9, 6339 0xc6, 6340 0x6b, 6341 0x95, 6342 0x81, 6343 0xba, 6344 0x35, 6345 0x73, 6346 0xbf, 6347 0xaf, 6348 0x31, 6349 0x14, 6350 0x96, 6351 0x18, 6352 0x8a, 6353 0xb1, 6354 0x54, 6355 0x23, 6356 0x28, 6357 0x2e, 6358 0xe4, 6359 0x16, 6360 0xdc, 6361 0x2a, 6362 0x19, 6363 0xc5, 6364 0x72, 6365 0x4f, 6366 0xa9, 6367 0x1a, 6368 0xe4, 6369 0xad, 6370 0xc8, 6371 0x8b, 6372 0xc6, 6373 0x67, 6374 0x96, 6375 0xea, 6376 0xe5, 6377 0x67, 6378 0x7a, 6379 0x01, 6380 0xf6, 6381 0x4e, 6382 0x8c, 6383 0x08, 6384 0x63, 6385 0x13, 6386 0x95, 6387 0x82, 6388 0x2d, 6389 0x9d, 6390 0xb8, 6391 0xfc, 6392 0xee, 6393 0x35, 6394 0xc0, 6395 0x6b, 6396 0x1f, 6397 0xee, 6398 0xa5, 6399 0x47, 6400 0x4d, 6401 0x6d, 6402 0x8f, 6403 0x34, 6404 0xb1, 6405 0x53, 6406 0x4a, 6407 0x93, 6408 0x6a, 6409 0x18, 6410 0xb0, 6411 0xe0, 6412 0xd2, 6413 0x0e, 6414 0xab, 6415 0x86, 6416 0xbc, 6417 0x9c, 6418 0x6d, 6419 0x6a, 6420 0x52, 6421 0x07, 6422 0x19, 6423 0x4e, 6424 0x67, 6425 0xfa, 6426 0x35, 6427 0x55, 6428 0x1b, 6429 0x56, 6430 0x80, 6431 0x26, 6432 0x7b, 6433 0x00, 6434 0x64, 6435 0x1c, 6436 0x0f, 6437 0x21, 6438 0x2d, 6439 0x18, 6440 0xec, 6441 0xa8, 6442 0xd7, 6443 0x32, 6444 0x7e, 6445 0xd9, 6446 0x1f, 6447 0xe7, 6448 0x64, 6449 0xa8, 6450 0x4e, 6451 0xa1, 6452 0xb4, 6453 0x3f, 6454 0xf5, 6455 0xb4, 6456 0xf6, 6457 0xe8, 6458 0xe6, 6459 0x2f, 6460 0x05, 6461 0xc6, 6462 0x61, 6463 0xde, 6464 0xfb, 6465 0x25, 6466 0x88, 6467 0x77, 6468 0xc3, 6469 0x5b, 6470 0x18, 6471 0xa1, 6472 0x51, 6473 0xd5, 6474 0xc4, 6475 0x14, 6476 0xaa, 6477 0xad, 6478 0x97, 6479 0xba, 6480 0x3e, 6481 0x49, 6482 0x93, 6483 0x32, 6484 0xe5, 6485 0x96, 6486 0x07, 6487 0x8e, 6488 0x60, 6489 0x0d, 6490 0xeb, 6491 0x81, 6492 0x14, 6493 0x9c, 6494 0x44, 6495 0x1c, 6496 0xe9, 6497 0x57, 6498 0x82, 6499 0xf2, 6500 0x2a, 6501 0x28, 6502 0x25, 6503 0x63, 6504 0xc5, 6505 0xba, 6506 0xc1, 6507 0x41, 6508 0x14, 6509 0x23, 6510 0x60, 6511 0x5d, 6512 0x1a, 6513 0xe1, 6514 0xaf, 6515 0xae, 6516 0x2c, 6517 0x8b, 6518 0x06, 6519 0x60, 6520 0x23, 6521 0x7e, 6522 0xc1, 6523 0x28, 6524 0xaa, 6525 0x0f, 6526 0xe3, 6527 0x46, 6528 0x4e, 6529 0x43, 6530 0x58, 6531 0x11, 6532 0x5d, 6533 0xb8, 6534 0x4c, 6535 0xc3, 6536 0xb5, 6537 0x23, 6538 0x07, 6539 0x3a, 6540 0x28, 6541 0xd4, 6542 0x54, 6543 0x98, 6544 0x84, 6545 0xb8, 6546 0x1f, 6547 0xf7, 6548 0x0e, 6549 0x10, 6550 0xbf, 6551 0x36, 6552 0x1c, 6553 0x13, 6554 0x72, 6555 0x96, 6556 0x28, 6557 0xd5, 6558 0x34, 6559 0x8f, 6560 0x07, 6561 0x21, 6562 0x1e, 6563 0x7e, 6564 0x4c, 6565 0xf4, 6566 0xf1, 6567 0x8b, 6568 0x28, 6569 0x60, 6570 0x90, 6571 0xbd, 6572 0xb1, 6573 0x24, 6574 0x0b, 6575 0x66, 6576 0xd6, 6577 0xcd, 6578 0x4a, 6579 0xfc, 6580 0xea, 6581 0xdc, 6582 0x00, 6583 0xca, 6584 0x44, 6585 0x6c, 6586 0xe0, 6587 0x50, 6588 0x50, 6589 0xff, 6590 0x18, 6591 0x3a, 6592 0xd2, 6593 0xbb, 6594 0xf1, 6595 0x18, 6596 0xc1, 6597 0xfc, 6598 0x0e, 6599 0xa5, 6600 0x1f, 6601 0x97, 6602 0xd2, 6603 0x2b, 6604 0x8f, 6605 0x7e, 6606 0x46, 6607 0x70, 6608 0x5d, 6609 0x45, 6610 0x27, 6611 0xf4, 6612 0x5b, 6613 0x42, 6614 0xae, 6615 0xff, 6616 0x39, 6617 0x58, 6618 0x53, 6619 0x37, 6620 0x6f, 6621 0x69, 6622 0x7d, 6623 0xd5, 6624 0xfd, 6625 0xf2, 6626 0xc5, 6627 0x18, 6628 0x7d, 6629 0x7d, 6630 0x5f, 6631 0x0e, 6632 0x2e, 6633 0xb8, 6634 0xd4, 6635 0x3f, 6636 0x17, 6637 0xba, 6638 0x0f, 6639 0x7c, 6640 0x60, 6641 0xff, 6642 0x43, 6643 0x7f, 6644 0x53, 6645 0x5d, 6646 0xfe, 6647 0xf2, 6648 0x98, 6649 0x33, 6650 0xbf, 6651 0x86, 6652 0xcb, 6653 0xe8, 6654 0x8e, 6655 0xa4, 6656 0xfb, 6657 0xd4, 6658 0x22, 6659 0x1e, 6660 0x84, 6661 0x11, 6662 0x72, 6663 0x83, 6664 0x54, 6665 0xfa, 6666 0x30, 6667 0xa7, 6668 0x00, 6669 0x8f, 6670 0x15, 6671 0x4a, 6672 0x41, 6673 0xc7, 6674 0xfc, 6675 0x46, 6676 0x6b, 6677 0x46, 6678 0x45, 6679 0xdb, 6680 0xe2, 6681 0xe3, 6682 0x21, 6683 0x26, 6684 0x7f, 6685 0xff, 6686 0xff, 6687 0xff, 6688 0xff, 6689 0xff, 6690 0xff, 6691 0xff, 6692 }; 6693 6694 static const SECItem subprime_ike_1536 = { siBuffer, 6695 (unsigned char *)subprime_ike_1536_data, 6696 sizeof(subprime_ike_1536_data) }; 6697 static const SECItem subprime_ike_2048 = { siBuffer, 6698 (unsigned char *)subprime_ike_2048_data, 6699 sizeof(subprime_ike_2048_data) }; 6700 static const SECItem subprime_ike_3072 = { siBuffer, 6701 (unsigned char *)subprime_ike_3072_data, 6702 sizeof(subprime_ike_3072_data) }; 6703 static const SECItem subprime_ike_4096 = { siBuffer, 6704 (unsigned char *)subprime_ike_4096_data, 6705 sizeof(subprime_ike_4096_data) }; 6706 static const SECItem subprime_ike_6144 = { siBuffer, 6707 (unsigned char *)subprime_ike_6144_data, 6708 sizeof(subprime_ike_6144_data) }; 6709 static const SECItem subprime_ike_8192 = { siBuffer, 6710 (unsigned char *)subprime_ike_8192_data, 6711 sizeof(subprime_ike_8192_data) }; 6712 static const SECItem subprime_tls_2048 = { siBuffer, 6713 (unsigned char *)subprime_tls_2048_data, 6714 sizeof(subprime_tls_2048_data) }; 6715 static const SECItem subprime_tls_3072 = { siBuffer, 6716 (unsigned char *)subprime_tls_3072_data, 6717 sizeof(subprime_tls_3072_data) }; 6718 static const SECItem subprime_tls_4096 = { siBuffer, 6719 (unsigned char *)subprime_tls_4096_data, 6720 sizeof(subprime_tls_4096_data) }; 6721 static const SECItem subprime_tls_6144 = { siBuffer, 6722 (unsigned char *)subprime_tls_6144_data, 6723 sizeof(subprime_tls_6144_data) }; 6724 static const SECItem subprime_tls_8192 = { siBuffer, 6725 (unsigned char *)subprime_tls_8192_data, 6726 sizeof(subprime_tls_8192_data) }; 6727 6728 /* generator for all the groups is 2 */ 6729 static const unsigned char generator_2_data[] = { 2 }; 6730 6731 static const SECItem generator_2 = { siBuffer, 6732 (unsigned char *)generator_2_data, 6733 sizeof(generator_2_data) }; 6734 6735 /* 6736 * verify that dhPrime matches one of our known primes 6737 */ 6738 const SECItem * 6739 sftk_VerifyDH_Prime(SECItem *dhPrime, SECItem *g, PRBool isFIPS) 6740 { 6741 /* use the length to decide which primes to check */ 6742 switch (dhPrime->len) { 6743 case 1536 / PR_BITS_PER_BYTE: 6744 /* don't accept 1536 bit primes in FIPS mode */ 6745 if (isFIPS) { 6746 break; 6747 } 6748 if (PORT_Memcmp(dhPrime->data, prime_ike_1536, 6749 sizeof(prime_ike_1536)) == 0) { 6750 if (g) 6751 *g = generator_2; 6752 return &subprime_ike_1536; 6753 } 6754 break; 6755 case 2048 / PR_BITS_PER_BYTE: 6756 if (PORT_Memcmp(dhPrime->data, prime_tls_2048, 6757 sizeof(prime_tls_2048)) == 0) { 6758 if (g) 6759 *g = generator_2; 6760 return &subprime_tls_2048; 6761 } 6762 if (PORT_Memcmp(dhPrime->data, prime_ike_2048, 6763 sizeof(prime_ike_2048)) == 0) { 6764 if (g) 6765 *g = generator_2; 6766 return &subprime_ike_2048; 6767 } 6768 break; 6769 case 3072 / PR_BITS_PER_BYTE: 6770 if (PORT_Memcmp(dhPrime->data, prime_tls_3072, 6771 sizeof(prime_tls_3072)) == 0) { 6772 if (g) 6773 *g = generator_2; 6774 return &subprime_tls_3072; 6775 } 6776 if (PORT_Memcmp(dhPrime->data, prime_ike_3072, 6777 sizeof(prime_ike_3072)) == 0) { 6778 if (g) 6779 *g = generator_2; 6780 return &subprime_ike_3072; 6781 } 6782 break; 6783 case 4096 / PR_BITS_PER_BYTE: 6784 if (PORT_Memcmp(dhPrime->data, prime_tls_4096, 6785 sizeof(prime_tls_4096)) == 0) { 6786 if (g) 6787 *g = generator_2; 6788 return &subprime_tls_4096; 6789 } 6790 if (PORT_Memcmp(dhPrime->data, prime_ike_4096, 6791 sizeof(prime_ike_4096)) == 0) { 6792 if (g) 6793 *g = generator_2; 6794 return &subprime_ike_4096; 6795 } 6796 break; 6797 case 6144 / PR_BITS_PER_BYTE: 6798 if (PORT_Memcmp(dhPrime->data, prime_tls_6144, 6799 sizeof(prime_tls_6144)) == 0) { 6800 if (g) 6801 *g = generator_2; 6802 return &subprime_tls_6144; 6803 } 6804 if (PORT_Memcmp(dhPrime->data, prime_ike_6144, 6805 sizeof(prime_ike_6144)) == 0) { 6806 if (g) 6807 *g = generator_2; 6808 return &subprime_ike_6144; 6809 } 6810 break; 6811 case 8192 / PR_BITS_PER_BYTE: 6812 if (PORT_Memcmp(dhPrime->data, prime_tls_8192, 6813 sizeof(prime_tls_8192)) == 0) { 6814 if (g) 6815 *g = generator_2; 6816 return &subprime_tls_8192; 6817 } 6818 if (PORT_Memcmp(dhPrime->data, prime_ike_8192, 6819 sizeof(prime_ike_8192)) == 0) { 6820 if (g) 6821 *g = generator_2; 6822 return &subprime_ike_8192; 6823 } 6824 break; 6825 } 6826 /* no match found, return an error */ 6827 PORT_SetError(SEC_ERROR_INVALID_ARGS); 6828 return NULL; 6829 } 6830 6831 /* Use the provided subPrime to see if dhPrime is a safe prime. We'll check 6832 * primality of those values later. */ 6833 SECStatus 6834 sftk_IsSafePrime(const SECItem *dhPrime, const SECItem *dhSubPrime, PRBool *isSafe) 6835 { 6836 int i; 6837 unsigned char carry = 0; 6838 int offset = 0, subPrimeLen = dhPrime->len; 6839 *isSafe = PR_FALSE; 6840 6841 /* Both dhPrime and dhSubPrime should be odd */ 6842 if (((dhPrime->data[dhPrime->len - 1] & 0x1) != 1) && ((dhSubPrime->data[dhSubPrime->len - 1] & 0x1) != 1)) { 6843 PORT_SetError(SEC_ERROR_INVALID_ARGS); 6844 return SECFailure; 6845 } 6846 6847 /* subPrime is p-1/2, which means subPrime is 1 bit shorter than p. 6848 * It's length in bytes is the same unless the high byte of p == 1 or 0. 6849 */ 6850 if (dhPrime->data[0] <= 1) { 6851 subPrimeLen--; 6852 offset++; 6853 carry = (dhPrime->data[0]) << 7; 6854 } 6855 6856 /* if subprime len is not long enough it is not a strong prime */ 6857 if (dhSubPrime->len != subPrimeLen) { 6858 return SECSuccess; 6859 } 6860 6861 /* does the subprime match q == (p-1)/2 */ 6862 for (i = 0; i < subPrimeLen; i++) { 6863 if (dhSubPrime->data[i] != 6864 (carry | ((dhPrime->data[i + offset] >> 1) & 0x7f))) { 6865 return SECSuccess; 6866 } 6867 carry = ((dhPrime->data[i + offset] & 1) << 7) & 0x80; 6868 } 6869 /* subPrime for p claims to be q=(p-1)/2. So the caller thinks p 6870 * is a strong prime, just need to check primality of p and q to verify */ 6871 *isSafe = PR_TRUE; 6872 return SECSuccess; 6873 }