/src/botan/src/fuzzer/os2ecp.cpp
Line | Count | Source |
1 | | /* |
2 | | * (C) 2015,2016 Jack Lloyd |
3 | | * |
4 | | * Botan is released under the Simplified BSD License (see license.txt) |
5 | | */ |
6 | | #include "fuzzers.h" |
7 | | #include <botan/ec_group.h> |
8 | | #include <botan/point_gfp.h> |
9 | | |
10 | | namespace { |
11 | | |
12 | | void check_os2ecp(const Botan::EC_Group& group, const uint8_t in[], size_t len) |
13 | 12.0k | { |
14 | 12.0k | try |
15 | 12.0k | { |
16 | 12.0k | Botan::PointGFp point = group.OS2ECP(in, len); |
17 | 12.0k | } |
18 | 12.0k | catch(Botan::Exception& e) {} |
19 | 12.0k | } |
20 | | |
21 | | } |
22 | | |
23 | | void fuzz(const uint8_t in[], size_t len) |
24 | 1.53k | { |
25 | 1.53k | if(len >= 256) |
26 | 21 | return; |
27 | | |
28 | 1.51k | static Botan::EC_Group p192("secp192r1"); |
29 | 1.51k | static Botan::EC_Group p224("secp224r1"); |
30 | 1.51k | static Botan::EC_Group p256("secp256r1"); |
31 | 1.51k | static Botan::EC_Group p384("secp384r1"); |
32 | 1.51k | static Botan::EC_Group p521("secp521r1"); |
33 | 1.51k | static Botan::EC_Group bp256("brainpool256r1"); |
34 | 1.51k | static Botan::EC_Group bp512("brainpool512r1"); |
35 | | |
36 | 1.51k | check_os2ecp(p192, in, len); |
37 | 1.51k | check_os2ecp(p224, in, len); |
38 | 1.51k | check_os2ecp(p256, in, len); |
39 | 1.51k | check_os2ecp(p384, in, len); |
40 | 1.51k | check_os2ecp(p521, in, len); |
41 | 1.51k | check_os2ecp(p521, in, len); |
42 | 1.51k | check_os2ecp(bp256, in, len); |
43 | 1.51k | check_os2ecp(bp512, in, len); |
44 | 1.51k | } |