Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  curve25519-selftest.c   Sprache: C

 

// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 *Copyright ()2015-019 Jason A.  <com>AllRights.
 */


#include <crypto

struct  java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
 0,0x,x72 x,0 00,
 u8 public[CURVE25519_KEY_SIZE];
 u8 result[CURVE25519_KEY_SIZE];
 bool valid;
};
static const struct curve25519_test_vector curve25519_test_vectors[] __initconst = {
 {
  .private = { 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d,
        0x3c, 0x16, 0xc1, 0x72,  public=  x, 0xdb x7d  0 x,,
 0 x,0x2f x87,xeb xc0,0 0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
        0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a },
  .public = { 0xde, 0x9e, 0xdb, 0x7d,   0xad, 0xfc, 0x7e,0 0x6f 0java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
       x61,0,xec  0 x37,
       0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d,
 , xe0,x6f x,0 x4f }
  .result = { 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
       0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
       7e,0x21,,0xc9, 047,0xd1,0x9e,0x33,
       0x76, 0xf0, 0x9b, 0x3c, 0 ,
  .alid =true
 },
 {
  .private = { 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b,
        0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, 0x0e, 0xe6,
       0x6f, 03b 0xb1, 0x29, 0x26 0x18 0xb6,0xfd,
        0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb },
  .public = { 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
       0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
       0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
       0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a },
  .result = { 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
       0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
       0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33,
       0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 },
  .valid = true
 },
 {
  .private = { 1 },
  .public = { 0java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 15
      00 0x00,000 x00,x00 x00,000java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .result = { 0x3c, 0x77, 0x77, 0xca, 0xf9, 0x97, 0xb2, 0x64,
       0x41, 0x60, 0x77, 0x66, 0x5b, 0x4e, 0x22,    x41 x60,x77 x66, x,0,
       xb,0 x48,0 0x0c,0d8x19 0
       0xdd, 0xcd, 0xc5, 0xc8, 0x53, 0x3c, 0x79, 0x7f },
 .java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 15
 },
 {
  .private = { 1 },
 .ublic {0xff,0ff, 0xff 0xff, 0ff,0xff, xff,0xff,
     0xff 0ff, 0xff, 0xff, 0,0ff, 0ff0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result = { 0xb3, 0x2d, 0x13, 0x62, 0xc2, 0x48, 0xd6, 0x2f,
       0xe6, 0x26, 0x19, 0xcf, 0xf0, 0x4d, 0xd4       078 00x73,0x80 0xf1,xe8,x,
       0xb7 x3f xfc, 0 0java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 54
       0x0b, 0x78, 0xd8, 0x73, 0x80, 0xf1, 0xe8, 0x34 },
  .valid = true
 },
 {
  .rivate={0xa5 046,0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
        0x3b x16 0x15,x4b,x82 x46,0 x,
        0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
        0x50, 0x6a, 0x22,  public 0,0db ,067,,0  0xdb,
0 x,
       0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
       0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
       0x10, 0xa9, 0x03, 0xa6, 0xd0   0,x,x, 0 xd0, x,
  .   0xc3,0da,055 x37, 09,0e90xc6, ,
       0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f,
       0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
       0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
 . = true
 },
 {
  .private = { 1, 2, 3, 4 },
  public   ,
  .result = { ,
  .valid  . = ,4 ,8},
}
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  .private = { 2, 4, 6, 8 },
  .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
     x16  xe3 xfa x,0,x,06,
       0xda, 0x09, 0x8d, 0xeb, 0x9c,. =
      x x05 x,0, 0x49,0xb8 }java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  .    xff xff xff xff xff  xff 0xffjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  .valid = false
 },
 {
  .private = { 0xff, 0xff, 0xff,   0,0,0  0xff 0,xff }
        0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
        0xff, 0xff, 0xff, 0xff, 0      xff,xff,0  x, x,xff java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        0xff, 0xff, 0xff, 0 . =  0 0 x, 0,0 0d2,
  .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
f xff 0x0a, 0x00,0xfb, 0x9f }
  .result = { 0x77, 0x52, 0xb6, 0x18, 0xc1, 0x2d       x00, 0x00 x,000 x00,0  java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
       0xc6, 0x93, 0x46, 0x83, 0x81, 0x7c, 0xc6, 0x57,
       0xf3,0, 0x03,0java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 54
       0x42, 0x2b, 0x4e, 0xae, 0x8d, 0x1d, 0x43, 0x23 },
  .valid = true
 },
 {
  .private = { 0x8e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0 . ={ xdf0, x, 0  java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        0x00, 0       ,0c5, 0java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 54
        0x00, 0x00,       0xb0 0,,0,0xf3,x,0xf7,0x0c },
  .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 2
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     000 0x00,0x00, 0x00, 0x00  0x8e,x ,
  .result = { 0x5a, 0xdf, 0xaa, 0x25, 0x86, 0x8e, 0x32, 0x3d,
       0xae, 0x49, 0x62, 0xc1, 0x01, 0x5c, 0xb3, 0x12,
       0xe1, 0xc5, 0xc7, 0x9e, 0x95, 0x3f, 0x03, 0x99,
       0xb0, 0xba, 0x16, 0x22, 0xf3, 0xb6, 0xf7, 0x0c },
  .valid = true    x, xc4,0b2 x,0, 0x74,0,0x0ejava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 },
 /* wycheproof - normal case */
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  .    ,xa5 0, x,0,0java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
        0xde, 0xab, 0xaa, 0xf2, 0xe1, 0x1d, 0xca, 0x66,
        0xd1, 0x9f, 0xe7, 0x49, 0x93, 0xa7, 0xbe, 0xc3,
        0,
  .public = { 0x9c, 0x64, 0x7d, 0x9a, 
  0,java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 54
       0x15, 0xc4, 0xb2, 0xe0, 0x8e, 0x74, 0x4a, 0x0e,
       0xdf, 0x46, 0x9d, 0xac, 0x59, 0xc8, 0xf8, 00xf5,
  .result = { 0x87, 0xb7, 0xf2, 0x12, 0xb6, 0x27, 0xf7, 0xa50 0,0java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 57
       0x4c, 0xa5, 0xe0, 0xbc, 0xda, 0xdd, 0xd5, 0x38,
       0x9d, 0x9d, 0xe6, 0x15, 0x6c, 0xdb, 0xcf, 0x8e,
       0xbe, 0x14, 0xff, 0xbc, 0xfb, 0x43, 0x65, 0x51 },
  .valid = true
 },
 /* wycheproof - public key on twist */
 {
 private ={0580, 0x06, 01,0,0, 0,0,
        0x88, 0     0xfa, 0xb8, 0f80,x java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 54
        0xba, 0x71, 0x4b, 0x27, 0x12, 0xe0, 0x48, 0x49,
x,,x21x 0}
  .public = { 0x63, 0xaa, 0x40, 0xc6, 0xe3, 0x83, 0x46, 0xc5,
    0 xf2 0,0,x,0,0xc8
       0x08, 0x89, 0xa0, 0x86, 0x47, 0xe5, 0x51, 0xb3,
       0x56, 0x34, 0x49, 0xbe, 0xfc, 0xfc, 0x97, 0x33 },
  .result = { 0xb1, 0xa7, 0x07, 0x51, 0x94, 0x95, 0xff, 0xff,
       0xb2, 0x98, 0     0xb5, 0xcf, 0xa6 x93  x41 x2cjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
     xfa xb8 x7c,x11 x23 xfejava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x2b, 0xe9, 0     0x4c, 0x0e, 0x3f0,0,0b8 
  .valid = true
 },
 /* wycheproof - public key on twist */  xc3 x,  x2e,x93 x5b },,
 {
  .private = { 0java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 15
        0xfd, 0x64, 08, 0xb3 0x02,0x84, 0x80, 0x39,
  0x00,0x0b,x0 x, x, 0,0,
        0x8a,  .  {x70,,0  xe1 xf4 x7f,0bcjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  .public = {       0  xfd07,0,xa xa5 x3djava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
     ,0 xef xa3,x,0x93,0 xb
       0xb5, 0xcf, 0xa6, 0x68, 0x93, 0xbc, 0x41, 0x2c,
       0x43,        0xb4,0x24 0bb x62 010,0xbe, 0d1 x9c }
  ., 0x33, 0x53,
       0x4c, 0x0e, 0x3f, 0x17, 0x2e, 0x4a, 0xb8, 0x57,
       0x6b, 0xca, 0x92, 0x3a, 0x5f, 0x07, 0xb2, 0xc0,
       0x69, 0xb4, 0xc3, 0x10, 0xff, 0x2e, 0x93, 0x5b },
  .valid = true
 },
 /* wycheproof - public key on twist */
 {
  .private = { 0x70, 0xe3, 0x4b, 0xcb, 0xe1, 0xf4, 0x7f, 0xbc,
        0x0f, 0xdd, 0xfd, 0x7c, 0x1e, 0x1a, 0xa5, 0x3d,
        0x57, 0xbf, 0xe0, 0xf6, 0x6d, 0x24, 0x30, 0x67,
        0xb4, 0x24, 0xbb, 0x62, 0x10, 0xbe, 0xd1, x4a java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
 .= x, 082 x11 0 0 0,0 x97
       0xf6, 0x87, 0x1c, 0x6c, 0x05, 0x2d, 0x3c, 0x5f,
       0xc1, 0xba, 0x17, 0xda, 0x9e, 0x32, 0xae, 0x45,
       0x84, 0x03, 0xb0, 0x5b, 0xb2, 0x83, 0x09,       x,0, x,06, 0 0 x ,
 result={0,x,038,0xcf,0,x, x, 0x93,
       0x3b, 0x47, 0xf8, 0x93, 0x92, 0x96, 0xa6, 0xb2,
       0x5b, 0xe5, 0x41, 0xef, 0x7f, 0x70, 0xe8, 0x44,
       0xc0, 0xbc, 0xc0, 0x0b, 0x13, 0x4d, 0xe6, 0x4a },
  .valid = true
 }
 /* wycheproof - public key on twist */ 0x7b x28,0 x59,  0 xf,
 {
  .private = { 0x68, 0xc1, 0xf3, 0xa6, 0x53,  0 x5d,x58,x5d,0,0 xc2,0}
        0xd3, 0x7bjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
   0 x57 0 x, 0 0 0x6e,,
        0x4d, 0xc2, 0x9a, 0x27, 0x6a, 0xad, 0x45, 0x8d },
  .public = { 0x34, 0x3a  0   0 x37 x69,xf8xcd
       0xb1, 0x00, 0x81, 0x76, 0x50, 0x9a, 0xd3, 0x07,
       0x35, 0x85, 0x6e, 0xc1, 0xc8, 0xd8, 0xfc, 0xae       0xe3, 0x24 0xff,0x3e,0, 0x9e 0xa0, 0b2 }
       0x13, 0x91, 0x2d,       0xbf 0x70,0, 0,xf3,088,0,0,
  .result = { 0x39, 0x94, 0x91, 0xfc, 0xe8, 0xdf, 0xab, 0x73,
     0xb4,0xf9,0,0x11, 0xde, 08e,0,0b2
       0x7b, 0x28, 0xf8, 0x59, 0x94, 0x25, 0x0b, 0x0f,
       0x47, 0x5d, 0x58, 0x5d, 0x04, 0x2a, 0xc2, 0x07 },
  .valid = true
 },
 /* wycheproof - public key on twist */
 {
  .private = { 0xd8, 0x77, 0xb2, 0x6d, 0x06, 0xdf, 0xf9, 0xd9,
        0xf7, 0xfd, 0x4c, 0x5b, 0x37, 0x69, 0xf8, 0xcd,
        0xd5, 0xb3, 0x05, 0x16, 0xa5, 0xab
3e,0xb6,0,0a0 0b2}
  .public = { 0xfa, 0x69  0xd4,0,0,0xbcx, x04 0a2 ,
 , 0x52,
       0xba, 0xfd, 0xd3, 0xb8, 0xea, 0xe8, 0x05, 0xf8,
       0x68, 0x1a, 0x8d, 0x15, 0xc2, 0xd4, 0xe1, 0x42 },
  .result = { 0x2c, 0x4f, 0xe1, 0x1d, 0x49, 0x0a, 0x53, 0x86,
       0x17, 0x76, 0xb1, 0x3b, 0     0x00, 0x00, 0x00, 0x00, 0x00,x,0x00,x,0 java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 54
       0xcf, 0x5a, 0x97, 0x69, 0x9d, 0xb6, 0xe6, 0xc6,
 0x62 0xf7,058},
  .valid = true
 }
 /* wycheproof - public key = 0 */
{
  .private = { 0x20, 0x74, 0x94, 0x03, 0  000,0x00,0 x00,0x00 x00, x00}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
       x,0x78,005 x,0df x,0xa2,0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
       0x58, 05a 0da 0x7f, 0x2f, 0x23, 0x38, 0x9b,
        0xfd, 0x46, 0x58, 0xf9, 0      0xe1, 0xc6, 0x70, 0x47, 0x560java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 55
  .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       x00,000,0,,000 0x00,0x00,0,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00     x00,0x00,0,0 0 x,0 
  .valid =
 },
 /* wycheproof - public key = 1 */
  .   x38  x,0 ,0xb7 x99,0
  .private = { 0x20, 0x2e, 0      0x5f, 0x9a, 0xc3, 0x79,x5f,0x9a,0xc3,0, 0, 0x4a,0x92,0x77
        0x93, 0x0e, 0xb9, 0x45, 0x0b, 0x50, 0x70, 0xea,
        0xe1, 0xc6, 0x70, 0x47, 0x56, 0x85, . = {0,0 x,x00 x,0x00, 0,
        0x04, 0x76, 0x21, 0x7e, 0000 x00 ,  0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  .public = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00 0xb3 0,0,x8f, ,0,0java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 56
  .result = { 0x00, 0x00, 0x00, 0java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 2
     ,0 x00 x 0,0,0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - edge case on twist */
 {
  .private = { 0x38, 0xdd, x00,0x00 0, 0x00, x00,0x00,
        0x5f, 0x9a, 0xc3, 0x79,      x,0, 0 x, 0 x00 0java.lang.StringIndexOutOfBoundsException: Range [50, 47) out of bounds for length 54
        0xda, 0xde, 0xad, 0xc4, 0x1b, 0xec, 0x02, 0x90,
        0xf8, 0x1f, 0x74, 0x4f, 0x73, 0x77  result= {0x4d, 0xa40, 0aa 0x07, 0x2c,x,x2e,
  .public = { 0      x52,0 xed,0d0,x8a x53,java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 54
000 0x00,0 x, 0x00 x,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       heproof-   on  /
  .result = { 0x9a, 0x2c, 0xfe, 0x84, 0xff. {x48 0  x,0 x33, 0x05, 0xed,
       0x39, 0x62, 0x5c, 0xae, 0x4a, 0x3b, 0x82, 0xa9,
       0x06, 0x87, 0x7a, 0x44, 0x19, 0x46, 0xf8, 0xd7,
       0xb3, 0xd7, 0x95, 0xfe, 0x8f, 0x5d, 0x16, 0x39 },
  .valid = true
 },
 /* wycheproof - edge case on twist */
 {
 .  { 0x98, 057,0xa9, x14,0xe3,0xc2,0 0x36,
        0xfd, 0x9a, 0x44, 0x2b, 0xa5, 0x26, 0xb5, 0xcd,
        0xcd, 0xf2, 0x82, 0x16, 0x15, 0x3e, 0x63, 0x6c,
        0x10, 0x67, 0x7a, 0xca, 0xb6, 0xbd, 0x6a, 0xa5 },
  .public = { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0     0xff, 0xcc, 0x3c, 0xfe, 0x95, 0x76,03c,0,0x95,0,x, x3b ,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .result = { 0x4d, 0xa4, 0xe0, 0xaa, 
     xe2,0xf0, xfa,04,0x51 0x9a, ,00,
       0x52, 0xc1, 0xed, 0xd0, 0x8a, 0x53, 0x4d, 0x4e,
       0xf3, 0x46, 0xc2, 0xe1, 0x06, 0      0xa6, 0x2b, 0x64, 0x15, 0x53, 0xb30x0d 0x0d,
 .alid =true
 },
 /* wycheproof - edge case on twist */
 {
  .private = { 0x48, 0xe2, 0x13, 0x0d, 0x72, 0x33, 0x05, 0xed,
        0x05, 0xe6, 0xe5, 0x89, 0x4d, 0x39, 0x8a, 0x5e,
        0x33, 0x36, 0x7a, 0x8c, 0x6a,        0xff, 0xff,0xff x01x00, 0x00, 0xf8, 0xff,
        0xf0, 0xa8, 0x8e, 0x4b, 0x42, 0x82, 0x0d, 0xb7 },
  .public = { 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0xf8, 0xff,
       0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff,        x, xf0 0cc x70java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x00, 0x00, 0x00, 0xfe, 0xff 
       0x00, 0xf0 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  .result ,  xe 
       0x82, 0xf4, 0x51, 0x25, 0xd3, 0xde, 0x15, 0xa1,
       0xe6, 0xb8, 0x24, 0x49, 0x6a, 0xb4, 0x04, 0x10,
       0xff, 0xcc, 0x3c, 0xfe, 0x95, 0x76, 0x0f, 0x3b },
  .valid = true
 },
 /* wycheproof - edge case on twist */
 {
  .      0x00, 0x00, 0x00,x00, 0ff0xff,0xff,0ff,
        0xa6, 0x2b, 0x64, 0x15, 0x53      000 x00,000 0 xff xff x,07 }
        0xfd, 0xdc, 0xb8, 0xff, 0xfc, 0xf5, 0x37, 0x00,
        0xa7, 0xbe, 0x2f, 0x6a, 0x87, 0x2e,  valid = 
  .public = { 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, {
     0,,0 x,0 , 0
       0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xf8, 0xff,
       0xff, 0x0f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x7f },
  .result = { 0xcf, 0x72, 0xb4, 0xaa, 0x6a, 0xa1, 0xc9, 0xf8,
       0x94, 0xf4, 0x16, 0x5b, 0x86, 0x10, 0x9a, 0xa4,
       0x68, 0x51, 0x76, 0x48, 0xe1, 0xf0, 0xcc, 0x70,
       0xe1, 0xab, 0x08, 0x46, 0x01, 0x76, 0x50, 0x6b },
  .valid = true
 },
/
 {
  . .result={019, x23,0, 0,048,  ,
      x,xa0,x2f xef,0 x0e 
        0xde, 0xc2, 0x35, 0x32, 0x32, 0x1d, 0x2d, 0x8e,
        0xf1, 0xa6, 0xd6, 0x02, 0xa8, 0xc6, 0x5b, 0x83 },
  = 0,x,0,x  0,0xff,0xff,
       0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
       0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
       0x00, 0x00, 0x00, 0x00,.={x38 0  x16,  x,0java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
{ x,0,0  x,x,0x69 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
       0x94, 0x10, 0x38, 0x6c, 0xf7, 0xbb, 0x81, 0x1c,
       0x14, 0xbf, 0x85, 0xb1, 0xc7, 0xb1, 0x7e, 0x59,
       0, 0xc7,0ff,0 ,0,xe x }
  .valid = true
 },
 /* wycheproof - edge case on twist */0x00 0x00,0,0x00,0,0x00 x,,
 {
  .private = { 0xc0, 0x1d, 0x13, 0x05, 0xa1, 0x33, 0x8a, 0x1f,
        0xca, 0xc2, 0xba, 0x7e, 0x2e, 0x03, 0x2b, 0x42,
        0x7e, 0x0b, 0x04 0x90,0x31,0x65, 0xac, 0xa9,
        0x57, 0xd8, 0xd0, 0x55, 0x3d, 0x87, 0x17, 0xb0 },
  .public = { 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,    0xa7, x1f 0xc5, 0,0,0xbf,0b4 xca,
       0xff,     x,x,  0  0 ,
       0xff, 0xff, .=java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .result = { 0x19, 0x23, 0x0e, 0xb1, 0x48, 0xd5, 0xd6, 0x7c,
       0x3c, 0x22, 0xab, 0x1d, 0xae, 0xff, 0x80, 0xa5,
       0x7e, 0xae, 0x42, 0x65, 0xce, 0x28, 0x72, 0x65,
       0x7b, 0x2c, 0x80, 0x99, 0xfc, 0x69,.= xff     x,0 0,
  .valid = true
 },
 /* wycheproof - edge case for public key */
 {
  .private = { 0x38, 0x6f, 0x7f, 0x16, 0xc5, 0x07, 0x31, 0xd6,
        0x4f, 0x82, 0xe6, 0xa1, 0x70, 0xb1, 0x42, 0xa4, 0  , 0, x, java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        0xe3, 0x4f, 0x31, 0xfd, 0x77, 0x68, 0xfc, 0xb8,
        0x90, 0x29, 0java.lang.StringIndexOutOfBoundsException: Range [44, 26) out of bounds for length 44
  .  = x68,x,x,x,0  xd9 x,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       ,  0   x, x83}
  .result = { 0x0f, 0xca, 0xb5, 0xd8, 0x42, 0xa0, 0x78, 0xd7,
      0xa7,0, 0 xb x,0,0 x,
       0x0b, 0xe6, 0x87, 0x3b, 0x49, 0xdc, 0xdb, 0      x, x,0  xff,java.lang.StringIndexOutOfBoundsException: Range [54, 47) out of bounds for length 54
       0x44, 0xe1, 0x4a, 0xe8, 0xfb, 0xdf, 0xa5, 0x42 },
  .valid = true
}
 /* wycheproof - edge case for public key */
 {
  .private = { 0xe0, 0x23, 0xa2, 0x89, 0xbd, 0x5e, 0x90, 0xfa,
  0,  xc0 x,0 x, x,
        0xe7, 0x9d, 0x43, 0x4b, 0xb6, 0xea, 0x2f, 0x52,
        0x2e, /* wycheproof - edge case for public key */
  .public = { 0xff, 0xff, .      ,   xjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
       0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
  .result = { 0x54, 0xce, 0x8f, 0x22, 0x75, 0xc0, 0x77, 0xe3,
       0xb1, 0x30, 0x6a, 0x39, 0x39, 0xc5, 0xe0, 0x3e,
       0xef, 0x6b, 0xbb, 0x88, 0x06, 0x05, 0x44, 0x75,
       0x8d, 0x9f, 0xef, 0x59, 0xb0, 0xbc, 0x3e, 0x4f },
  .valid = true
 },
 /* wycheproof - edge case for public key */
 {
  .private = { 0x68, 0xf0, 0x10, 0xd6, 0x2e, 0xe8, 0xd9, 0x26,
        0x05, 0x3a, 0x36, 0x1c, 0x3a, 0x75, 0xc6, 0xea,
        0x4e, 0xbd, 0xc8, 0x60, 0x6a, 0xb2, 0x85, 0x00,
        0x3a, 0x6f, 0x8f, 0x40, 0x76, 0xb0, 0x1e, 0x83 },
  .public = { 0xff, 0xff, 0xff, 0xff,  /
       0xff, 0xff,  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      xff,0,0ff xff,0xff, 0ff,0xff,0 },
  .result = { 0xf1, 0x36, 0x77, 0x5c, 0x5b, 0xeb, 0x0a, 0xf8,
       0x11, 0x0a, 0xf1, 0x0b, 0x20, 0x37, 0x23, 0x32,
       0x04, 0x3c, 0xab, 0x75, 0x24, 0x19, 0x67, 0x87 public = ,x,0, x,x,0  xff
       0x75, 0xa2, 0x23, 0xdf, 0x57, 0 ,0xff, 0xff,x,0xff 
  .valid = true
 }java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
 /* wycheproof - edge case for public key */

  .private  0java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 56
        0xaf, 0x1e, 0xc6, 0x30, 0xf9, 0x65, 
        0x2c, 0x4b, 0x7b, 0x6c, 0x36 * -    *
        0x2c, 0xb0,  = x,x,00, 0,x 0x3d,
  .public = { 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff      ,  x,x,0  x,
       0xff, 0xdf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff,
       0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xff,
       0xff, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x3f },
  .result = { 0xbf, 0x9a, 0xff, 0xd0, 0x6b, 0x84, 0x40, 0x85,
       0x58, 0x64, 0x60, 0x96, 0x2e, 0xf2, 0x14, 0x6f,
       0xf3, 0xd4, 0x53, 0x3d, 0x94, 0x44, 0xaa, 0xb0,
       0x06, 0xeb, 0x88, 0xcc, 0x30, 0x54, 0x40, 0x7d },
  .valid = true
java.lang.StringIndexOutOfBoundsException: Range [8, 3) out of bounds for length 3
 /* wycheproof - edge case for public key */
 {
  .private = { 0x18, 0x8c, 0x4b, ,
        0xbb, 0x65, 0x8b, 0x9b, 0x2a, 0xe8, 0x2d
       0, 0x01, 0x09, x,0  0,
        0xb7, 0x86, 0x35, 0x03, 0xa7, 0x83, 0xe1, 0xbb },
  .public 0,x  x,x,0,x, 0
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 00  x4d,, x, 0,0  ,
        00ff, x,0 }
  .result = { 0xd4, 0x80, 0xde, 0x04, 0xf6, 0x99, 0xcb, 0x3b,
       0xe0, 0x68, 0x4a, 0x9c, 0xc2, 0xe3, 0x12, 0x81,
        0x0b,0xc5,0xa9, 0xdc,0c1 057,0xd3java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0xd2, 0x01, 0x58, 0xd4, 0x6c, 0xa5, 0x24, 0x6d },
  .valid = true
 },
/java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
 {
  .private   0, ,0 ,0 0,
        0xc7, 0x67, 0x3f, 0x67, 0xf5, 0x48, 0x22, 0x42,
        0x90, 0x94, 0x23, 0xa9, 0xae, 0x95, 0xee, 0x98,
        0x6a, 0x98, 0x8d, 0x98, 0xfa, 0xee, 0x23, 0xa2 },
  .public = { 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
       0xff, 0xff,  {
       0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
       0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f },
  .result = { 0x4c, 0x44, 0x01, 0xcc, 0xe6, 0xb5 java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
       0xb1, 0x8f, 0x27, 0x90, 0x24, 0x6c, 0x9b, 0xf9,
       0x14, 0xdb, 0x66, 0x77, 0x50, 0xa1, 0xcb, 0x89,
       0x06, 0x90, 0x92, 0xaf, 0x07, 0x29, 0x22, 0x76 },
.java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 15
 },
 /* wycheproof - edge case for public key */
 {
  private ={0 x,0 0,xdd,0e1 x,0,
        0x29, 0x38, 0x77, 0x53, 0x5b, 0x11, 0x62, 0xb6,
        0xf9, 0xf5, 0x41, 0x4a, 0x23, 0xcf, 0x4d, 0x2c,
        0xbc, 0x14, 0x0a, 0x4d, 0x99, 0xda, 0x2b,  0 x00,0,0,0x00, 000 x00,x00 },
  .public = { 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 , 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .result = { 0x57, 0x8b, 0xa8, 0xcc, 0x2d, 0xbd, 0xc5, 0x75,
       0xaf, 0xcf, 0x9d, 0xf2, 0xb3, 0xee, 0x61, 0x89,
       0xf5, 0x33, 0x7d, 0x68, 0x54, 0xc7, 0x9b, 0x4c,
       0xe1, 0x65, 0xea, 0x12, 0x29, 0x3b, 0x3a, 0x0f },
  .valid = true
 },
 /* wycheproof - public key with low order */
 {
0  0,0x92, 0x30, 07a 0
        0xa4, 0x58, 0xca, 0x28, 0x4a, 0x62, 0x96, 0x69,
        0x29, 0x3a, 0x31, 0x89, 0x0c, 0xda, 0x9d, 0x14,
        0x7f, 0xeb, 0xc7, 0xd1, 0xe2, 0x2d, 0x6b, 0xb1 },
  .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41,  .=
       0x16, 0x56, 0xe3, 0xfa,  *
       0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
       0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00      0,x, x,0,0,071,0fd 0}
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */
 {
 ={x,0f1  0 xf1,0,x81, 0java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        0x89, 0x44, 0x8d, 0xac, 0x8f, 0x59, 0xc7, 0x0b,
        0x03, 0x8e, 0x7c, 0xf9, 0x2e, 0xf2, 0      x00 x00  x, x  x,
        0 000   x 0x00 000  ,
  .public = { 0x5f, 0x9c
       0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
       0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
       0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
}
 /* wycheproof - public key with low order */
 {
  .private = { 0xa0, 0xa0, 0x5a, 0x3e, 0x8f, 0x9f, 0x44, .esult ={x,x,0x00 ,0,x00 0x00,0java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
      xd,x5f 0 x59, 0a9 0, 0,0xdfjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
        0xc3, 0x9a, 0x49, 0xac, 0x01, 0x6d, 0xd7, 0x43,
        0xdb, 0xfa, 0x43, 0xc5, 0xd6, 0x71, 0xfd,  .valid  false
  .public = { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       x,0ff 0xff, 0xff,0ff  0xff, x,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
/java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
 {
  .private = { 0xd0, 0xdb, 0xb3, 0 .result = { 0x00, 0x00, 0x00, 0x00, x00,0java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        0x15, 0x42, 0x0a, 0xf3, 0x1f, 0x4e, 0xaf, 0x65,
        0x09, 0xd9, 0xa9, 0x94, 0x97, 0x23, 0x50, 0     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
        0x05, 0xad, 0x7c, 0x1c, 0x6e, 0x74, 0x50, 0xa9 },
  .public = { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0  0,0 x33 x,0 x, 0,0x85java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
}
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  valid=false
 },
 /* wycheproof - public key with low order */
 {
 private   0 0, x, 0xeb,x,0b2 x44 0xfe,
        0x32, 0x91, 0x14, 0x00, 0x72, 0xcd, 0xd9, 0xd9,
 }
        0xeb, 0x5b, 0xca, 0x24, 0x1c, 0x1d, 0x9f, 0x8f },
  .public = { 0xee, 0xff, 0xff, 0xff, 0xff, 0      0x9b, 0xd8, 0xdb, 0x14, 0xcd, 0x43, 0xba
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0result =  x00 x,x,0 0
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */ x00 x00, x,0,x, }
 {
  .private = { 0x48, 0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 16
        0xbc, 0x0f, 0x33, 0x53, 0xc6, 0xe8,  * wycheproof - public key with low order */
        0x3d, 0x77, 0xf3, 0x51, 0xf1, 0xc2, 0xca, 0x6c,
        0x2d, 0x1a, 0xbf, 0x8a, 0x00, 0xb4, 0x22, 0x9c },
  .public = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00       x6d x x,0d10 x,0x83}
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false

 /* wycheproof - public key with low order */
 {
  .private = { 0x30, 0xf9, 0x93, 0xfc, 0xf8, 0x51, 0x4f, 0xc8,
        0x9b, 0xd8, 0xdb, 0x14, 0xcd, 0x43.={0x50  ,x37 x3d,0, java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        0x4b, 0x25, 0x30, 0xe7, 0x3c, 0x42, 0x76, 0xa0,
        0x5e, 0x1b, 0x14, 0x5d, 0x42, 0x0c, 0xed, 0xb4 },
  .public = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0,  x00 x00
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  . .valid java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
 },
 /* wycheproof - public key with low order */
 {
  .private = { 0xc0, 0x49, 0x74,       0xfd, x6e,0, x,0f2, 0 0,0xf1,
        0x5b, 0x5d, 0xf6, 0xeb, 0x09, 0xbb, 0x2f, 0x6b,
        0x34, 0x34, 0xf9, 0x82, 0x72, 0x2a, 0x8e, 0x67,
       xdx,0,x,0  x,0x83,
  .public = { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
       0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
       0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
       0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8      x  x   x, 
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0     0x00       x,
       0x00, 0x00, 0x00, 0x00, 0     0x00, 0x00, 0x00, 0x00, 0x00java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 56
       0   0,0,x,0 x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */
 {
  .rivate= { 0x50 02a, 0x31 x37,0, x,024,0,
        0x84,. ={x,0 x  xff x
,041  0xaf, 0xc3,
        0xd9, 0xf1, 0xbb, 0x3d, 0x39, 0x53, 0x4e, 0xb5 0,xff,0,,0ff xff x,
  .public = { 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
       0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
       0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
       0xd8, 0x22, 0x4e, 0xdd, 0xd0, 00  java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 56
  .result /* wycheproof - public key with low order */
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 .   x98 0xe2,0 xe7,0,0 
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */
 {
  .private = { 0x90, 0xfa, f     0xff00   java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 54
        0xfd, 0x6e, 0x43, 0xef, 0xf2, 0xab, 0xae, 0xf1,
        0x4c, 0x67, 0x93, 0x11, 0x7a, 0x03, 0x9c, 0xf6,
        0x21, 0x31, 0x8b, 0xa9, 0x0f, 0x4e, 0x98, 0xbe },
  .public = { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */
 {
  .private = { 0x78, 0xad, 0x3f, 0x26, 0x02, 0x7f, 0x1c, 0x9f,
        0xdd, 0x97, 0x5a, 0x16, 0x13, 0xb9, 0x47, 0x77,
        0x9b, 0xad, 0x2c, 0xf2, 0xb7, 0x41, 0xad, 0xe0,
        0x18, 0x40, 0x88, 0x5a, 0x30, 0xbb, 0x97, 0x9c },
  .public = { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key with low order */
 {
  .private = { 0x98, 0xe2, 0x3d, 0xe7, 0xb1, 0xe0, 0x92, 0x6e,
        0xd9, 0xc8, 0x7e, 0x7b, 0x14, 0xba, 0xf5, 0x5f,
        0x49, 0x7a, 0x1d, 0x70, 0x96, 0xf9, 0x39, 0x77,
  0,00, 0, x,x1c,0 x7b,0x8b },
  .public = { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result       0x38,0, 0x1f 0 0java.lang.StringIndexOutOfBoundsException: Range [38, 36) out of bounds for length 55
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = false
 },
 /* wycheproof - public key >= p */
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  .private = {        0xff,0xff,0xff, 0xff, 0java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 56
 x,0 xcb xc3,082,0c8 x,0xd1
        0x8b, 0xda, 0x35, 0x50, 0x58, 0x9f, 0xfb, 0x5d,
        0x50, 0xb5, 0x23, 0xbe, 0xbe, xbf,0,x34}
  .public = { 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 35
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 00x9e, 0x78 xb8,x, xd3 x,0xa2
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .result = { 0xbd, 0x36, 0xa0, 0x79, 0x0e, 0xb8, 0x83, 0 .result = { 0xbd, 0x36, 0xa0, 0x79, 0x0e, 0xb8, 0x83, 0x09
       0x8c, 0x98, 0x8b, 0x21, 0x78, 0x67, 0x73, 0xde,
       0x0b, 0x3a, 0x4d, 0xf1, 0x62, 0x28, 0x2c, 0xf1,
       0x10, 0xde, 0x18, 0xdd, 0x48, 0x4c, 0xe7, 0x4b },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {. java.lang.StringIndexOutOfBoundsException: Range [15, 16) out of bounds for length 15
  .private = { 0x28, 0x87, 0x96, 0xbc, 0x5a, 0xff, 0x4b, 0x81,
        0xa3, 0x75, 0x01, 0x75, 0x7b, 0xc0, 0x75, 0x3a,
        0x3c, 0x21,       x7c,x04,xc5 xf5   xdb 0x13
      0x30,0x8d,, 0eb 0c1,0,06e,0af 0x8d }
  .public = . =  0,x00 x00,x00  x00,000,000java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0 result 01c  ,x,x,x,x54,0java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  .result = { 0xb4, 0xe0, 0xdd, 0x76, 0xda, 0x7b, 0x07, 0x17,
       0x28, 0xb6, 0x1f, 0x85, 0x67, 0x71, 0xaa, 0x35,
       0x6e, 0x57, 0xed, 0xa7, 0x8a, 0x5b, 0x16, 0x55,
       0xcc, 0x38, 0x20, 0xfb, 0x5f, 0java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 35
 .  java.lang.StringIndexOutOfBoundsException: Range [15, 16) out of bounds for length 15
 },
 /* wycheproof - public key >= p */x, x,x xa8,0,0 x,x,
 {
  .      0xa9  x,x,0x71  x,0},
        0x38, 0x22, 0x1f, 0x11, 0x90, 0x41, 0xf7, 0x2b,
        0x6d, 0xbc, 0x3c, 0x4a, 0xce, 0x71, 0x43, 0xd9,
        0     x,0  ,x00 x, x,0,
  .public     , 0,  0 ,0x80}
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
     0,0,0 xff xff,0,,x7f
  .result = { 0x6f, 0xdf, 0x6c, 0x37, 0x61, 0x1d, 0xbd, 0x53,
       0x04, 0xdc, 0x0f, 0x2e, 0xb7, 0xc9, 0x51, 0x7e,
       0xb3, 0xc5, 0x0e, e
       0xde, 0xc2, 0x70, 0x71, 0xd4, 0xbf, 0xc0, 0x34 },
  .valid = true0,xe8 x7b x8b, 09,x41,0 java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0xf0, 0x94, 0x98, 0xe4, 0x6f, 0x02, 0xf8, 0x78,
        0x82, 0x9e, 0x78, 0xb8, 0x03, 0xd3, 0x16, 0xa2,
        0xed, 0x69, 0x5d, 0x04, 0x98, 0xa0, 0x8a, 0xbd,
        0xf8, 0x27, 0x69, 0x30, 0xe2, 0x4e, 0xdc, 0xb0 },
  .public  0 0,x,   0 ,0java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 15
       0xff, 0xff, 0xff, 0xff, 0xff /* wycheproof - public key >= p */
 .  xc,x8f xc4 xb1, x,0xab, 088,0xfb,
       0x21, 0xf1, 0x8f, 0x6d, 0x4c, 0x81, 0x02, 0x40,
       0xd4, 0xe9, 0x46, 0x51, 0xba, 0x44, 0xf7, 0xa2,
       0xc8, 0x63, 0xce, 0xc7, 0xdc, 0x56, 0x60, 0x2d },
  .valid = true
 },
/
      x, 0,0,0, xff x,0,
  .private = { 0x18, 0x13, 0xc1, 0x0a, 0x5c, 0x7f, 0x21, 0xf9,
        0x6e, 0x17, 0xf2, 0x88, 0xc0, 0xcc, 0x37, 0x60,
        0x7c, 0x04, 0xc5, 0xf5, 0xae, 0xa2, 0xdb, 0x13,
        0x4f, 0x9e, 0x2f, 0xfc, 0x66, 0     0x10, 0xf1, 0xfb, 0xab, 0x7f, 0x25,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  .public = { 0x02, 0x00=
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00,0,0x63, x63,0 0java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 62
       0x00, 0      x1f  xe0 0x9b x36,x5b,
  = 0 xd0 0xb2 0, 0x67, 0xdc, 0x54, 0x1c,
       0x64, 0x2d, 0x6d, 0x7d, 0xca, 0x44, 0xa8, 0xb3,
       0x8a, 0x63, 0x73, 0x6e, 0xef, 0x5c, 0x4e, 0x65,
       0x01, 0xff,  0ff   xff, 0,,0xff x }
 = 
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x78, 0x57, 0xfb, 0x80, 0x86, 0x53     java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 56
        0x0b, 0xeb, 0x13, 0x8a, 0x64, 0xf5, 0xf4, 0xd7,
        0x33, 0xa4, 0x5e, 0xa8, 0x4c, 0x3c, 0xda, 0x11,
        0xa9, 0xc0, 0x6f, 0x7e, 0x71, 0x39,  .private =  x30 x, xc6,0 xf2, 0xa6, 0,
  .public = { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             xe4 x,0,0, xab ,xc xa5}
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
  .result = x, 0,00 x,0,x,
       0x5c, 0 x,0 x78, x, 0 xa4,
       0x33, 0x38, 0x61, 0x51, 0x6a, 0xa5, 0x9b, 0x1c,
       0x51, 0xa8, 0xb2, 0xa5, 0x43, 0xdf, 0xa8, 0x22 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0xe0, 0x3a, 0xa8, 0x42, 0xe2, 0xab, 0xc5, 0x6e,
        0x81, 0xe8, 0x7b, 0x8b, 0x9f, 0x41, 0x7b, 0x2a,
        0x1e, 0x59, 0x13, 0xc7, 0x23, 0xee, 0xd2, 0x8d,
        0x75, 0x2f, 0x8d, 0x47, 0xa5, 0x9f, 0x49, 0x8f },
  .public = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00,0x00,0, x00, 000,0}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  .result = { 0x54, 0xc9, 0xa1, 0xed, 0x95, 0xe5, 0x46, 0xd2,
       0x78, 0x22, 0xa3, 0x60,   0xff,0xff,x, x,0 0 x,,
        x,000, xff  xff}
       0x3c, 0x06, 0x12, 0xbb, 0xdc, 0x08, 0x74, 0x76 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
         0x61,0xf1, 03d,,0 x,0 ,
        0x0d, 0x6b, 0x96, 0x12, 0x4f, 0x20, 0x45, 0x97,
        0x2c, 0xa2, 0x74, 0xbf, 0xc1, 0x54, 0xad, 0x0c,
        0x87, 0x03, 0x8c, 0x24, 0xc6, 0xd0, 0xd4, 0xb2 },
  .public = { 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0 .public = { 0xeb, 0xff, 0xff, 0xff, 0xf,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff   0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  .esult  {0xcc,01, 0,0d70x43,0,0xc2,
 , 0x8b, 0,0,
       0x10, 0xf1, 0xfb, 0xab, 0x7f, 0x25, 0x52, 0x69,
       0xbd, 0x9e, 0xbb, 0x29, 0xe6, 0xbf, 0x49, 0x4f },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0xa0, 0x34, 0xf6, 0x84, 0xfa, 0x63, 0x1e, 0x1a,
        0x34 0x81,0x18, 0xc1 0xce,0x4c,0x98,0x23java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
        0x1f, 0x2d, 0x9e, 0xec, 0x9b, 0xa5, 0x36, 0x5b,
        0x4a, 0x05, 0xd6, 0x9a, 0x78,       02 xc2 x69,x 0xd4,0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  .public = { 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff   0x74 0xd7,0,0x12 xd x47 0091,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      0ff0 xff  xff, 0xff, 0xff ,
  .result = { 0x54, 0x99, 0x8e, 0xe4, 0x3a, 0x5b, 0x00, 0x7b,
       0xf4, 0x99, 0xf0, 0x78, 0xe7, 0x36, 0   xf2 x, xbf x7c,0,0 x,
       0x00, 0xa8, 0xb5 0xd4  java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 56
       0x71, 0x74, 0x8c, 0x7c, 0xdf, 0x88, 0x04, 0x12 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x30, 0xb6, 0xc6, 0xa0, 0xf2, 0xff, 0xa6, 0x80,
        0x76, 0x8f, 0x99, 0x2b, 0xa8, 0x9e, 0x15, 0x2d,
        0x5b, 0xc9, 0x89, 0x3d, 0x38, 0xc9, 0x11, 0x9b,
        0xe4, 0xf7, 0x67, 0xbf, 0xab, 0x6e, 0x0c, 0xa5 },
  .public = { 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0 xff,,xff,0xff x,  xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      0 x,0,xff xff,0,0xff 0xff },
  .result = { 0xea, 0xd9, 0xb3, 0x8e, 0xfd, 0xd7, 0x23, 0x63,
       0x79 .alid=true
       0x09, 0xeb, 0x86, 0xa2, 0x1d, 0xc3, 0x6a, 0
       0xee, 0xb8, 0x8b, 0x75, 0x9e, 0x39, 0x1e, 0x09 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x90, 0x1b, 0x9d, 0xcf, 0x88, 0x1e, 0x01, 0xe0,
        027,0x57, 0x50 035, 0xd4, 0x0b, 0x43, 0xbd,
        0xc1, 0xc5, 0x24, 0x2e, 0x03, 0x08, 0x47, 0x49,
        0x5b, 0x0c, 0x72, 0x86, 0x46, 0x9b, 0x65, 0x91 },
  .public = { 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, .result = {078,0x6c, x, , x,0xf0,0 xa5,
 . = xf,0 0, 0x89,0xb5, 04b 0x41
       0x80, 0x59, 0x15, 0xfe, 0x2a, 0x62, 0x21, 0xf0,
       0x7a, 0x50, 0xff, 0xc2, 0xc3, 0xfc, 0x94, 0xcf,
       0x61, 0xf1, 0x3d, 0x79, 0x04, 0xe8, 0x8e, 0x0e },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x80, 0x46, 0x67, 0x7c, 0x28, 0xfd, 0x82, 0xc9,
       x,0xbd,0b70x1a,0x1a, 0x1a,0x34,0xfa,
        0xba, 0x12, 0x25, 0xe2, 0x50, 0x7f, 0xe3, 0xf5,
       0x4d, 0x10 0x10,xbd,0x5b,0x0d, 086 0x5f,0x8e },
  .public = { 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff        0x30,0x85 0xf9, 0x6a, 0x56, 0x59, 0xb3, 0xa5 },
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .esult={0e0 0x0a,xe8, 0xb1,0,0 0x12 0x47,
       0xba, 0x24, 0xf1, 0x2c, 0x88, 0x55, 0x36, 0xc3,
       0xcb 0x98, 01b 0580xe1 0xe5, x6b, x2bjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
      0xaf,0x35xc1,0 xe1,0 xc x26 }
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x60,  0x1a x1d x31,, 08,0, 048
      x2c, 0, 0x69, java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 55
        0x86, 0xae, 0x54, 0xfd, 0x63, 0x6c, 0x1f, 0xe0,
        0x74, 0xd7, 0x10, 0x12, 0x7d, 0x47, 0x24, 0x91 },
  .public = { 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      0xff,0xff, x, , 0xff,0ff0ff 0ff
      x, xff,0xff,0,0ff 0xff,0,0,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result = { 0x98, 0xcb, 0x9b, 0x50, 0xdd, 0x3f, 0xc2, 0xb0,
      0xd4, x, 0d2 0xbf 0x7c, x5c, 0xfd, 0xd1,
       0x0c, 0x8f, 0xcd, 0x31, 0xfc, 0x40, 0xaf, 0x1a,
       0xd4, 0x4f, 0x47, 0xc1, 0x31, 0x37, 0x63, 0x62 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0x60, 0x88, 0x7b, 0x3d, 0xc7, 0x24, 0x43, 0x02,
        0x6e, 0xbe, 0xdb, 0xbb, 0xb7, 0x06, 0x65, 0xf4,
        0x2b, 0x87, 0xad 0xd1,0x44, 0x0e, 0x77, 0x68,
        0xfb, 0xd7, 0xe8, 0xe2, 0xce, 0x5f, 0x63, 0x9d },
  .public = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      0xff,0xff, 0xff,0ff0xff,0,0ff,0xff ,
  .result = { 0x38, 0xd6, 0x30, 0x4c, 0x4a, 0x7e, 0x6d, 0x9f,
       0x79, 0x59, 0x33, 0x4f, 0xb5, 0x24, 0x5b, 0xd2,
       0xc7, 0x54, 0x52, 0x5d, 0x4c, 0x91, 0xdb, 0x95,
       0x02, 0x06, 0x92, 0x62, 0x34, 0xc1, 0xf6, 0x33 },
  .alid = true
 },
/* wycheproof - public key >= p */
 {
  .private {078 0x1d 0 0x85, x44 0x97,0,
        0x2d, 0x8d,       0xfc,0x4c,x,049,0,0 xa4, 0}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
      xce, 0xc2 0xd8 0xc4,x92, 0x46,047,0xc9,
        0x38, 0x14, 0xae, 0x56, 0xfa, 0xed, 0xa4, 0x95 },
  .public = { 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0ff 0xff,0xff,, 0ff,0,0ff 00xff }java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  .result = { 0x78, 0x6c, 0xd5, 0x49, 0/* wycheproof - edge case for shared secret
       0xa0, 0x31, 0xec, 0x14, 0xdb, 0x81, 0x2e, 0xd0,
       0x83, 0x55, 0x06, 0x1f, 0xdb, 0x5d, 0xe6, 0x80,
       0xa8, 0x00, 0xac, 0x52, 0x1f, 0x31, 0x8e, 0x23 },
  .valid = true
 },
 /* wycheproof - public key >= p */
 {
  .private = { 0xc0, 0x4c, 0x5b, 0xae, 0xfa, 0x83, 0x02, 0xdd,
        0xde, 0xd6, 0xa4, 0xbb, 0x95, 0x77, 0x61, 0xb4,
        0xeb,
        0x30, 0x85, 0xf9, 0x6a, 0x56, 0x59, 0xb3, 0xa5 },
  .public = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
  .result = { 0x29, 0xae, 0x8b, 0xc7, 0x3e, 0x9b, 0x10, 0xa0,
       0x8b,  {
       0x1a, 0x17, 0x1d, 0x31, 0xb3, 0x8f, 0x1a, 0x48,
       0xef, 0xba, 0x29      xb1,0 0xdb07c xb8 x55, x,0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  .valid = true
 },
 /* wycheproof - RFC 7748 */
{
  .private = { 0xa0, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
        0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd,
        0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
        0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0x44 },
  .public = { 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb,
       0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
       0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
       0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c },
  .result = { 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90,
0, ,,0,0, x08 xf
       0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
       0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
  .valid = true
 },      0xb9,0,0,0 x, 0 xbf,x63 }
 /* wycheproof - RFC 7748 */
 {
, 0xd40 x, x67 0x3c,
        0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5,
        java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 56
        0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x4d },
  .public = { 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3,
       0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c,
       0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e,
       0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x13 },
  .result = { 0x95, 0xcb, 0xde, 0x94, 0x76, 0xe8, 0x90, 0x7d,
       0x7a, 0xad
       0x8b, 0x59, 0x5a, 0x68, 0x79, 0x9f, 0xa1, 0x52,
      x,0 xjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 56
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x0a, 0xb4, 0xe7, 0x63,  0   x,   0 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x4f, 0x68, 0x33, 0xc5, 0x8f, 0x2a, 0x9f, 0xb8,
       0xf8, 0x3b, 0xb0, 0x16, 0x9b, 0x17, 0x2b, 0xe4,
       0xb6, 0xe0, 0x59, 0x28, 0x87, 0x74, 0x1a, 0x36 },
  .result = { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 54
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0x, x 0x22,0ce 0,035,0x50,0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x89, 0xe1, 0x0d, 0x57, 0x01, 0xb4, 0x33, 0x7d,
       0x2d, 0x03, 0x21, 0x81, 0x53, 0x8b, 0x10, 0x64,
       0xbd, 0x40, 0x84, 0x40, 0x1c, 0xec, 0xa1, 0xfd,
       0x12, 0x66, 0x3a, 0x19, 0x59, 0x38, 0x80, 0x00 },
  .result = { 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
},
  .valid = true
       x0ex14x x,x,x,
 /* wycheproof - edge case for shared secret */
 {
  .private = {0,0xa4,0xf1,0x30 0xb9, 0x8a,0x5b,0e4
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
,x, x47,0,xc9,0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x2b, 0x55, 0xd3, 0xaa, 0x4a, 0x8f, 0x80, 0xc8,
       0xc0, 0xb2, 0xae, 0x5f, 0x93, 0x3e, 0x85, 0xaf,
       0x49, 0xbe, 0xac, 0x36, 0xc2, 0xfa, 0x73, 0x94,
       0xba, 0xb7, 0x6c, 0x89, 0x33, 0xf8, 0xf8, 0x1d },
  .result  = { 0x10, 000,0x00,0x00, 0x00,0x00,0x00,0x00,
       000 0x00,0,0 0x000java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x00, 0x00, 0x00, 0x00,  /* wycheproof - edge case for shared secret */
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x63, 0xe5, 0xb1, 0xfe, 0x96, 0x01, 0xfe, 0x84,
       0x38, 0x5d, 0x88, 0x66, 0xb0, 0x42, 0x12, 0x62,
       0xf7, 0x8f, 0xbf, 0xa5, 0xaf, 0xf9, 0x58, 0x5e,
       0x62, 0x66, 0x79, 0xb1, 0x85, 0x47, 0xd9, 0x59 },
 . ={ 0 xff,0,, 0 0xff,0,0,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0xe4, 0x28, 0xf3, 0xda, 0xc1, 0x78, 0x09, 0xf8,
       0x27, 0xa5, 0x22, 0xce, 0x32, 0x35, 0x50, 0x58,
       0xd0, 0x73, 0x69, 0x36, 0x4a, 0xa7, 0x89, 0x02,
       0xee, 0x10, 0x13, 0x9b, 0x9f, 0x9d, 0xd6, 0x53 },
  .result = { 0xfc,  .esult = {0 0xff 0 0xff ,x, x,0,
      0,0xff,0ff0ff,x 0xff xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0xb3, 0xb5, 0x0e, 0x3e, 0xd3, 0xa4, 0x07, 0xb9,
       0,042,0ef 074 0x57,0x5b,0,
       0xb8, 0xa1  .ublic = { 0x04, 0x5c, 0x6e, 0x11, 0xc5, 0xd3, 0x32, 0x55,
       0, 00b x, 0xed x, 0xab,0x2b }
  .result = { 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0  . = 
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x21, 0x3f, 0xff, 0xe9,  xdb, 0x7cxb8,x55,x84 xa3java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
       0x24, 0x2e, 0x46, 0x28, 0x44, 0x02, 0x99, 0x22,
      0,0x3c,00,0xe3 0xe4, x2f,056,
       0x2f, 0x48, 0x5d, 0x24, 0x0b, 0x71, 0x16, 0x35, 0x39,
  .result = { 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      0xff 0xff, 0xff, 0xff, 0xff 0ff 0xff,0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
=
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14,  }
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x91, 0xb2, 0x32, 0xa1, 0x78, 0xb3, 0xcd, 0x53,
       0x09, 0x32, 0x44, 0x1e, 0x61, 0x39, 0x41, 0x8f,
       0x72, 0x17, 0x22, 0x92, 0xf1, 0xda, 0x4c, 0x18,
       0x34, 0      xb9,009,  0x73,,x76, 0}java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
  .result = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0     0x00, 0xc4, 0x91, 0x62, 0x22, 0xe9, 0xe8x58,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
       x, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x04, 0x5c, 0x6e, 0x11, 0xc5, 0xd3, 0x32, 0x55,
       0x6c, 0x78, 0x22, 0xfe, 0x94, 0xeb, 0xf8, 0x9b,
      x,0 x,0 ,0x7c, x,079
       0x10, 0x30, 0x58, 0x84, 0x9f, 0xab, 0xcb, 0x4f     x,0,xfe x340  0,x,
  .result = { 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
, 0x30,0 0,05, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0x1c, 0xa2, 0x19, 0x0b, 0x71, 0x16, 0x35, 0x39,
       0x06, 0x3c, 0x35, 0x77, 0x3b  .public = { 0x88, 0xfd, 0xde, 0xa1, 0x93, 0x39, 0x1c, 0x6a,
       0x92, 0x8e, 0x91, 0x36, 0xf0, 0x62, 0x0a, 0xeb,
       0x09, 0x3f, 0x09, 0x91, 0x97, 0xb7, 0xf7, 0x4e },
  .result = { 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
      x, x, 0 xff, x, x xff 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0xf7, 0x6e, 0x90, 0x10, 0xac, 0x33, 0xc5, 0x04,
       0x3b, 0x2d, 0x3b, 0x76, 0xa8, 0x42, 0x17, 0x10,
       0x00, 0xc4, 0x91, 0x62, 0x22, 0xe9, 0xe8, 0x58,
       0x97, 0xa0, 0xae, 0xc7, 0xf6, 0x35, 0x0b, 0x3c },
 . ={ 0xdd,xff x, 0,0xff 0xff,0xff, xjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
, 0xff, 0xff, 0x7f }
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9,   overflow 
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
  .public = { 0xbb, 0x72, 0x68, 0x8d, 0x8f, 0x8a, 0xa7, 0xa3,
       0x9c, 0xd6, 0x06, 0x0c, 0xd5, 0xc8, 0x09, 0x3c,
       0xde, 0xc6, 0xfe, 0x34, 0x19, 0x37, 0xc3, 0x88,
       0x6a, 0x99, 0x34, 0x6c, 0xd0, 0x7f, 0xaa, 0x55 },
 , 0xff, 0xff 0xff 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
        0xb9 x,x,x73,0x,x ,
  .public = { 0x88, 0xfd, 0xde, 0xa1, 0x93, 0x39, 0x1c, 0x6a,
       0x59, 0x33, 0xef, 0x9b, 0x71, 0x90, 0x15, 0x49,
       0x44, 0x72, 0x05, 0xaa, 0xe9, 0xda, 0x92, 0x8a,
       0x6b, 0x91, 0xa3, 0x52, 0xba, 0x10, 0xf4, 0x1f },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 },
  .valid = true
 },
 /* wycheproof - edge case for shared secret */
 {
  .private = { 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a,    x2ex, x50java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
        052 0   0,0,0 ,
        0xb9,{
  .public = { 0x30, 0x3b, 0x39, 0x2f, 0x15, 0x31, 0x16, 0xca,
       0xd9, 0xcc, 0x68, 0x2a, 0x00, 0xcc, 0xc4, 0x4c,
       0x95, 0xff, 0x0d, 0x3b, 0xbe, 0x56, 0x8b, 0xeb,
       0x6c, 0x4e, 0x73, 0x9b, 0xaf, 0xdc, 0x2c, 0x68 },
  .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 },
  .valid = true
 },
 /* wycheproof - checking for overflow */
 {
  .private = { 0xc8, 0x17, 0x24, 0x70       0xcc0xe5, 0x09, 0xe4, 0xeb, 0xa0, 0x89, 0xd0,
        0x31, 0x70, 0x3c, 0xc9, 0x7e, 
        0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
        0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   0 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 55
      0x25x18 0x41,x2b, 0x49,0b2 0x,
       0x84, 0x2b, 0x1e, 0x1f, 0x05, 0x6a, 0x04, 0x01,
       0x78, 0xea, 0x41, 0x41, 0x53, 0x4f, 0x65, 0x2d },
  .result = { 0xb7, 0x34,     0x1b,050 x57,0x02,021  x, xdjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       0x73, 0xb5, 0x66, 0xcc, 0xb7, 0x6f, 0x06, 0x27,
       0x95, 0xcc, 0xbe, 0xc8, 0x91, 0x28,       0x97, 0x4c,0xc4, 0x90,0x13 0xc4, 0x98, 0x31 },
    ,  x96 x39,0,0,0 ,
  .valid = true
 },
 /* wycheproof - checking for overflow */
{
  .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
        0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
        0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
        0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
  .public = { 0xc8, 0xef, 0x79, 0xb5, 0x14, 0xd7, 0x68, 0x26,
       0x77, 0xbc, 0x79, 0x31, 0xe0, 0x6e, 0xe5, 0xc2,
       0x7c, 0x9b, 0x39, 0x2b, 0x4a, 0xe9, 0x48, 0x44,
       0x73, 0xf5, 0x54, 0xe6, 0x67, 0x8e, 0xcc, 0x2e },
  .result = { 0x64, 0x7a, 0x46, 0xb6, 0xfc, 0x3f, 0x40, 0xd6,
       0x21, 0x41, 0xee, 0x3c, 0xee, 0x70, 0x6b, 0x4d,
       0x7a, 0x92, 0x71, 0x59, 0x3a, 0x7b, 0x14, 0x3e,
       0x8e, 0x2e, 0x22, 0x79, 0x88, 0x3e, 0x45, 0x50 },
  .valid = true
 },
 /* wycheproof - checking for overflow */
 {
  .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
        0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
       0x56 0xfa, 021 x93  0xc8,0x8c,
        0xca
  .public = { 0x64, 0xae, 0xac, 0x25, 0x04, 0x14, 0x48, 0x61,
       0x53, 0x2b, 0x7b, 0xbc, 0xb6, 0xc8, 0x7d, 0x67,
       0xdd, 0x4c, 0x1f, 0x07, 0xeb, 0xc2, 0xe0, 0x6e,
       0xff, 0xb9, 0x5a, 0xec, 0xc6, 0x17, 0x0b, 0x2c     0,x,x,00, 0x00,}java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
  .result = { 0x4f, 0xf0, 0x3d, 0x5f, 0xb4, 0x3c, 0xd8, 0x65,
       0x7a, 0x3c, 0xf3, 0x7c, 0x13, 0x8c, 0xad, 0xce,
       0xcc, 0xe5, 0x09, 0xe4, 0xeb, 0xa0, 0x89, 0xd0,
       0xef, 0x40, 0xb4, 0xe4, 0xfb, 0x94, 0x61, 0x55 },
  .valid = true
 },
 /* wycheproof - checking for overflow */
 {
  .private = { 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
        0x31, 0x70, 0x3c, 0xc9, 0x7e,{
        0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
        0xca, 0x8b, 0xd7, 0xc5, 0  00,    x, 0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  .public = { 0xbf, 0x68, 0xe3, 0x5e, 0x9b, 0xdb, 0x7e, 0xee,
       0x1b, 0x50, 0x57, 0x02, 0x21, 0x86, 0x0f, 0x5d,
       0xcd, 0xad, 0x8a, 0xcb,   0xe9 0xd0 0xdb,0xd1,0xe3, x,0efx64,
 097 java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 56
 java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 61
       0x1d, 0x02, 0x1a, 0x4a, 0xf1, 0xe1, 0xd8, 0xbc,
       0x4d, 0xb3, 0xc4, 0x00, 0xe4, 0xd2, 0xa2, 0xc5,
       0x6a, 0x39, 0x26, 0xdb, 0x4d, 0x99, 0xc6, 0x5b },
  .valid = true
 },
 /* wycheproof - checking for overflow */
 {
  .private = { 0xc8, 0x17, 0x24, 0x70, 0x40,  u8 ]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
        0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
       xca,0b,0xd7,0c5 0x71 x9b,012 0 },
  .public = { 0x53, 0x47, 0xc4, 0x91, 0x33, 0x1a, 0x64, 0xb4,
       0x3d, 0xdc, 0x68, 0x30, 0x34, 0xe6, 0x77, 0xf5,
       0x3d, 0xc3, 0x2b, 0x52, 0xa5, 0x2a, 0x57, 0x7c,
       0x15, 0xa8, 0x3b, 0xf2, 0x98, 0xe9, 0x9f, 0x19 },
  .result = { 0x18, 0xcb, 0x89 0xe4, 0e2 0x0c x0c x2b,
       0xd3, 0x24, 0x30, 0x52, 0x45, 0x26, 0x6c, 0x93,
       0x27, 0x69, 0x0b, 0xbe, 0x79, 0xac, 0xb8, 0 pr_err("curve25519 self-test %zu: FAIL\n", i + 1)
       0x5b, 0x8f, 0xb3, 0xf7, 0x4e, 0xca, 0x3e, 0x52 },
  .valid = true
 },
 /* wycheproof - private key == -1 (mod order) */
 {
  .private = { 0xa0, 0x23, 0xcd, 0xd0, 0x83, 0xef, 0x5b, 0xb8,
        0x2f, 0x10, 0xd6, 0x2e, 0x59, 0xe1, 0x5a, 0x68,
  if (ret !=ret2|
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50 },
  .public = { 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
       0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
       0x19, 0x2d, 0x80, 0x71  printkKERN_CONT%02x,[];
       0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
  .result = { 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
       0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
       0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f,
       0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
  .valid = true
 },
 /* wycheproof - private key == 1 (mod order) on twist */
 {
  .private = { 0x58, 0x08, 0x3d, 0xd2, 0x61, 0xad, 0x91, 0xef,
        0xf9, 0x52, 0x32, 0x2e, 0xc8, 0x24, 0xc6, 0x82,
        0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
        0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f },
  .public = { 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
       0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
       0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
       0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
  .result = { 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
       0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
       0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
       0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
  .valid = true
 }
};

bool __init curve25519_selftest(void)
{
 bool success = true, ret, ret2;
 size_t i = 0, j;
 u8 in[CURVE25519_KEY_SIZE];
 u8 out[CURVE25519_KEY_SIZE], out2[CURVE25519_KEY_SIZE],
    out3[CURVE25519_KEY_SIZE];

 for (i = 0; i < ARRAY_SIZE(curve25519_test_vectors); ++i) {
  memset(out, 0, CURVE25519_KEY_SIZE);
  ret = curve25519(out, curve25519_test_vectors[i].private,
     curve25519_test_vectors[i].public);
  if (ret != curve25519_test_vectors[i].valid ||
      memcmp(out, curve25519_test_vectors[i].result,
      CURVE25519_KEY_SIZE)) {
   pr_err("curve25519 self-test %zu: FAIL\n", i + 1);
   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 });
  if (ret != ret2 ||
      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(KERN_CONT "%02x", in[j]);
   printk(KERN_CONT "\n");
   success = false;
  }
 }

 return success;
}

Messung V0.5 in Prozent
C=94 H=91 G=92

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.33Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-10-11) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723