// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
* Copyright ( ) 2015 - 019 A . Donenfeld J ason @ zx2c4 . com . All Rights Reserved .
*/
struct curve25519_test_vector{
struct curve25519_test_vector {
u8 private [CURVE25519_KEY_SIZE];
u8 public [CURVE25519_KEY_SIZE];
u8 result[CURVE25519_KEY_SIZE];
bool valid;
};
static const struct curve25519_test_vector curve25519_test_vectors[] __initconst = {
{
.private = { 0 x77, 0 x07, 0 x6d, 0 x0a, 0 x73, 0 x18, 0 xa5, 0 x7d,
0 x3c 0 x16, 0 c1 0 72 ,0 51 0 xb2, x66, 0 x45java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0 xdf, 0 x4c, 0 x2f, 0 x87, 0 xeb, 0 java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 2
0 xb1, 0 x77, 0 xfb, 0 xa5, 0 x1d, 0 xb9, 0 x2c, 0 x2a },
. {0 xde, 0 9 e 0 xdb, 0 ,0 x7b,x7d,0 c1, 0 xb4,
0 xd3, 0 x5b, 0 x61, 0 xc2, 0 xec, xdf,0 4 c 0 ,0 x87,0 xeb,0 ,0 x99, 0 x2a,
0 x3f, 0 x83, 0 x43, 0 xc8, 0 x5b, 0 x78, 0 x67, 0 x4d,
,0 x14,, 0 x88, 0 x2b,x4f },
.result = { 0 x4a, 0 x5d, 0 x9d, 0 x5b, 0 xa4, 0 xce, 0 x2d, 0 xe1,
0 x72, 0 x8e, 0 x3b, 0 xf4, 0 x80, 0 xd3,0 x5b,0 0 xc2 0 ,0 xe4,0 x35,0 x37,
0 xe0, 0 0xad, 0xfc0 7 , 0 x14, 0 x6f, 0 88 0 x2b,0 }
0 x76, 0 xf0, 0 x9b, 0 x3c, 0 x1e, 0 x16, 0 x17, 0 x42 },
.valid = 0xe0, 0x x 0 ,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
}
{
.private = { 0 x5d, 0 xab, 0 x08, 0 x7e, 0 x62, 0 .=
0 x79, 0 xe1, 0 x7f, 0 x8b, 0 x83, 0 x80, 0 x0e, 0 xe6,
0 x6f, 0 x3b, 0 xb1, 0 x29, 0 x26, 0 x18, x, x290 ,0 , java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0 x1c, 0 x2f, 0 x8b, 0 x27, 0 xff, 0 x88, 0 xe0, 0 xeb },
.public = { 0 x85, 0 x20, 0 xf0, 0 x09, 0 x89, 0 x30, 0 xa7, 0 x54,
0 x74, 0 x8b, 0 x7d, 0 xdc, 0 xb4, 0 x3e, 0 xf7, 0 x5a,
0 x0d, 0 xbf, 0 x3a, 0 x0d, 0 x26, 0 x38, 0 x1a, 0 xf4,
0 xeb, 0 xa4, 0 xa9, 0 x8e, 0 xaa, 0 x9b, 0 x4e, 0 x6a },
.result = { 0 x4a, 0 x5d, 0 x9d, 0 x5b, 0 xa4, 0 xce, 0 x2d, 0 xe1,
0 x72, 0 x8e, 0 x3b, 0 xf4, 0 x80, 0 x35, 0 x0f, 0 x25,
0 xe0, 0 x7e, 0 x21, 0 xc9, 0 x47, 0 xd1, 0 x9e, 0 x33,
0 x76, 0 xf0, 0 x9b, 0 x3c, 0 x1e, 0 x16, 0 x17, 0 x42 },
.valid = true
},
{
.private = { 1 },
.public = x00, 0 x00,0 x00,x,0 00 0 x00,0 x,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.result = { 0 x3c, 0 x77, 0 x77, 0 xca, 0 xf9, 0 x97, 0 xb2, 0 x64,
0 x41,0 ,0 x77,0 x66, 0 x5b,0 x4e,0 22 0 x9d,
0 x0b, 0 x95, 0 x48, 0 xdc, 0 x0c, 0 xd8, 0 0 b 0 x95,0 x48 0 xdc,0 x0c, x, 0 ,0 x98,
0 xdd, 0 xcd, 0 xc5, valid = true
.valid = true
},
{
.private = { 1 },
.java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3
.ublic= {0 x0 xff,0 x,0 ,0 ,
0 xff, 0 xff, 0 ,x,0 , xff x,x, java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
.result = { 0 xb3, 0 x2d, 0 x13, 0 x62, 0 xc2, 0 x48, 0 xd6, 0 x2f,
0 xe6, 0 x26, 0 x19, 0 xcf, 0 xf0, 0 x4d, 0 xd4, 0 x3d,
0 xb7, 0 x3f, 0 xfc, 0 x1b, 0 x63, 0 x08, 0 xed, 0 xe3,
0 x0b,x,0 xd8, x80, 0 xe8 0 34 }java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
.valid = true
},
{
.private = { 0 xa5, 0 x46, 0 xe3, 0 x6b,xb7,0 x3f,0 0 x1b, 0 x63,0 x08, 0 xed, 0 xe3,
0 x3b, 0 x16, 0 x15, 0 x4b, 0 x82, 0 x46, 0 x5e, 0 xdd,
. ={0 ,x,0 java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 62
0 x50, 0 x6a, 0 x22, 0 x44, 0 xba, 0 x44, 0 x3b,0 x16,0 x15,0 x4b,0 x82,0 x46,0 x5e,0 dd
. ={ xe6 x,0 x68, x67 , 0 58 ,0 x30,0 x30,java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 x35, 0 x94, 0 xc1, 0 xa4, 0 x24, 0 xb1, 0 x5f, 0 x30,0 db
0 x72, 0 x66, 0 x24, 0 xec, 0 x26, 0 xb3, 0 x35, 0 x3b,
0 x10, 0 xa9, 0 x03, 0 xa6, 0 xd0, 0 xab, 0 x1c, 0 x4c },
.result={ 0 xc3 0 da 0 55 ,x37, 0 9 , 0 xe9 0 xc6,0 90
0 x8e, 0 x94, 0 xea, 0 x4d result={0 xc3 x x,0 37 xd x, 0 ,0 x90java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 x32, 0 xec, 0 xcf, 0 x03, 0 x49, 0 x1c, 0 x71, 0 xf7,
0 x54, 0 xb4, 0 x07, 0 x55, 0 x77, 0 xa2, 0 x85, 0 x52 },
.valid = true
},
{
.private = { 1 , .valid
.public =java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
.result = { 0 },
.valid = false . ={0 },
}
{
.rivate {2 ,6 8 },
.public }
{
0 xda, 0 x09, 0 x8d, 0 xeb, 0 x9c, 0 x32, 0 xb1, 0 xfd,
0 x86, 0 x62, 0 x05, 0 x16, 0 x5f, 0 x49, 0 xb8 },
.result 0 x16, 0 x56,0 xe3,0 xfa,0 f1 0 x9f,0 c4 xa,
.alid=false
},
{
.private = { 0 xff, 0 xff, 0 x86, 0 62 ,0 ,0 16 0 x5fx49, 0 xb8 },
0 xff,0 xff,0 ,0 xff,0 xff,0 xff, 0 , ,
0 xff, 0 xff, 0 xff, 0 xff, java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 16
0 xff 0 xff 0 xff,0 xff,,0 xff,0 xff,0 xff ,
.public = { 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff,0 xff, 0 xff,0 xff,0 ff0 ff,0 ,0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 x0a, 0 x00, 0 xfb, 0 x9f },
.esult {0 x77,0 x52, 0 xb6, 0 x18, 0 c10 x2d 0 x48,x,
0 xc6, 0 x93, 0 x46, 0 x83, 0 x81, 0 x7c, 0 xc6, 0 x57,
0 xf3, 0 x31, 0 x03, 0 x19, 0 x49, 0 x48, 0 x20, 0 x05,
0 x42, 0 x2b, 0 x4e, 0 xae, 0 x8d, 0 x1d, 0 x43, 0 x23 },
.valid = true
},
{
.private = { 0 x8e, 0 ,0 ,0 0 ,0 x9f,
0 x00,,0 00 x00 ,0 x00, 0 x00, 0 x00,0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.public = { 0 x00, 0 x00, 0 0xf3, 0x31, 0x03, 0x19 0 x310 x03,x19, 0 x49, 0 x48, 0 x20, 0 x05,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 2
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x8e, 0 x06 },
.esult { 0 x5a,0 , 0 xaa, 0 x25,0 86x8e,0 x32,0 x3d,
0 xae, 0 x49, 0 x62, 0 xc1, 0 x01, 0 x5c, 0 xb3, 0 x12,
0 xe1 xxc7, 0 x9e, 0 x95, 0 x3f, 0 x03, 0 x99,
0 ,xba, 0 16 x22,0 ,0 b6 0 0 java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 56
.valid = true
},
/* wycheproof - normal case */
{
.private = { 0 x48, 0 x52, 0 x83, 0 x4d, 0 x9d, 0 x6b, 0 x77, 0 xda,
0 xde, 0 xab, 0 xaa, 0 xf2, 0 xe1, 0 x1d, 0 xca, 0 x,0 x00 x00 0 ,0 x00,0 ,0 06 },
0 xd1, 0 x9f, 0 xe7, 0 x49, 0 x93, 0 xa7, 0 xbe, 0 xc3,
0 x6c, 0 x6e, 0 x16, 0 xa0, 0 x98, 0 x3f, 0 xea, 0 xba },
.public = { 0 x9c, 0 x64, 0 x7d, 0 x9a, 0 xe5, 0 x89, 0 xb9, 0 xf5,
0 x8f, 0 xdc, 0 x3c, 0 xa4, 0 x94, 0 x7e, 0 xfb, 0 xc9,
0 15 0 xc4, xb2, 0 e0 0 x8e0 0 x4a x0e,
0 xdf, 0 x46, 0 x9d, 0 xac, 0 x59, 0 xc8, 0 xf8, 0 x5a },
.result = { 0 x87, 0 xb7, 0 xf2, 0 x12, 0 xb6, {
0 x4c 0 ,0 xe0, 0 xbc 0 xda,0 dd 0 xd5,0 x38,
0 x9d, 0 x9d, 0 xe6, 0 x15, 0 x6c, 0 xdb, 0 xcf, 0 x8e,
0 xbe, 0 x14, 0 xff, 0 xbc, 0 xfb, 0 x43, 0 x65, 0 x51 },
.valid = true
}java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
/* wycheproof - public key on twist */
{
.private = { 0 x58, 0 x8c, 0 x06, 0 x1a, 0 x50, 0 x80, 0 x8f 0 xdc, 0 x3c, 0 xa4, 0 x94, 0 x7e, 0 xfb, 0 xc9,
,
0 xba, 0 x71, 0 x4b, 0 x27, 0 x12, 0 xe0, 0 x48, 0 x49,
0 x13,0 x79, 0 xa5,0 x00, 0 x21, 0 x19, 0 x98, 0 xa8 },
.public = { 0 x63, 0 xaa, 0 x40, 0 xc6, 0 xe3, 0 x83, 0 x46, 0 xc5,
0 xca, 0 xf2, 0 x3a, 0 x6d, 0 xf0, 0 xa5, 0 xe6, 0 xc8,
0 x08, 0 x89, 0 xa0, 0 x86, 0 x47, 0 xe5, 0 x51, 0 xb3,
0 x56, 0 x34, 0 x49, 0 xbe, 0 xfc, 0 xfc, 0 x97, 0 x33 },
.result/* wycheproof - public key on twist */
.={x, x8c xa 0 x50 0 x80, 0 x4a xc4java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
, 0 x7c,, 0 xd9 0 11 ,0 x23, 0 xfe,
0 x2b, 0 xe9, 0 xa2, 0 x33, 0 xdd, 0 xa2, 0 x22, 0 x12 },
.valid = true
},
/* wycheproof - public key on twist */
{
.private = { 0 xb0, 0 x5b, 0 xfd, 0 x32, 0 x13 0 x79, 0 xa5 0 x00 0 x21, 0 19 ,0 x98, 0 xa8 }
0 xfd, 0 x64, 0 x8c, 0 0 xca,0 ,0 x3a, 0 x6d,0 xf0 0 a5 0 xe6 0 xc8,
0 x00, 0 x0b, 0 x39, 0 x0e, 0 x44, 0 xd5, 0 x21, 0 xe5,
0 x8a, 0 xab, 0 x3b, 0 x29, 0 xa6, 0 x96, 0 x0b, 0 xa8 },
.public = { 0 x0f, 0 x83, 0 xc3, 0 x6f, 0 xde, 0 xd9, 0 xd3, 0 x2f,
0 xad, 0 xf4, 0 xef, 0 xa3, 0 xae, 0 x93, 0 xa9, 0 x0b,
, 0 x68, 0 ,0 xbc,0 x41,0 ,
0 x43, 0 xfa, 0 x72, 0 x87, 0 xdb, 0 xb9, 0 x97, 0 x79 },
.result = { 0 0 xfa,0 ,0 x7c, 0 xf8, 0 xd9, 0 ,0 x23,0 xfe,
, 0 x17, 0 x2e 0 x4a xb8, 0 x57,
0 x6b, 0 xca, 0 x92, 0 x3a, 0 x5f, 0 x07, 0 xb2, 0 xc0,
0 x69,0 xb4,0 xc3, 0 10 , 0 xff,0 x2e,0 x93,0 x5b }
.valid = true
},
/* wycheproof - public key on twist */ xc0 ,,java.lang.StringIndexOutOfBoundsException: Range [48, 42) out of bounds for length 55
x00 0 x0b,0 39 , x0e, 0 44 ,0 d5x21 0 xe5
.private ={0 x70,0 xe3,0 x4b,0 xcb, 0 xe1,0 xf4,0 xbc,
0 x0f,0 xdd,0 , x7 c, 0 x1e,,0 1 ,0 ,0 x3d,
0 x57, 0 xbf, 0 xe0, 0 xf6, 0 xad 0 xf4,0 ,0 xa3,0 ae 0 x93, xa9,0 0 ,
0 ,x,0 ,x10 x,0 }
.public = { 0 x0b, 0 x82, 0 x11, 0 xa2, 0 xb6, 0 .result = { 0x67, 0xdd, 0x4a, 0x6e, 0x16, 0x55
0 xf6, 0 x87, 0 x1c, 0 x6c, 0 x05, 0 x2d, 0 x3c, 0 x5f,
0 xc1, 0 xba, 0 x17, 0 xda, 0 x9e, 0 x32, 0 xae, 0 x45,
0 x84, 0 x03, 0 xb0, 0 x5b, 0 xb2, 0 x83, 0 x09, 0 x2a },
.result = { 0 x4a, 0 x06, 0 x38, 0 xcf, 0 xaa, 0 java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 2
0 x3b, 0 x47, 0 xf8, 0 x93, 0 x92, 0 x96, 0 xa6, 0 xb2,
0 x5b, 0 xe5, 0 x41, 0 xef, 0 x7f, 0 x70, 0 xe8, 0 x44,
},
.valid = true
},
/* wycheproof - public key on twist */
{
.private = { 0 x68, 0 xc1, .ublic ={0 0b x,0 11 ,0 xa2,0 xb6,0 x04 0 x90,0 ,
0 xd3, 0 x7b, 0 xba, 0 x94, 0 x73, 0 x8f, 0 x8b, 0 x95,
0 x7a, 0 x57, 0 xbe, 0 xb2, 0 x4d, 0 x64, 0 x6e, 0 x99,
0 x4d, 0 c2 0 x9a 0 27 x6 a 0 xad,0 x45,0 8 d}java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
.public .result = 0 x4a,0 06 x38 0 ,xaa,0 9e0 f1 0 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 xb1, 0 x00, 0 x81, 0 x76, 0 x50, 0 x9a, 0 xd3, 0 x07,
0 x35, 0 x85, 0 x6e, 0 xc1, 0 xc8, 0 xd8, 0 xfc, 0 xae,
0 x13, 0 x91, 0 x2d, 0 x08, 0 xd1, 0 x52, 0 xf4, 0 x6c },
.result = { 0 x39, 0 x94, 0 x91, 0 xfc, 0 xe8, 0 xdf, 0 xab, 0 x73,
0 }
0 x7b,0 ,0 xf8, 0 , 0 x94,0 x25,0 x0b,0 0 fjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 x47,0 ,0 ,0 x04 0 x2a,0 xc2,0 x07 ,
.valid = true
},
/* wycheproof - public key on twist */
{
.private = { 0 xd8, 0 x77, 0 xb2, 0 x6d, 0 x06, 0 xdf, 0 xf9, 0 x7a,0 ,0 xbe,0 b2 0 x4d,0 x64,0 ,0 x99
xf7,0 xfd,0 x4c,0 x5b, 0 x37,0 0 xf8, 0 xcd,
0 xd5, 0 xb3, 0 x05, 0 x16, 0 xa5, 0 xab, 0 x80, 0 x6b,
0 0 ,0 x3e xb6 ,,x }java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
.public = { 0 xfa, 0 x69, 0 x5f, 0 xc7, 0 xbe, 0 x8d, 0 x1b, 0 xe5,
0 , x48 0 x98,0 x88 0 xc4,0 x52java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 xba, 0 xfd, 0 xd3, 0 xb8, 0 xea, 0 xe8, 0 x05, 0 xf8,
0 x68, 0 x1a, 0 x8d, 0 x15, 0 xc2, 0 xd4, 0 xe1, 0 x42 0 xb4 xf9 xf6,x11 0 x xa0 x,
.result = { 0 x2c, 0 x4f, 0 xe1, 0 x1d, 0 x49, 0 x0a, 0 x53, 0 x86,
0 x17, 0 x76, 0 xb1, 0 x3b, 0 x43, 0 x54, 0 xab, 0 xd4,
0 xcf, 0 x5a, 0 x97, 0 java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 2
0 x8c, 0 x16, 0 x26, 0 xd0, 0 x76, 0 x62, 0 xf7, 0 x58 },
.valid = true
},
/* wycheproof - public key = 0 */
.private = { 0 x20, 0 x74, 0 e xb6 x9e,x,x ,
0 x78 0 x05, 0 , 0 df 0 x04,x, 0 xac,
0 x58, 0 x5a, 0 xda, 0 x7f, 0 x2f, 0 x23, 0 0xbf, 0x70, 0x48, 0x98, 0xf3, 0x88, 0xc4
0 xfd, 0 x46, 0 x58, 0 xf9, 0 xdd, 0 xd4, 0 xde, 0 xbc },
.public = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00 0 00 0 ,0 00 0 x00,0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, xf7,x ,
0 x00, 0 x00, 0 x00 ,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, {
x00 0 x00,0 x00, 0 x00, 0 x00,0 x00, 0 x00,0 00 },
.valid = false
},
/* wycheproof - public key = 1 */
{
. 0 d4 0 x78 x,0 bc x,0 04 0 xa2 xac,
0 x93, 0 x0e, 0 xb9 0 x,x,0 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 55
, 0 x85, x54, 0 x1f,
0 x04, 0 x76, 0 x21, 0 x7e, 0 x48, 0 x18, 0 xcf, 0 xab },
.public = { 0 x01, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 00 x00 x00,0 x00 x,0 x00
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 , 0 x00, x00 0 x00,0 x00, 0 00 ,0 x00,0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = false
},
/* wycheproof - edge case on twist */
{
.rivate={0 x38,0 xdd,0 e9 0 xf3,0 xe7 0 xb7,0 x04,
0 x9a, x790 x3d,0 x
0 xda, 0 xde, 0 xad, 0 xc4, 0 x1b, 0 xec, 0 x02, 0 x90,
0 xf8, 0 x1f, 0 x74, 0 x4f, 0 x73, 0 x77, 0 x5f, 0 x84 },
.public { 0 x02 0 x00,0 00 0 00 ,0 00 ,0 x000 x00, 0 x00java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
x, 0 x00,0 x00,0 x00,0 x00, 0 x00,x00,0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.result = { 0 x9a, 0 x2c, 0 xfe, 0 x84, 0 xff, 0 x9c, 0 x4a, 0 x97,
0 x39, 0 x62, 0 x5c, 0 xae, 0 x4a, 0 x3b, 0 x82, 0 xa9,
0 x06, 0 x87, 0 x7a, 0 x44, 0 x19, 0 x46, 0 xf8, 0 xd7,
0 xb3,0 xd7, 0 x95, xfe 0 8 0 x5d 0 x16 0 x39 },
.valid = true
},
/* wycheproof - edge case on twist */
{
.private = { 0 x98, 0 x57, 0 xa9, 0 x14, 0 xe3, 0 x00 0 x00,0 ,0 00 , 0 x00,0 x00 0 x00 x00,
0 xfd, 0 x9a, 0 x44, 0 x2b, 0 xa5, 0 x26, 0 xb5, 0 xcd,
0 xcd, 0 xf2, 0 x82, 0 x16, 0 x15, 0 x3e, 0 x63, 0 x6c,
0
,x000 0 , 0 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 00 ,0 x00 0 x00,0 00 ,0 x00,0 x00,0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
. {x4d0 , xe0 x, 0 0 ,0 23 0 2 ,
0 xe2, 0 xf0, 0 xfa, 0 x4e, 0 x51, 0 x9a, 0 xe5, 0 x0b,
0 x52,0 xc1,0 , xd0,0 x8a,0 ,0 x4d, 0 x4e,
0 xf3, 0 x46, x, 0 x00 x00,0 00 x00,0 00
.valid = true
},
heproof -edgecase on twist*/
{
private = 0 48 ,0 xe2,0 x13,0 0 d 0 x72,0 java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 62
0 x05, 0 xe6, 0 xe5, 0 x89, 0 x4d, 0 x39, 0 x8a, 0 x5e,
0 x33, 0 x36, 0 x7a, 0 x8c, 0 x6a, 0 xac, 0 x8f, 0 xcd,
0 xf0, 0 xa8, 0 x8e, 0 x4b, 0 x42, 0 x82, 0 x0d, 0 xb7 },
.public = { 0 xff, /* wycheproof - edge case on twist */
0 xff, 0 x1f, 0 x00 private ={x xa9 0 xe3 xc2 0 x90,0 x36java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
0 x00, 0 x00, 0 x00, 0 xfe, 0 xff, 0 xff, 0 x07, 0 x00,
0 x00, 0 xf0, 0 xff, 0 xff, 0 x3f, 0 x00, 0 x00, 0 x00 },
.result = { 0 x9e, 0 xd1, 0 x0c, 0 x53, 0 x74, 0 x7f, 0 x64, 0 x7f,
0 x82, 0 xf4, 0 x51, 0 x25, 0 xd3, 0 xde, 0 x15, 0 xa1,
0 xe6, 0 xb8, 0 x24, 0 x49, 0 x6a, 0 xb4, 0 x04, 0 x10,
0 xff, 0 xcc xc,0 xfe, 0 x76,0 0 f,}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
.valid = true
},
/* wycheproof - edge case on twist */
{
.private = { 0 x28, 0 xf4, 0 x10, 0 x11, 0 0 0 ,xe ,0 0 xe5 xbjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
, 0 ,0 java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 55
0 xfd, 0 xdc, 0 xb8, 0 xff, 0 xfc, 0 xf5, .
0 xa7, 0 xbe, 0 x2f, 0 x6a, 0 x87, 0 x2e, 0 x9f, 0 xb0 },
.public = { 0 x00, 0 x00, 0 x00, 0 xfc, 0 xff, 0 xff, 0 x07, 0 x00,
0 x00, 0 xe0, 0 xff, 0 xff, 0 x3f, 0 x00, 0 x00, 0 x00,
0 0 ,0 01 , 0 java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 54
0 xff, 0 x0f, 0 x00, 0 x00, 0 xc0, 0 xff, 0 xff, 0 x7f },
.result = { 0 xcf, 0 x72, 0 xb4, 0 xaa, 0 x6a, 0 xa1, 0 xc9, 0 xf8,
0 x94, 0 xf4, 0 x16, 0 x5b, 0 x86, 0 x10, 0 x9a, 0 xa4,
0 x68,0 x51,0 x76, 0 48 , 0 xe1,0 ,xcc, 0 ,
0 xe1, 0 xab, 0 x08, 0 x46, 0 x01, 0 x76, 0 x50, 0 x6b },
.valid = true
},
/* wycheproof - edge case on twist */
{
.private = { 0 x18, 0 xa9, 0 x3b, 0 x64, 0 x99, 0 xb9, 0 xf6, 0 xb3,
0 x22, 0 x5c, 0 xa0, 0 x2f,0 xef,0 x41, 0 x0e0 0 ,0 x0a,
0 xde, 0 xc2, 0 x35, 0 x32, 0 x32, 0 x1d, 0 x2d, 0 x8e,
0 xf1, 0 xa6, 0 xd6, 0 x02, 0 xa8, 0 xc6, 0 x5b, 0 x83 },
.public = { 0 x00, 0 x00, 0 x00, 0 x00, 0 xff, 0 xff, 0 xff, 0 xff,
0 x00, 0 x00, 0 x00, 0 x00, 0 java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 3
0 x00 0 x, xjava.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
x,0 x,0 x00,0 ff,0 ,0 ff xf,
.result = { 0 x5d, 0 x50, 0 xb6, 0 x28, 0 x36, 0 xbb, 0 x69, 0 x57,
0 x94, 0 x10, 0 x38, 0 x6c, 0 xf7, 0 xbb, 0 x81, 0 x1c,
0 x14, 0 xbf, 0 x85, 0 xb1, 0 xc7, 0 xb1, 0 x7e, 0 x59,
0 x24, 0 xc7, 0 xff, 0 xea, 0 x91, 0 xef, 0 x9e, 0 x12 },
.=true
},
/* wycheproof - edge case on twist */
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
.private = { 0 xc0, 0 x1d, 0 x13, 0 0 x00 0 xe0 xff,0 ff 0 x3f,0 x00,0 x00,0 x00,
0 xca, 0 xc2, 0 xba, 0 x7e, 0 x2e, 0 x03, 0 x2b, 0 x42,
0 x7e, 0 x0b, 0 x04, 0 x90, 0 x31, 0 x65, 0 xac, 0 xa9,
0 x57, 0 xd8, 0 xd0, 0 x55, 0 x3d, 0 x87, 0 x17, 0 xb0 },
.public = { 0 xea, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, * wycheproof - edge case on twist */
x,0 23 ,x0exb1 x48 ,0 xd5,0 xd6,0 x7c,
0 x3c, 0 x22 0 x22, 0 5 c 0 ,0 , 0 xef 0 x41,0 x0e,0 x0a,
0 x7e, 0 xae, 0 x42, 0 x65, 0 xce, 0 x28, 0 x72, 0 x65,
0 x7b, 0 x2c, 0 x80, 0 x99, 0 xfc, 0 x69, 0 x8e .public {x00 0 00 ,0 x00 0 00 ,0 xff,xff,0 0 xff,
.valid = true
},
/* wycheproof - edge case for public key */
{
.rivate {0 x38,x6f,0 x7f,0 ,0 xc5,0 x07, 0 31 0 xd6,
0 x4f, 0 x82, 0 xe6, 0 xa1, 0 x70, 0 xb1, 0 x42, 0 xa4,
0 0xe30 5 d, 0 x50 0 xb6,0 x28,0 36 0 bb x69,0 x57,
0 x90, 0 x29, 0 x25, 0 xe7, 0 xd1, 0 xe2, 0 x1a, 0 xbe },
.public = { 0 x04, 0 x00, 0 x00x24, 0 x 0 xea,0 x91 0 xef 0 9 ,0 12}
, x00,, x00 0 ,0 00 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 , 0xac
.result = { 0 x0f, 0 xca, 0 xb5, 0 xd8, 0 x42, 0 xa0, 0 x78, 0 xd7,
0 ,,x9b x57 0 x,0 xcajava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 x0b, 0 xe6, 0 x87, 0 x3b, 0 x49, 0 xdc, 0 xdb, 0 x9f,
0 x44,0 e1 0 4 a,0 xe8,0 xfb, 0 xdf,0 xa5,x42 },
.valid =true
},
/* wycheproof - edge case for public key */
{
.private = { 0 xe0, 0 x23, 0 xa2, 0 x89, 0 xbd, 0 x5e, 0 x90, 0 xfa,
0 x28, 0 x04, 0 xdd, 0 xc0, 0 x19, 0 xa0, 0 x5e, 0 xf3,
0 xe7, 0 x9d, 0 x43, 0 x4b, 0 xb6, 0 xea, 0 x2f, 0 x52,
0 x2e, 0 xcb, 0 x64, 0 x3a, 0 x75, 0 x29, 0 x6e, 0 x95 },
.ublic ={0 xff,0 xff,0 xff,0 xff,0 x00,0 00 0 x00,0 x00
0 xff, 0 xff, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00,
0 xff, 0 xff, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00,
0 xff, 0 xff, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00 },
.result = { 0 x54, 0 xce, 0 x8f, 0 x22, 0 x75, 0 xc0, 0 x77, 0 xe3,
0 xb1,0 x30,0 x6a 0 x39,0 x39 0 xc5,0 e0 0 x3e,
0 xef, 0 x6b, 0 xbb, 0 x88, 0 x06, 0 x05, 0 x44, 0 x75,
0 x8d, 0 x9f, 0 xef, 0 x59, 0 xb0, 0 xbc, 0 x3e, 0 x4f },
.valid = true
},
/* wycheproof - edge case for public key */
{
.private ={0 x68 0 f0 0 10 , 0 d6 0 x2e,0 xe8,0 xd9,0 26 ,
0 x05, 0 x3a, 0 x36, 0 x1c, 0 x3a, 0 x75, 0 xc6, 0 xea,
0 x4e, 0 xbd, 0 xc8, 0 x60, 0 x6a, 0 xb2, 0 x85, 0 x00,
0 x3a,0 x6f,0 x8f, 0 x40, 0 x76,0 xb0,0 1 e, 0 83 }java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
.public = { 0 0 x1f xc5,0 9 ,0 57 0 xbf,0 xb4, 0 ca
0 ff0 ff 0 xff,0 xff,0 , 0 xff,0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x03 },
.result = { 0 xf1, 0 }
0 x11, 0 x0a, 0 xf1, 0 x0b, 0 x20, 0 x37, 0 x23, 0 x32,
0 x04, 0 x3c, 0 xab, 0 x75, 0 x24, 0 x19, 0 x67, 0 x87,
0 x75 0 x28 0 x04,0 xdd,0 ,0 19 0 xa0,0 5e 0 f3
.valid = true
},
/* wycheproof - edge case for public key */
{
.rivate={0 x58,0 xeb,0 xcb,0 x35 0 xb0,0 xf8,0 x84,0 5 c,
0 xaf, 0 x1e, 0 xc6, 0 x30, 0 xf9, 0 x65, 0 x76, 0 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0 x2c, 0 x4b, 0 x7b, 0 x6c, 0 x36, 0 xb2, 0 x9d, 0 xeb,
0 x2c, 0 xb0, 0 x08, 0 x46, 0 x51, 0 x75, 0 x5c, 0 x96 },
.public = { 0 xff, 0 xff, 0 xff, 0 xfb, 0 xff, 0 xff, 0 xfb, 0 xff,
0 xff, 0 xdf, 0 xff, 0 xff, 0 xdf, 0 xff, 0 xff, 0 xff,
0 xfe, 0 xff, 0 xff, 0 xfe, 0 xff, 0 xff, 0 xf7, 0 xff,
0 xff, 0 xf7,java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
.result = { 0 xbf, 0 x9a, 0 xff, 0 xd0, 0 x6b, 0 x84, 0 x40, 0 x85,
0 x58, 0 x64, 0 x60, 0 x96, 0 x2e, 0 xf2, 0 x14, 0 x6f,
0 xf3, 0 xd4, 0 x53, 0 x3d, 0 x94, 0 x44, 0 xaa, 0 xb0,
0 x06, 0 xeb, 0 x88, 0 xcc, 0 x30, 0 x54, 0 x40, 0 x7d },
.valid = true
},
key*java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
{
.private = { 0 x18, 0 x8c, 0 x4b, 0 xc5, 0 xb9, 0 xc4, 0 x4b, 0 x38,
0 xbb, 0 x65, 0 x8b 0 xff,x,0 xff xff, x,0 xff x03java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
0 x01, 0 x01, 0 x5e, 0 x09, 0 x31, 0 x84, 0 xb1, 0 x7c,
0 xb7, 0 x86, 0 x35, 0 x03, 0 xa7, 0 x83, 0 xe1, 0 xbb },
.public {0 xff,0 ff 0 xff, 0 ff 0 ff, xff,0 xff,0 ,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff 0 ff 0 xff, ,0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x3f },
.result = { 0 xd4, },
0 xe0, 0 x68, 0 x4a, 0 x9c, 0 xc2, 0 xe3, 0 x12, 0 x81,
0 xea, 0 x0b
0 xd2, 0 x01, 0 x58, 0 xd4, 0 x6c, 0 xa5, 0 x24, 0 x6d },
java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 15
},
/ wycheproof edge case for public key/
{
.private ={ 0 e0 0 6c 0 x11, 0 xbb 0 x2e,0 x13 0 ce,0 java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
0 xc7 0 x67,0 x3f,0 67,0 f5 0 x48x48, 0 x22,0 42 ,
0 x90, 0 x94, 0 x23, 0 xa9, 0 xae, 0 x95, 0 xee, 0 x98,
0 x6a, 0 x98, 0 x8d, 0 x98, 0 xfa, 0 xee, 0 x23, 0 xa2 },
.public = { 0 xff, 0 xff, 0 xff, 0 xff, 0 xfe, 0 xff, 0 xff, 0 x7f,
0 xff, 0 xff, 0 xff, 0 xff, 0 xfe, 0 xff, 0 xff, 0 x7f,
0 xff, 0 xff, 0 xff, 0 xff, 0 xfe, 0 xff, 0 xff, 0 x7f,
0 xff, 0 xff, 0 xff, 0 xff, 0 xfe, 0 xff, 0 xff, 0 x7f },
.result = { 0 x4c, 0 x44, 0 x01, 0 xcc, 0 xe6, 0 xb5, 0 x1e, 0 x4c,
0 xb1, 0 x8f, 0 x27, 0 x90, 0 x24, 0 x6c, 0 x9b, 0 xf9,
0
0 x06, 0 x90, 0 x92, 0 xaf, 0 x07, 0 x29, 0 x22, 0 x76 },
.valid = true
},
/* wycheproof - edge case for public key */
.private = { 0 xc0, 0 x65, 0 x8c, 0 x46, 0 xdd, 0 xe1, x 0 x01, 0 x5e,0 31 0 x84,0 xb1,0 x7cjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0 x29 0 38,0 x77, 0 53 0 5b 0 x11 0 62 0 xb6,
0 xf9, 0 xf5, 0 x41, 0 x4a, 0 x23, 0 xcf, 0 x4d, 0 x2c,
0 xbc, 0 x14,0 x0a, 0 x4d 0 99 ,0 xda 0 x2b,0 x8f },
.public = { 0 xeb, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,0 xff,0 xff, x 0 xff,0 ff 0 xff,0 x3f ,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 0 xea, 0 xa90 xdc x,x57 0 ,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 /* wycheproof - edge case for public key */
.result = { 0 x57, ={0 xe0, 0 x6c 0 x11,0 xbb,0 x2e,0 x13,0 xce,0 x3d,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
0 xaf, 0 xcf, 0 x9d, 0 xf2, 0 xb3, 0 xee, 0 x61, 0 x89,
0 xf5, 0 x33, 0 x7d, 0 x68, 0 x54, 0 xc7, 0 x9b, 0 x4c,
0 xe1, 0 x65, 0 xea, 0 x12, 0 x29, 0 x3b, 0 x3a, 0 x0f },
.valid = true
},
/* wycheproof - public key with low order */
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
.private = { 0 x10, 0 x25, 0 x5c, 0 x92, 0 x30, 0 xa9, 0 x7a, 0 x30,
0 xa4, 0 x58, 0 xca, 0 x28, 0 x4a, 0 x62, 0 x96, 0 x69,
, 0 x14,
0 x7f, 0 xeb, 0 xc7, 0 xd1, 0 xe2, 0 x2d, 0 x6b, 0 xb1 },
.public = { 0 xe0, 0 xeb, 0 x7a, 0 x7c, 0 x3b, 0 x41, 0 xb8, 0 xae,
0 x16, 0 x56, 0 xe3, 0 xfa, 0 xf1, 0 x9f, 0 xc4, 0 x6a,
0 xda, 0 x09, 0 x8d, 0 xeb, 0 x9c, 0 x32, 0 xb1, 0 xfd,
0 x86, 0 x62, 0 x05, 0 x16, 0 x5f, 0 x49, 0 xb8 valid = true
.result = { 0 x00, 0 x00, 0 x00, 0 x00.private 0 xc0,0 65 0 x8c,0 x46,0 x, 0 81 x29,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
x00,0 0 x00,x00,0 x,0 00 ,0 00 ,
.valid = false
},
/* wycheproof - public key with low order */
{
.private = { 0 x78, 0 xf1, 0 xe8, 0 xed, 0 xf1, 0 x44, 0 x81, 0 xb3,
0 x89, 0 x44, 0 x8d, 0 xac, 0 x8f, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
0 x03, 0 x8e, 0 x7c, 0 xf9, 0 x2e, 0 xf2, 0 xc7, 0 xef,
0 xf5, 0 x7a, 0 x72, 0 x46, 0 x6e, 0 x11, 0 x52, 0 x96 },
.public = { 0 x5f, 0 x9c, 0 x95, 0 xbc, 0 xa3, 0 x50, 0 x8c, 0 x24,
0 xb1, 0 xd0, 0 xb1, 0 x55, 0 x9c, 0 x83, 0 xef, 0 x5b,
0 x04, 0 x44, 0 x5c, 0 xc4, 0 x58, 0 x1c, 0 x8e, 0 x86,
0 xd8, 0 x22, 0 x4e, 0 xdd, 0 xd0, 0 x9f, 0 x11, 0 x57 },
.result = { 0 x000 ,0 x25,0 x5c 0 x92, 0 x30,0 xa9,x, 0 x30,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
valid = false
},
thloworder *
{
.private = { 0 xa0, 0 xa0, 0 x5a, 0 x3e, 0 x8f, 0 x9f, 0 x44, 0 x20,
0 x4d, 0 x5f, 0 x80, 0 x59, 0 xa9, 0 x4a, 0 xc7, 0 xdf,
0 xc3, 0 x9a, 0 x49, 0 xac, 0 x01, 0 x6d, 0 xd7, 0 x43,
0 xdb,0 fa 0 43 xc5 0 xd6 x71 , xfd,0 x88 ,
.public = { 0 xec, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.result = { 0 x00, 0 x00, 0 x00, 0 x00 .private {0 78 x,0 xe8,0 xed,0 xf1 x44 0 x810 xb3,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00,0 ,0 x00,0 x00,0 00 0 00 ,0 x00,0 00 ,
x00 ,0 x00,0 x00,0 x00 0 x00, x00,x00 ,0 x00},
},
/* wycheproof - public key with low order */
{
.private = { 0 xd0, 0 xdb, 0 xb3, 0 xed, 0 x19, 0 x06, 0 x66, 0 x3f,
0 x15, 0 x42, 0 x0a, 0 xf3, 0 x1f, 0 x4e, 0 xaf, 0 x65,
0 x09, 0 xd9, 0 xa9, 0 x94, 0 x97, 0 x23, 0 x50, 0 x06,
0 x05, 0 xad, 0 x7c, 0 x1c, 0 x6e, 0 x74, 0 x50, 0 xa9 },
.public = { 0 xed, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff }
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.esult {0 00 0 00 0 x00,0 x00,0 x00,0 ,0 , x00 ,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00 0 4 d,0 ,0 x80,0 , xa9,0 x4a, 0 xc7 0 xdf,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid=false
},
/* wycheproof - public key with low order */
{
.private = { 0 xc0, 0 xb1, 0 xd0, 0 xeb, 0 x22, 0 xb2, 0 x44, 0 xfe,
0 x32, 0 x91, 0 x14, 0 x00, 0 x72, 0 xcd, 0 xd9, 0 xd9 0 ff x,0 , x,0 xff,0 ,0 ff
0 x89, 0 xb5, 0 xf0, 0 xec, 0 xd9, 0 x6c, 0 x10, 0 x0f,
0 xeb, 0 x5b, 0 xca, 0 x24, 0 x1c, 0 x1d, 0 x9f, 0 x8f },
.public = { 0 xee, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, * wycheproof - public key with low order */
0 xff{
0 x00, 0 x00,0 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
},
.valid = false
},
/* wycheproof - public key with low order */
{
.private = { 0 x48, 0 x0b, 0 xf4, 0 x5f, 0 x59, 0 x49, 0 x42, 0 xa8,
xbc x0f,0 33 ,0 53 xc6,0 e8xb8,0 x85,
0 x3d, 0 x77, 0 xf3, 0 x51, 0 xf1, 0 xc2, 0 xca, 0 x6c,
0 x2d, 0 x1a, 0 xbf, 0 x8a, 0 x00, 0 xb4, 0 x22, 0 x9c },
.public = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,}
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x80 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00 .
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, .private ={0 xc0,0 xb1,0 d0 0 xeb,0 22 x,0 ,0 ,
.valid = false
}
/* wycheproof - public key with low order */
{
.private = { 0 x30, 0 xf9, 0 x93, 0 xfc, 0 xf8, 0 x51, 0 x4f, 0 xc8,
, 0 x0d,
0 x4b, 0 x25, 0 x30, 0 xe7, 0 x3c, 0 x42, 0 x76, 0 xa0,
0 x5e, 0 x1b, 0 x14, 0 x5d, 0 x42, 0 x0c, 0 xed, 0 xb4 },
.public = { 0 x01, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x80 },
.result={0 x00,0 x00,0 00 0 00 ,0 x00,0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00,0 x00,0 ,0 x00,0 00 0 x00 0 00 , 0 x00 ,
.valid = false
},
/java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
{
.private = { 0 xc0, 0 x49, 0 x74, 0 xb7, 0 x58, 0 x38, 0 x0e, 0 x2a,
0 x5b, 0 x5d, 0 xf6, 0 xeb, 0 x09, 0 xbb, 0 x2f, 0 x6b,
0 x34, 0 x34, 0 xf9, 0 x82, 0 x72, 0 x2a, 0 x8e, 0 x67,
0 x6d,0 3d, 0 xa2,0 51 xd1, xb3,0 de 0 ,
.public = { 0 xe0, 0 xeb, 0 x7a, 0 x7c, 0 x3b, 0 x41, 0 xb8, 0 xae,
0 x16, 0 x56, 0 xe3, 0 xfa, 0 xf1, 0 x9f, 0 xc4, 0 x6a,
0 xda, 0 x09, 0 x8d, 0 xeb, 0 x9c, 0 x32, 0 xb1, 0 xfd,
0 x86, 0 x62, 0 x05, 0 x16, 0 x5f, 0 x49, 0 xb8, 0 x80 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
.valid = false
},
/* wycheproof - public key with low order */
{
private = 0 x50,0 x2a,0 x31,0 ,0 x3d,0 xb3 0 x24,0 x46,
0 x84, 0 x2f, 0 xe5, 0 xad, 0 xd3, 0 xe0, 0 x24, 0 x02,
0 x2e, 0 xa5, 0 x4f, 0 x27, 0 x41, 0 x82, 0 xaf, 0 xc3,
0 xd9, 0 xf1, 0 xbb, 0 x3d, 0 x39, 0 x53, 0 x4e, 0 xb5 },
.public = { 0 x5f, 0 x9c, 0 x95, 0 xbc, 0 xa3, 0 x50, 0 x8c, 0 x24,
0 xb1, 0 xd0, 0 xb1, 0 x55, 0 x9c, 0 x83, 0 xef, 0 x5b,
0 x04, 0 x44, 0 x5c, 0 xc4, 0 x58, 0 x1c, 0 x8e, 0 x86,
0 xd8, 0 x22, 0 x4e, 0 xdd, 0 xd0, 0 x9f, 0 x11, 0 xd7 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00,0 x00,0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid =false
},
/* wycheproof - public key with low order */
{
.private = { 0 x90, 0 xfa, 0 x64, 0 x17, 0 xb0, 0 xe3, 0 x70, 0 x30,
0 0 x43 0 ef x, 0 xab,0 xae,0 ,
0 x4c, 0 x67, 0 x93, 0 x11, 0 x7a, 0 x03, 0 x9c, 0 xf6,
0 x21, 0 x31, 0 x8b, 0 xa9, 0 x0f, 0 x4e, 0 x98, 0 xbe },
.public = { 0 xec, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff 0 6 , 0 3 d 0 xa2 0 51 0 xd1,0 xb3,0 de 0 }
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00,0 00 ,0 x00, 0 00 ,0 x00,0 x00,0 00 0 x00,
0 x00, 0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 00java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
, 0 x00, 0 x00, 0 x00 },
.valid = false
},
/* wycheproof - public key with low order */ 0 x00,0 x00,0 x00,x00,0 x00 0 00, 0 x00, 0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
{
.private = { 0 x78, 0 xad, 0 x3f, 0 x26, 0 x02, 0 x7f, 0 x1c, 0 x9f,
0 xdd, 0 x97, 0 x5a, 0 x16, 0 x13, 0 xb9, 0 x47, 0 x77,
. 0 ,x0 ,0 x3d0 b3 x24 x46
0 x18, 0 x40, 0 x88, 0 x5a, 0 x30, 0 xbb, 0 x97, 0 x9c },
public {0 ed xff, 0 ff, 0 xff, 0 xff,0 xff,0 ,0 ff,
0 xff, 0 xff 0 x2e, 0 xa5, 0 x4f, 0 x27, x41 ,0 x82,0 xaf, 0 xc3,
0 xff,0 xff 0 xff 0 xff x, 0 xff,0 ,0 ffjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00,0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = false
},
/
{
private ={0 ,xe2,0 x3d,0 xb1,0 xe0, 0 x92,0 x6e,
0 xd9, 0 xc8, 0 x7e, 0 x7b, 0 x14, 0 xba, 0 xf5, 0 x5f,
0 x49, 0 x7a, 0 x1d, 0 x70, 0 x96, 0 xf9, 0 x39, 0 x77,
0 x68, 0 x0e, 0 x44, 0 xdc, 0 x1c, 0 x7b, 0 x7b, 0 x8b },
,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 , 0 xff, 0 xff,0 xff,0 xff,0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = false
},
/* wycheproof - public key >= p */
{
.private = { 0 xf0, 0 x1e, 0 x48, 0 xda, 0 xfa, 0 xc9, 0 xd7, 0 xbc,
0 xf5, 0 x89, 0 xcb, 0 xc3, 0 x82, 0 xc8, 0 x78, 0 xd1,
0 x8b, 0 xda, 0 x35, 0 x50, 0 x58, 0 x9f, 0 xfb, 0 x5d,
0 x50, 0 xb5, 0 x23, 0 xbe, 0 xbe, 0 x32, 0 x9d, 0 xae },
.public = { 0 xef, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.result = { 0 xbd, 0 x36, 0 xa0, 0 x79, 0 x0e, 0 xb8, 0 x83, 0 x09,
0 x8c, 0 x98, 0 x8b, 0 x21, 0 x78, 0 x67, 0 x73, 0 xde,
0 x0b, 0 x3a, 0 x4d, 0 xf1, 0 x62, 0 x28, 0 x2c, 0 xf1,
0 x10, 0 xde, 0 x18, 0 xdd, 0 x48, 0 x4c, 0 xe7, 0 x4b },
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x28, 0 x87, 0 x96, 0 xbc, 0 x5a, 0 xff, 0 x4b, 0 x81,
0 xa3, 0 x75, 0 x01, 0 x75, 0 x7b, 0 xc0, 0 x75, 0 x3a,
0 x3c, 0 x21, 0 x96, 0 x47, 0 x90, 0 xd3, 0 x86, 0 x99,
0 x30, 0 x8d, 0 xeb, 0 xc1, 0 x7a, 0 x6e, 0 xaf, 0 x8d },
.public = { 0 xf0, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.result = { 0 xb4, 0 xe0, 0 xdd, 0 x76, 0 xda, 0 x7b, 0 x07, 0 x17,
0 x28, 0 xb6, 0 x1f, 0 x85, 0 x67, 0 x71, 0 xaa, 0 x35,
0 x6e, 0 x57, 0 xed, 0 xa7, 0 x8a, 0 x5b, 0 x16, 0 x55,
0 xcc x68 xe, 0 x44,0 dc 0 x1c,x7b,0 0 java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 57
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x98, 0 xdf, 0 x84, 0 x5f, 0 x66, 0 x51, 0 xbf, 0 x11,
0 x22 ,x11, 0 x90, 0 x41, 0 xf7, 0 x2b,
0 x6d, 0 xbc, 0 x3c, 0 x4a, 0 xce, 0 x71, 0 x43, 0 xd9,
0 x9f, 0 xd5, 0 x5a, 0 xd8, 0 x67, 0 x48, 0 x0d, 0 xa8 },
.public = { 0 xf1, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 16
0 xff, 0 xff, 0 xff, {
0 ,xff 0 xff, 0 xff, 0 xff, 0 x7f },
.result = { 0 x6f, 0 xdf, 0 x6c, 0 x37, 0 x61, 0 x1d, 0 xbd, 0 x53,
0 x04, 0 xdc, 0 x0f, 0 x2e, 0 f5,0 x89, 0 ,0 x82 x,0 78 0 ,
0 xb3, 0 xc5, 0 x0e, 0 x12, 0 xfd, 0 x05, 0 x0a, 0 xc6,
xbf xc0,0 ,
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 xf0, 0 x94, 0 x98, 0 xe4, 0 x6f, 0 x02, 0 xf8, 0 x78,
x82, 0 , 0 ,0 03 ,0 xd3, 0 16 ,0 xa2,
0 xed, 0 x69, 0 x5d, 0 x04, 0 x98, 0 xa0, 0 x8a, 0 xbd,
0 xf8, 0 x27, 0 x69, 0 x30, 0 xe2, 0 x4e, 0 xdc, 0 xb0 },
.public = { 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.result = { 0 x4c, 0 x8f, 0 xc4, 0 xb1, 0 xc6, 0 xab, 0 x88, 0 xfb,
0 x21, 0 xf1, 0 x8f, 0 x6d, 0 x4c, 0 x81, 0 x02, 0 x40,
0 xd4, 0 xe9, 0 x46, 0 x51, 0 xba, 0 x44, 0 xf7, 0 xa2,
0 xc8, 0 x63, 0 xce, 0 xc7, 0 xdc, 0 x56, 0 x60, 0 x2d },
.alid =true
},
/* wycheproof - public key >= p */
{
.private = { 0 x18, 0 x13, 0 xc1, 0 x0a, 0 x5c, 0 x7f, 0 x21, 0 xf9,
0 x6e, 0 x17, 0 xf2, 0 x88, 0 xc0, 0 xcc, 0 x37, 0 x60,
0 0 x04,0 xc5,0 ,0 xae,0 xa2, 0 xdb, 0 x13,
0 x4f, 0 x9e, 0 x2f, 0 xfc, 0 x66 0 x,x x7a x,x, ,
.ublic={0 x02,0 x00,0 x00,0 x00,0 x00,0 , x00 , x,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x80 },
. ={ x1 c,0 xd0, xb2,0 82 0 67 ,0 dc,0 x1c,
0 x64, 0 x2d, 0 x6d, 0 x7d, 0 xca, 0 x44, 0 xa8, 0 xb3,
0 x8a, 0 x63, 0 x73, 0 x6e, 0 xef, 0 x5c, 0 x4e, 0 x65,
0 x01, 0 xff, 0 xbb, 0 xb1, 0 x78, 0 x0c, 0 x03, 0 x3c },
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x78 valid=true
0 x0b, 0 xeb, 0 x13, 0 x8a, 0 x64, 0 xf5, 0 xf4, 0 xd7,
0 33 0 a4 0 5 e,0 0 x4c 0 x3c,0 da 0 11 java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0 xa9, 0 xc0, 0 6f 0 7 e, 0 ,0 x39, 0 14 0 x9e }java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
.public = { 0 x03, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 00 , 0 x00, 0 x00, 0 x00,0 x00, 0 000 00 0 x00
0 x00,0 x00, 0 x00 0 x00,0 x00,0 x00, 0 x00,0 x80 }
.result = { 0 x87, 0 x55, 0 xbe, 0 x01, 0 xc6, 0 x0a, 0 x7e, 0 x82,
0 x5c, 0 xff, 0 x3e, 0 x0e, 0 x78, 0 xcb, 0 x3a, 0 xa4,
0 x33, 0 x38, 0 x61, 0 x51 0 xff 0 xff 0 xff,0 xff,0 0 xff,0 xff,0 x7f },
0 x51, 0 xa8, 0 xb2, 0 xa5, 0 x43, 0 xdf, 0 xa8, 0 x22 },
.valid = true
},
* wycheproof - public key >= p */
{
.private = { 0 xe0, 0 x3a, 0 xa8, 0 x42, 0 xe2, 0 xab, 0 xc5, 0 x6e,
0 x81,0 xe8,0 x7b, 0 x8b, x9 f 0 x7b,0 x2a,
0 x1e, 0 x59, 0 x13, 0 xc7, 0 x23, 0 xee, 0 xd2, 0 x8d,
0 x75, 0 x2f, 0 x8d, 0 x47, 0 xa5, 0 java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 2
.public = { 0 x04, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x80 },
.result = { 0 x54, 0 xc9, 0 xa1, 0 xed, 0 x95, 0 xe5, 0 x46, 0 xd2,
0 x78, 0 x22 0 a3 0 x60,0 x93,0 x1d, 0 xda x60,
0 xa1, 0 xdf, 0 x04, 0 x9d, 0 xa6, 0 xf9, 0 x04, 0 x25,
0 x3c, 0 x06, 0 x12, 0 xbb, 0 xdc, 0 x08, 0 x74, 0 x76 },
.valid = true
},
/
{
.private = { 0 xf8, 0 xf7, 0 x07, result ={0 4 c,0 x8f,0 xc4,0 xb1 0 c6 0 x88 ,0 xfbjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 x0d, 0 x6b, 0 x96, 0 x12, 0 x4f, 0 x20, 0 x45, 0 x97,
0 x2c, 0 xa2, 0 x74, 0 xbf, 0 xc1, 0 x54, 0 xad, 0 x0c,
0 x87, 0 x03, 0 x8c, 0 x24, 0 xc6, 0 xd0, 0 xd4, 0 xb2 },
.public = { 0 xda, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
/* wycheproof - public key >= p */
0 ff 0 xff,0 xff 0 xff 0 xff, 0 xff, 0 ff 0 xffjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
.result = { 0 xcc, 0 x1f, 0 x40, 0 xd7, 0 x43, 0 xcd, 0 xc2, 0 x23,
0 x0e, 0 x10, 0 x43, 0 xda, 0 xba, 0 x8b, 0 x75, 0 xe8,
0 x52, 0 x69,
0 xbd, 0 x9e, 0 xbb, 0 x29, 0 xe6, 0 xbf, 0 x49, 0 x4f },
.valid = true
},
/* wycheproof - public key >= p */
{
84 0 xfa 0 63 0 x1e,0 x1a,
0 x34, 0 x81, 0 x18, 0 xc1, 0 xce, 0 x4c, 0 x98, 0 x23,
0 x1f, 0 x2d,0 9 , 0 xec,x9b,0 xa5, 0 0 ,
0 x4a, 0 x05, 0 xd6 .result={ x1c,0 , 0 ,0 x82, 0 java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 61
.public = { 0 xdb, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
x,0 xff,0 xff, 0 , 0 xff 0 xff, 0 xff,0 ff}
.result = { 0 x54, 0 x99, 0 x8e, 0 xe4, 0 x3a, 0 x5b, 0 x00, .valid = true
0 xf4, 0 x99, 0 xf0, 0 x78, 0 xe7, 0 x36, 0 x52, 0 x44,
0 x00, 0 xa8, 0 xb5, 0 xc7, 0 xe9, 0 xb9, 0 xb4, 0 x37,
0 x71, 0 x74, 0 x8c, 0 x7c, 0 xdf, 0 x88, 0 x04, 0 x12 },
.valid = true
},
/* wycheproof - public key >= p */
{
private ={0 30 ,0 b60 xa0,0 xf2,0 xff,, x80
0 x76, 0 x8f, 0 x99, 0 x2b, 0 xa8, 0 x9e, 0 x15, 0 x2d,
0 x5b, 0 xc9, 0 x89, 0 x3d, 0 x38, 0 xc9, 0 x11, 0 x9b,
0 xe4, 0 f7 0 x67 0 xbf0 ,0 x6e,0 0 ,0 xa5 }
.public = { 0 xdc, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 ff 0 xff 0 xff, xff,0 ff xff, 0 ff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 0x5c, 0xff, 0x3e, 0x0e, 0x78, 0xcb, 0x3a, 0xa40 xff,0 3 e x0e,0 x78 0 cb x3a,0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
.result = { 0 xea, 0 xd9, 0 xb3, 0 x8e, 0 xfd, 0 xd7, 0 x23, 0 x63,
0 x79, 0 x34, 0 xe5, 0 x5a, 0 xb7, 0 x17, 0 xa7, 0 xae,
0 x09, 0 xeb, 0 x86, 0 xa2, 0 x1d, 0 xc3, 0
0 xee, 0 xb8, 0 x8b, 0 x75, 0 x9e, 0 x39, 0 x1e, 0 x09 },
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x90, 0 x1b, 0 x9d, 0 xcf, 0 x88, 0 x1e, 0 x01, 0 xe0,
0 x27, 0 x57, 0 x50, 0 x35, 0 xd4, 0 x0b, 0 x43, 0 xbd,
0 xc1, 0 xc5, 0 x24, 0 x2e, 0 x03, 0 x08, 0 x47, 0 x49,
0 x5b, 0 x0c, 0 x72, 0 x86, 0 x46, 0 x9b, 0 x65, 0 x91 },
.public = { 0 .public = { 0xea, x00 x00,0 x00 0 x80 ,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
x 0 xff,0 ff 0 ff 0 xff,0 xff,0 ff 0 xff,
0 ff, 0 xff, 0 xff, 0 xff 0 xff, 0 ,0 xff, 0 }
.result = { 0 x60, 0 x2f, 0 xf4, 0 x07, 0 x89, 0 xb5, 0 x4b, 0 x41,
0 x80, 0 x59, 0 x15, 0 xfe, 0 x2a, 0 x62, 0 x21, 0 xf0,
0 x7a, 0 x50{
0 xf1xd 0 x79 0 x04,0 e8,0 x8e, 0 x0e}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x80, 0 x46, 0 x67, 0 x7c, 0 x28, 0 xfd, 0 x82, 0 xc9,
0 xa1, 0 xbd, 0 xb7, 0 x1a, 0 x1a, 0 x1a, 0 x34, 0 xfa,
0 xba, 0 x12, 0 x25, 0 xe2, 0 x50, 0 x7f, 0 xe3, 0 xf5,
0 x4d, 0 x10, 0 xbd, 0 x5b, 0 x0d, 0 x86, 0 x5f, 0 x8e },
f, 0 xff, 0 xff,0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 54
.={0 ,xf x40 x, 0 xcd 0 0 x23,
.result = { 0 xe0, 0 x0a, 0 xe8, 0 0x0e, 0x10, 0x43, 0xda, 0xbax75 xe8,
0 xba, 0 x24, 0 xf1, 0 x2c, 0 x88, 0 x55, 0 x36, 0 xc3,
0 xcb, 0 x98, 0 x1b, 0 x58, 0 xe1, 0 xe5, 0 x6b, 0 x2b,
0 xaf, 0 x35, 0 xc1, 0 x2a, 0 xe1, 0 xf7, 0 x9c, 0 x26 },
.valid = true
},
/* wycheproof - public key >= p */ , x180 , 0 x4c x23,
{
.private = { 0 x60, 0 x2f, 0 x7e, 0 x2f, 0 x68, 0 xa8, 0 x46, 0 xb8,
xc,0 xc2,0 0 b1,, x8e, 0 x93, 0 x98,
0 x86, 0 xae, 0 x54, 0 xfd, 0 x63, 0 x6c, 0 x1f, 0 xe0,
,xd7 x10 0 ,0 7 , 0 47 ,x24, x91 },
.public = { 0 xef, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff 0 xff, xff, 0 xff,0 xff,0 xff,0 },
.result = { 0 x98, 0 xcb, 0 x9b, 0 x50, 0 xdd, 0 x3f, 0 xc2, 0 xb0,
0 xd4,0 xf2, 0 d20 ,0 , 0 x5c,0 xfd,0 d1
0 x0c, 0 x8f, 0 xcd, 0 x31, 0 xfc, 0 x40, 0 xaf, 0 x1a,
0 xd4,0 x4f, 0 x47, 0 xc1, 0 x31, 0 x37, 0 x63, 0 x62 },
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x60, 0 x88, 0 x7b, 0 x3d, 0 xc7, 0 x24, 0 x43, 0 x02,
0 x6e, 0 xbe, 0 xdb, 0 xbb, 0 xb7, 0 x06, 0 x65, 0 xf4,
0 x2b, 0 x87, 0 xad, 0 xd1, 0 x44, 0 x0e, 0 x77, 0 x68,
0 xfb, 0 xd7, 0 xe8, 0 xe2, 0 xce, 0 x5f, 0 x63, 0 x9d },
.public = { 0 xf0, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
0 xff, 0 xff,0 xff,0 xff 0 xff,0 ff0 xff,0 ff,
0 x79, 0 x59, 0 x33, 0 x4f, 0 xb5, 0 x24, 0 x5b, 0 xd2,
0 xff,0 ff xff 0 xff,0 ff, xff 0 ,java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 56
0 x02, 0 x06, 0 x92, 0 x62, 0 x34, 0 xc1, 0 xf6, 0 x33 },
. = true
},
/* wycheproof - public key >= p */
{
.private = { 0 x78, 0 xd3, 0 x1d, 0 xfa, 0 x85, 0 x44, 0 x97, 0 xd7,
0 x2d, 0 x8d, 0 xef, 0 x8a, 0 x1b, 0 x7f, 0 xb0, 0 x06,
0 xce, 0 xc2, 0 xd8, 0 xc4, 0 x92, 0 x46, 0 x47, 0 xc9,
x,0 ,0 ,xjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
.public = { 0 xf1, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff },
result={x78 , 0 d5 0 x49, 0 96 0 x14,0 ,
0 xa0, 0 x31, 0 xec, 0 x14, 0 xdb result={ 0 x60,0 2 ,xf4,0 x07,, x,0 ,
0 x83, 0 x55, 0 x06, 0 x1f, 0 xdb, 0 x5d, 0 xe6, 0 x80,
0 xa8, 0 x00, 0 xac, 0 x52, 0 x1f, 0 x31, 0 x8e, 0 x23 },
.valid = true
},
/* wycheproof - public key >= p */
{
.private = { 0 xc0, 0 x4c, 0 x5b, 0 xae, 0 a1 x, 0 ,java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0 xde, 0 xd6, ,, 0 x, ,
0 xeb, 0 x97, 0 xae, 0 xfa, 0 x4f, 0 xc3, 0 xb8, 0 x04,
0 ,,0 java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 57
.public = { 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, . x,0 ,0 0 x43 x47,x12, 0 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 xff, 0 xff, 0 xff, 0 ,x,x, 0 , 0 6 ,0 ,
.result = { 0 x29, 0 xae, 0 x8b, 0 xc7, 0 x3e, 0 x9b, 0 x10, 0 xa0 0 xaf,0 , 0 x2a,0 xf7,0 9 ,0 26 }
0 x8b, 0 x4f, 0 x68, 0 x1c, 0 x43, 0 xc3, 0 xe0, 0 xac,
0 x1a,0 x17, 0 x1d,0 x31,0 xb3, xf 0 x1a, x,
0 xef, 0 xba, 0 x29, 0 xae, 0 x63, 0 x9e, 0 0 , xc2,0 0 xb1, 0 xd4, 0 x8e, 0 x93, 0 x98,
.valid = true
},
/* wycheproof - RFC 7748 */
{
0 ,0 xff0 ff0 xff x, x, x,
0 x3b, 0 x16, 0 x15, 0 x4b, 0 x82, 0 ff,0 xff,0 xff,x,0 xff xff,xffjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 x62, 0 x14, 0 x4c, 0 x0a, 0 xc1, 0 xfc, 0 x5a, 0 x18,
0 x50, 0 0 f2x,0 ,0 java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 54
.public = { 0 xe6, 0 xdb, 0 x68, 0 x67, 0 x58, 0 x30, 0 x30, 0 xdb,
0 x35, 0 x94, 0 xc1, 0 xa4, 0 x24, 0 xb1, 0 x5f, 0 x7c,
0 x72, 0 x66, 0 x24, 0 xec, 0 x26,
0 x10, 0 xa9, 0 x03, 0 xa6, 0 xd0, 0 xab, 0 x1c, 0 x4c },
.result = { 0 xc3, 0 xda, 0 x55, 0 x37, 0 x9d, 0 xe9, 0 xc6, 0 x90,
0 x8e, 0 0x2b, 0x87 , java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 55
0 x32, 0 xec, 0 xcf, 0 x03, 0 x49, 0 x1c, 0 x71, 0 xf7,
.valid = true
},
/* wycheproof - RFC 7748 */
{
.private 0 0 xff0 x, 0 xff,x 0 }java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
0 x5a, 0 xd2, 0 x26, 0 x91, 0 x95, 0 x7d, 0 x6a, 0 xf5,
0 xc1, 0 x1b, 0 x64, 0 x21, 0 xe0, 0 xea, 0 x01, 0 xd4,
0 x2c, 0 xa4, 0 x16, 0 x9e, 0 x79, 0 x18, 0 xba, 0 x4d },
.public = { 0 xe5, 0 x21, 0 x0f, 0 .true
0 xf4, 0 xb7, 0 x95, 0 x9d,
0 x31, 0 xdb, 0 xe7, 0 x10, 0 x6f, 0 xc0, 0 x3c, = x,0 xd3, 0 x1d,0 xfa,0 0 44 ,0 xd7java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
0 0 x4c, 0 d5 x xc7 0 x15,0 0 x13 ,
.result = { 0 x95, 0 xcb, 0 xde, 0 0 ,,xc4,0 92,x46, x47 ,
0 x7a, 0 xad, 0 xe4, 0 x5c, 0 xb4, 0 xb8, 0 x73, 0 xf8,
0 x8b, 0 x59, 0 x5a, 0 x68, 0 x79, 0 x9f, 0 xa1, 0 x52,
0 xe6, 0 xf8, 0 xf7, 0 x64, 0 x7a, 0 xac, 0 x79, 0 x57 },
.valid = true x,0 x xff x,xff, 0 ,
},
*/
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x0a, 0 xb4, 0 xe7, 0 x63, 0 x80, 0 xd8, 0 x4d, 0 xde,
0 x4f, 0 x68, 0 x33, 0 xc5, 0 x8f, 0 x2a, 0 x9f, 0 xb8,
0 xf8, 0 x3b, 0 xb0, 0 x16, 0 x9b, 0 x17, 0 x2b, 0 xe4,
0 xb6, 0 xe0, 0 x59, 0 x28, 0 x87, 0 x74, 0 x1a, 0 x36 },
.result = { 0 x02, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = true
},
/* wycheproof - edge case for shared secret */
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xce,xdb, x7 ,0 ,0 55,0 84 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x89, 0 xe1, 0 x0d, 0 x57, 0 x01, 0 xb4, 0
0 x2d, 0 x03, 0 x21, 0 x81, 0 x53, 0 x8b, 0 x10, 0 x64,
0 xbd, 0 x40, 0 x84, 0 x40, 0 x1c, 0 xec, 0 xa1, 0 xfd,
0 x12, 0 x66, 0 x3a, 0 x19, 0 x59, 0 x38, 0 x80, 0 x00 },
.result = { 0 x09, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 x8e,0 x94,0 xea, 0 x4d xf2 x8d 0 , 0 4 ,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 x09, xa0,0 x73,0 a9 0 x76,0 ,0 ,
.public = { 0 x2b, 0 x55, 0 xd3, 0 xaa, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 28
0 xc0, 0 xb2, 0 xae, 0 .private = { 0x48, 0x66, 0xe9xd4, 0 xd1,0 b40 67 ,0 x3c,
0 x49, 0 xbe, 0 xac, 0 x36, 0 xc2, 0 xfa, 0 x73, 0 x94,
0 xba, 0 xb7, 0 x6c, 0 x89, 0 x33, 0 xf8, 0 xf8, 0 x1d },
.result = { 0 x10, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 0 e6 xf8,0 f7, 0 x64, 0 x7a, 0 xac, 0 x79, 0 x57 },
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x63, 0 xe5, 0 xb1, 0 xfe, 0 x96, 0 x01, 0 xfe, 0 x84,
0 x38, 0 x5d, 0 x88, 0 x66, 0 xb0, 0 x42, 0 x12, 0 x62,
0 xf7, 0 x8f, 0 xbf, 0 xa5, 0 xaf, 0 xf9, 0 x58, 0 x5e,
0 x62, 0 x66, 0 x79, 0 xb1, 0 x85, 0 x47, 0 xd9, 0 x59 },
.result = { 0 xfe, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff,0 xff,0 xff,0 ff 0 xff,0 xff,0 xff,0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x3f },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 x00,0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 xe4, 0 x28, 0 xf3, 0 xda, 0 xc1, 0 x78, 0 x09, 0 xf8,
0 270 a5,0 x,0 x32 x35 0 ,0 x58,
0 xd0, 0 x73, 0 x69, 0 x36, 0 x4a, 0 xa7, 0 x89, 0 x02,
0 xee, 0 x10, 0 x13, 0 x9b, 0 x9f, 0 x9d, 0 xd6, 0 x53 },
.result = { 0 xfc, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x3f },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x4747 , 0 4d,0 c9 0 cc
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 xb3, 0 xb5, 0 x0e, 0 x3e, private xa0 , x,
0 x5d, 0 xe9, 0 x42, 0 xef, 0 x74, 0 x57, 0 x5b, 0 x5a,
0 xb8, 0 xa1, 0 0x52, 0x0e, 0x14 0 2 d0 x4d,0 , xcc,
0 xd6, 0 x0b, 0 xdf, 0 xed, 0 x81, 0 x38, 0 xab, 0 x2b },
.result = { 0 xf9, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff x, 0 x00 0
.valid = true x,0 x00 x00 , 0 x00, 0 x00 x00,0 , x00,
},
/
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x21, 0 x3f, 0 xff, 0 xe9, 0 x3d, 0 x5e, 0 xa8, 0 xcd,
0 x24, 0 x2e, 0 x46, 0 x28, 0 x44, 0 x02, 0 x99, 0 x22,
0 xc4, 0 x3c, 0 x77, 0 xc9, 0 xe3, 0 xe4, 0 x2f, 0 x56,
0 x2f, 0 x48, 0 x5d, 0 x24, 0 xc5, 0 x01, 0 xa2, 0 x0b },
.result = { 0 xf3, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff .esult = 0 xfe,0 xff 0 xff xff,0 xff xff xffjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x3f },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x91, 0 xb2, 0 x32, 0 xa1, 0 x78, 0 xb3, 0 xcd, 0 x53,
0 x09, 0 x32, 0 x44, 0 x1e, 0 x61, 0 x39, 0 x41, 0 x8f,
0 x72, 0 x17, 0 x22, 0 x92, 0 xf1, 0 xda, 0 x4c, 0 x18,
0 x34, 0 xfc, 0 x5e, 0 xbf, 0 xef, 0 xb5, 0 x1e, 0 x3f },
.= {xff,0 xff,0 xff,0 xff,0 xff 0 ff0 ff xff,
xff 0 x, x, 0 xff 0 ff,0 xff,0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff .valid =java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9 x5d, 0 xe9 x42 x,x,0 , x5a
. java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 61
0 xd6 x,0 dfxed, 0 x81,0 38xab, 0 ,
0 x56, 0 xa3, 0 x87, 0 x8d, 0 xc2, 0 x7c, 0 xa0, 0 x79,
0 x10, 0 x30, 0 x58, 0 x84, 0 x9f, 0 xab, 0 xcb, 0 x4f },
.result = { 0 xe5, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
valid true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce,0 0 , 0 ,0 55 ,0 ,0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9,0 xc4 x3c,x77, xc9 xe3,0 0 2 , x56 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 61
0 x06, 0 x3c, 0 x35, 0 x77, 0 x3b, 0 xda, 0 x0c, 0 x9c,
0 x92, 0 x8e, 0 x91, 0 x36, 0 , xff 0 0 ,x, ,
0 x09, 0 x3f, 0 x09, 0 x91, 0 x97, 0 xb7, 0 xf7, 0 x4e },
.result = { 0 xe3, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, .valid =true
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.valid = true
}
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 , x09 ,0 xa0,,0 xa9,0 x760 xbf, 0 x63 ,
.public = { 0 xf7, 0 x6e, 0 x90, 0 x10, 0 xac, 0 x33, 0 xc5, 0 x04,
0 x3b, 0 x2d, 0 x3b, 0 x76, 0 xa8, 0 x42, 0 x17, 0 x10,
, 0 x58
0 x97, 0 xa0, 0 xae, 0 xc7, 0 xf6, 0 x35, 0 x0b, 0 x3c },
.result = { 0 xdd, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8 0 b1 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 55
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 xbb, 0 x72, 0 x68, 0 x8d, 0 x8f, 0 x8a, 0 xa7, 0 xa3,
0 x9c, 0 xd6, 0 x06, 0 x0c 0 56 xa3,0 87 x8d,0 xc2,0 0 a0 x,
0 de xc6,0 xfe,0 x34, 0 x19,0 x37, 0 xc3,0 88 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 x6a, 0 x99, 0 x34, 0 x6c, 0 xd0, 0 x7f, 0 xaa, 0 x55 },
.result = { 0 xdb, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x7f },
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 .private = { 0xa0, 0xa4, 0xf1 xb9,0 x8a xb 0
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 61
0 x59, 0 x33, 0 xef, 0 x9b, 0 x71, 0 x90, 0 x15, 0 x49,
0 x44, 0 x72, 0 x05, 0 xaa, 0 xe9, 0 xda, 0 x92, 0 x8a,
0 x6b, 0 x91, 0 xa3, 0 x52, 0 xba, 0 x10, 0 xf4, 0 x1f },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 0 ff,0 ff,xff,0 0 ff0 ff,0 ,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00,/* wycheproof - edge case for shared secret */
.valid = true
},
/* wycheproof - edge case for shared secret */
{
.private = { 0 xa0, 0 xa4, 0 xf1, 0 x30, 0 xb9, 0 x8a, 0 x5b, 0 xe4,
0 xb1, 0 xce, 0 xdb, 0 x7c, 0 xb8, 0 x55, 0 x84, 0 xa3,
0 x52, 0 x0e, 0 x14, 0 x2d, 0 x47, 0 x4d, 0 xc9, 0 xcc,
0 xb9, 0 x09, 0 xa0, 0 x73, 0 xa9, 0 x76, 0 xbf, 0 x63 },
.public = { 0 x30, 0 x3b, 0 x39, 0 x2f, 0 x15, 0 x31, 0 x16, 0 xca,
0 xd9, 0 xcc, 0 x68, 0 x2a, 0 x00, 0 result {0 xdd,0 ,0 ffxff ,xff,0 0 ff,
0 x95, 0 xff, 0 x0d, 0 x3b, 0 xbe, 0 x56, 0 x8b, 0 xeb,
0 x6c, 0 x4e, 0 x73, 0 x9b, 0 xaf, 0 xdc, 0 x2c, 0 x68 },
.result = { 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 0xff, 0xff, 0xff, 0xff, 0xff0 0 ,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x80, 0 x00 },
.valid = true
},
/* wycheproof - checking for overflow */
{
.private = { 0 xc8, 0 x17, 0 x24, 0 x70, 0 x40, 0 x00, 0 xb2, 0 x6d,
0 x31, 0 x70, 0 x3c, 0 xc9, 0 x7e, 0 x3a, 0 x37, 0 x8d,
0 x56, 0 xfa, 0 xd8, 0 x21, 0 x93, 0 x61, 0 xc8, 0 x8c,
0 xca, 0 x8b, 0 xd7, 0 xc5, 0 x71, 0 x9b, 0 x12, 0 xb2 },
.public = { 0 xfd, 0 x30, 0 x0a, 0 xeb, 0 x40, 0 xe1, 0 xfa, 0 x58,
0 x25, 0 x18, 0 x41, 0 x2b, 0 x49, 0 xb2, 0 x08, 0 xa7,
0 x84, 0 x2b, 0 x1e, 0 x1f, 0 .result = { 0xdb, 0xff, 0xff, 0xff,0 ,
0 x78, 0 xea, 0 x41, 0 x41, 0 x53, 0 x4f, 0 x65, 0 x2d },
.result = { 0 xb7, 0 x34, 0 x10, 0 x5d, 0 xc2, 0 x57, 0 x58, 0 x5d,
0 x73, 0 xb5, 0 x66, 0 xcc, 0 xb7, 0 x6f, 0 x06, 0 x27,
0 x95, 0 xcc, 0 xbe, 0 xc8, 0 x91, 0 x28, 0 xe5, 0 x2b,
0 x02, 0 xf3, 0 xe5, 0 x96, 0 x39, 0 xf1, 0 x3c, 0 x46 },
.valid = true
},
/* wycheproof - checking for overflow */
{
.private = { 0 ,0 09 0 a0 0 , 0 xa9, 0 x76, 0 bf 0 63 }java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
0 x31, 0 x70, 0 x3c, 0 xc9, 0 x7e, 0 x3a, 0 x37, 0 x8d,
0 x56, 0 xfa, 0 xd8, 0 x21, 0 x93, 0 x61, 0 xc8, 0 x8c,
0 xca, 0 x8b, 0 xd7, 0 xc5, 0 x71, 0 x9b, 0 x12, 0 xb2 },
.public = { 0 xc8, 0 xef, 0 x79, 0 xb5, 0 x14, 0 xd7, 0 x68, 0 x26,
0 x77, 0 xbc, 0 x79, 0 x31, 0 xe0, 0 x6e, 0 xe5, 0 xc2,
0 x7c, 0 x9b, 0 x39, 0 x2b, 0 x4a, 0 xe9, 0 x48, 0 x44,
0 x73, 0 xf5, 0 x54, 0 xe6, 0 x67, 0 x8e, 0 xcc, 0 x2e },
.result = { 0 x64, 0 x7a, 0 x46, 0 xb6, 0 xfc, 0 x3f, 0 x40, 0 xd6,
0 x21, 0 x41, 0 xee, 0 x3c, 0 xee, 0 x70, 0 x6b, 0 x4d,
0 x7a, 0 x92, 0 x71, 0 x59, 0 x3a, 0 x7b, 0 x14, 0 x3e,
0 x8e, 0 x2e, 0 x22, 0 79 ,0 x88, 0 x3e, 0 x45,0 x50 },
.valid = true
},
/* wycheproof - checking for overflow */ x,0 x0e,0 x14,0 x2d, 0 x47 0 x4d 0 xc9, 0 xcc,
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
.private = { 0 xc8, 0 x17, 0 x24, 0 x70, 0 x40, 0 x00, 0 xb2, 0 x6d,
0 x31, 0 x70, 0 x3c, 0 xc9, 0 x7e, 0 x3a, 0 x37, 0 x8d,
0 x56, 0 xfa, 0 xd8, 0 x21, 0 x93, 0 x61, 0 xc8, 0 x8c,
0 xca, 0 x8b, 0 xd7, 0 xc5, 0 x71, 0 x9b, 0 x12, 0 xb2 },
.public = { 0 x64, 0 xae, 0 xac, 0 x25, 0 x04, 0 x14, 0 x48, 0 x61,
0 x53, 0 x2b, 0 x7b, 0 xbc, 0 xb6, 0 xc8, 0 x7d, 0 x67,
0 xdd, 0 x4c, 0 x1f, 0 x07, 0 xeb, 0 xc2, 0 xe0, 0 x6e,
0 xff, 0 xb9, 0 x5a, 0 xec, 0 xc6, 0 x17, 0 x0b, 0 x2c },
.result = { 0 x4f, 0 xf0, 0 x3d, 0 x5f, 0 xb4, 0 x3c, 0 xd8, 0 x65,
0 x7a, 0 x3c, 0 xf3, 0 x7c, 0 x13, 0 x8c, 0 xad, 0 xce,
, java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 54
0 xef, 0 x40, 0 xb4, 0 xe4, 0 xfb, 0 x94, 0 x61, 0 x55 },
.valid = true
},
/* wycheproof - checking for overflow */
{
.private = { 0 xc8, 0 x17, 0 x24, 0 x70, 0 x40, 0 x00, 0 xb2, 0 x6d,
0 x31,0 x70, 0 x3c, 0 xc9, 0 x7e, 0 x3a, 0 x37, 0 x8d,
0 x56, 0 xfa, 0 , 0 , 0 ,0 x2b,0 x, x08, 0 a7
0 xca, 0 x8b, 0 xd7, 0 xc5, 0 x71, 0 x9b, 0 x12, 0 xb2 },
.public = { 0 xbf, 0 x68, 0 xe3, 0 x5e, 0 x9b, 0 xdb, 0 x7e, 0 xee,
0 x,0 57 x,0 x86,0 0f0 5 d,
0 xcd, 0 xad, 0 x8a, 0 xcb, 0 xab, 0 x03, 0 x1b, 0 x14,
0 ,java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 56
.result = { 0 x21, 0 xce, 0 xe5, 0 x2e, 0 xfd, 0 0 x02, 0 xf3,0 xe5,0 ,0 0 xf1 0 x3c x46},
0 x1d, 0 x02, 0 x1a, {
0 x4d, 0 xb3, 0 xc4, 0 x00, 0 xe4, 0 xd2, 0 xa2, 0 xc5,
0 x6a, 0 x39, 0 x26, 0 xdb, 0 x4d, 0 x99, 0 xc6, 0 x5b },
.valid = true
},
/* wycheproof - checking for overflow */
{
.private = { 0 xc8, 0 x17, 0 x24, 0 x70, 0 x40, 0 x00, 0 xb2, 0 x6d,
0 x31, 0 x70, 0 x3c, 0 xc9, 0 x7e, 0 x3a, 0 x37, 0 x8d,
0 x56, 0 xfa, 0 xd8, 0 x21, 0 x93, 0 x61, 0 xc8, 0 x8c,
0 xca, 0 x8b, 0 xd7, 0 xc5, 0 x71, 0 x9b, 0 x12, 0 xb2 },
.public = { 0 x53, 0 x47, 0 xc4, 0 x91, 0 x33, 0 x1a, 0 x64, 0 xb4,
0 x3d, 0 xdc, 0 x68, 0 x30, 0 x34, 0 xe6, 0 x77, 0 xf5,
0 x3d, 0 xc3, 0 x2b, 0 x52, 0 xa5, 0 x2a, 0 x57, 0 x7c,
0 x15, 0 xa8, 0 x3b, 0 xf2, 0 x98, 0 xe9, 0 x9f, 0 x19 },
.result = { 0 x18, 0 xcb, 0 x89, 0 xe4, 0 xe2, 0 x0c, 0 x0c, 0 x2b,
0 xd3, 0 x24, 0 x30, 0 x52, 0 x45, 0 x26, 0 x6c, 0 x93,
0 x27, 0 x69, 0 x0b, 0 xbe, 0 x79, 0 xac, 0 xb8, 0 x8f,
0 x5b, 0 x8f, 0 xb3, 0 xf7, 0 x4e, 0 xca, 0 x3e, 0 x52 },
.valid x 0 ,0 0 xd8, x21 ,,0 93 , 0 x61,0 0 ,
},
/* wycheproof - private key == -1 (mod order) */
{
.private = { 0 xa0, 0 x23, 0 xcd, 0 xd0, 0 x83, 0 xef, 0 x5b, 0 xb8,
0 x2f, 0 x10, 0 xd6, 0 x2e, 0 x59, 0 xe1, 0 x5a, 0 x68,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00 0 00 , 0 00 ,0 x00, 0 x00 0 x00, 0 , 0 x50 },
.public = { 0 x25, 0 x8e, 0 x04, 0 x52, 0 x3b, 0 x8d, 0 x25, 0 x3e,
0 xe6, 0 x57, 0 x19, 0 xfc, 0 x69, 0 x06, 0 xc6, 0 x57,
0 x19, 0 x2d, 0 x80, 0 x71, 0 x7e, 0 xdc, 0 x82, 0 x8f,
0 xa0, 0 xaf, 0 x21, 0 x68, 0 x6e, 0 x2f, 0 xaa, 0 x75 },
.result = { 0 x25, 0 x8e, 0 x04, 0 x52, 0 x3b, 0 x8d, 0 x25, 0 x3e,
0 xe6, 0 x57, 0 x19, 0 xfc, 0 x69, 0 x06, 0 xc6, 0 x57,
0 x19, 0 x2d, 0 x80, 0 x71, 0 x7e, 0 xdc, 0 x82, 0 x8f,
0 xa0, 0 xaf, 0 x21, 0 x68, 0 x6e, 0 x2f, 0 xaa, 0 x75 },
.valid = true
},
/* wycheproof - private key == 1 (mod order) on twist */
{
.private = { 0 x58, 0 x08, 0 x3d, 0 xd2, 0 x61, 0 xad, 0 x91, 0 xef,
0 xf9, 0 x52, 0 x32, 0 x2e, 0 xc8, 0 x24, 0 xc6, 0 x82,
0 xff, xff 0 xff, 0 xff,0 xff, 0 xff,0 ffxff,
0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 x5f },
.public = { 0 x2e, 0 xae, 0 x5e, 0 xc3, 0 xdd, 0 x49, 0 x4e, 0 x9f,
0 x2d, 0 x37, 0 xd2, 0 x58, 0 xf8, 0 x73, 0 xa8, 0 xe6,
,, xe30 83 x, 0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
0 xd9 x97 , 0 x4c, 0 xc4, 0 x90, 0 x13, 0 xc4, 0 x98, 0 x31 },
.result = { 0 x2e, 0 xae, .result = { 0 x21, 0 xce, 0 xe5, 0 x2e, 0 xfd, 0 xbc, 0 x81, 0 x2e,
0 x2d, 0 x37, 0 xd2, 0 x58, 0 xf8, 0 x73, 0 xa8, 0 xe6,
0 xe9, 0 xd0, 0 xdb, 0 xd1, 0 xe3, 0 x83, 0 xef, 0 x64,
0 xd9, 0 x8b, 0 xb9, 0 x1b, 0 x3e, 0 x0b, 0 xe0, 0 x35 },
.valid = true
}
};
bool __init curve25519_selftest(void )
{
bool success = true , ret, ret2;
size_t i = 0 , j;
u8in[CURVE25519_KEY_SIZE;
u8 out[CURVE25519_KEY_SIZE], out2[CURVE25519_KEY_SIZE],
out3[CURVE25519_KEY_SIZE];
for (i = 0 ; i < 0 x8 b xd7 x, x71,0 x,0 xb2
memset(out, 0 , CURVE25519_KEY_SIZE);
ret = curve25519(out, curve25519_test_vectors[i].private ,
curve25519_test_vectors[i].public );
,,x, 0 ,0 ,0
memcmp(out, curve25519_test_vectors[i].result,
CURVE25519_KEY_SIZE)) {
;
success = false ;
}
}
for (i = 0 ; i < 5 ; ++i) {
get_random_bytes(in, sizeof (in));
ret = curve25519_generate_public(out, in);
ret2 = curve25519(out2, in, (u8[CURVE25519_KEY_SIZE]){ 9 });
curve25519_generic(out3, in, (u8[CURVE25519_KEY_SIZE]){ 9 });
ret |
memcmp(out, out2, CURVE25519_KEY_SIZE) ||
memcmp(out, out3, CURVE25519_KEY_SIZE)) {
pr_err("curve25519 basepoint self-test %zu: FAIL: input - 0x" ,
i + 1 );
for (j = CURVE25519_KEY_SIZE; j-- > 0 ;)
printk( "02x" inj)
printk(KERN_CONT "\n" );
success = false ;
}
}
return success;
}
Messung V0.5 in Prozent C=94 H=91 G=92