0001
0002
0003
0004
0005
0006 #include <crypto/curve25519.h>
0007
0008 struct curve25519_test_vector {
0009 u8 private[CURVE25519_KEY_SIZE];
0010 u8 public[CURVE25519_KEY_SIZE];
0011 u8 result[CURVE25519_KEY_SIZE];
0012 bool valid;
0013 };
0014 static const struct curve25519_test_vector curve25519_test_vectors[] __initconst = {
0015 {
0016 .private = { 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d,
0017 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, 0x66, 0x45,
0018 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, 0x99, 0x2a,
0019 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a },
0020 .public = { 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4,
0021 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, 0x35, 0x37,
0022 0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d,
0023 0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f },
0024 .result = { 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
0025 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
0026 0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33,
0027 0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 },
0028 .valid = true
0029 },
0030 {
0031 .private = { 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b,
0032 0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, 0x0e, 0xe6,
0033 0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18, 0xb6, 0xfd,
0034 0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb },
0035 .public = { 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
0036 0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
0037 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
0038 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a },
0039 .result = { 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
0040 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
0041 0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33,
0042 0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 },
0043 .valid = true
0044 },
0045 {
0046 .private = { 1 },
0047 .public = { 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0048 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0049 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0050 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0051 .result = { 0x3c, 0x77, 0x77, 0xca, 0xf9, 0x97, 0xb2, 0x64,
0052 0x41, 0x60, 0x77, 0x66, 0x5b, 0x4e, 0x22, 0x9d,
0053 0x0b, 0x95, 0x48, 0xdc, 0x0c, 0xd8, 0x19, 0x98,
0054 0xdd, 0xcd, 0xc5, 0xc8, 0x53, 0x3c, 0x79, 0x7f },
0055 .valid = true
0056 },
0057 {
0058 .private = { 1 },
0059 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0060 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0061 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0062 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0063 .result = { 0xb3, 0x2d, 0x13, 0x62, 0xc2, 0x48, 0xd6, 0x2f,
0064 0xe6, 0x26, 0x19, 0xcf, 0xf0, 0x4d, 0xd4, 0x3d,
0065 0xb7, 0x3f, 0xfc, 0x1b, 0x63, 0x08, 0xed, 0xe3,
0066 0x0b, 0x78, 0xd8, 0x73, 0x80, 0xf1, 0xe8, 0x34 },
0067 .valid = true
0068 },
0069 {
0070 .private = { 0xa5, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
0071 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd,
0072 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
0073 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0xc4 },
0074 .public = { 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb,
0075 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
0076 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
0077 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c },
0078 .result = { 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90,
0079 0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f,
0080 0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
0081 0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
0082 .valid = true
0083 },
0084 {
0085 .private = { 1, 2, 3, 4 },
0086 .public = { 0 },
0087 .result = { 0 },
0088 .valid = false
0089 },
0090 {
0091 .private = { 2, 4, 6, 8 },
0092 .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
0093 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
0094 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
0095 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8 },
0096 .result = { 0 },
0097 .valid = false
0098 },
0099 {
0100 .private = { 0xff, 0xff, 0xff, 0xff, 0x0a, 0xff, 0xff, 0xff,
0101 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0102 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0103 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0104 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0105 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0106 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0107 0xff, 0xff, 0xff, 0xff, 0x0a, 0x00, 0xfb, 0x9f },
0108 .result = { 0x77, 0x52, 0xb6, 0x18, 0xc1, 0x2d, 0x48, 0xd2,
0109 0xc6, 0x93, 0x46, 0x83, 0x81, 0x7c, 0xc6, 0x57,
0110 0xf3, 0x31, 0x03, 0x19, 0x49, 0x48, 0x20, 0x05,
0111 0x42, 0x2b, 0x4e, 0xae, 0x8d, 0x1d, 0x43, 0x23 },
0112 .valid = true
0113 },
0114 {
0115 .private = { 0x8e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0119 .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x06 },
0123 .result = { 0x5a, 0xdf, 0xaa, 0x25, 0x86, 0x8e, 0x32, 0x3d,
0124 0xae, 0x49, 0x62, 0xc1, 0x01, 0x5c, 0xb3, 0x12,
0125 0xe1, 0xc5, 0xc7, 0x9e, 0x95, 0x3f, 0x03, 0x99,
0126 0xb0, 0xba, 0x16, 0x22, 0xf3, 0xb6, 0xf7, 0x0c },
0127 .valid = true
0128 },
0129
0130 {
0131 .private = { 0x48, 0x52, 0x83, 0x4d, 0x9d, 0x6b, 0x77, 0xda,
0132 0xde, 0xab, 0xaa, 0xf2, 0xe1, 0x1d, 0xca, 0x66,
0133 0xd1, 0x9f, 0xe7, 0x49, 0x93, 0xa7, 0xbe, 0xc3,
0134 0x6c, 0x6e, 0x16, 0xa0, 0x98, 0x3f, 0xea, 0xba },
0135 .public = { 0x9c, 0x64, 0x7d, 0x9a, 0xe5, 0x89, 0xb9, 0xf5,
0136 0x8f, 0xdc, 0x3c, 0xa4, 0x94, 0x7e, 0xfb, 0xc9,
0137 0x15, 0xc4, 0xb2, 0xe0, 0x8e, 0x74, 0x4a, 0x0e,
0138 0xdf, 0x46, 0x9d, 0xac, 0x59, 0xc8, 0xf8, 0x5a },
0139 .result = { 0x87, 0xb7, 0xf2, 0x12, 0xb6, 0x27, 0xf7, 0xa5,
0140 0x4c, 0xa5, 0xe0, 0xbc, 0xda, 0xdd, 0xd5, 0x38,
0141 0x9d, 0x9d, 0xe6, 0x15, 0x6c, 0xdb, 0xcf, 0x8e,
0142 0xbe, 0x14, 0xff, 0xbc, 0xfb, 0x43, 0x65, 0x51 },
0143 .valid = true
0144 },
0145
0146 {
0147 .private = { 0x58, 0x8c, 0x06, 0x1a, 0x50, 0x80, 0x4a, 0xc4,
0148 0x88, 0xad, 0x77, 0x4a, 0xc7, 0x16, 0xc3, 0xf5,
0149 0xba, 0x71, 0x4b, 0x27, 0x12, 0xe0, 0x48, 0x49,
0150 0x13, 0x79, 0xa5, 0x00, 0x21, 0x19, 0x98, 0xa8 },
0151 .public = { 0x63, 0xaa, 0x40, 0xc6, 0xe3, 0x83, 0x46, 0xc5,
0152 0xca, 0xf2, 0x3a, 0x6d, 0xf0, 0xa5, 0xe6, 0xc8,
0153 0x08, 0x89, 0xa0, 0x86, 0x47, 0xe5, 0x51, 0xb3,
0154 0x56, 0x34, 0x49, 0xbe, 0xfc, 0xfc, 0x97, 0x33 },
0155 .result = { 0xb1, 0xa7, 0x07, 0x51, 0x94, 0x95, 0xff, 0xff,
0156 0xb2, 0x98, 0xff, 0x94, 0x17, 0x16, 0xb0, 0x6d,
0157 0xfa, 0xb8, 0x7c, 0xf8, 0xd9, 0x11, 0x23, 0xfe,
0158 0x2b, 0xe9, 0xa2, 0x33, 0xdd, 0xa2, 0x22, 0x12 },
0159 .valid = true
0160 },
0161
0162 {
0163 .private = { 0xb0, 0x5b, 0xfd, 0x32, 0xe5, 0x53, 0x25, 0xd9,
0164 0xfd, 0x64, 0x8c, 0xb3, 0x02, 0x84, 0x80, 0x39,
0165 0x00, 0x0b, 0x39, 0x0e, 0x44, 0xd5, 0x21, 0xe5,
0166 0x8a, 0xab, 0x3b, 0x29, 0xa6, 0x96, 0x0b, 0xa8 },
0167 .public = { 0x0f, 0x83, 0xc3, 0x6f, 0xde, 0xd9, 0xd3, 0x2f,
0168 0xad, 0xf4, 0xef, 0xa3, 0xae, 0x93, 0xa9, 0x0b,
0169 0xb5, 0xcf, 0xa6, 0x68, 0x93, 0xbc, 0x41, 0x2c,
0170 0x43, 0xfa, 0x72, 0x87, 0xdb, 0xb9, 0x97, 0x79 },
0171 .result = { 0x67, 0xdd, 0x4a, 0x6e, 0x16, 0x55, 0x33, 0x53,
0172 0x4c, 0x0e, 0x3f, 0x17, 0x2e, 0x4a, 0xb8, 0x57,
0173 0x6b, 0xca, 0x92, 0x3a, 0x5f, 0x07, 0xb2, 0xc0,
0174 0x69, 0xb4, 0xc3, 0x10, 0xff, 0x2e, 0x93, 0x5b },
0175 .valid = true
0176 },
0177
0178 {
0179 .private = { 0x70, 0xe3, 0x4b, 0xcb, 0xe1, 0xf4, 0x7f, 0xbc,
0180 0x0f, 0xdd, 0xfd, 0x7c, 0x1e, 0x1a, 0xa5, 0x3d,
0181 0x57, 0xbf, 0xe0, 0xf6, 0x6d, 0x24, 0x30, 0x67,
0182 0xb4, 0x24, 0xbb, 0x62, 0x10, 0xbe, 0xd1, 0x9c },
0183 .public = { 0x0b, 0x82, 0x11, 0xa2, 0xb6, 0x04, 0x90, 0x97,
0184 0xf6, 0x87, 0x1c, 0x6c, 0x05, 0x2d, 0x3c, 0x5f,
0185 0xc1, 0xba, 0x17, 0xda, 0x9e, 0x32, 0xae, 0x45,
0186 0x84, 0x03, 0xb0, 0x5b, 0xb2, 0x83, 0x09, 0x2a },
0187 .result = { 0x4a, 0x06, 0x38, 0xcf, 0xaa, 0x9e, 0xf1, 0x93,
0188 0x3b, 0x47, 0xf8, 0x93, 0x92, 0x96, 0xa6, 0xb2,
0189 0x5b, 0xe5, 0x41, 0xef, 0x7f, 0x70, 0xe8, 0x44,
0190 0xc0, 0xbc, 0xc0, 0x0b, 0x13, 0x4d, 0xe6, 0x4a },
0191 .valid = true
0192 },
0193
0194 {
0195 .private = { 0x68, 0xc1, 0xf3, 0xa6, 0x53, 0xa4, 0xcd, 0xb1,
0196 0xd3, 0x7b, 0xba, 0x94, 0x73, 0x8f, 0x8b, 0x95,
0197 0x7a, 0x57, 0xbe, 0xb2, 0x4d, 0x64, 0x6e, 0x99,
0198 0x4d, 0xc2, 0x9a, 0x27, 0x6a, 0xad, 0x45, 0x8d },
0199 .public = { 0x34, 0x3a, 0xc2, 0x0a, 0x3b, 0x9c, 0x6a, 0x27,
0200 0xb1, 0x00, 0x81, 0x76, 0x50, 0x9a, 0xd3, 0x07,
0201 0x35, 0x85, 0x6e, 0xc1, 0xc8, 0xd8, 0xfc, 0xae,
0202 0x13, 0x91, 0x2d, 0x08, 0xd1, 0x52, 0xf4, 0x6c },
0203 .result = { 0x39, 0x94, 0x91, 0xfc, 0xe8, 0xdf, 0xab, 0x73,
0204 0xb4, 0xf9, 0xf6, 0x11, 0xde, 0x8e, 0xa0, 0xb2,
0205 0x7b, 0x28, 0xf8, 0x59, 0x94, 0x25, 0x0b, 0x0f,
0206 0x47, 0x5d, 0x58, 0x5d, 0x04, 0x2a, 0xc2, 0x07 },
0207 .valid = true
0208 },
0209
0210 {
0211 .private = { 0xd8, 0x77, 0xb2, 0x6d, 0x06, 0xdf, 0xf9, 0xd9,
0212 0xf7, 0xfd, 0x4c, 0x5b, 0x37, 0x69, 0xf8, 0xcd,
0213 0xd5, 0xb3, 0x05, 0x16, 0xa5, 0xab, 0x80, 0x6b,
0214 0xe3, 0x24, 0xff, 0x3e, 0xb6, 0x9e, 0xa0, 0xb2 },
0215 .public = { 0xfa, 0x69, 0x5f, 0xc7, 0xbe, 0x8d, 0x1b, 0xe5,
0216 0xbf, 0x70, 0x48, 0x98, 0xf3, 0x88, 0xc4, 0x52,
0217 0xba, 0xfd, 0xd3, 0xb8, 0xea, 0xe8, 0x05, 0xf8,
0218 0x68, 0x1a, 0x8d, 0x15, 0xc2, 0xd4, 0xe1, 0x42 },
0219 .result = { 0x2c, 0x4f, 0xe1, 0x1d, 0x49, 0x0a, 0x53, 0x86,
0220 0x17, 0x76, 0xb1, 0x3b, 0x43, 0x54, 0xab, 0xd4,
0221 0xcf, 0x5a, 0x97, 0x69, 0x9d, 0xb6, 0xe6, 0xc6,
0222 0x8c, 0x16, 0x26, 0xd0, 0x76, 0x62, 0xf7, 0x58 },
0223 .valid = true
0224 },
0225
0226 {
0227 .private = { 0x20, 0x74, 0x94, 0x03, 0x8f, 0x2b, 0xb8, 0x11,
0228 0xd4, 0x78, 0x05, 0xbc, 0xdf, 0x04, 0xa2, 0xac,
0229 0x58, 0x5a, 0xda, 0x7f, 0x2f, 0x23, 0x38, 0x9b,
0230 0xfd, 0x46, 0x58, 0xf9, 0xdd, 0xd4, 0xde, 0xbc },
0231 .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0235 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0239 .valid = false
0240 },
0241
0242 {
0243 .private = { 0x20, 0x2e, 0x89, 0x72, 0xb6, 0x1c, 0x7e, 0x61,
0244 0x93, 0x0e, 0xb9, 0x45, 0x0b, 0x50, 0x70, 0xea,
0245 0xe1, 0xc6, 0x70, 0x47, 0x56, 0x85, 0x54, 0x1f,
0246 0x04, 0x76, 0x21, 0x7e, 0x48, 0x18, 0xcf, 0xab },
0247 .public = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0249 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0251 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0255 .valid = false
0256 },
0257
0258 {
0259 .private = { 0x38, 0xdd, 0xe9, 0xf3, 0xe7, 0xb7, 0x99, 0x04,
0260 0x5f, 0x9a, 0xc3, 0x79, 0x3d, 0x4a, 0x92, 0x77,
0261 0xda, 0xde, 0xad, 0xc4, 0x1b, 0xec, 0x02, 0x90,
0262 0xf8, 0x1f, 0x74, 0x4f, 0x73, 0x77, 0x5f, 0x84 },
0263 .public = { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0267 .result = { 0x9a, 0x2c, 0xfe, 0x84, 0xff, 0x9c, 0x4a, 0x97,
0268 0x39, 0x62, 0x5c, 0xae, 0x4a, 0x3b, 0x82, 0xa9,
0269 0x06, 0x87, 0x7a, 0x44, 0x19, 0x46, 0xf8, 0xd7,
0270 0xb3, 0xd7, 0x95, 0xfe, 0x8f, 0x5d, 0x16, 0x39 },
0271 .valid = true
0272 },
0273
0274 {
0275 .private = { 0x98, 0x57, 0xa9, 0x14, 0xe3, 0xc2, 0x90, 0x36,
0276 0xfd, 0x9a, 0x44, 0x2b, 0xa5, 0x26, 0xb5, 0xcd,
0277 0xcd, 0xf2, 0x82, 0x16, 0x15, 0x3e, 0x63, 0x6c,
0278 0x10, 0x67, 0x7a, 0xca, 0xb6, 0xbd, 0x6a, 0xa5 },
0279 .public = { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0282 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0283 .result = { 0x4d, 0xa4, 0xe0, 0xaa, 0x07, 0x2c, 0x23, 0x2e,
0284 0xe2, 0xf0, 0xfa, 0x4e, 0x51, 0x9a, 0xe5, 0x0b,
0285 0x52, 0xc1, 0xed, 0xd0, 0x8a, 0x53, 0x4d, 0x4e,
0286 0xf3, 0x46, 0xc2, 0xe1, 0x06, 0xd2, 0x1d, 0x60 },
0287 .valid = true
0288 },
0289
0290 {
0291 .private = { 0x48, 0xe2, 0x13, 0x0d, 0x72, 0x33, 0x05, 0xed,
0292 0x05, 0xe6, 0xe5, 0x89, 0x4d, 0x39, 0x8a, 0x5e,
0293 0x33, 0x36, 0x7a, 0x8c, 0x6a, 0xac, 0x8f, 0xcd,
0294 0xf0, 0xa8, 0x8e, 0x4b, 0x42, 0x82, 0x0d, 0xb7 },
0295 .public = { 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0xf8, 0xff,
0296 0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff,
0297 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00,
0298 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00 },
0299 .result = { 0x9e, 0xd1, 0x0c, 0x53, 0x74, 0x7f, 0x64, 0x7f,
0300 0x82, 0xf4, 0x51, 0x25, 0xd3, 0xde, 0x15, 0xa1,
0301 0xe6, 0xb8, 0x24, 0x49, 0x6a, 0xb4, 0x04, 0x10,
0302 0xff, 0xcc, 0x3c, 0xfe, 0x95, 0x76, 0x0f, 0x3b },
0303 .valid = true
0304 },
0305
0306 {
0307 .private = { 0x28, 0xf4, 0x10, 0x11, 0x69, 0x18, 0x51, 0xb3,
0308 0xa6, 0x2b, 0x64, 0x15, 0x53, 0xb3, 0x0d, 0x0d,
0309 0xfd, 0xdc, 0xb8, 0xff, 0xfc, 0xf5, 0x37, 0x00,
0310 0xa7, 0xbe, 0x2f, 0x6a, 0x87, 0x2e, 0x9f, 0xb0 },
0311 .public = { 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x07, 0x00,
0312 0x00, 0xe0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
0313 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xf8, 0xff,
0314 0xff, 0x0f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x7f },
0315 .result = { 0xcf, 0x72, 0xb4, 0xaa, 0x6a, 0xa1, 0xc9, 0xf8,
0316 0x94, 0xf4, 0x16, 0x5b, 0x86, 0x10, 0x9a, 0xa4,
0317 0x68, 0x51, 0x76, 0x48, 0xe1, 0xf0, 0xcc, 0x70,
0318 0xe1, 0xab, 0x08, 0x46, 0x01, 0x76, 0x50, 0x6b },
0319 .valid = true
0320 },
0321
0322 {
0323 .private = { 0x18, 0xa9, 0x3b, 0x64, 0x99, 0xb9, 0xf6, 0xb3,
0324 0x22, 0x5c, 0xa0, 0x2f, 0xef, 0x41, 0x0e, 0x0a,
0325 0xde, 0xc2, 0x35, 0x32, 0x32, 0x1d, 0x2d, 0x8e,
0326 0xf1, 0xa6, 0xd6, 0x02, 0xa8, 0xc6, 0x5b, 0x83 },
0327 .public = { 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0328 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0329 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0330 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f },
0331 .result = { 0x5d, 0x50, 0xb6, 0x28, 0x36, 0xbb, 0x69, 0x57,
0332 0x94, 0x10, 0x38, 0x6c, 0xf7, 0xbb, 0x81, 0x1c,
0333 0x14, 0xbf, 0x85, 0xb1, 0xc7, 0xb1, 0x7e, 0x59,
0334 0x24, 0xc7, 0xff, 0xea, 0x91, 0xef, 0x9e, 0x12 },
0335 .valid = true
0336 },
0337
0338 {
0339 .private = { 0xc0, 0x1d, 0x13, 0x05, 0xa1, 0x33, 0x8a, 0x1f,
0340 0xca, 0xc2, 0xba, 0x7e, 0x2e, 0x03, 0x2b, 0x42,
0341 0x7e, 0x0b, 0x04, 0x90, 0x31, 0x65, 0xac, 0xa9,
0342 0x57, 0xd8, 0xd0, 0x55, 0x3d, 0x87, 0x17, 0xb0 },
0343 .public = { 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0344 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0345 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0346 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0347 .result = { 0x19, 0x23, 0x0e, 0xb1, 0x48, 0xd5, 0xd6, 0x7c,
0348 0x3c, 0x22, 0xab, 0x1d, 0xae, 0xff, 0x80, 0xa5,
0349 0x7e, 0xae, 0x42, 0x65, 0xce, 0x28, 0x72, 0x65,
0350 0x7b, 0x2c, 0x80, 0x99, 0xfc, 0x69, 0x8e, 0x50 },
0351 .valid = true
0352 },
0353
0354 {
0355 .private = { 0x38, 0x6f, 0x7f, 0x16, 0xc5, 0x07, 0x31, 0xd6,
0356 0x4f, 0x82, 0xe6, 0xa1, 0x70, 0xb1, 0x42, 0xa4,
0357 0xe3, 0x4f, 0x31, 0xfd, 0x77, 0x68, 0xfc, 0xb8,
0358 0x90, 0x29, 0x25, 0xe7, 0xd1, 0xe2, 0x1a, 0xbe },
0359 .public = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0360 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0363 .result = { 0x0f, 0xca, 0xb5, 0xd8, 0x42, 0xa0, 0x78, 0xd7,
0364 0xa7, 0x1f, 0xc5, 0x9b, 0x57, 0xbf, 0xb4, 0xca,
0365 0x0b, 0xe6, 0x87, 0x3b, 0x49, 0xdc, 0xdb, 0x9f,
0366 0x44, 0xe1, 0x4a, 0xe8, 0xfb, 0xdf, 0xa5, 0x42 },
0367 .valid = true
0368 },
0369
0370 {
0371 .private = { 0xe0, 0x23, 0xa2, 0x89, 0xbd, 0x5e, 0x90, 0xfa,
0372 0x28, 0x04, 0xdd, 0xc0, 0x19, 0xa0, 0x5e, 0xf3,
0373 0xe7, 0x9d, 0x43, 0x4b, 0xb6, 0xea, 0x2f, 0x52,
0374 0x2e, 0xcb, 0x64, 0x3a, 0x75, 0x29, 0x6e, 0x95 },
0375 .public = { 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0376 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0377 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0378 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
0379 .result = { 0x54, 0xce, 0x8f, 0x22, 0x75, 0xc0, 0x77, 0xe3,
0380 0xb1, 0x30, 0x6a, 0x39, 0x39, 0xc5, 0xe0, 0x3e,
0381 0xef, 0x6b, 0xbb, 0x88, 0x06, 0x05, 0x44, 0x75,
0382 0x8d, 0x9f, 0xef, 0x59, 0xb0, 0xbc, 0x3e, 0x4f },
0383 .valid = true
0384 },
0385
0386 {
0387 .private = { 0x68, 0xf0, 0x10, 0xd6, 0x2e, 0xe8, 0xd9, 0x26,
0388 0x05, 0x3a, 0x36, 0x1c, 0x3a, 0x75, 0xc6, 0xea,
0389 0x4e, 0xbd, 0xc8, 0x60, 0x6a, 0xb2, 0x85, 0x00,
0390 0x3a, 0x6f, 0x8f, 0x40, 0x76, 0xb0, 0x1e, 0x83 },
0391 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0392 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0393 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0394 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 },
0395 .result = { 0xf1, 0x36, 0x77, 0x5c, 0x5b, 0xeb, 0x0a, 0xf8,
0396 0x11, 0x0a, 0xf1, 0x0b, 0x20, 0x37, 0x23, 0x32,
0397 0x04, 0x3c, 0xab, 0x75, 0x24, 0x19, 0x67, 0x87,
0398 0x75, 0xa2, 0x23, 0xdf, 0x57, 0xc9, 0xd3, 0x0d },
0399 .valid = true
0400 },
0401
0402 {
0403 .private = { 0x58, 0xeb, 0xcb, 0x35, 0xb0, 0xf8, 0x84, 0x5c,
0404 0xaf, 0x1e, 0xc6, 0x30, 0xf9, 0x65, 0x76, 0xb6,
0405 0x2c, 0x4b, 0x7b, 0x6c, 0x36, 0xb2, 0x9d, 0xeb,
0406 0x2c, 0xb0, 0x08, 0x46, 0x51, 0x75, 0x5c, 0x96 },
0407 .public = { 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff,
0408 0xff, 0xdf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff,
0409 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xff,
0410 0xff, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x3f },
0411 .result = { 0xbf, 0x9a, 0xff, 0xd0, 0x6b, 0x84, 0x40, 0x85,
0412 0x58, 0x64, 0x60, 0x96, 0x2e, 0xf2, 0x14, 0x6f,
0413 0xf3, 0xd4, 0x53, 0x3d, 0x94, 0x44, 0xaa, 0xb0,
0414 0x06, 0xeb, 0x88, 0xcc, 0x30, 0x54, 0x40, 0x7d },
0415 .valid = true
0416 },
0417
0418 {
0419 .private = { 0x18, 0x8c, 0x4b, 0xc5, 0xb9, 0xc4, 0x4b, 0x38,
0420 0xbb, 0x65, 0x8b, 0x9b, 0x2a, 0xe8, 0x2d, 0x5b,
0421 0x01, 0x01, 0x5e, 0x09, 0x31, 0x84, 0xb1, 0x7c,
0422 0xb7, 0x86, 0x35, 0x03, 0xa7, 0x83, 0xe1, 0xbb },
0423 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0424 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0425 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0426 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
0427 .result = { 0xd4, 0x80, 0xde, 0x04, 0xf6, 0x99, 0xcb, 0x3b,
0428 0xe0, 0x68, 0x4a, 0x9c, 0xc2, 0xe3, 0x12, 0x81,
0429 0xea, 0x0b, 0xc5, 0xa9, 0xdc, 0xc1, 0x57, 0xd3,
0430 0xd2, 0x01, 0x58, 0xd4, 0x6c, 0xa5, 0x24, 0x6d },
0431 .valid = true
0432 },
0433
0434 {
0435 .private = { 0xe0, 0x6c, 0x11, 0xbb, 0x2e, 0x13, 0xce, 0x3d,
0436 0xc7, 0x67, 0x3f, 0x67, 0xf5, 0x48, 0x22, 0x42,
0437 0x90, 0x94, 0x23, 0xa9, 0xae, 0x95, 0xee, 0x98,
0438 0x6a, 0x98, 0x8d, 0x98, 0xfa, 0xee, 0x23, 0xa2 },
0439 .public = { 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
0440 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
0441 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
0442 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f },
0443 .result = { 0x4c, 0x44, 0x01, 0xcc, 0xe6, 0xb5, 0x1e, 0x4c,
0444 0xb1, 0x8f, 0x27, 0x90, 0x24, 0x6c, 0x9b, 0xf9,
0445 0x14, 0xdb, 0x66, 0x77, 0x50, 0xa1, 0xcb, 0x89,
0446 0x06, 0x90, 0x92, 0xaf, 0x07, 0x29, 0x22, 0x76 },
0447 .valid = true
0448 },
0449
0450 {
0451 .private = { 0xc0, 0x65, 0x8c, 0x46, 0xdd, 0xe1, 0x81, 0x29,
0452 0x29, 0x38, 0x77, 0x53, 0x5b, 0x11, 0x62, 0xb6,
0453 0xf9, 0xf5, 0x41, 0x4a, 0x23, 0xcf, 0x4d, 0x2c,
0454 0xbc, 0x14, 0x0a, 0x4d, 0x99, 0xda, 0x2b, 0x8f },
0455 .public = { 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0456 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0457 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0458 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0459 .result = { 0x57, 0x8b, 0xa8, 0xcc, 0x2d, 0xbd, 0xc5, 0x75,
0460 0xaf, 0xcf, 0x9d, 0xf2, 0xb3, 0xee, 0x61, 0x89,
0461 0xf5, 0x33, 0x7d, 0x68, 0x54, 0xc7, 0x9b, 0x4c,
0462 0xe1, 0x65, 0xea, 0x12, 0x29, 0x3b, 0x3a, 0x0f },
0463 .valid = true
0464 },
0465
0466 {
0467 .private = { 0x10, 0x25, 0x5c, 0x92, 0x30, 0xa9, 0x7a, 0x30,
0468 0xa4, 0x58, 0xca, 0x28, 0x4a, 0x62, 0x96, 0x69,
0469 0x29, 0x3a, 0x31, 0x89, 0x0c, 0xda, 0x9d, 0x14,
0470 0x7f, 0xeb, 0xc7, 0xd1, 0xe2, 0x2d, 0x6b, 0xb1 },
0471 .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
0472 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
0473 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
0474 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 },
0475 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0476 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0477 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0478 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0479 .valid = false
0480 },
0481
0482 {
0483 .private = { 0x78, 0xf1, 0xe8, 0xed, 0xf1, 0x44, 0x81, 0xb3,
0484 0x89, 0x44, 0x8d, 0xac, 0x8f, 0x59, 0xc7, 0x0b,
0485 0x03, 0x8e, 0x7c, 0xf9, 0x2e, 0xf2, 0xc7, 0xef,
0486 0xf5, 0x7a, 0x72, 0x46, 0x6e, 0x11, 0x52, 0x96 },
0487 .public = { 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
0488 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
0489 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
0490 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57 },
0491 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0492 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0493 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0494 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0495 .valid = false
0496 },
0497
0498 {
0499 .private = { 0xa0, 0xa0, 0x5a, 0x3e, 0x8f, 0x9f, 0x44, 0x20,
0500 0x4d, 0x5f, 0x80, 0x59, 0xa9, 0x4a, 0xc7, 0xdf,
0501 0xc3, 0x9a, 0x49, 0xac, 0x01, 0x6d, 0xd7, 0x43,
0502 0xdb, 0xfa, 0x43, 0xc5, 0xd6, 0x71, 0xfd, 0x88 },
0503 .public = { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0504 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0505 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0506 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0507 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0508 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0509 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0510 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0511 .valid = false
0512 },
0513
0514 {
0515 .private = { 0xd0, 0xdb, 0xb3, 0xed, 0x19, 0x06, 0x66, 0x3f,
0516 0x15, 0x42, 0x0a, 0xf3, 0x1f, 0x4e, 0xaf, 0x65,
0517 0x09, 0xd9, 0xa9, 0x94, 0x97, 0x23, 0x50, 0x06,
0518 0x05, 0xad, 0x7c, 0x1c, 0x6e, 0x74, 0x50, 0xa9 },
0519 .public = { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0520 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0521 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0522 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0523 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0524 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0525 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0526 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0527 .valid = false
0528 },
0529
0530 {
0531 .private = { 0xc0, 0xb1, 0xd0, 0xeb, 0x22, 0xb2, 0x44, 0xfe,
0532 0x32, 0x91, 0x14, 0x00, 0x72, 0xcd, 0xd9, 0xd9,
0533 0x89, 0xb5, 0xf0, 0xec, 0xd9, 0x6c, 0x10, 0x0f,
0534 0xeb, 0x5b, 0xca, 0x24, 0x1c, 0x1d, 0x9f, 0x8f },
0535 .public = { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0536 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0537 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0538 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0539 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0541 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0542 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0543 .valid = false
0544 },
0545
0546 {
0547 .private = { 0x48, 0x0b, 0xf4, 0x5f, 0x59, 0x49, 0x42, 0xa8,
0548 0xbc, 0x0f, 0x33, 0x53, 0xc6, 0xe8, 0xb8, 0x85,
0549 0x3d, 0x77, 0xf3, 0x51, 0xf1, 0xc2, 0xca, 0x6c,
0550 0x2d, 0x1a, 0xbf, 0x8a, 0x00, 0xb4, 0x22, 0x9c },
0551 .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0552 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0553 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0554 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
0555 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0557 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0558 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0559 .valid = false
0560 },
0561
0562 {
0563 .private = { 0x30, 0xf9, 0x93, 0xfc, 0xf8, 0x51, 0x4f, 0xc8,
0564 0x9b, 0xd8, 0xdb, 0x14, 0xcd, 0x43, 0xba, 0x0d,
0565 0x4b, 0x25, 0x30, 0xe7, 0x3c, 0x42, 0x76, 0xa0,
0566 0x5e, 0x1b, 0x14, 0x5d, 0x42, 0x0c, 0xed, 0xb4 },
0567 .public = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0569 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0570 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
0571 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0572 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0573 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0574 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0575 .valid = false
0576 },
0577
0578 {
0579 .private = { 0xc0, 0x49, 0x74, 0xb7, 0x58, 0x38, 0x0e, 0x2a,
0580 0x5b, 0x5d, 0xf6, 0xeb, 0x09, 0xbb, 0x2f, 0x6b,
0581 0x34, 0x34, 0xf9, 0x82, 0x72, 0x2a, 0x8e, 0x67,
0582 0x6d, 0x3d, 0xa2, 0x51, 0xd1, 0xb3, 0xde, 0x83 },
0583 .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
0584 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
0585 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
0586 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x80 },
0587 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0588 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0589 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0590 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0591 .valid = false
0592 },
0593
0594 {
0595 .private = { 0x50, 0x2a, 0x31, 0x37, 0x3d, 0xb3, 0x24, 0x46,
0596 0x84, 0x2f, 0xe5, 0xad, 0xd3, 0xe0, 0x24, 0x02,
0597 0x2e, 0xa5, 0x4f, 0x27, 0x41, 0x82, 0xaf, 0xc3,
0598 0xd9, 0xf1, 0xbb, 0x3d, 0x39, 0x53, 0x4e, 0xb5 },
0599 .public = { 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
0600 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
0601 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
0602 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0xd7 },
0603 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0604 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0605 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0606 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0607 .valid = false
0608 },
0609
0610 {
0611 .private = { 0x90, 0xfa, 0x64, 0x17, 0xb0, 0xe3, 0x70, 0x30,
0612 0xfd, 0x6e, 0x43, 0xef, 0xf2, 0xab, 0xae, 0xf1,
0613 0x4c, 0x67, 0x93, 0x11, 0x7a, 0x03, 0x9c, 0xf6,
0614 0x21, 0x31, 0x8b, 0xa9, 0x0f, 0x4e, 0x98, 0xbe },
0615 .public = { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0616 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0617 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0618 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0619 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0620 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0621 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0623 .valid = false
0624 },
0625
0626 {
0627 .private = { 0x78, 0xad, 0x3f, 0x26, 0x02, 0x7f, 0x1c, 0x9f,
0628 0xdd, 0x97, 0x5a, 0x16, 0x13, 0xb9, 0x47, 0x77,
0629 0x9b, 0xad, 0x2c, 0xf2, 0xb7, 0x41, 0xad, 0xe0,
0630 0x18, 0x40, 0x88, 0x5a, 0x30, 0xbb, 0x97, 0x9c },
0631 .public = { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0632 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0633 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0634 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0635 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0639 .valid = false
0640 },
0641
0642 {
0643 .private = { 0x98, 0xe2, 0x3d, 0xe7, 0xb1, 0xe0, 0x92, 0x6e,
0644 0xd9, 0xc8, 0x7e, 0x7b, 0x14, 0xba, 0xf5, 0x5f,
0645 0x49, 0x7a, 0x1d, 0x70, 0x96, 0xf9, 0x39, 0x77,
0646 0x68, 0x0e, 0x44, 0xdc, 0x1c, 0x7b, 0x7b, 0x8b },
0647 .public = { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0648 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0649 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0650 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0651 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0653 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0654 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0655 .valid = false
0656 },
0657
0658 {
0659 .private = { 0xf0, 0x1e, 0x48, 0xda, 0xfa, 0xc9, 0xd7, 0xbc,
0660 0xf5, 0x89, 0xcb, 0xc3, 0x82, 0xc8, 0x78, 0xd1,
0661 0x8b, 0xda, 0x35, 0x50, 0x58, 0x9f, 0xfb, 0x5d,
0662 0x50, 0xb5, 0x23, 0xbe, 0xbe, 0x32, 0x9d, 0xae },
0663 .public = { 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0664 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0665 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0666 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0667 .result = { 0xbd, 0x36, 0xa0, 0x79, 0x0e, 0xb8, 0x83, 0x09,
0668 0x8c, 0x98, 0x8b, 0x21, 0x78, 0x67, 0x73, 0xde,
0669 0x0b, 0x3a, 0x4d, 0xf1, 0x62, 0x28, 0x2c, 0xf1,
0670 0x10, 0xde, 0x18, 0xdd, 0x48, 0x4c, 0xe7, 0x4b },
0671 .valid = true
0672 },
0673
0674 {
0675 .private = { 0x28, 0x87, 0x96, 0xbc, 0x5a, 0xff, 0x4b, 0x81,
0676 0xa3, 0x75, 0x01, 0x75, 0x7b, 0xc0, 0x75, 0x3a,
0677 0x3c, 0x21, 0x96, 0x47, 0x90, 0xd3, 0x86, 0x99,
0678 0x30, 0x8d, 0xeb, 0xc1, 0x7a, 0x6e, 0xaf, 0x8d },
0679 .public = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0680 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0681 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0682 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0683 .result = { 0xb4, 0xe0, 0xdd, 0x76, 0xda, 0x7b, 0x07, 0x17,
0684 0x28, 0xb6, 0x1f, 0x85, 0x67, 0x71, 0xaa, 0x35,
0685 0x6e, 0x57, 0xed, 0xa7, 0x8a, 0x5b, 0x16, 0x55,
0686 0xcc, 0x38, 0x20, 0xfb, 0x5f, 0x85, 0x4c, 0x5c },
0687 .valid = true
0688 },
0689
0690 {
0691 .private = { 0x98, 0xdf, 0x84, 0x5f, 0x66, 0x51, 0xbf, 0x11,
0692 0x38, 0x22, 0x1f, 0x11, 0x90, 0x41, 0xf7, 0x2b,
0693 0x6d, 0xbc, 0x3c, 0x4a, 0xce, 0x71, 0x43, 0xd9,
0694 0x9f, 0xd5, 0x5a, 0xd8, 0x67, 0x48, 0x0d, 0xa8 },
0695 .public = { 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0696 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0697 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0698 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0699 .result = { 0x6f, 0xdf, 0x6c, 0x37, 0x61, 0x1d, 0xbd, 0x53,
0700 0x04, 0xdc, 0x0f, 0x2e, 0xb7, 0xc9, 0x51, 0x7e,
0701 0xb3, 0xc5, 0x0e, 0x12, 0xfd, 0x05, 0x0a, 0xc6,
0702 0xde, 0xc2, 0x70, 0x71, 0xd4, 0xbf, 0xc0, 0x34 },
0703 .valid = true
0704 },
0705
0706 {
0707 .private = { 0xf0, 0x94, 0x98, 0xe4, 0x6f, 0x02, 0xf8, 0x78,
0708 0x82, 0x9e, 0x78, 0xb8, 0x03, 0xd3, 0x16, 0xa2,
0709 0xed, 0x69, 0x5d, 0x04, 0x98, 0xa0, 0x8a, 0xbd,
0710 0xf8, 0x27, 0x69, 0x30, 0xe2, 0x4e, 0xdc, 0xb0 },
0711 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0712 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0713 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0714 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
0715 .result = { 0x4c, 0x8f, 0xc4, 0xb1, 0xc6, 0xab, 0x88, 0xfb,
0716 0x21, 0xf1, 0x8f, 0x6d, 0x4c, 0x81, 0x02, 0x40,
0717 0xd4, 0xe9, 0x46, 0x51, 0xba, 0x44, 0xf7, 0xa2,
0718 0xc8, 0x63, 0xce, 0xc7, 0xdc, 0x56, 0x60, 0x2d },
0719 .valid = true
0720 },
0721
0722 {
0723 .private = { 0x18, 0x13, 0xc1, 0x0a, 0x5c, 0x7f, 0x21, 0xf9,
0724 0x6e, 0x17, 0xf2, 0x88, 0xc0, 0xcc, 0x37, 0x60,
0725 0x7c, 0x04, 0xc5, 0xf5, 0xae, 0xa2, 0xdb, 0x13,
0726 0x4f, 0x9e, 0x2f, 0xfc, 0x66, 0xbd, 0x9d, 0xb8 },
0727 .public = { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0730 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
0731 .result = { 0x1c, 0xd0, 0xb2, 0x82, 0x67, 0xdc, 0x54, 0x1c,
0732 0x64, 0x2d, 0x6d, 0x7d, 0xca, 0x44, 0xa8, 0xb3,
0733 0x8a, 0x63, 0x73, 0x6e, 0xef, 0x5c, 0x4e, 0x65,
0734 0x01, 0xff, 0xbb, 0xb1, 0x78, 0x0c, 0x03, 0x3c },
0735 .valid = true
0736 },
0737
0738 {
0739 .private = { 0x78, 0x57, 0xfb, 0x80, 0x86, 0x53, 0x64, 0x5a,
0740 0x0b, 0xeb, 0x13, 0x8a, 0x64, 0xf5, 0xf4, 0xd7,
0741 0x33, 0xa4, 0x5e, 0xa8, 0x4c, 0x3c, 0xda, 0x11,
0742 0xa9, 0xc0, 0x6f, 0x7e, 0x71, 0x39, 0x14, 0x9e },
0743 .public = { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0744 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
0747 .result = { 0x87, 0x55, 0xbe, 0x01, 0xc6, 0x0a, 0x7e, 0x82,
0748 0x5c, 0xff, 0x3e, 0x0e, 0x78, 0xcb, 0x3a, 0xa4,
0749 0x33, 0x38, 0x61, 0x51, 0x6a, 0xa5, 0x9b, 0x1c,
0750 0x51, 0xa8, 0xb2, 0xa5, 0x43, 0xdf, 0xa8, 0x22 },
0751 .valid = true
0752 },
0753
0754 {
0755 .private = { 0xe0, 0x3a, 0xa8, 0x42, 0xe2, 0xab, 0xc5, 0x6e,
0756 0x81, 0xe8, 0x7b, 0x8b, 0x9f, 0x41, 0x7b, 0x2a,
0757 0x1e, 0x59, 0x13, 0xc7, 0x23, 0xee, 0xd2, 0x8d,
0758 0x75, 0x2f, 0x8d, 0x47, 0xa5, 0x9f, 0x49, 0x8f },
0759 .public = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0760 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0761 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0762 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
0763 .result = { 0x54, 0xc9, 0xa1, 0xed, 0x95, 0xe5, 0x46, 0xd2,
0764 0x78, 0x22, 0xa3, 0x60, 0x93, 0x1d, 0xda, 0x60,
0765 0xa1, 0xdf, 0x04, 0x9d, 0xa6, 0xf9, 0x04, 0x25,
0766 0x3c, 0x06, 0x12, 0xbb, 0xdc, 0x08, 0x74, 0x76 },
0767 .valid = true
0768 },
0769
0770 {
0771 .private = { 0xf8, 0xf7, 0x07, 0xb7, 0x99, 0x9b, 0x18, 0xcb,
0772 0x0d, 0x6b, 0x96, 0x12, 0x4f, 0x20, 0x45, 0x97,
0773 0x2c, 0xa2, 0x74, 0xbf, 0xc1, 0x54, 0xad, 0x0c,
0774 0x87, 0x03, 0x8c, 0x24, 0xc6, 0xd0, 0xd4, 0xb2 },
0775 .public = { 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0776 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0777 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0778 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0779 .result = { 0xcc, 0x1f, 0x40, 0xd7, 0x43, 0xcd, 0xc2, 0x23,
0780 0x0e, 0x10, 0x43, 0xda, 0xba, 0x8b, 0x75, 0xe8,
0781 0x10, 0xf1, 0xfb, 0xab, 0x7f, 0x25, 0x52, 0x69,
0782 0xbd, 0x9e, 0xbb, 0x29, 0xe6, 0xbf, 0x49, 0x4f },
0783 .valid = true
0784 },
0785
0786 {
0787 .private = { 0xa0, 0x34, 0xf6, 0x84, 0xfa, 0x63, 0x1e, 0x1a,
0788 0x34, 0x81, 0x18, 0xc1, 0xce, 0x4c, 0x98, 0x23,
0789 0x1f, 0x2d, 0x9e, 0xec, 0x9b, 0xa5, 0x36, 0x5b,
0790 0x4a, 0x05, 0xd6, 0x9a, 0x78, 0x5b, 0x07, 0x96 },
0791 .public = { 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0792 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0793 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0794 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0795 .result = { 0x54, 0x99, 0x8e, 0xe4, 0x3a, 0x5b, 0x00, 0x7b,
0796 0xf4, 0x99, 0xf0, 0x78, 0xe7, 0x36, 0x52, 0x44,
0797 0x00, 0xa8, 0xb5, 0xc7, 0xe9, 0xb9, 0xb4, 0x37,
0798 0x71, 0x74, 0x8c, 0x7c, 0xdf, 0x88, 0x04, 0x12 },
0799 .valid = true
0800 },
0801
0802 {
0803 .private = { 0x30, 0xb6, 0xc6, 0xa0, 0xf2, 0xff, 0xa6, 0x80,
0804 0x76, 0x8f, 0x99, 0x2b, 0xa8, 0x9e, 0x15, 0x2d,
0805 0x5b, 0xc9, 0x89, 0x3d, 0x38, 0xc9, 0x11, 0x9b,
0806 0xe4, 0xf7, 0x67, 0xbf, 0xab, 0x6e, 0x0c, 0xa5 },
0807 .public = { 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0808 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0809 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0810 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0811 .result = { 0xea, 0xd9, 0xb3, 0x8e, 0xfd, 0xd7, 0x23, 0x63,
0812 0x79, 0x34, 0xe5, 0x5a, 0xb7, 0x17, 0xa7, 0xae,
0813 0x09, 0xeb, 0x86, 0xa2, 0x1d, 0xc3, 0x6a, 0x3f,
0814 0xee, 0xb8, 0x8b, 0x75, 0x9e, 0x39, 0x1e, 0x09 },
0815 .valid = true
0816 },
0817
0818 {
0819 .private = { 0x90, 0x1b, 0x9d, 0xcf, 0x88, 0x1e, 0x01, 0xe0,
0820 0x27, 0x57, 0x50, 0x35, 0xd4, 0x0b, 0x43, 0xbd,
0821 0xc1, 0xc5, 0x24, 0x2e, 0x03, 0x08, 0x47, 0x49,
0822 0x5b, 0x0c, 0x72, 0x86, 0x46, 0x9b, 0x65, 0x91 },
0823 .public = { 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0824 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0825 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0826 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0827 .result = { 0x60, 0x2f, 0xf4, 0x07, 0x89, 0xb5, 0x4b, 0x41,
0828 0x80, 0x59, 0x15, 0xfe, 0x2a, 0x62, 0x21, 0xf0,
0829 0x7a, 0x50, 0xff, 0xc2, 0xc3, 0xfc, 0x94, 0xcf,
0830 0x61, 0xf1, 0x3d, 0x79, 0x04, 0xe8, 0x8e, 0x0e },
0831 .valid = true
0832 },
0833
0834 {
0835 .private = { 0x80, 0x46, 0x67, 0x7c, 0x28, 0xfd, 0x82, 0xc9,
0836 0xa1, 0xbd, 0xb7, 0x1a, 0x1a, 0x1a, 0x34, 0xfa,
0837 0xba, 0x12, 0x25, 0xe2, 0x50, 0x7f, 0xe3, 0xf5,
0838 0x4d, 0x10, 0xbd, 0x5b, 0x0d, 0x86, 0x5f, 0x8e },
0839 .public = { 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0840 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0841 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0842 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0843 .result = { 0xe0, 0x0a, 0xe8, 0xb1, 0x43, 0x47, 0x12, 0x47,
0844 0xba, 0x24, 0xf1, 0x2c, 0x88, 0x55, 0x36, 0xc3,
0845 0xcb, 0x98, 0x1b, 0x58, 0xe1, 0xe5, 0x6b, 0x2b,
0846 0xaf, 0x35, 0xc1, 0x2a, 0xe1, 0xf7, 0x9c, 0x26 },
0847 .valid = true
0848 },
0849
0850 {
0851 .private = { 0x60, 0x2f, 0x7e, 0x2f, 0x68, 0xa8, 0x46, 0xb8,
0852 0x2c, 0xc2, 0x69, 0xb1, 0xd4, 0x8e, 0x93, 0x98,
0853 0x86, 0xae, 0x54, 0xfd, 0x63, 0x6c, 0x1f, 0xe0,
0854 0x74, 0xd7, 0x10, 0x12, 0x7d, 0x47, 0x24, 0x91 },
0855 .public = { 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0856 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0857 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0858 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0859 .result = { 0x98, 0xcb, 0x9b, 0x50, 0xdd, 0x3f, 0xc2, 0xb0,
0860 0xd4, 0xf2, 0xd2, 0xbf, 0x7c, 0x5c, 0xfd, 0xd1,
0861 0x0c, 0x8f, 0xcd, 0x31, 0xfc, 0x40, 0xaf, 0x1a,
0862 0xd4, 0x4f, 0x47, 0xc1, 0x31, 0x37, 0x63, 0x62 },
0863 .valid = true
0864 },
0865
0866 {
0867 .private = { 0x60, 0x88, 0x7b, 0x3d, 0xc7, 0x24, 0x43, 0x02,
0868 0x6e, 0xbe, 0xdb, 0xbb, 0xb7, 0x06, 0x65, 0xf4,
0869 0x2b, 0x87, 0xad, 0xd1, 0x44, 0x0e, 0x77, 0x68,
0870 0xfb, 0xd7, 0xe8, 0xe2, 0xce, 0x5f, 0x63, 0x9d },
0871 .public = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0872 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0873 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0874 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0875 .result = { 0x38, 0xd6, 0x30, 0x4c, 0x4a, 0x7e, 0x6d, 0x9f,
0876 0x79, 0x59, 0x33, 0x4f, 0xb5, 0x24, 0x5b, 0xd2,
0877 0xc7, 0x54, 0x52, 0x5d, 0x4c, 0x91, 0xdb, 0x95,
0878 0x02, 0x06, 0x92, 0x62, 0x34, 0xc1, 0xf6, 0x33 },
0879 .valid = true
0880 },
0881
0882 {
0883 .private = { 0x78, 0xd3, 0x1d, 0xfa, 0x85, 0x44, 0x97, 0xd7,
0884 0x2d, 0x8d, 0xef, 0x8a, 0x1b, 0x7f, 0xb0, 0x06,
0885 0xce, 0xc2, 0xd8, 0xc4, 0x92, 0x46, 0x47, 0xc9,
0886 0x38, 0x14, 0xae, 0x56, 0xfa, 0xed, 0xa4, 0x95 },
0887 .public = { 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0888 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0889 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0890 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0891 .result = { 0x78, 0x6c, 0xd5, 0x49, 0x96, 0xf0, 0x14, 0xa5,
0892 0xa0, 0x31, 0xec, 0x14, 0xdb, 0x81, 0x2e, 0xd0,
0893 0x83, 0x55, 0x06, 0x1f, 0xdb, 0x5d, 0xe6, 0x80,
0894 0xa8, 0x00, 0xac, 0x52, 0x1f, 0x31, 0x8e, 0x23 },
0895 .valid = true
0896 },
0897
0898 {
0899 .private = { 0xc0, 0x4c, 0x5b, 0xae, 0xfa, 0x83, 0x02, 0xdd,
0900 0xde, 0xd6, 0xa4, 0xbb, 0x95, 0x77, 0x61, 0xb4,
0901 0xeb, 0x97, 0xae, 0xfa, 0x4f, 0xc3, 0xb8, 0x04,
0902 0x30, 0x85, 0xf9, 0x6a, 0x56, 0x59, 0xb3, 0xa5 },
0903 .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0904 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0905 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0906 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
0907 .result = { 0x29, 0xae, 0x8b, 0xc7, 0x3e, 0x9b, 0x10, 0xa0,
0908 0x8b, 0x4f, 0x68, 0x1c, 0x43, 0xc3, 0xe0, 0xac,
0909 0x1a, 0x17, 0x1d, 0x31, 0xb3, 0x8f, 0x1a, 0x48,
0910 0xef, 0xba, 0x29, 0xae, 0x63, 0x9e, 0xa1, 0x34 },
0911 .valid = true
0912 },
0913
0914 {
0915 .private = { 0xa0, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
0916 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd,
0917 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
0918 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0x44 },
0919 .public = { 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb,
0920 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
0921 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
0922 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c },
0923 .result = { 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90,
0924 0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f,
0925 0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
0926 0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
0927 .valid = true
0928 },
0929
0930 {
0931 .private = { 0x48, 0x66, 0xe9, 0xd4, 0xd1, 0xb4, 0x67, 0x3c,
0932 0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5,
0933 0xc1, 0x1b, 0x64, 0x21, 0xe0, 0xea, 0x01, 0xd4,
0934 0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x4d },
0935 .public = { 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3,
0936 0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c,
0937 0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e,
0938 0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x13 },
0939 .result = { 0x95, 0xcb, 0xde, 0x94, 0x76, 0xe8, 0x90, 0x7d,
0940 0x7a, 0xad, 0xe4, 0x5c, 0xb4, 0xb8, 0x73, 0xf8,
0941 0x8b, 0x59, 0x5a, 0x68, 0x79, 0x9f, 0xa1, 0x52,
0942 0xe6, 0xf8, 0xf7, 0x64, 0x7a, 0xac, 0x79, 0x57 },
0943 .valid = true
0944 },
0945
0946 {
0947 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
0948 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
0949 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
0950 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
0951 .public = { 0x0a, 0xb4, 0xe7, 0x63, 0x80, 0xd8, 0x4d, 0xde,
0952 0x4f, 0x68, 0x33, 0xc5, 0x8f, 0x2a, 0x9f, 0xb8,
0953 0xf8, 0x3b, 0xb0, 0x16, 0x9b, 0x17, 0x2b, 0xe4,
0954 0xb6, 0xe0, 0x59, 0x28, 0x87, 0x74, 0x1a, 0x36 },
0955 .result = { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0957 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0958 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0959 .valid = true
0960 },
0961
0962 {
0963 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
0964 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
0965 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
0966 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
0967 .public = { 0x89, 0xe1, 0x0d, 0x57, 0x01, 0xb4, 0x33, 0x7d,
0968 0x2d, 0x03, 0x21, 0x81, 0x53, 0x8b, 0x10, 0x64,
0969 0xbd, 0x40, 0x84, 0x40, 0x1c, 0xec, 0xa1, 0xfd,
0970 0x12, 0x66, 0x3a, 0x19, 0x59, 0x38, 0x80, 0x00 },
0971 .result = { 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0972 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0973 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0974 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0975 .valid = true
0976 },
0977
0978 {
0979 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
0980 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
0981 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
0982 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
0983 .public = { 0x2b, 0x55, 0xd3, 0xaa, 0x4a, 0x8f, 0x80, 0xc8,
0984 0xc0, 0xb2, 0xae, 0x5f, 0x93, 0x3e, 0x85, 0xaf,
0985 0x49, 0xbe, 0xac, 0x36, 0xc2, 0xfa, 0x73, 0x94,
0986 0xba, 0xb7, 0x6c, 0x89, 0x33, 0xf8, 0xf8, 0x1d },
0987 .result = { 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0988 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0989 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0990 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
0991 .valid = true
0992 },
0993
0994 {
0995 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
0996 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
0997 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
0998 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
0999 .public = { 0x63, 0xe5, 0xb1, 0xfe, 0x96, 0x01, 0xfe, 0x84,
1000 0x38, 0x5d, 0x88, 0x66, 0xb0, 0x42, 0x12, 0x62,
1001 0xf7, 0x8f, 0xbf, 0xa5, 0xaf, 0xf9, 0x58, 0x5e,
1002 0x62, 0x66, 0x79, 0xb1, 0x85, 0x47, 0xd9, 0x59 },
1003 .result = { 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1004 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1005 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1006 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
1007 .valid = true
1008 },
1009
1010 {
1011 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1012 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1013 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1014 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1015 .public = { 0xe4, 0x28, 0xf3, 0xda, 0xc1, 0x78, 0x09, 0xf8,
1016 0x27, 0xa5, 0x22, 0xce, 0x32, 0x35, 0x50, 0x58,
1017 0xd0, 0x73, 0x69, 0x36, 0x4a, 0xa7, 0x89, 0x02,
1018 0xee, 0x10, 0x13, 0x9b, 0x9f, 0x9d, 0xd6, 0x53 },
1019 .result = { 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1020 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1021 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1022 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
1023 .valid = true
1024 },
1025
1026 {
1027 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1028 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1029 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1030 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1031 .public = { 0xb3, 0xb5, 0x0e, 0x3e, 0xd3, 0xa4, 0x07, 0xb9,
1032 0x5d, 0xe9, 0x42, 0xef, 0x74, 0x57, 0x5b, 0x5a,
1033 0xb8, 0xa1, 0x0c, 0x09, 0xee, 0x10, 0x35, 0x44,
1034 0xd6, 0x0b, 0xdf, 0xed, 0x81, 0x38, 0xab, 0x2b },
1035 .result = { 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1036 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1037 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1038 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
1039 .valid = true
1040 },
1041
1042 {
1043 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1044 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1045 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1046 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1047 .public = { 0x21, 0x3f, 0xff, 0xe9, 0x3d, 0x5e, 0xa8, 0xcd,
1048 0x24, 0x2e, 0x46, 0x28, 0x44, 0x02, 0x99, 0x22,
1049 0xc4, 0x3c, 0x77, 0xc9, 0xe3, 0xe4, 0x2f, 0x56,
1050 0x2f, 0x48, 0x5d, 0x24, 0xc5, 0x01, 0xa2, 0x0b },
1051 .result = { 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1052 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1053 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1054 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
1055 .valid = true
1056 },
1057
1058 {
1059 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1060 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1061 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1062 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1063 .public = { 0x91, 0xb2, 0x32, 0xa1, 0x78, 0xb3, 0xcd, 0x53,
1064 0x09, 0x32, 0x44, 0x1e, 0x61, 0x39, 0x41, 0x8f,
1065 0x72, 0x17, 0x22, 0x92, 0xf1, 0xda, 0x4c, 0x18,
1066 0x34, 0xfc, 0x5e, 0xbf, 0xef, 0xb5, 0x1e, 0x3f },
1067 .result = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1068 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1069 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1070 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 },
1071 .valid = true
1072 },
1073
1074 {
1075 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1076 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1077 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1078 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1079 .public = { 0x04, 0x5c, 0x6e, 0x11, 0xc5, 0xd3, 0x32, 0x55,
1080 0x6c, 0x78, 0x22, 0xfe, 0x94, 0xeb, 0xf8, 0x9b,
1081 0x56, 0xa3, 0x87, 0x8d, 0xc2, 0x7c, 0xa0, 0x79,
1082 0x10, 0x30, 0x58, 0x84, 0x9f, 0xab, 0xcb, 0x4f },
1083 .result = { 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1084 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1085 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1086 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
1087 .valid = true
1088 },
1089
1090 {
1091 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1092 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1093 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1094 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1095 .public = { 0x1c, 0xa2, 0x19, 0x0b, 0x71, 0x16, 0x35, 0x39,
1096 0x06, 0x3c, 0x35, 0x77, 0x3b, 0xda, 0x0c, 0x9c,
1097 0x92, 0x8e, 0x91, 0x36, 0xf0, 0x62, 0x0a, 0xeb,
1098 0x09, 0x3f, 0x09, 0x91, 0x97, 0xb7, 0xf7, 0x4e },
1099 .result = { 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1100 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1101 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1102 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
1103 .valid = true
1104 },
1105
1106 {
1107 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1108 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1109 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1110 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1111 .public = { 0xf7, 0x6e, 0x90, 0x10, 0xac, 0x33, 0xc5, 0x04,
1112 0x3b, 0x2d, 0x3b, 0x76, 0xa8, 0x42, 0x17, 0x10,
1113 0x00, 0xc4, 0x91, 0x62, 0x22, 0xe9, 0xe8, 0x58,
1114 0x97, 0xa0, 0xae, 0xc7, 0xf6, 0x35, 0x0b, 0x3c },
1115 .result = { 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1116 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1117 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1118 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
1119 .valid = true
1120 },
1121
1122 {
1123 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1124 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1125 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1126 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1127 .public = { 0xbb, 0x72, 0x68, 0x8d, 0x8f, 0x8a, 0xa7, 0xa3,
1128 0x9c, 0xd6, 0x06, 0x0c, 0xd5, 0xc8, 0x09, 0x3c,
1129 0xde, 0xc6, 0xfe, 0x34, 0x19, 0x37, 0xc3, 0x88,
1130 0x6a, 0x99, 0x34, 0x6c, 0xd0, 0x7f, 0xaa, 0x55 },
1131 .result = { 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1132 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1133 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1134 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
1135 .valid = true
1136 },
1137
1138 {
1139 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1140 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1141 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1142 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1143 .public = { 0x88, 0xfd, 0xde, 0xa1, 0x93, 0x39, 0x1c, 0x6a,
1144 0x59, 0x33, 0xef, 0x9b, 0x71, 0x90, 0x15, 0x49,
1145 0x44, 0x72, 0x05, 0xaa, 0xe9, 0xda, 0x92, 0x8a,
1146 0x6b, 0x91, 0xa3, 0x52, 0xba, 0x10, 0xf4, 0x1f },
1147 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 },
1151 .valid = true
1152 },
1153
1154 {
1155 .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
1156 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
1157 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
1158 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
1159 .public = { 0x30, 0x3b, 0x39, 0x2f, 0x15, 0x31, 0x16, 0xca,
1160 0xd9, 0xcc, 0x68, 0x2a, 0x00, 0xcc, 0xc4, 0x4c,
1161 0x95, 0xff, 0x0d, 0x3b, 0xbe, 0x56, 0x8b, 0xeb,
1162 0x6c, 0x4e, 0x73, 0x9b, 0xaf, 0xdc, 0x2c, 0x68 },
1163 .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 },
1167 .valid = true
1168 },
1169
1170 {
1171 .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
1172 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
1173 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
1174 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
1175 .public = { 0xfd, 0x30, 0x0a, 0xeb, 0x40, 0xe1, 0xfa, 0x58,
1176 0x25, 0x18, 0x41, 0x2b, 0x49, 0xb2, 0x08, 0xa7,
1177 0x84, 0x2b, 0x1e, 0x1f, 0x05, 0x6a, 0x04, 0x01,
1178 0x78, 0xea, 0x41, 0x41, 0x53, 0x4f, 0x65, 0x2d },
1179 .result = { 0xb7, 0x34, 0x10, 0x5d, 0xc2, 0x57, 0x58, 0x5d,
1180 0x73, 0xb5, 0x66, 0xcc, 0xb7, 0x6f, 0x06, 0x27,
1181 0x95, 0xcc, 0xbe, 0xc8, 0x91, 0x28, 0xe5, 0x2b,
1182 0x02, 0xf3, 0xe5, 0x96, 0x39, 0xf1, 0x3c, 0x46 },
1183 .valid = true
1184 },
1185
1186 {
1187 .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
1188 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
1189 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
1190 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
1191 .public = { 0xc8, 0xef, 0x79, 0xb5, 0x14, 0xd7, 0x68, 0x26,
1192 0x77, 0xbc, 0x79, 0x31, 0xe0, 0x6e, 0xe5, 0xc2,
1193 0x7c, 0x9b, 0x39, 0x2b, 0x4a, 0xe9, 0x48, 0x44,
1194 0x73, 0xf5, 0x54, 0xe6, 0x67, 0x8e, 0xcc, 0x2e },
1195 .result = { 0x64, 0x7a, 0x46, 0xb6, 0xfc, 0x3f, 0x40, 0xd6,
1196 0x21, 0x41, 0xee, 0x3c, 0xee, 0x70, 0x6b, 0x4d,
1197 0x7a, 0x92, 0x71, 0x59, 0x3a, 0x7b, 0x14, 0x3e,
1198 0x8e, 0x2e, 0x22, 0x79, 0x88, 0x3e, 0x45, 0x50 },
1199 .valid = true
1200 },
1201
1202 {
1203 .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
1204 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
1205 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
1206 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
1207 .public = { 0x64, 0xae, 0xac, 0x25, 0x04, 0x14, 0x48, 0x61,
1208 0x53, 0x2b, 0x7b, 0xbc, 0xb6, 0xc8, 0x7d, 0x67,
1209 0xdd, 0x4c, 0x1f, 0x07, 0xeb, 0xc2, 0xe0, 0x6e,
1210 0xff, 0xb9, 0x5a, 0xec, 0xc6, 0x17, 0x0b, 0x2c },
1211 .result = { 0x4f, 0xf0, 0x3d, 0x5f, 0xb4, 0x3c, 0xd8, 0x65,
1212 0x7a, 0x3c, 0xf3, 0x7c, 0x13, 0x8c, 0xad, 0xce,
1213 0xcc, 0xe5, 0x09, 0xe4, 0xeb, 0xa0, 0x89, 0xd0,
1214 0xef, 0x40, 0xb4, 0xe4, 0xfb, 0x94, 0x61, 0x55 },
1215 .valid = true
1216 },
1217
1218 {
1219 .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
1220 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
1221 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
1222 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
1223 .public = { 0xbf, 0x68, 0xe3, 0x5e, 0x9b, 0xdb, 0x7e, 0xee,
1224 0x1b, 0x50, 0x57, 0x02, 0x21, 0x86, 0x0f, 0x5d,
1225 0xcd, 0xad, 0x8a, 0xcb, 0xab, 0x03, 0x1b, 0x14,
1226 0x97, 0x4c, 0xc4, 0x90, 0x13, 0xc4, 0x98, 0x31 },
1227 .result = { 0x21, 0xce, 0xe5, 0x2e, 0xfd, 0xbc, 0x81, 0x2e,
1228 0x1d, 0x02, 0x1a, 0x4a, 0xf1, 0xe1, 0xd8, 0xbc,
1229 0x4d, 0xb3, 0xc4, 0x00, 0xe4, 0xd2, 0xa2, 0xc5,
1230 0x6a, 0x39, 0x26, 0xdb, 0x4d, 0x99, 0xc6, 0x5b },
1231 .valid = true
1232 },
1233
1234 {
1235 .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
1236 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
1237 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
1238 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
1239 .public = { 0x53, 0x47, 0xc4, 0x91, 0x33, 0x1a, 0x64, 0xb4,
1240 0x3d, 0xdc, 0x68, 0x30, 0x34, 0xe6, 0x77, 0xf5,
1241 0x3d, 0xc3, 0x2b, 0x52, 0xa5, 0x2a, 0x57, 0x7c,
1242 0x15, 0xa8, 0x3b, 0xf2, 0x98, 0xe9, 0x9f, 0x19 },
1243 .result = { 0x18, 0xcb, 0x89, 0xe4, 0xe2, 0x0c, 0x0c, 0x2b,
1244 0xd3, 0x24, 0x30, 0x52, 0x45, 0x26, 0x6c, 0x93,
1245 0x27, 0x69, 0x0b, 0xbe, 0x79, 0xac, 0xb8, 0x8f,
1246 0x5b, 0x8f, 0xb3, 0xf7, 0x4e, 0xca, 0x3e, 0x52 },
1247 .valid = true
1248 },
1249
1250 {
1251 .private = { 0xa0, 0x23, 0xcd, 0xd0, 0x83, 0xef, 0x5b, 0xb8,
1252 0x2f, 0x10, 0xd6, 0x2e, 0x59, 0xe1, 0x5a, 0x68,
1253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50 },
1255 .public = { 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
1256 0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
1257 0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f,
1258 0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
1259 .result = { 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
1260 0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
1261 0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f,
1262 0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
1263 .valid = true
1264 },
1265
1266 {
1267 .private = { 0x58, 0x08, 0x3d, 0xd2, 0x61, 0xad, 0x91, 0xef,
1268 0xf9, 0x52, 0x32, 0x2e, 0xc8, 0x24, 0xc6, 0x82,
1269 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1270 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f },
1271 .public = { 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
1272 0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
1273 0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
1274 0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
1275 .result = { 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
1276 0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
1277 0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
1278 0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
1279 .valid = true
1280 }
1281 };
1282
1283 bool __init curve25519_selftest(void)
1284 {
1285 bool success = true, ret, ret2;
1286 size_t i = 0, j;
1287 u8 in[CURVE25519_KEY_SIZE];
1288 u8 out[CURVE25519_KEY_SIZE], out2[CURVE25519_KEY_SIZE],
1289 out3[CURVE25519_KEY_SIZE];
1290
1291 for (i = 0; i < ARRAY_SIZE(curve25519_test_vectors); ++i) {
1292 memset(out, 0, CURVE25519_KEY_SIZE);
1293 ret = curve25519(out, curve25519_test_vectors[i].private,
1294 curve25519_test_vectors[i].public);
1295 if (ret != curve25519_test_vectors[i].valid ||
1296 memcmp(out, curve25519_test_vectors[i].result,
1297 CURVE25519_KEY_SIZE)) {
1298 pr_err("curve25519 self-test %zu: FAIL\n", i + 1);
1299 success = false;
1300 }
1301 }
1302
1303 for (i = 0; i < 5; ++i) {
1304 get_random_bytes(in, sizeof(in));
1305 ret = curve25519_generate_public(out, in);
1306 ret2 = curve25519(out2, in, (u8[CURVE25519_KEY_SIZE]){ 9 });
1307 curve25519_generic(out3, in, (u8[CURVE25519_KEY_SIZE]){ 9 });
1308 if (ret != ret2 ||
1309 memcmp(out, out2, CURVE25519_KEY_SIZE) ||
1310 memcmp(out, out3, CURVE25519_KEY_SIZE)) {
1311 pr_err("curve25519 basepoint self-test %zu: FAIL: input - 0x",
1312 i + 1);
1313 for (j = CURVE25519_KEY_SIZE; j-- > 0;)
1314 printk(KERN_CONT "%02x", in[j]);
1315 printk(KERN_CONT "\n");
1316 success = false;
1317 }
1318 }
1319
1320 return success;
1321 }