1e5b75505Sopenharmony_ci/* 2e5b75505Sopenharmony_ci * Diffie-Hellman groups 3e5b75505Sopenharmony_ci * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 4e5b75505Sopenharmony_ci * 5e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license. 6e5b75505Sopenharmony_ci * See README for more details. 7e5b75505Sopenharmony_ci */ 8e5b75505Sopenharmony_ci 9e5b75505Sopenharmony_ci#include "includes.h" 10e5b75505Sopenharmony_ci 11e5b75505Sopenharmony_ci#include "common.h" 12e5b75505Sopenharmony_ci#include "crypto.h" 13e5b75505Sopenharmony_ci#include "random.h" 14e5b75505Sopenharmony_ci#include "dh_groups.h" 15e5b75505Sopenharmony_ci 16e5b75505Sopenharmony_ci 17e5b75505Sopenharmony_ci#ifdef ALL_DH_GROUPS 18e5b75505Sopenharmony_ci 19e5b75505Sopenharmony_ci/* RFC 4306, B.1. Group 1 - 768 Bit MODP 20e5b75505Sopenharmony_ci * Generator: 2 21e5b75505Sopenharmony_ci * Prime: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } 22e5b75505Sopenharmony_ci */ 23e5b75505Sopenharmony_cistatic const u8 dh_group1_generator[1] = { 0x02 }; 24e5b75505Sopenharmony_cistatic const u8 dh_group1_prime[96] = { 25e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 26e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 27e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 28e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 29e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 30e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 31e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 32e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 33e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 34e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 35e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20, 36e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 37e5b75505Sopenharmony_ci}; 38e5b75505Sopenharmony_cistatic const u8 dh_group1_order[96] = { 39e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 40e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 41e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 42e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 43e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 44e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 45e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 46e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 47e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 48e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 49e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1D, 0x1B, 0x10, 50e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 51e5b75505Sopenharmony_ci}; 52e5b75505Sopenharmony_ci 53e5b75505Sopenharmony_ci/* RFC 4306, B.2. Group 2 - 1024 Bit MODP 54e5b75505Sopenharmony_ci * Generator: 2 55e5b75505Sopenharmony_ci * Prime: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 } 56e5b75505Sopenharmony_ci */ 57e5b75505Sopenharmony_cistatic const u8 dh_group2_generator[1] = { 0x02 }; 58e5b75505Sopenharmony_cistatic const u8 dh_group2_prime[128] = { 59e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 60e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 61e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 62e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 63e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 64e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 65e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 66e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 67e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 68e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 69e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 70e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 71e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 72e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 73e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81, 74e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 75e5b75505Sopenharmony_ci}; 76e5b75505Sopenharmony_cistatic const u8 dh_group2_order[128] = { 77e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 78e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 79e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 80e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 81e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 82e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 83e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 84e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 85e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 86e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 87e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 88e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 89e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 90e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 91e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x73, 0x29, 0xC0, 92e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 93e5b75505Sopenharmony_ci}; 94e5b75505Sopenharmony_ci 95e5b75505Sopenharmony_ci#endif /* ALL_DH_GROUPS */ 96e5b75505Sopenharmony_ci 97e5b75505Sopenharmony_ci/* RFC 3526, 2. Group 5 - 1536 Bit MODP 98e5b75505Sopenharmony_ci * Generator: 2 99e5b75505Sopenharmony_ci * Prime: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 } 100e5b75505Sopenharmony_ci */ 101e5b75505Sopenharmony_cistatic const u8 dh_group5_generator[1] = { 0x02 }; 102e5b75505Sopenharmony_cistatic const u8 dh_group5_prime[192] = { 103e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 104e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 105e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 106e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 107e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 108e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 109e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 110e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 111e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 112e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 113e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 114e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 115e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 116e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 117e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 118e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 119e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 120e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 121e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 122e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 123e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 124e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 125e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27, 126e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 127e5b75505Sopenharmony_ci}; 128e5b75505Sopenharmony_cistatic const u8 dh_group5_order[192] = { 129e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 130e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 131e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 132e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 133e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 134e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 135e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 136e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 137e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 138e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 139e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 140e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 141e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 142e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 143e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 144e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 145e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 146e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 147e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 148e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 149e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 150e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 151e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x11, 0xB9, 0x93, 152e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 153e5b75505Sopenharmony_ci}; 154e5b75505Sopenharmony_ci 155e5b75505Sopenharmony_ci#ifdef ALL_DH_GROUPS 156e5b75505Sopenharmony_ci 157e5b75505Sopenharmony_ci/* RFC 3526, 3. Group 14 - 2048 Bit MODP 158e5b75505Sopenharmony_ci * Generator: 2 159e5b75505Sopenharmony_ci * Prime: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 } 160e5b75505Sopenharmony_ci */ 161e5b75505Sopenharmony_cistatic const u8 dh_group14_generator[1] = { 0x02 }; 162e5b75505Sopenharmony_cistatic const u8 dh_group14_prime[256] = { 163e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 164e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 165e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 166e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 167e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 168e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 169e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 170e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 171e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 172e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 173e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 174e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 175e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 176e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 177e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 178e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 179e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 180e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 181e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 182e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 183e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 184e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 185e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 186e5b75505Sopenharmony_ci 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 187e5b75505Sopenharmony_ci 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 188e5b75505Sopenharmony_ci 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 189e5b75505Sopenharmony_ci 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 190e5b75505Sopenharmony_ci 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 191e5b75505Sopenharmony_ci 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 192e5b75505Sopenharmony_ci 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 193e5b75505Sopenharmony_ci 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 194e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 195e5b75505Sopenharmony_ci}; 196e5b75505Sopenharmony_cistatic const u8 dh_group14_order[256] = { 197e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 198e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 199e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 200e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 201e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 202e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 203e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 204e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 205e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 206e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 207e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 208e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 209e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 210e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 211e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 212e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 213e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 214e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 215e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 216e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 217e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 218e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 219e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C, 0x10, 0xBE, 220e5b75505Sopenharmony_ci 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D, 221e5b75505Sopenharmony_ci 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 222e5b75505Sopenharmony_ci 0xCD, 0x93, 0xC1, 0xD1, 0x76, 0x03, 0xD1, 0x47, 223e5b75505Sopenharmony_ci 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 224e5b75505Sopenharmony_ci 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 225e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5, 0x72, 226e5b75505Sopenharmony_ci 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88, 227e5b75505Sopenharmony_ci 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x56, 0x55, 0x34, 228e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 229e5b75505Sopenharmony_ci}; 230e5b75505Sopenharmony_ci 231e5b75505Sopenharmony_ci/* RFC 3526, 4. Group 15 - 3072 Bit MODP 232e5b75505Sopenharmony_ci * Generator: 2 233e5b75505Sopenharmony_ci * Prime: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 } 234e5b75505Sopenharmony_ci */ 235e5b75505Sopenharmony_cistatic const u8 dh_group15_generator[1] = { 0x02 }; 236e5b75505Sopenharmony_cistatic const u8 dh_group15_prime[384] = { 237e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 238e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 239e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 240e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 241e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 242e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 243e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 244e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 245e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 246e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 247e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 248e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 249e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 250e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 251e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 252e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 253e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 254e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 255e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 256e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 257e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 258e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 259e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 260e5b75505Sopenharmony_ci 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 261e5b75505Sopenharmony_ci 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 262e5b75505Sopenharmony_ci 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 263e5b75505Sopenharmony_ci 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 264e5b75505Sopenharmony_ci 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 265e5b75505Sopenharmony_ci 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 266e5b75505Sopenharmony_ci 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 267e5b75505Sopenharmony_ci 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 268e5b75505Sopenharmony_ci 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 269e5b75505Sopenharmony_ci 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 270e5b75505Sopenharmony_ci 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 271e5b75505Sopenharmony_ci 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 272e5b75505Sopenharmony_ci 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 273e5b75505Sopenharmony_ci 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 274e5b75505Sopenharmony_ci 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 275e5b75505Sopenharmony_ci 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 276e5b75505Sopenharmony_ci 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 277e5b75505Sopenharmony_ci 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 278e5b75505Sopenharmony_ci 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 279e5b75505Sopenharmony_ci 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 280e5b75505Sopenharmony_ci 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 281e5b75505Sopenharmony_ci 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 282e5b75505Sopenharmony_ci 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 283e5b75505Sopenharmony_ci 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 284e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 285e5b75505Sopenharmony_ci}; 286e5b75505Sopenharmony_cistatic const u8 dh_group15_order[384] = { 287e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 288e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 289e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 290e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 291e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 292e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 293e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 294e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 295e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 296e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 297e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 298e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 299e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 300e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 301e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 302e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 303e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 304e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 305e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 306e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 307e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 308e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 309e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C, 0x10, 0xBE, 310e5b75505Sopenharmony_ci 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D, 311e5b75505Sopenharmony_ci 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 312e5b75505Sopenharmony_ci 0xCD, 0x93, 0xC1, 0xD1, 0x76, 0x03, 0xD1, 0x47, 313e5b75505Sopenharmony_ci 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 314e5b75505Sopenharmony_ci 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 315e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5, 0x72, 316e5b75505Sopenharmony_ci 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88, 317e5b75505Sopenharmony_ci 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 318e5b75505Sopenharmony_ci 0xD6, 0x99, 0x8B, 0x86, 0x82, 0x28, 0x3D, 0x19, 319e5b75505Sopenharmony_ci 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 320e5b75505Sopenharmony_ci 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 321e5b75505Sopenharmony_ci 0x45, 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E, 322e5b75505Sopenharmony_ci 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63, 323e5b75505Sopenharmony_ci 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 324e5b75505Sopenharmony_ci 0x8F, 0x46, 0x4A, 0x70, 0x25, 0x12, 0xB0, 0xCE, 325e5b75505Sopenharmony_ci 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35, 326e5b75505Sopenharmony_ci 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 327e5b75505Sopenharmony_ci 0x6C, 0x3B, 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 328e5b75505Sopenharmony_ci 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06, 329e5b75505Sopenharmony_ci 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 330e5b75505Sopenharmony_ci 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C, 0xA3, 0x71, 331e5b75505Sopenharmony_ci 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98, 332e5b75505Sopenharmony_ci 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 333e5b75505Sopenharmony_ci 0x25, 0xC1, 0x68, 0x90, 0x54, 0x9D, 0x69, 0x65, 334e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 335e5b75505Sopenharmony_ci}; 336e5b75505Sopenharmony_ci 337e5b75505Sopenharmony_ci/* RFC 3526, 5. Group 16 - 4096 Bit MODP 338e5b75505Sopenharmony_ci * Generator: 2 339e5b75505Sopenharmony_ci * Prime: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } 340e5b75505Sopenharmony_ci */ 341e5b75505Sopenharmony_cistatic const u8 dh_group16_generator[1] = { 0x02 }; 342e5b75505Sopenharmony_cistatic const u8 dh_group16_prime[512] = { 343e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 344e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 345e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 346e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 347e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 348e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 349e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 350e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 351e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 352e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 353e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 354e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 355e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 356e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 357e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 358e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 359e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 360e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 361e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 362e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 363e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 364e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 365e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 366e5b75505Sopenharmony_ci 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 367e5b75505Sopenharmony_ci 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 368e5b75505Sopenharmony_ci 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 369e5b75505Sopenharmony_ci 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 370e5b75505Sopenharmony_ci 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 371e5b75505Sopenharmony_ci 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 372e5b75505Sopenharmony_ci 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 373e5b75505Sopenharmony_ci 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 374e5b75505Sopenharmony_ci 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 375e5b75505Sopenharmony_ci 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 376e5b75505Sopenharmony_ci 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 377e5b75505Sopenharmony_ci 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 378e5b75505Sopenharmony_ci 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 379e5b75505Sopenharmony_ci 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 380e5b75505Sopenharmony_ci 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 381e5b75505Sopenharmony_ci 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 382e5b75505Sopenharmony_ci 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 383e5b75505Sopenharmony_ci 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 384e5b75505Sopenharmony_ci 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 385e5b75505Sopenharmony_ci 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 386e5b75505Sopenharmony_ci 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 387e5b75505Sopenharmony_ci 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 388e5b75505Sopenharmony_ci 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 389e5b75505Sopenharmony_ci 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 390e5b75505Sopenharmony_ci 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 391e5b75505Sopenharmony_ci 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 392e5b75505Sopenharmony_ci 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 393e5b75505Sopenharmony_ci 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 394e5b75505Sopenharmony_ci 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 395e5b75505Sopenharmony_ci 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 396e5b75505Sopenharmony_ci 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 397e5b75505Sopenharmony_ci 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 398e5b75505Sopenharmony_ci 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 399e5b75505Sopenharmony_ci 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 400e5b75505Sopenharmony_ci 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 401e5b75505Sopenharmony_ci 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 402e5b75505Sopenharmony_ci 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 403e5b75505Sopenharmony_ci 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 404e5b75505Sopenharmony_ci 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 405e5b75505Sopenharmony_ci 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99, 406e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 407e5b75505Sopenharmony_ci}; 408e5b75505Sopenharmony_cistatic const u8 dh_group16_order[512] = { 409e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 410e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 411e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 412e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 413e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 414e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 415e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 416e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 417e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 418e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 419e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 420e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 421e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 422e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 423e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 424e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 425e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 426e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 427e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 428e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 429e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 430e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 431e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C, 0x10, 0xBE, 432e5b75505Sopenharmony_ci 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D, 433e5b75505Sopenharmony_ci 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 434e5b75505Sopenharmony_ci 0xCD, 0x93, 0xC1, 0xD1, 0x76, 0x03, 0xD1, 0x47, 435e5b75505Sopenharmony_ci 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 436e5b75505Sopenharmony_ci 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 437e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5, 0x72, 438e5b75505Sopenharmony_ci 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88, 439e5b75505Sopenharmony_ci 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 440e5b75505Sopenharmony_ci 0xD6, 0x99, 0x8B, 0x86, 0x82, 0x28, 0x3D, 0x19, 441e5b75505Sopenharmony_ci 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 442e5b75505Sopenharmony_ci 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 443e5b75505Sopenharmony_ci 0x45, 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E, 444e5b75505Sopenharmony_ci 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63, 445e5b75505Sopenharmony_ci 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 446e5b75505Sopenharmony_ci 0x8F, 0x46, 0x4A, 0x70, 0x25, 0x12, 0xB0, 0xCE, 447e5b75505Sopenharmony_ci 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35, 448e5b75505Sopenharmony_ci 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 449e5b75505Sopenharmony_ci 0x6C, 0x3B, 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 450e5b75505Sopenharmony_ci 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06, 451e5b75505Sopenharmony_ci 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 452e5b75505Sopenharmony_ci 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C, 0xA3, 0x71, 453e5b75505Sopenharmony_ci 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98, 454e5b75505Sopenharmony_ci 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 455e5b75505Sopenharmony_ci 0x25, 0xC1, 0x68, 0x90, 0x54, 0x90, 0x84, 0x00, 456e5b75505Sopenharmony_ci 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 457e5b75505Sopenharmony_ci 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 458e5b75505Sopenharmony_ci 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71, 0x1E, 459e5b75505Sopenharmony_ci 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED, 460e5b75505Sopenharmony_ci 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 461e5b75505Sopenharmony_ci 0x6D, 0xDD, 0xE1, 0x6D, 0x82, 0x6F, 0x47, 0x7C, 462e5b75505Sopenharmony_ci 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53, 463e5b75505Sopenharmony_ci 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 464e5b75505Sopenharmony_ci 0xCC, 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1, 465e5b75505Sopenharmony_ci 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6, 466e5b75505Sopenharmony_ci 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 467e5b75505Sopenharmony_ci 0xDC, 0x0D, 0xEE, 0xBB, 0x10, 0xB8, 0x24, 0x0E, 468e5b75505Sopenharmony_ci 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54, 469e5b75505Sopenharmony_ci 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 470e5b75505Sopenharmony_ci 0xC3, 0x7F, 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 471e5b75505Sopenharmony_ci 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x03, 0x18, 0xCC, 472e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 473e5b75505Sopenharmony_ci}; 474e5b75505Sopenharmony_ci 475e5b75505Sopenharmony_ci/* RFC 3526, 6. Group 17 - 6144 Bit MODP 476e5b75505Sopenharmony_ci * Generator: 2 477e5b75505Sopenharmony_ci * Prime: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 } 478e5b75505Sopenharmony_ci */ 479e5b75505Sopenharmony_cistatic const u8 dh_group17_generator[1] = { 0x02 }; 480e5b75505Sopenharmony_cistatic const u8 dh_group17_prime[768] = { 481e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 482e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 483e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 484e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 485e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 486e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 487e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 488e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 489e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 490e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 491e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 492e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 493e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 494e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 495e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 496e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 497e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 498e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 499e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 500e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 501e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 502e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 503e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 504e5b75505Sopenharmony_ci 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 505e5b75505Sopenharmony_ci 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 506e5b75505Sopenharmony_ci 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 507e5b75505Sopenharmony_ci 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 508e5b75505Sopenharmony_ci 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 509e5b75505Sopenharmony_ci 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 510e5b75505Sopenharmony_ci 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 511e5b75505Sopenharmony_ci 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 512e5b75505Sopenharmony_ci 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 513e5b75505Sopenharmony_ci 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 514e5b75505Sopenharmony_ci 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 515e5b75505Sopenharmony_ci 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 516e5b75505Sopenharmony_ci 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 517e5b75505Sopenharmony_ci 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 518e5b75505Sopenharmony_ci 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 519e5b75505Sopenharmony_ci 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 520e5b75505Sopenharmony_ci 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 521e5b75505Sopenharmony_ci 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 522e5b75505Sopenharmony_ci 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 523e5b75505Sopenharmony_ci 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 524e5b75505Sopenharmony_ci 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 525e5b75505Sopenharmony_ci 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 526e5b75505Sopenharmony_ci 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 527e5b75505Sopenharmony_ci 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 528e5b75505Sopenharmony_ci 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 529e5b75505Sopenharmony_ci 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 530e5b75505Sopenharmony_ci 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 531e5b75505Sopenharmony_ci 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 532e5b75505Sopenharmony_ci 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 533e5b75505Sopenharmony_ci 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 534e5b75505Sopenharmony_ci 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 535e5b75505Sopenharmony_ci 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 536e5b75505Sopenharmony_ci 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 537e5b75505Sopenharmony_ci 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 538e5b75505Sopenharmony_ci 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 539e5b75505Sopenharmony_ci 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 540e5b75505Sopenharmony_ci 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 541e5b75505Sopenharmony_ci 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 542e5b75505Sopenharmony_ci 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 543e5b75505Sopenharmony_ci 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 544e5b75505Sopenharmony_ci 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 545e5b75505Sopenharmony_ci 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 546e5b75505Sopenharmony_ci 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 547e5b75505Sopenharmony_ci 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 548e5b75505Sopenharmony_ci 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 549e5b75505Sopenharmony_ci 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 550e5b75505Sopenharmony_ci 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 551e5b75505Sopenharmony_ci 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 552e5b75505Sopenharmony_ci 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 553e5b75505Sopenharmony_ci 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 554e5b75505Sopenharmony_ci 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 555e5b75505Sopenharmony_ci 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 556e5b75505Sopenharmony_ci 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 557e5b75505Sopenharmony_ci 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 558e5b75505Sopenharmony_ci 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 559e5b75505Sopenharmony_ci 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 560e5b75505Sopenharmony_ci 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 561e5b75505Sopenharmony_ci 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 562e5b75505Sopenharmony_ci 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 563e5b75505Sopenharmony_ci 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 564e5b75505Sopenharmony_ci 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 565e5b75505Sopenharmony_ci 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 566e5b75505Sopenharmony_ci 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 567e5b75505Sopenharmony_ci 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 568e5b75505Sopenharmony_ci 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 569e5b75505Sopenharmony_ci 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 570e5b75505Sopenharmony_ci 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 571e5b75505Sopenharmony_ci 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 572e5b75505Sopenharmony_ci 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 573e5b75505Sopenharmony_ci 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 574e5b75505Sopenharmony_ci 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 575e5b75505Sopenharmony_ci 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24, 576e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 577e5b75505Sopenharmony_ci}; 578e5b75505Sopenharmony_cistatic const u8 dh_group17_order[768] = { 579e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 580e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 581e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 582e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 583e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 584e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 585e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 586e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 587e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 588e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 589e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 590e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 591e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 592e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 593e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 594e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 595e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 596e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 597e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 598e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 599e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 600e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 601e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C, 0x10, 0xBE, 602e5b75505Sopenharmony_ci 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D, 603e5b75505Sopenharmony_ci 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 604e5b75505Sopenharmony_ci 0xCD, 0x93, 0xC1, 0xD1, 0x76, 0x03, 0xD1, 0x47, 605e5b75505Sopenharmony_ci 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 606e5b75505Sopenharmony_ci 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 607e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5, 0x72, 608e5b75505Sopenharmony_ci 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88, 609e5b75505Sopenharmony_ci 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 610e5b75505Sopenharmony_ci 0xD6, 0x99, 0x8B, 0x86, 0x82, 0x28, 0x3D, 0x19, 611e5b75505Sopenharmony_ci 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 612e5b75505Sopenharmony_ci 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 613e5b75505Sopenharmony_ci 0x45, 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E, 614e5b75505Sopenharmony_ci 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63, 615e5b75505Sopenharmony_ci 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 616e5b75505Sopenharmony_ci 0x8F, 0x46, 0x4A, 0x70, 0x25, 0x12, 0xB0, 0xCE, 617e5b75505Sopenharmony_ci 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35, 618e5b75505Sopenharmony_ci 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 619e5b75505Sopenharmony_ci 0x6C, 0x3B, 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 620e5b75505Sopenharmony_ci 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06, 621e5b75505Sopenharmony_ci 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 622e5b75505Sopenharmony_ci 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C, 0xA3, 0x71, 623e5b75505Sopenharmony_ci 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98, 624e5b75505Sopenharmony_ci 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 625e5b75505Sopenharmony_ci 0x25, 0xC1, 0x68, 0x90, 0x54, 0x90, 0x84, 0x00, 626e5b75505Sopenharmony_ci 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 627e5b75505Sopenharmony_ci 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 628e5b75505Sopenharmony_ci 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71, 0x1E, 629e5b75505Sopenharmony_ci 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED, 630e5b75505Sopenharmony_ci 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 631e5b75505Sopenharmony_ci 0x6D, 0xDD, 0xE1, 0x6D, 0x82, 0x6F, 0x47, 0x7C, 632e5b75505Sopenharmony_ci 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53, 633e5b75505Sopenharmony_ci 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 634e5b75505Sopenharmony_ci 0xCC, 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1, 635e5b75505Sopenharmony_ci 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6, 636e5b75505Sopenharmony_ci 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 637e5b75505Sopenharmony_ci 0xDC, 0x0D, 0xEE, 0xBB, 0x10, 0xB8, 0x24, 0x0E, 638e5b75505Sopenharmony_ci 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54, 639e5b75505Sopenharmony_ci 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 640e5b75505Sopenharmony_ci 0xC3, 0x7F, 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 641e5b75505Sopenharmony_ci 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49, 642e5b75505Sopenharmony_ci 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38, 0x13, 643e5b75505Sopenharmony_ci 0x60, 0xEA, 0x6E, 0x59, 0x30, 0x13, 0x23, 0x6F, 644e5b75505Sopenharmony_ci 0x64, 0xBA, 0x8F, 0x3B, 0x1E, 0xDD, 0x1B, 0xDE, 645e5b75505Sopenharmony_ci 0xFC, 0x7F, 0xCA, 0x03, 0x56, 0xCF, 0x29, 0x87, 646e5b75505Sopenharmony_ci 0x72, 0xED, 0x9C, 0x17, 0xA0, 0x98, 0x00, 0xD7, 647e5b75505Sopenharmony_ci 0x58, 0x35, 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18, 648e5b75505Sopenharmony_ci 0x8B, 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C, 649e5b75505Sopenharmony_ci 0x6D, 0x1F, 0x6D, 0xF5, 0xE7, 0xCD, 0x8A, 0x76, 650e5b75505Sopenharmony_ci 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A, 0x5D, 0x8D, 651e5b75505Sopenharmony_ci 0xED, 0xBF, 0x8A, 0x23, 0xF3, 0x66, 0x12, 0xA5, 652e5b75505Sopenharmony_ci 0x99, 0x90, 0x28, 0xA8, 0x95, 0xEB, 0xD7, 0xA1, 653e5b75505Sopenharmony_ci 0x37, 0xDC, 0x7A, 0x00, 0x9B, 0xC6, 0x69, 0x5F, 654e5b75505Sopenharmony_ci 0xAC, 0xC1, 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 655e5b75505Sopenharmony_ci 0x78, 0x19, 0x75, 0x0A, 0xE8, 0xB9, 0x0E, 0x81, 656e5b75505Sopenharmony_ci 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F, 0x7B, 657e5b75505Sopenharmony_ci 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C, 0x06, 0x41, 658e5b75505Sopenharmony_ci 0x5A, 0xD4, 0x20, 0x18, 0xC8, 0x05, 0x8E, 0x4F, 659e5b75505Sopenharmony_ci 0x2C, 0xF3, 0xE4, 0xBF, 0xDF, 0x63, 0xF4, 0x79, 660e5b75505Sopenharmony_ci 0x91, 0xD4, 0xBD, 0x3F, 0x1B, 0x66, 0x44, 0x5F, 661e5b75505Sopenharmony_ci 0x07, 0x8E, 0xA2, 0xDB, 0xFF, 0xAC, 0x2D, 0x62, 662e5b75505Sopenharmony_ci 0xA5, 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55, 663e5b75505Sopenharmony_ci 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70, 0xEC, 664e5b75505Sopenharmony_ci 0x0A, 0x66, 0x2F, 0x69, 0x07, 0xC0, 0x1B, 0xF0, 665e5b75505Sopenharmony_ci 0x53, 0xCB, 0x8A, 0xF7, 0x79, 0x4D, 0xF1, 0x94, 666e5b75505Sopenharmony_ci 0x03, 0x50, 0xEA, 0xC5, 0xDB, 0xE2, 0xED, 0x3B, 667e5b75505Sopenharmony_ci 0x7A, 0xA8, 0x55, 0x1E, 0xC5, 0x0F, 0xDF, 0xF8, 668e5b75505Sopenharmony_ci 0x75, 0x8C, 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE, 669e5b75505Sopenharmony_ci 0x6D, 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19, 670e5b75505Sopenharmony_ci 0x1C, 0x3F, 0xF4, 0x6B, 0xB7, 0x1E, 0x02, 0x34, 671e5b75505Sopenharmony_ci 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4, 0x30, 0x77, 672e5b75505Sopenharmony_ci 0x09, 0x5F, 0x96, 0xAD, 0x85, 0xBA, 0x3A, 0x6B, 673e5b75505Sopenharmony_ci 0x73, 0x4A, 0x7C, 0x8F, 0x36, 0xE6, 0x20, 0x12, 674e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 675e5b75505Sopenharmony_ci}; 676e5b75505Sopenharmony_ci 677e5b75505Sopenharmony_ci/* RFC 3526, 7. Group 18 - 8192 Bit MODP 678e5b75505Sopenharmony_ci * Generator: 2 679e5b75505Sopenharmony_ci * Prime: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 } 680e5b75505Sopenharmony_ci */ 681e5b75505Sopenharmony_cistatic const u8 dh_group18_generator[1] = { 0x02 }; 682e5b75505Sopenharmony_cistatic const u8 dh_group18_prime[1024] = { 683e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 684e5b75505Sopenharmony_ci 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 685e5b75505Sopenharmony_ci 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 686e5b75505Sopenharmony_ci 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 687e5b75505Sopenharmony_ci 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 688e5b75505Sopenharmony_ci 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 689e5b75505Sopenharmony_ci 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 690e5b75505Sopenharmony_ci 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 691e5b75505Sopenharmony_ci 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 692e5b75505Sopenharmony_ci 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 693e5b75505Sopenharmony_ci 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 694e5b75505Sopenharmony_ci 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 695e5b75505Sopenharmony_ci 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 696e5b75505Sopenharmony_ci 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 697e5b75505Sopenharmony_ci 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 698e5b75505Sopenharmony_ci 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 699e5b75505Sopenharmony_ci 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 700e5b75505Sopenharmony_ci 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 701e5b75505Sopenharmony_ci 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 702e5b75505Sopenharmony_ci 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 703e5b75505Sopenharmony_ci 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 704e5b75505Sopenharmony_ci 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 705e5b75505Sopenharmony_ci 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 706e5b75505Sopenharmony_ci 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 707e5b75505Sopenharmony_ci 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 708e5b75505Sopenharmony_ci 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 709e5b75505Sopenharmony_ci 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 710e5b75505Sopenharmony_ci 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 711e5b75505Sopenharmony_ci 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 712e5b75505Sopenharmony_ci 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 713e5b75505Sopenharmony_ci 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 714e5b75505Sopenharmony_ci 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 715e5b75505Sopenharmony_ci 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 716e5b75505Sopenharmony_ci 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 717e5b75505Sopenharmony_ci 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 718e5b75505Sopenharmony_ci 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 719e5b75505Sopenharmony_ci 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 720e5b75505Sopenharmony_ci 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 721e5b75505Sopenharmony_ci 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 722e5b75505Sopenharmony_ci 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 723e5b75505Sopenharmony_ci 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 724e5b75505Sopenharmony_ci 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 725e5b75505Sopenharmony_ci 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 726e5b75505Sopenharmony_ci 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 727e5b75505Sopenharmony_ci 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 728e5b75505Sopenharmony_ci 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 729e5b75505Sopenharmony_ci 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 730e5b75505Sopenharmony_ci 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 731e5b75505Sopenharmony_ci 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 732e5b75505Sopenharmony_ci 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 733e5b75505Sopenharmony_ci 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 734e5b75505Sopenharmony_ci 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 735e5b75505Sopenharmony_ci 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 736e5b75505Sopenharmony_ci 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 737e5b75505Sopenharmony_ci 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 738e5b75505Sopenharmony_ci 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 739e5b75505Sopenharmony_ci 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 740e5b75505Sopenharmony_ci 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 741e5b75505Sopenharmony_ci 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 742e5b75505Sopenharmony_ci 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 743e5b75505Sopenharmony_ci 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 744e5b75505Sopenharmony_ci 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 745e5b75505Sopenharmony_ci 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 746e5b75505Sopenharmony_ci 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 747e5b75505Sopenharmony_ci 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 748e5b75505Sopenharmony_ci 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 749e5b75505Sopenharmony_ci 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 750e5b75505Sopenharmony_ci 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 751e5b75505Sopenharmony_ci 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 752e5b75505Sopenharmony_ci 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 753e5b75505Sopenharmony_ci 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 754e5b75505Sopenharmony_ci 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 755e5b75505Sopenharmony_ci 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 756e5b75505Sopenharmony_ci 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 757e5b75505Sopenharmony_ci 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 758e5b75505Sopenharmony_ci 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 759e5b75505Sopenharmony_ci 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 760e5b75505Sopenharmony_ci 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 761e5b75505Sopenharmony_ci 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 762e5b75505Sopenharmony_ci 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 763e5b75505Sopenharmony_ci 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 764e5b75505Sopenharmony_ci 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 765e5b75505Sopenharmony_ci 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 766e5b75505Sopenharmony_ci 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 767e5b75505Sopenharmony_ci 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 768e5b75505Sopenharmony_ci 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 769e5b75505Sopenharmony_ci 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 770e5b75505Sopenharmony_ci 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 771e5b75505Sopenharmony_ci 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 772e5b75505Sopenharmony_ci 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 773e5b75505Sopenharmony_ci 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 774e5b75505Sopenharmony_ci 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 775e5b75505Sopenharmony_ci 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 776e5b75505Sopenharmony_ci 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 777e5b75505Sopenharmony_ci 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59, 778e5b75505Sopenharmony_ci 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 779e5b75505Sopenharmony_ci 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 780e5b75505Sopenharmony_ci 0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA, 781e5b75505Sopenharmony_ci 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00, 782e5b75505Sopenharmony_ci 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 783e5b75505Sopenharmony_ci 0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66, 784e5b75505Sopenharmony_ci 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68, 785e5b75505Sopenharmony_ci 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 786e5b75505Sopenharmony_ci 0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D, 787e5b75505Sopenharmony_ci 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9, 788e5b75505Sopenharmony_ci 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 789e5b75505Sopenharmony_ci 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7, 790e5b75505Sopenharmony_ci 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B, 791e5b75505Sopenharmony_ci 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 792e5b75505Sopenharmony_ci 0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8, 793e5b75505Sopenharmony_ci 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 794e5b75505Sopenharmony_ci 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 795e5b75505Sopenharmony_ci 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D, 796e5b75505Sopenharmony_ci 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36, 797e5b75505Sopenharmony_ci 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 798e5b75505Sopenharmony_ci 0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D, 799e5b75505Sopenharmony_ci 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1, 800e5b75505Sopenharmony_ci 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 801e5b75505Sopenharmony_ci 0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68, 802e5b75505Sopenharmony_ci 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92, 803e5b75505Sopenharmony_ci 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 804e5b75505Sopenharmony_ci 0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B, 805e5b75505Sopenharmony_ci 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47, 806e5b75505Sopenharmony_ci 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 807e5b75505Sopenharmony_ci 0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF, 808e5b75505Sopenharmony_ci 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71, 809e5b75505Sopenharmony_ci 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 810e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 811e5b75505Sopenharmony_ci}; 812e5b75505Sopenharmony_cistatic const u8 dh_group18_order[1024] = { 813e5b75505Sopenharmony_ci 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 814e5b75505Sopenharmony_ci 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4, 0x61, 0x1A, 815e5b75505Sopenharmony_ci 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68, 816e5b75505Sopenharmony_ci 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 817e5b75505Sopenharmony_ci 0x01, 0x05, 0xDF, 0x53, 0x1D, 0x89, 0xCD, 0x91, 818e5b75505Sopenharmony_ci 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 819e5b75505Sopenharmony_ci 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 820e5b75505Sopenharmony_ci 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A, 0x1B, 821e5b75505Sopenharmony_ci 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22, 822e5b75505Sopenharmony_ci 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 823e5b75505Sopenharmony_ci 0x7A, 0x26, 0x21, 0x74, 0xD3, 0x1B, 0xF6, 0xB5, 824e5b75505Sopenharmony_ci 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 825e5b75505Sopenharmony_ci 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 826e5b75505Sopenharmony_ci 0xD7, 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3, 827e5b75505Sopenharmony_ci 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E, 828e5b75505Sopenharmony_ci 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 829e5b75505Sopenharmony_ci 0xCC, 0x6D, 0x24, 0x1B, 0x0E, 0x2A, 0xE9, 0xCD, 830e5b75505Sopenharmony_ci 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF, 831e5b75505Sopenharmony_ci 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 832e5b75505Sopenharmony_ci 0x0E, 0x31, 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 833e5b75505Sopenharmony_ci 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36, 834e5b75505Sopenharmony_ci 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 835e5b75505Sopenharmony_ci 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C, 0x10, 0xBE, 836e5b75505Sopenharmony_ci 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D, 837e5b75505Sopenharmony_ci 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 838e5b75505Sopenharmony_ci 0xCD, 0x93, 0xC1, 0xD1, 0x76, 0x03, 0xD1, 0x47, 839e5b75505Sopenharmony_ci 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 840e5b75505Sopenharmony_ci 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 841e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5, 0x72, 842e5b75505Sopenharmony_ci 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88, 843e5b75505Sopenharmony_ci 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 844e5b75505Sopenharmony_ci 0xD6, 0x99, 0x8B, 0x86, 0x82, 0x28, 0x3D, 0x19, 845e5b75505Sopenharmony_ci 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 846e5b75505Sopenharmony_ci 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 847e5b75505Sopenharmony_ci 0x45, 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E, 848e5b75505Sopenharmony_ci 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63, 849e5b75505Sopenharmony_ci 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 850e5b75505Sopenharmony_ci 0x8F, 0x46, 0x4A, 0x70, 0x25, 0x12, 0xB0, 0xCE, 851e5b75505Sopenharmony_ci 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35, 852e5b75505Sopenharmony_ci 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 853e5b75505Sopenharmony_ci 0x6C, 0x3B, 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 854e5b75505Sopenharmony_ci 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06, 855e5b75505Sopenharmony_ci 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 856e5b75505Sopenharmony_ci 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C, 0xA3, 0x71, 857e5b75505Sopenharmony_ci 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98, 858e5b75505Sopenharmony_ci 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 859e5b75505Sopenharmony_ci 0x25, 0xC1, 0x68, 0x90, 0x54, 0x90, 0x84, 0x00, 860e5b75505Sopenharmony_ci 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 861e5b75505Sopenharmony_ci 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 862e5b75505Sopenharmony_ci 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71, 0x1E, 863e5b75505Sopenharmony_ci 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED, 864e5b75505Sopenharmony_ci 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 865e5b75505Sopenharmony_ci 0x6D, 0xDD, 0xE1, 0x6D, 0x82, 0x6F, 0x47, 0x7C, 866e5b75505Sopenharmony_ci 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53, 867e5b75505Sopenharmony_ci 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 868e5b75505Sopenharmony_ci 0xCC, 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1, 869e5b75505Sopenharmony_ci 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6, 870e5b75505Sopenharmony_ci 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 871e5b75505Sopenharmony_ci 0xDC, 0x0D, 0xEE, 0xBB, 0x10, 0xB8, 0x24, 0x0E, 872e5b75505Sopenharmony_ci 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54, 873e5b75505Sopenharmony_ci 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 874e5b75505Sopenharmony_ci 0xC3, 0x7F, 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 875e5b75505Sopenharmony_ci 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49, 876e5b75505Sopenharmony_ci 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38, 0x13, 877e5b75505Sopenharmony_ci 0x60, 0xEA, 0x6E, 0x59, 0x30, 0x13, 0x23, 0x6F, 878e5b75505Sopenharmony_ci 0x64, 0xBA, 0x8F, 0x3B, 0x1E, 0xDD, 0x1B, 0xDE, 879e5b75505Sopenharmony_ci 0xFC, 0x7F, 0xCA, 0x03, 0x56, 0xCF, 0x29, 0x87, 880e5b75505Sopenharmony_ci 0x72, 0xED, 0x9C, 0x17, 0xA0, 0x98, 0x00, 0xD7, 881e5b75505Sopenharmony_ci 0x58, 0x35, 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18, 882e5b75505Sopenharmony_ci 0x8B, 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C, 883e5b75505Sopenharmony_ci 0x6D, 0x1F, 0x6D, 0xF5, 0xE7, 0xCD, 0x8A, 0x76, 884e5b75505Sopenharmony_ci 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A, 0x5D, 0x8D, 885e5b75505Sopenharmony_ci 0xED, 0xBF, 0x8A, 0x23, 0xF3, 0x66, 0x12, 0xA5, 886e5b75505Sopenharmony_ci 0x99, 0x90, 0x28, 0xA8, 0x95, 0xEB, 0xD7, 0xA1, 887e5b75505Sopenharmony_ci 0x37, 0xDC, 0x7A, 0x00, 0x9B, 0xC6, 0x69, 0x5F, 888e5b75505Sopenharmony_ci 0xAC, 0xC1, 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 889e5b75505Sopenharmony_ci 0x78, 0x19, 0x75, 0x0A, 0xE8, 0xB9, 0x0E, 0x81, 890e5b75505Sopenharmony_ci 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F, 0x7B, 891e5b75505Sopenharmony_ci 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C, 0x06, 0x41, 892e5b75505Sopenharmony_ci 0x5A, 0xD4, 0x20, 0x18, 0xC8, 0x05, 0x8E, 0x4F, 893e5b75505Sopenharmony_ci 0x2C, 0xF3, 0xE4, 0xBF, 0xDF, 0x63, 0xF4, 0x79, 894e5b75505Sopenharmony_ci 0x91, 0xD4, 0xBD, 0x3F, 0x1B, 0x66, 0x44, 0x5F, 895e5b75505Sopenharmony_ci 0x07, 0x8E, 0xA2, 0xDB, 0xFF, 0xAC, 0x2D, 0x62, 896e5b75505Sopenharmony_ci 0xA5, 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55, 897e5b75505Sopenharmony_ci 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70, 0xEC, 898e5b75505Sopenharmony_ci 0x0A, 0x66, 0x2F, 0x69, 0x07, 0xC0, 0x1B, 0xF0, 899e5b75505Sopenharmony_ci 0x53, 0xCB, 0x8A, 0xF7, 0x79, 0x4D, 0xF1, 0x94, 900e5b75505Sopenharmony_ci 0x03, 0x50, 0xEA, 0xC5, 0xDB, 0xE2, 0xED, 0x3B, 901e5b75505Sopenharmony_ci 0x7A, 0xA8, 0x55, 0x1E, 0xC5, 0x0F, 0xDF, 0xF8, 902e5b75505Sopenharmony_ci 0x75, 0x8C, 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE, 903e5b75505Sopenharmony_ci 0x6D, 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19, 904e5b75505Sopenharmony_ci 0x1C, 0x3F, 0xF4, 0x6B, 0xB7, 0x1E, 0x02, 0x34, 905e5b75505Sopenharmony_ci 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4, 0x30, 0x77, 906e5b75505Sopenharmony_ci 0x09, 0x5F, 0x96, 0xAD, 0x85, 0xBA, 0x3A, 0x6B, 907e5b75505Sopenharmony_ci 0x73, 0x4A, 0x7C, 0x8F, 0x36, 0xDF, 0x08, 0xAC, 908e5b75505Sopenharmony_ci 0xBA, 0x51, 0xC9, 0x37, 0x89, 0x7F, 0x72, 0xF2, 909e5b75505Sopenharmony_ci 0x1C, 0x3B, 0xBE, 0x5B, 0x54, 0x99, 0x6F, 0xC6, 910e5b75505Sopenharmony_ci 0x6C, 0x5F, 0x62, 0x68, 0x39, 0xDC, 0x98, 0xDD, 911e5b75505Sopenharmony_ci 0x1D, 0xE4, 0x19, 0x5B, 0x46, 0xCE, 0xE9, 0x80, 912e5b75505Sopenharmony_ci 0x3A, 0x0F, 0xD3, 0xDF, 0xC5, 0x7E, 0x23, 0xF6, 913e5b75505Sopenharmony_ci 0x92, 0xBB, 0x7B, 0x49, 0xB5, 0xD2, 0x12, 0x33, 914e5b75505Sopenharmony_ci 0x1D, 0x55, 0xB1, 0xCE, 0x2D, 0x72, 0x7A, 0xB4, 915e5b75505Sopenharmony_ci 0x1A, 0x11, 0xDA, 0x3A, 0x15, 0xF8, 0xE4, 0xBC, 916e5b75505Sopenharmony_ci 0x11, 0xC7, 0x8B, 0x65, 0xF1, 0xCE, 0xB2, 0x96, 917e5b75505Sopenharmony_ci 0xF1, 0xFE, 0xDC, 0x5F, 0x7E, 0x42, 0x45, 0x6C, 918e5b75505Sopenharmony_ci 0x91, 0x11, 0x17, 0x02, 0x52, 0x01, 0xBE, 0x03, 919e5b75505Sopenharmony_ci 0x89, 0xF5, 0xAB, 0xD4, 0x0D, 0x11, 0xF8, 0x63, 920e5b75505Sopenharmony_ci 0x9A, 0x39, 0xFE, 0x32, 0x36, 0x75, 0x18, 0x35, 921e5b75505Sopenharmony_ci 0xA5, 0xE5, 0xE4, 0x43, 0x17, 0xC1, 0xC2, 0xEE, 922e5b75505Sopenharmony_ci 0xFD, 0x4E, 0xA5, 0xBF, 0xD1, 0x60, 0x43, 0xF4, 923e5b75505Sopenharmony_ci 0x3C, 0xB4, 0x19, 0x81, 0xF6, 0xAD, 0xEE, 0x9D, 924e5b75505Sopenharmony_ci 0x03, 0x15, 0x9E, 0x7A, 0xD9, 0xD1, 0x3C, 0x53, 925e5b75505Sopenharmony_ci 0x36, 0x95, 0x09, 0xFC, 0x1F, 0xA2, 0x7C, 0x16, 926e5b75505Sopenharmony_ci 0xEF, 0x98, 0x87, 0x70, 0x3A, 0x55, 0xB5, 0x1B, 927e5b75505Sopenharmony_ci 0x22, 0xCB, 0xF4, 0x4C, 0xD0, 0x12, 0xAE, 0xE0, 928e5b75505Sopenharmony_ci 0xB2, 0x79, 0x8E, 0x62, 0x84, 0x23, 0x42, 0x8E, 929e5b75505Sopenharmony_ci 0xFC, 0xD5, 0xA4, 0x0C, 0xAE, 0xF6, 0xBF, 0x50, 930e5b75505Sopenharmony_ci 0xD8, 0xEA, 0x88, 0x5E, 0xBF, 0x73, 0xA6, 0xB9, 931e5b75505Sopenharmony_ci 0xFD, 0x79, 0xB5, 0xE1, 0x8F, 0x67, 0xD1, 0x34, 932e5b75505Sopenharmony_ci 0x1A, 0xC8, 0x23, 0x7A, 0x75, 0xC3, 0xCF, 0xC9, 933e5b75505Sopenharmony_ci 0x20, 0x04, 0xA1, 0xC5, 0xA4, 0x0E, 0x36, 0x6B, 934e5b75505Sopenharmony_ci 0xC4, 0x4D, 0x00, 0x17, 0x6A, 0xF7, 0x1C, 0x15, 935e5b75505Sopenharmony_ci 0xE4, 0x8C, 0x86, 0xD3, 0x7E, 0x01, 0x37, 0x23, 936e5b75505Sopenharmony_ci 0xCA, 0xAC, 0x72, 0x23, 0xAB, 0x3B, 0xF4, 0xD5, 937e5b75505Sopenharmony_ci 0x4F, 0x18, 0x28, 0x71, 0x3B, 0x2B, 0x4A, 0x6F, 938e5b75505Sopenharmony_ci 0xE4, 0x0F, 0xAB, 0x74, 0x40, 0x5C, 0xB7, 0x38, 939e5b75505Sopenharmony_ci 0xB0, 0x64, 0xC0, 0x6E, 0xCC, 0x76, 0xE9, 0xEF, 940e5b75505Sopenharmony_ci 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 941e5b75505Sopenharmony_ci}; 942e5b75505Sopenharmony_ci 943e5b75505Sopenharmony_ci/* 944e5b75505Sopenharmony_ci * RFC 5114, 2.1. 945e5b75505Sopenharmony_ci * Group 22 - 1024-bit MODP Group with 160-bit Prime Order Subgroup 946e5b75505Sopenharmony_ci */ 947e5b75505Sopenharmony_cistatic const u8 dh_group22_generator[] = { 948e5b75505Sopenharmony_ci 0xA4, 0xD1, 0xCB, 0xD5, 0xC3, 0xFD, 0x34, 0x12, 949e5b75505Sopenharmony_ci 0x67, 0x65, 0xA4, 0x42, 0xEF, 0xB9, 0x99, 0x05, 950e5b75505Sopenharmony_ci 0xF8, 0x10, 0x4D, 0xD2, 0x58, 0xAC, 0x50, 0x7F, 951e5b75505Sopenharmony_ci 0xD6, 0x40, 0x6C, 0xFF, 0x14, 0x26, 0x6D, 0x31, 952e5b75505Sopenharmony_ci 0x26, 0x6F, 0xEA, 0x1E, 0x5C, 0x41, 0x56, 0x4B, 953e5b75505Sopenharmony_ci 0x77, 0x7E, 0x69, 0x0F, 0x55, 0x04, 0xF2, 0x13, 954e5b75505Sopenharmony_ci 0x16, 0x02, 0x17, 0xB4, 0xB0, 0x1B, 0x88, 0x6A, 955e5b75505Sopenharmony_ci 0x5E, 0x91, 0x54, 0x7F, 0x9E, 0x27, 0x49, 0xF4, 956e5b75505Sopenharmony_ci 0xD7, 0xFB, 0xD7, 0xD3, 0xB9, 0xA9, 0x2E, 0xE1, 957e5b75505Sopenharmony_ci 0x90, 0x9D, 0x0D, 0x22, 0x63, 0xF8, 0x0A, 0x76, 958e5b75505Sopenharmony_ci 0xA6, 0xA2, 0x4C, 0x08, 0x7A, 0x09, 0x1F, 0x53, 959e5b75505Sopenharmony_ci 0x1D, 0xBF, 0x0A, 0x01, 0x69, 0xB6, 0xA2, 0x8A, 960e5b75505Sopenharmony_ci 0xD6, 0x62, 0xA4, 0xD1, 0x8E, 0x73, 0xAF, 0xA3, 961e5b75505Sopenharmony_ci 0x2D, 0x77, 0x9D, 0x59, 0x18, 0xD0, 0x8B, 0xC8, 962e5b75505Sopenharmony_ci 0x85, 0x8F, 0x4D, 0xCE, 0xF9, 0x7C, 0x2A, 0x24, 963e5b75505Sopenharmony_ci 0x85, 0x5E, 0x6E, 0xEB, 0x22, 0xB3, 0xB2, 0xE5 964e5b75505Sopenharmony_ci}; 965e5b75505Sopenharmony_cistatic const u8 dh_group22_prime[] = { 966e5b75505Sopenharmony_ci 0xB1, 0x0B, 0x8F, 0x96, 0xA0, 0x80, 0xE0, 0x1D, 967e5b75505Sopenharmony_ci 0xDE, 0x92, 0xDE, 0x5E, 0xAE, 0x5D, 0x54, 0xEC, 968e5b75505Sopenharmony_ci 0x52, 0xC9, 0x9F, 0xBC, 0xFB, 0x06, 0xA3, 0xC6, 969e5b75505Sopenharmony_ci 0x9A, 0x6A, 0x9D, 0xCA, 0x52, 0xD2, 0x3B, 0x61, 970e5b75505Sopenharmony_ci 0x60, 0x73, 0xE2, 0x86, 0x75, 0xA2, 0x3D, 0x18, 971e5b75505Sopenharmony_ci 0x98, 0x38, 0xEF, 0x1E, 0x2E, 0xE6, 0x52, 0xC0, 972e5b75505Sopenharmony_ci 0x13, 0xEC, 0xB4, 0xAE, 0xA9, 0x06, 0x11, 0x23, 973e5b75505Sopenharmony_ci 0x24, 0x97, 0x5C, 0x3C, 0xD4, 0x9B, 0x83, 0xBF, 974e5b75505Sopenharmony_ci 0xAC, 0xCB, 0xDD, 0x7D, 0x90, 0xC4, 0xBD, 0x70, 975e5b75505Sopenharmony_ci 0x98, 0x48, 0x8E, 0x9C, 0x21, 0x9A, 0x73, 0x72, 976e5b75505Sopenharmony_ci 0x4E, 0xFF, 0xD6, 0xFA, 0xE5, 0x64, 0x47, 0x38, 977e5b75505Sopenharmony_ci 0xFA, 0xA3, 0x1A, 0x4F, 0xF5, 0x5B, 0xCC, 0xC0, 978e5b75505Sopenharmony_ci 0xA1, 0x51, 0xAF, 0x5F, 0x0D, 0xC8, 0xB4, 0xBD, 979e5b75505Sopenharmony_ci 0x45, 0xBF, 0x37, 0xDF, 0x36, 0x5C, 0x1A, 0x65, 980e5b75505Sopenharmony_ci 0xE6, 0x8C, 0xFD, 0xA7, 0x6D, 0x4D, 0xA7, 0x08, 981e5b75505Sopenharmony_ci 0xDF, 0x1F, 0xB2, 0xBC, 0x2E, 0x4A, 0x43, 0x71 982e5b75505Sopenharmony_ci}; 983e5b75505Sopenharmony_cistatic const u8 dh_group22_order[] = { 984e5b75505Sopenharmony_ci 0xF5, 0x18, 0xAA, 0x87, 0x81, 0xA8, 0xDF, 0x27, 985e5b75505Sopenharmony_ci 0x8A, 0xBA, 0x4E, 0x7D, 0x64, 0xB7, 0xCB, 0x9D, 986e5b75505Sopenharmony_ci 0x49, 0x46, 0x23, 0x53 987e5b75505Sopenharmony_ci}; 988e5b75505Sopenharmony_ci 989e5b75505Sopenharmony_ci/* 990e5b75505Sopenharmony_ci * RFC 5114, 2.2. 991e5b75505Sopenharmony_ci * Group 23 - 2048-bit MODP Group with 224-bit Prime Order Subgroup 992e5b75505Sopenharmony_ci */ 993e5b75505Sopenharmony_cistatic const u8 dh_group23_generator[] = { 994e5b75505Sopenharmony_ci 0xAC, 0x40, 0x32, 0xEF, 0x4F, 0x2D, 0x9A, 0xE3, 995e5b75505Sopenharmony_ci 0x9D, 0xF3, 0x0B, 0x5C, 0x8F, 0xFD, 0xAC, 0x50, 996e5b75505Sopenharmony_ci 0x6C, 0xDE, 0xBE, 0x7B, 0x89, 0x99, 0x8C, 0xAF, 997e5b75505Sopenharmony_ci 0x74, 0x86, 0x6A, 0x08, 0xCF, 0xE4, 0xFF, 0xE3, 998e5b75505Sopenharmony_ci 0xA6, 0x82, 0x4A, 0x4E, 0x10, 0xB9, 0xA6, 0xF0, 999e5b75505Sopenharmony_ci 0xDD, 0x92, 0x1F, 0x01, 0xA7, 0x0C, 0x4A, 0xFA, 1000e5b75505Sopenharmony_ci 0xAB, 0x73, 0x9D, 0x77, 0x00, 0xC2, 0x9F, 0x52, 1001e5b75505Sopenharmony_ci 0xC5, 0x7D, 0xB1, 0x7C, 0x62, 0x0A, 0x86, 0x52, 1002e5b75505Sopenharmony_ci 0xBE, 0x5E, 0x90, 0x01, 0xA8, 0xD6, 0x6A, 0xD7, 1003e5b75505Sopenharmony_ci 0xC1, 0x76, 0x69, 0x10, 0x19, 0x99, 0x02, 0x4A, 1004e5b75505Sopenharmony_ci 0xF4, 0xD0, 0x27, 0x27, 0x5A, 0xC1, 0x34, 0x8B, 1005e5b75505Sopenharmony_ci 0xB8, 0xA7, 0x62, 0xD0, 0x52, 0x1B, 0xC9, 0x8A, 1006e5b75505Sopenharmony_ci 0xE2, 0x47, 0x15, 0x04, 0x22, 0xEA, 0x1E, 0xD4, 1007e5b75505Sopenharmony_ci 0x09, 0x93, 0x9D, 0x54, 0xDA, 0x74, 0x60, 0xCD, 1008e5b75505Sopenharmony_ci 0xB5, 0xF6, 0xC6, 0xB2, 0x50, 0x71, 0x7C, 0xBE, 1009e5b75505Sopenharmony_ci 0xF1, 0x80, 0xEB, 0x34, 0x11, 0x8E, 0x98, 0xD1, 1010e5b75505Sopenharmony_ci 0x19, 0x52, 0x9A, 0x45, 0xD6, 0xF8, 0x34, 0x56, 1011e5b75505Sopenharmony_ci 0x6E, 0x30, 0x25, 0xE3, 0x16, 0xA3, 0x30, 0xEF, 1012e5b75505Sopenharmony_ci 0xBB, 0x77, 0xA8, 0x6F, 0x0C, 0x1A, 0xB1, 0x5B, 1013e5b75505Sopenharmony_ci 0x05, 0x1A, 0xE3, 0xD4, 0x28, 0xC8, 0xF8, 0xAC, 1014e5b75505Sopenharmony_ci 0xB7, 0x0A, 0x81, 0x37, 0x15, 0x0B, 0x8E, 0xEB, 1015e5b75505Sopenharmony_ci 0x10, 0xE1, 0x83, 0xED, 0xD1, 0x99, 0x63, 0xDD, 1016e5b75505Sopenharmony_ci 0xD9, 0xE2, 0x63, 0xE4, 0x77, 0x05, 0x89, 0xEF, 1017e5b75505Sopenharmony_ci 0x6A, 0xA2, 0x1E, 0x7F, 0x5F, 0x2F, 0xF3, 0x81, 1018e5b75505Sopenharmony_ci 0xB5, 0x39, 0xCC, 0xE3, 0x40, 0x9D, 0x13, 0xCD, 1019e5b75505Sopenharmony_ci 0x56, 0x6A, 0xFB, 0xB4, 0x8D, 0x6C, 0x01, 0x91, 1020e5b75505Sopenharmony_ci 0x81, 0xE1, 0xBC, 0xFE, 0x94, 0xB3, 0x02, 0x69, 1021e5b75505Sopenharmony_ci 0xED, 0xFE, 0x72, 0xFE, 0x9B, 0x6A, 0xA4, 0xBD, 1022e5b75505Sopenharmony_ci 0x7B, 0x5A, 0x0F, 0x1C, 0x71, 0xCF, 0xFF, 0x4C, 1023e5b75505Sopenharmony_ci 0x19, 0xC4, 0x18, 0xE1, 0xF6, 0xEC, 0x01, 0x79, 1024e5b75505Sopenharmony_ci 0x81, 0xBC, 0x08, 0x7F, 0x2A, 0x70, 0x65, 0xB3, 1025e5b75505Sopenharmony_ci 0x84, 0xB8, 0x90, 0xD3, 0x19, 0x1F, 0x2B, 0xFA 1026e5b75505Sopenharmony_ci}; 1027e5b75505Sopenharmony_cistatic const u8 dh_group23_prime[] = { 1028e5b75505Sopenharmony_ci 0xAD, 0x10, 0x7E, 0x1E, 0x91, 0x23, 0xA9, 0xD0, 1029e5b75505Sopenharmony_ci 0xD6, 0x60, 0xFA, 0xA7, 0x95, 0x59, 0xC5, 0x1F, 1030e5b75505Sopenharmony_ci 0xA2, 0x0D, 0x64, 0xE5, 0x68, 0x3B, 0x9F, 0xD1, 1031e5b75505Sopenharmony_ci 0xB5, 0x4B, 0x15, 0x97, 0xB6, 0x1D, 0x0A, 0x75, 1032e5b75505Sopenharmony_ci 0xE6, 0xFA, 0x14, 0x1D, 0xF9, 0x5A, 0x56, 0xDB, 1033e5b75505Sopenharmony_ci 0xAF, 0x9A, 0x3C, 0x40, 0x7B, 0xA1, 0xDF, 0x15, 1034e5b75505Sopenharmony_ci 0xEB, 0x3D, 0x68, 0x8A, 0x30, 0x9C, 0x18, 0x0E, 1035e5b75505Sopenharmony_ci 0x1D, 0xE6, 0xB8, 0x5A, 0x12, 0x74, 0xA0, 0xA6, 1036e5b75505Sopenharmony_ci 0x6D, 0x3F, 0x81, 0x52, 0xAD, 0x6A, 0xC2, 0x12, 1037e5b75505Sopenharmony_ci 0x90, 0x37, 0xC9, 0xED, 0xEF, 0xDA, 0x4D, 0xF8, 1038e5b75505Sopenharmony_ci 0xD9, 0x1E, 0x8F, 0xEF, 0x55, 0xB7, 0x39, 0x4B, 1039e5b75505Sopenharmony_ci 0x7A, 0xD5, 0xB7, 0xD0, 0xB6, 0xC1, 0x22, 0x07, 1040e5b75505Sopenharmony_ci 0xC9, 0xF9, 0x8D, 0x11, 0xED, 0x34, 0xDB, 0xF6, 1041e5b75505Sopenharmony_ci 0xC6, 0xBA, 0x0B, 0x2C, 0x8B, 0xBC, 0x27, 0xBE, 1042e5b75505Sopenharmony_ci 0x6A, 0x00, 0xE0, 0xA0, 0xB9, 0xC4, 0x97, 0x08, 1043e5b75505Sopenharmony_ci 0xB3, 0xBF, 0x8A, 0x31, 0x70, 0x91, 0x88, 0x36, 1044e5b75505Sopenharmony_ci 0x81, 0x28, 0x61, 0x30, 0xBC, 0x89, 0x85, 0xDB, 1045e5b75505Sopenharmony_ci 0x16, 0x02, 0xE7, 0x14, 0x41, 0x5D, 0x93, 0x30, 1046e5b75505Sopenharmony_ci 0x27, 0x82, 0x73, 0xC7, 0xDE, 0x31, 0xEF, 0xDC, 1047e5b75505Sopenharmony_ci 0x73, 0x10, 0xF7, 0x12, 0x1F, 0xD5, 0xA0, 0x74, 1048e5b75505Sopenharmony_ci 0x15, 0x98, 0x7D, 0x9A, 0xDC, 0x0A, 0x48, 0x6D, 1049e5b75505Sopenharmony_ci 0xCD, 0xF9, 0x3A, 0xCC, 0x44, 0x32, 0x83, 0x87, 1050e5b75505Sopenharmony_ci 0x31, 0x5D, 0x75, 0xE1, 0x98, 0xC6, 0x41, 0xA4, 1051e5b75505Sopenharmony_ci 0x80, 0xCD, 0x86, 0xA1, 0xB9, 0xE5, 0x87, 0xE8, 1052e5b75505Sopenharmony_ci 0xBE, 0x60, 0xE6, 0x9C, 0xC9, 0x28, 0xB2, 0xB9, 1053e5b75505Sopenharmony_ci 0xC5, 0x21, 0x72, 0xE4, 0x13, 0x04, 0x2E, 0x9B, 1054e5b75505Sopenharmony_ci 0x23, 0xF1, 0x0B, 0x0E, 0x16, 0xE7, 0x97, 0x63, 1055e5b75505Sopenharmony_ci 0xC9, 0xB5, 0x3D, 0xCF, 0x4B, 0xA8, 0x0A, 0x29, 1056e5b75505Sopenharmony_ci 0xE3, 0xFB, 0x73, 0xC1, 0x6B, 0x8E, 0x75, 0xB9, 1057e5b75505Sopenharmony_ci 0x7E, 0xF3, 0x63, 0xE2, 0xFF, 0xA3, 0x1F, 0x71, 1058e5b75505Sopenharmony_ci 0xCF, 0x9D, 0xE5, 0x38, 0x4E, 0x71, 0xB8, 0x1C, 1059e5b75505Sopenharmony_ci 0x0A, 0xC4, 0xDF, 0xFE, 0x0C, 0x10, 0xE6, 0x4F 1060e5b75505Sopenharmony_ci}; 1061e5b75505Sopenharmony_cistatic const u8 dh_group23_order[] = { 1062e5b75505Sopenharmony_ci 0x80, 0x1C, 0x0D, 0x34, 0xC5, 0x8D, 0x93, 0xFE, 1063e5b75505Sopenharmony_ci 0x99, 0x71, 0x77, 0x10, 0x1F, 0x80, 0x53, 0x5A, 1064e5b75505Sopenharmony_ci 0x47, 0x38, 0xCE, 0xBC, 0xBF, 0x38, 0x9A, 0x99, 1065e5b75505Sopenharmony_ci 0xB3, 0x63, 0x71, 0xEB 1066e5b75505Sopenharmony_ci}; 1067e5b75505Sopenharmony_ci 1068e5b75505Sopenharmony_ci/* 1069e5b75505Sopenharmony_ci * RFC 5114, 2.3. 1070e5b75505Sopenharmony_ci * Group 24 - 2048-bit MODP Group with 256-bit Prime Order Subgroup 1071e5b75505Sopenharmony_ci */ 1072e5b75505Sopenharmony_cistatic const u8 dh_group24_generator[] = { 1073e5b75505Sopenharmony_ci 0x3F, 0xB3, 0x2C, 0x9B, 0x73, 0x13, 0x4D, 0x0B, 1074e5b75505Sopenharmony_ci 0x2E, 0x77, 0x50, 0x66, 0x60, 0xED, 0xBD, 0x48, 1075e5b75505Sopenharmony_ci 0x4C, 0xA7, 0xB1, 0x8F, 0x21, 0xEF, 0x20, 0x54, 1076e5b75505Sopenharmony_ci 0x07, 0xF4, 0x79, 0x3A, 0x1A, 0x0B, 0xA1, 0x25, 1077e5b75505Sopenharmony_ci 0x10, 0xDB, 0xC1, 0x50, 0x77, 0xBE, 0x46, 0x3F, 1078e5b75505Sopenharmony_ci 0xFF, 0x4F, 0xED, 0x4A, 0xAC, 0x0B, 0xB5, 0x55, 1079e5b75505Sopenharmony_ci 0xBE, 0x3A, 0x6C, 0x1B, 0x0C, 0x6B, 0x47, 0xB1, 1080e5b75505Sopenharmony_ci 0xBC, 0x37, 0x73, 0xBF, 0x7E, 0x8C, 0x6F, 0x62, 1081e5b75505Sopenharmony_ci 0x90, 0x12, 0x28, 0xF8, 0xC2, 0x8C, 0xBB, 0x18, 1082e5b75505Sopenharmony_ci 0xA5, 0x5A, 0xE3, 0x13, 0x41, 0x00, 0x0A, 0x65, 1083e5b75505Sopenharmony_ci 0x01, 0x96, 0xF9, 0x31, 0xC7, 0x7A, 0x57, 0xF2, 1084e5b75505Sopenharmony_ci 0xDD, 0xF4, 0x63, 0xE5, 0xE9, 0xEC, 0x14, 0x4B, 1085e5b75505Sopenharmony_ci 0x77, 0x7D, 0xE6, 0x2A, 0xAA, 0xB8, 0xA8, 0x62, 1086e5b75505Sopenharmony_ci 0x8A, 0xC3, 0x76, 0xD2, 0x82, 0xD6, 0xED, 0x38, 1087e5b75505Sopenharmony_ci 0x64, 0xE6, 0x79, 0x82, 0x42, 0x8E, 0xBC, 0x83, 1088e5b75505Sopenharmony_ci 0x1D, 0x14, 0x34, 0x8F, 0x6F, 0x2F, 0x91, 0x93, 1089e5b75505Sopenharmony_ci 0xB5, 0x04, 0x5A, 0xF2, 0x76, 0x71, 0x64, 0xE1, 1090e5b75505Sopenharmony_ci 0xDF, 0xC9, 0x67, 0xC1, 0xFB, 0x3F, 0x2E, 0x55, 1091e5b75505Sopenharmony_ci 0xA4, 0xBD, 0x1B, 0xFF, 0xE8, 0x3B, 0x9C, 0x80, 1092e5b75505Sopenharmony_ci 0xD0, 0x52, 0xB9, 0x85, 0xD1, 0x82, 0xEA, 0x0A, 1093e5b75505Sopenharmony_ci 0xDB, 0x2A, 0x3B, 0x73, 0x13, 0xD3, 0xFE, 0x14, 1094e5b75505Sopenharmony_ci 0xC8, 0x48, 0x4B, 0x1E, 0x05, 0x25, 0x88, 0xB9, 1095e5b75505Sopenharmony_ci 0xB7, 0xD2, 0xBB, 0xD2, 0xDF, 0x01, 0x61, 0x99, 1096e5b75505Sopenharmony_ci 0xEC, 0xD0, 0x6E, 0x15, 0x57, 0xCD, 0x09, 0x15, 1097e5b75505Sopenharmony_ci 0xB3, 0x35, 0x3B, 0xBB, 0x64, 0xE0, 0xEC, 0x37, 1098e5b75505Sopenharmony_ci 0x7F, 0xD0, 0x28, 0x37, 0x0D, 0xF9, 0x2B, 0x52, 1099e5b75505Sopenharmony_ci 0xC7, 0x89, 0x14, 0x28, 0xCD, 0xC6, 0x7E, 0xB6, 1100e5b75505Sopenharmony_ci 0x18, 0x4B, 0x52, 0x3D, 0x1D, 0xB2, 0x46, 0xC3, 1101e5b75505Sopenharmony_ci 0x2F, 0x63, 0x07, 0x84, 0x90, 0xF0, 0x0E, 0xF8, 1102e5b75505Sopenharmony_ci 0xD6, 0x47, 0xD1, 0x48, 0xD4, 0x79, 0x54, 0x51, 1103e5b75505Sopenharmony_ci 0x5E, 0x23, 0x27, 0xCF, 0xEF, 0x98, 0xC5, 0x82, 1104e5b75505Sopenharmony_ci 0x66, 0x4B, 0x4C, 0x0F, 0x6C, 0xC4, 0x16, 0x59 1105e5b75505Sopenharmony_ci}; 1106e5b75505Sopenharmony_cistatic const u8 dh_group24_prime[] = { 1107e5b75505Sopenharmony_ci 0x87, 0xA8, 0xE6, 0x1D, 0xB4, 0xB6, 0x66, 0x3C, 1108e5b75505Sopenharmony_ci 0xFF, 0xBB, 0xD1, 0x9C, 0x65, 0x19, 0x59, 0x99, 1109e5b75505Sopenharmony_ci 0x8C, 0xEE, 0xF6, 0x08, 0x66, 0x0D, 0xD0, 0xF2, 1110e5b75505Sopenharmony_ci 0x5D, 0x2C, 0xEE, 0xD4, 0x43, 0x5E, 0x3B, 0x00, 1111e5b75505Sopenharmony_ci 0xE0, 0x0D, 0xF8, 0xF1, 0xD6, 0x19, 0x57, 0xD4, 1112e5b75505Sopenharmony_ci 0xFA, 0xF7, 0xDF, 0x45, 0x61, 0xB2, 0xAA, 0x30, 1113e5b75505Sopenharmony_ci 0x16, 0xC3, 0xD9, 0x11, 0x34, 0x09, 0x6F, 0xAA, 1114e5b75505Sopenharmony_ci 0x3B, 0xF4, 0x29, 0x6D, 0x83, 0x0E, 0x9A, 0x7C, 1115e5b75505Sopenharmony_ci 0x20, 0x9E, 0x0C, 0x64, 0x97, 0x51, 0x7A, 0xBD, 1116e5b75505Sopenharmony_ci 0x5A, 0x8A, 0x9D, 0x30, 0x6B, 0xCF, 0x67, 0xED, 1117e5b75505Sopenharmony_ci 0x91, 0xF9, 0xE6, 0x72, 0x5B, 0x47, 0x58, 0xC0, 1118e5b75505Sopenharmony_ci 0x22, 0xE0, 0xB1, 0xEF, 0x42, 0x75, 0xBF, 0x7B, 1119e5b75505Sopenharmony_ci 0x6C, 0x5B, 0xFC, 0x11, 0xD4, 0x5F, 0x90, 0x88, 1120e5b75505Sopenharmony_ci 0xB9, 0x41, 0xF5, 0x4E, 0xB1, 0xE5, 0x9B, 0xB8, 1121e5b75505Sopenharmony_ci 0xBC, 0x39, 0xA0, 0xBF, 0x12, 0x30, 0x7F, 0x5C, 1122e5b75505Sopenharmony_ci 0x4F, 0xDB, 0x70, 0xC5, 0x81, 0xB2, 0x3F, 0x76, 1123e5b75505Sopenharmony_ci 0xB6, 0x3A, 0xCA, 0xE1, 0xCA, 0xA6, 0xB7, 0x90, 1124e5b75505Sopenharmony_ci 0x2D, 0x52, 0x52, 0x67, 0x35, 0x48, 0x8A, 0x0E, 1125e5b75505Sopenharmony_ci 0xF1, 0x3C, 0x6D, 0x9A, 0x51, 0xBF, 0xA4, 0xAB, 1126e5b75505Sopenharmony_ci 0x3A, 0xD8, 0x34, 0x77, 0x96, 0x52, 0x4D, 0x8E, 1127e5b75505Sopenharmony_ci 0xF6, 0xA1, 0x67, 0xB5, 0xA4, 0x18, 0x25, 0xD9, 1128e5b75505Sopenharmony_ci 0x67, 0xE1, 0x44, 0xE5, 0x14, 0x05, 0x64, 0x25, 1129e5b75505Sopenharmony_ci 0x1C, 0xCA, 0xCB, 0x83, 0xE6, 0xB4, 0x86, 0xF6, 1130e5b75505Sopenharmony_ci 0xB3, 0xCA, 0x3F, 0x79, 0x71, 0x50, 0x60, 0x26, 1131e5b75505Sopenharmony_ci 0xC0, 0xB8, 0x57, 0xF6, 0x89, 0x96, 0x28, 0x56, 1132e5b75505Sopenharmony_ci 0xDE, 0xD4, 0x01, 0x0A, 0xBD, 0x0B, 0xE6, 0x21, 1133e5b75505Sopenharmony_ci 0xC3, 0xA3, 0x96, 0x0A, 0x54, 0xE7, 0x10, 0xC3, 1134e5b75505Sopenharmony_ci 0x75, 0xF2, 0x63, 0x75, 0xD7, 0x01, 0x41, 0x03, 1135e5b75505Sopenharmony_ci 0xA4, 0xB5, 0x43, 0x30, 0xC1, 0x98, 0xAF, 0x12, 1136e5b75505Sopenharmony_ci 0x61, 0x16, 0xD2, 0x27, 0x6E, 0x11, 0x71, 0x5F, 1137e5b75505Sopenharmony_ci 0x69, 0x38, 0x77, 0xFA, 0xD7, 0xEF, 0x09, 0xCA, 1138e5b75505Sopenharmony_ci 0xDB, 0x09, 0x4A, 0xE9, 0x1E, 0x1A, 0x15, 0x97 1139e5b75505Sopenharmony_ci}; 1140e5b75505Sopenharmony_cistatic const u8 dh_group24_order[] = { 1141e5b75505Sopenharmony_ci 0x8C, 0xF8, 0x36, 0x42, 0xA7, 0x09, 0xA0, 0x97, 1142e5b75505Sopenharmony_ci 0xB4, 0x47, 0x99, 0x76, 0x40, 0x12, 0x9D, 0xA2, 1143e5b75505Sopenharmony_ci 0x99, 0xB1, 0xA4, 0x7D, 0x1E, 0xB3, 0x75, 0x0B, 1144e5b75505Sopenharmony_ci 0xA3, 0x08, 0xB0, 0xFE, 0x64, 0xF5, 0xFB, 0xD3 1145e5b75505Sopenharmony_ci}; 1146e5b75505Sopenharmony_ci 1147e5b75505Sopenharmony_ci#endif /* ALL_DH_GROUPS */ 1148e5b75505Sopenharmony_ci 1149e5b75505Sopenharmony_ci 1150e5b75505Sopenharmony_ci#define DH_GROUP(id,safe) \ 1151e5b75505Sopenharmony_ci{ id, dh_group ## id ## _generator, sizeof(dh_group ## id ## _generator), \ 1152e5b75505Sopenharmony_cidh_group ## id ## _prime, sizeof(dh_group ## id ## _prime), \ 1153e5b75505Sopenharmony_cidh_group ## id ## _order, sizeof(dh_group ## id ## _order), safe } 1154e5b75505Sopenharmony_ci 1155e5b75505Sopenharmony_ci 1156e5b75505Sopenharmony_cistatic const struct dh_group dh_groups[] = { 1157e5b75505Sopenharmony_ci DH_GROUP(5, 1), 1158e5b75505Sopenharmony_ci#ifdef ALL_DH_GROUPS 1159e5b75505Sopenharmony_ci DH_GROUP(1, 1), 1160e5b75505Sopenharmony_ci DH_GROUP(2, 1), 1161e5b75505Sopenharmony_ci DH_GROUP(14, 1), 1162e5b75505Sopenharmony_ci DH_GROUP(15, 1), 1163e5b75505Sopenharmony_ci DH_GROUP(16, 1), 1164e5b75505Sopenharmony_ci DH_GROUP(17, 1), 1165e5b75505Sopenharmony_ci DH_GROUP(18, 1), 1166e5b75505Sopenharmony_ci DH_GROUP(22, 0), 1167e5b75505Sopenharmony_ci DH_GROUP(23, 0), 1168e5b75505Sopenharmony_ci DH_GROUP(24, 0) 1169e5b75505Sopenharmony_ci#endif /* ALL_DH_GROUPS */ 1170e5b75505Sopenharmony_ci}; 1171e5b75505Sopenharmony_ci 1172e5b75505Sopenharmony_ci#define NUM_DH_GROUPS ARRAY_SIZE(dh_groups) 1173e5b75505Sopenharmony_ci 1174e5b75505Sopenharmony_ci 1175e5b75505Sopenharmony_ciconst struct dh_group * dh_groups_get(int id) 1176e5b75505Sopenharmony_ci{ 1177e5b75505Sopenharmony_ci size_t i; 1178e5b75505Sopenharmony_ci 1179e5b75505Sopenharmony_ci for (i = 0; i < NUM_DH_GROUPS; i++) { 1180e5b75505Sopenharmony_ci if (dh_groups[i].id == id) 1181e5b75505Sopenharmony_ci return &dh_groups[i]; 1182e5b75505Sopenharmony_ci } 1183e5b75505Sopenharmony_ci return NULL; 1184e5b75505Sopenharmony_ci} 1185e5b75505Sopenharmony_ci 1186e5b75505Sopenharmony_ci 1187e5b75505Sopenharmony_ci/** 1188e5b75505Sopenharmony_ci * dh_init - Initialize Diffie-Hellman handshake 1189e5b75505Sopenharmony_ci * @dh: Selected Diffie-Hellman group 1190e5b75505Sopenharmony_ci * @priv: Pointer for returning Diffie-Hellman private key 1191e5b75505Sopenharmony_ci * Returns: Diffie-Hellman public value 1192e5b75505Sopenharmony_ci */ 1193e5b75505Sopenharmony_cistruct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv) 1194e5b75505Sopenharmony_ci{ 1195e5b75505Sopenharmony_ci struct wpabuf *pv; 1196e5b75505Sopenharmony_ci size_t pv_len; 1197e5b75505Sopenharmony_ci 1198e5b75505Sopenharmony_ci if (dh == NULL) 1199e5b75505Sopenharmony_ci return NULL; 1200e5b75505Sopenharmony_ci 1201e5b75505Sopenharmony_ci wpabuf_clear_free(*priv); 1202e5b75505Sopenharmony_ci *priv = wpabuf_alloc(dh->prime_len); 1203e5b75505Sopenharmony_ci if (*priv == NULL) 1204e5b75505Sopenharmony_ci return NULL; 1205e5b75505Sopenharmony_ci 1206e5b75505Sopenharmony_ci pv_len = dh->prime_len; 1207e5b75505Sopenharmony_ci pv = wpabuf_alloc(pv_len); 1208e5b75505Sopenharmony_ci if (pv == NULL) { 1209e5b75505Sopenharmony_ci wpabuf_clear_free(*priv); 1210e5b75505Sopenharmony_ci *priv = NULL; 1211e5b75505Sopenharmony_ci return NULL; 1212e5b75505Sopenharmony_ci } 1213e5b75505Sopenharmony_ci if (crypto_dh_init(*dh->generator, dh->prime, dh->prime_len, 1214e5b75505Sopenharmony_ci wpabuf_mhead(*priv), wpabuf_mhead(pv)) < 0) { 1215e5b75505Sopenharmony_ci wpabuf_clear_free(pv); 1216e5b75505Sopenharmony_ci wpa_printf(MSG_INFO, "DH: crypto_dh_init failed"); 1217e5b75505Sopenharmony_ci wpabuf_clear_free(*priv); 1218e5b75505Sopenharmony_ci *priv = NULL; 1219e5b75505Sopenharmony_ci return NULL; 1220e5b75505Sopenharmony_ci } 1221e5b75505Sopenharmony_ci wpabuf_put(*priv, dh->prime_len); 1222e5b75505Sopenharmony_ci wpabuf_put(pv, dh->prime_len); 1223e5b75505Sopenharmony_ci wpa_hexdump_buf_key(MSG_DEBUG, "DH: private value", *priv); 1224e5b75505Sopenharmony_ci wpa_hexdump_buf(MSG_DEBUG, "DH: public value", pv); 1225e5b75505Sopenharmony_ci 1226e5b75505Sopenharmony_ci return pv; 1227e5b75505Sopenharmony_ci} 1228e5b75505Sopenharmony_ci 1229e5b75505Sopenharmony_ci 1230e5b75505Sopenharmony_ci/** 1231e5b75505Sopenharmony_ci * dh_derive_shared - Derive shared Diffie-Hellman key 1232e5b75505Sopenharmony_ci * @peer_public: Diffie-Hellman public value from peer 1233e5b75505Sopenharmony_ci * @own_private: Diffie-Hellman private key from dh_init() 1234e5b75505Sopenharmony_ci * @dh: Selected Diffie-Hellman group 1235e5b75505Sopenharmony_ci * Returns: Diffie-Hellman shared key 1236e5b75505Sopenharmony_ci */ 1237e5b75505Sopenharmony_cistruct wpabuf * dh_derive_shared(const struct wpabuf *peer_public, 1238e5b75505Sopenharmony_ci const struct wpabuf *own_private, 1239e5b75505Sopenharmony_ci const struct dh_group *dh) 1240e5b75505Sopenharmony_ci{ 1241e5b75505Sopenharmony_ci struct wpabuf *shared; 1242e5b75505Sopenharmony_ci size_t shared_len; 1243e5b75505Sopenharmony_ci 1244e5b75505Sopenharmony_ci if (dh == NULL || peer_public == NULL || own_private == NULL) 1245e5b75505Sopenharmony_ci return NULL; 1246e5b75505Sopenharmony_ci 1247e5b75505Sopenharmony_ci shared_len = dh->prime_len; 1248e5b75505Sopenharmony_ci shared = wpabuf_alloc(shared_len); 1249e5b75505Sopenharmony_ci if (shared == NULL) 1250e5b75505Sopenharmony_ci return NULL; 1251e5b75505Sopenharmony_ci if (crypto_dh_derive_secret(*dh->generator, dh->prime, dh->prime_len, 1252e5b75505Sopenharmony_ci dh->order, dh->order_len, 1253e5b75505Sopenharmony_ci wpabuf_head(own_private), 1254e5b75505Sopenharmony_ci wpabuf_len(own_private), 1255e5b75505Sopenharmony_ci wpabuf_head(peer_public), 1256e5b75505Sopenharmony_ci wpabuf_len(peer_public), 1257e5b75505Sopenharmony_ci wpabuf_mhead(shared), &shared_len) < 0) { 1258e5b75505Sopenharmony_ci wpabuf_clear_free(shared); 1259e5b75505Sopenharmony_ci wpa_printf(MSG_INFO, "DH: crypto_dh_derive_secret failed"); 1260e5b75505Sopenharmony_ci return NULL; 1261e5b75505Sopenharmony_ci } 1262e5b75505Sopenharmony_ci wpabuf_put(shared, shared_len); 1263e5b75505Sopenharmony_ci wpa_hexdump_buf_key(MSG_DEBUG, "DH: shared key", shared); 1264e5b75505Sopenharmony_ci 1265e5b75505Sopenharmony_ci return shared; 1266e5b75505Sopenharmony_ci} 1267