aboutsummaryrefslogtreecommitdiffstats
path: root/src/extra_tests/fuzzers/jigs/os2ecp.cpp
blob: 61ce1bd7bf5eed4bf8b8fcce228a6f39f3b03ba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* (C) 2015,2016 Jack Lloyd
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
#include "driver.h"
#include <botan/ec_group.h>
#include <botan/point_gfp.h>

void check_os2ecp(const EC_Group& group, const uint8_t in[], size_t len)
   {
   try
      {
      PointGFp point = OS2ECP(in, len, group.get_curve());
      }
   catch(Botan::Exception& e) {}
   }

void fuzz(const uint8_t in[], size_t len)
   {
   if(len >= 256)
      return;

   static EC_Group p192("secp192r1");
   static EC_Group p224("secp224r1");
   static EC_Group p256("secp256r1");
   static EC_Group p384("secp384r1");
   static EC_Group p521("secp521r1");
   static EC_Group bp256("brainpool256r1");
   static EC_Group bp512("brainpool512r1");

   check_os2ecp(p192, in, len);
   check_os2ecp(p224, in, len);
   check_os2ecp(p256, in, len);
   check_os2ecp(p384, in, len);
   check_os2ecp(p521, in, len);
   check_os2ecp(p521, in, len);
   check_os2ecp(bp256, in, len);
   check_os2ecp(bp512, in, len);
   }