Coverage Report

Created: 2026-04-05 07:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/cryptofuzz-heapmath/include/cryptofuzz/module.h
Line
Count
Source
1
#pragma once
2
3
#include <string>
4
#include <cryptofuzz/components.h>
5
#include <cryptofuzz/operations.h>
6
#include <fuzzing/datasource/id.hpp>
7
#include <optional>
8
9
namespace cryptofuzz {
10
11
class Module {
12
    public:
13
        const std::string name;
14
        const uint64_t ID;
15
16
        Module(const std::string name) :
17
14
            name(name),
18
14
            ID(fuzzing::datasource::ID( ("Cryptofuzz/Module/" + name).c_str()))
19
14
        { }
20
21
0
        virtual ~Module() { }
22
23
0
        virtual std::optional<component::Digest> OpDigest(operation::Digest& op) {
24
0
            (void)op;
25
0
            return std::nullopt;
26
0
        }
27
0
        virtual std::optional<component::MAC> OpHMAC(operation::HMAC& op) {
28
0
            (void)op;
29
0
            return std::nullopt;
30
0
        }
31
122
        virtual std::optional<component::MAC> OpUMAC(operation::UMAC& op) {
32
122
            (void)op;
33
122
            return std::nullopt;
34
122
        }
35
0
        virtual std::optional<component::Ciphertext> OpSymmetricEncrypt(operation::SymmetricEncrypt& op) {
36
0
            (void)op;
37
0
            return std::nullopt;
38
0
        }
39
0
        virtual std::optional<component::Cleartext> OpSymmetricDecrypt(operation::SymmetricDecrypt& op) {
40
0
            (void)op;
41
0
            return std::nullopt;
42
0
        }
43
164
        virtual std::optional<component::Key> OpKDF_SCRYPT(operation::KDF_SCRYPT& op) {
44
164
            (void)op;
45
164
            return std::nullopt;
46
164
        }
47
0
        virtual std::optional<component::Key> OpKDF_HKDF(operation::KDF_HKDF& op) {
48
0
            (void)op;
49
0
            return std::nullopt;
50
0
        }
51
159
        virtual std::optional<component::Key> OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF& op) {
52
159
            (void)op;
53
159
            return std::nullopt;
54
159
        }
55
211
        virtual std::optional<component::Key> OpKDF_PBKDF(operation::KDF_PBKDF& op) {
56
211
            (void)op;
57
211
            return std::nullopt;
58
211
        }
59
186
        virtual std::optional<component::Key> OpKDF_PBKDF1(operation::KDF_PBKDF1& op) {
60
186
            (void)op;
61
186
            return std::nullopt;
62
186
        }
63
0
        virtual std::optional<component::Key> OpKDF_PBKDF2(operation::KDF_PBKDF2& op) {
64
0
            (void)op;
65
0
            return std::nullopt;
66
0
        }
67
22
        virtual std::optional<component::Key> OpKDF_ARGON2(operation::KDF_ARGON2& op) {
68
22
            (void)op;
69
22
            return std::nullopt;
70
22
        }
71
186
        virtual std::optional<component::Key> OpKDF_SSH(operation::KDF_SSH& op) {
72
186
            (void)op;
73
186
            return std::nullopt;
74
186
        }
75
165
        virtual std::optional<component::Key> OpKDF_X963(operation::KDF_X963& op) {
76
165
            (void)op;
77
165
            return std::nullopt;
78
165
        }
79
17
        virtual std::optional<component::Key> OpKDF_BCRYPT(operation::KDF_BCRYPT& op) {
80
17
            (void)op;
81
17
            return std::nullopt;
82
17
        }
83
193
        virtual std::optional<component::Key> OpKDF_SP_800_108(operation::KDF_SP_800_108& op) {
84
193
            (void)op;
85
193
            return std::nullopt;
86
193
        }
87
213
        virtual std::optional<component::Key3> OpKDF_SRTP(operation::KDF_SRTP& op) {
88
213
            (void)op;
89
213
            return std::nullopt;
90
213
        }
91
171
        virtual std::optional<component::Key3> OpKDF_SRTCP(operation::KDF_SRTCP& op) {
92
171
            (void)op;
93
171
            return std::nullopt;
94
171
        }
95
0
        virtual std::optional<component::MAC> OpCMAC(operation::CMAC& op) {
96
0
            (void)op;
97
0
            return std::nullopt;
98
0
        }
99
0
        virtual std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(operation::ECC_PrivateToPublic& op) {
100
0
            (void)op;
101
0
            return std::nullopt;
102
0
        }
103
0
        virtual std::optional<bool> OpECC_ValidatePubkey(operation::ECC_ValidatePubkey& op) {
104
0
            (void)op;
105
0
            return std::nullopt;
106
0
        }
107
83
        virtual std::optional<component::ECC_KeyPair> OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair& op) {
108
83
            (void)op;
109
83
            return std::nullopt;
110
83
        }
111
55
        virtual std::optional<component::ECCSI_Signature> OpECCSI_Sign(operation::ECCSI_Sign& op) {
112
55
            (void)op;
113
55
            return std::nullopt;
114
55
        }
115
0
        virtual std::optional<component::ECDSA_Signature> OpECDSA_Sign(operation::ECDSA_Sign& op) {
116
0
            (void)op;
117
0
            return std::nullopt;
118
0
        }
119
50
        virtual std::optional<component::ECGDSA_Signature> OpECGDSA_Sign(operation::ECGDSA_Sign& op) {
120
50
            (void)op;
121
50
            return std::nullopt;
122
50
        }
123
63
        virtual std::optional<component::ECRDSA_Signature> OpECRDSA_Sign(operation::ECRDSA_Sign& op) {
124
63
            (void)op;
125
63
            return std::nullopt;
126
63
        }
127
55
        virtual std::optional<component::Schnorr_Signature> OpSchnorr_Sign(operation::Schnorr_Sign& op) {
128
55
            (void)op;
129
55
            return std::nullopt;
130
55
        }
131
45
        virtual std::optional<bool> OpECCSI_Verify(operation::ECCSI_Verify& op) {
132
45
            (void)op;
133
45
            return std::nullopt;
134
45
        }
135
0
        virtual std::optional<bool> OpECDSA_Verify(operation::ECDSA_Verify& op) {
136
0
            (void)op;
137
0
            return std::nullopt;
138
0
        }
139
50
        virtual std::optional<bool> OpECGDSA_Verify(operation::ECGDSA_Verify& op) {
140
50
            (void)op;
141
50
            return std::nullopt;
142
50
        }
143
50
        virtual std::optional<bool> OpECRDSA_Verify(operation::ECRDSA_Verify& op) {
144
50
            (void)op;
145
50
            return std::nullopt;
146
50
        }
147
39
        virtual std::optional<bool> OpSchnorr_Verify(operation::Schnorr_Verify& op) {
148
39
            (void)op;
149
39
            return std::nullopt;
150
39
        }
151
57
        virtual std::optional<component::ECC_PublicKey> OpECDSA_Recover(operation::ECDSA_Recover& op) {
152
57
            (void)op;
153
57
            return std::nullopt;
154
57
        }
155
83
        virtual std::optional<bool> OpDSA_Verify(operation::DSA_Verify& op) {
156
83
            (void)op;
157
83
            return std::nullopt;
158
83
        }
159
67
        virtual std::optional<component::DSA_Signature> OpDSA_Sign(operation::DSA_Sign& op) {
160
67
            (void)op;
161
67
            return std::nullopt;
162
67
        }
163
54
        virtual std::optional<component::DSA_Parameters> OpDSA_GenerateParameters(operation::DSA_GenerateParameters& op) {
164
54
            (void)op;
165
54
            return std::nullopt;
166
54
        }
167
46
        virtual std::optional<component::Bignum> OpDSA_PrivateToPublic(operation::DSA_PrivateToPublic& op) {
168
46
            (void)op;
169
46
            return std::nullopt;
170
46
        }
171
79
        virtual std::optional<component::DSA_KeyPair> OpDSA_GenerateKeyPair(operation::DSA_GenerateKeyPair& op) {
172
79
            (void)op;
173
79
            return std::nullopt;
174
79
        }
175
60
        virtual std::optional<component::Secret> OpECDH_Derive(operation::ECDH_Derive& op) {
176
60
            (void)op;
177
60
            return std::nullopt;
178
60
        }
179
57
        virtual std::optional<component::Ciphertext> OpECIES_Encrypt(operation::ECIES_Encrypt& op) {
180
57
            (void)op;
181
57
            return std::nullopt;
182
57
        }
183
55
        virtual std::optional<component::Cleartext> OpECIES_Decrypt(operation::ECIES_Decrypt& op) {
184
55
            (void)op;
185
55
            return std::nullopt;
186
55
        }
187
0
        virtual std::optional<component::ECC_Point> OpECC_Point_Add(operation::ECC_Point_Add& op) {
188
0
            (void)op;
189
0
            return std::nullopt;
190
0
        }
191
46
        virtual std::optional<component::ECC_Point> OpECC_Point_Sub(operation::ECC_Point_Sub& op) {
192
46
            (void)op;
193
46
            return std::nullopt;
194
46
        }
195
0
        virtual std::optional<component::ECC_Point> OpECC_Point_Mul(operation::ECC_Point_Mul& op) {
196
0
            (void)op;
197
0
            return std::nullopt;
198
0
        }
199
0
        virtual std::optional<component::ECC_Point> OpECC_Point_Neg(operation::ECC_Point_Neg& op) {
200
0
            (void)op;
201
0
            return std::nullopt;
202
0
        }
203
60
        virtual std::optional<component::ECC_Point> OpECC_Point_Dbl(operation::ECC_Point_Dbl& op) {
204
60
            (void)op;
205
60
            return std::nullopt;
206
60
        }
207
0
        virtual std::optional<bool> OpECC_Point_Cmp(operation::ECC_Point_Cmp& op) {
208
0
            (void)op;
209
0
            return std::nullopt;
210
0
        }
211
52
        virtual std::optional<component::DH_KeyPair> OpDH_GenerateKeyPair(operation::DH_GenerateKeyPair& op) {
212
52
            (void)op;
213
52
            return std::nullopt;
214
52
        }
215
70
        virtual std::optional<component::Bignum> OpDH_Derive(operation::DH_Derive& op) {
216
70
            (void)op;
217
70
            return std::nullopt;
218
70
        }
219
0
        virtual std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc& op) {
220
0
            (void)op;
221
0
            return std::nullopt;
222
0
        }
223
71
        virtual std::optional<component::Fp2> OpBignumCalc_Fp2(operation::BignumCalc_Fp2& op) {
224
71
            (void)op;
225
71
            return std::nullopt;
226
71
        }
227
261
        virtual std::optional<component::Fp12> OpBignumCalc_Fp12(operation::BignumCalc_Fp12& op) {
228
261
            (void)op;
229
261
            return std::nullopt;
230
261
        }
231
73
        virtual bool SupportsModularBignumCalc(void) const {
232
73
            return false;
233
73
        }
234
54
        virtual std::optional<component::BLS_PublicKey> OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic& op) {
235
54
            (void)op;
236
54
            return std::nullopt;
237
54
        }
238
56
        virtual std::optional<component::G2> OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2& op) {
239
56
            (void)op;
240
56
            return std::nullopt;
241
56
        }
242
56
        virtual std::optional<component::BLS_Signature> OpBLS_Sign(operation::BLS_Sign& op) {
243
56
            (void)op;
244
56
            return std::nullopt;
245
56
        }
246
39
        virtual std::optional<bool> OpBLS_Verify(operation::BLS_Verify& op) {
247
39
            (void)op;
248
39
            return std::nullopt;
249
39
        }
250
63
        virtual std::optional<component::BLS_BatchSignature> OpBLS_BatchSign(operation::BLS_BatchSign& op) {
251
63
            (void)op;
252
63
            return std::nullopt;
253
63
        }
254
69
        virtual std::optional<bool> OpBLS_BatchVerify(operation::BLS_BatchVerify& op) {
255
69
            (void)op;
256
69
            return std::nullopt;
257
69
        }
258
63
        virtual std::optional<component::G1> OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1& op) {
259
63
            (void)op;
260
63
            return std::nullopt;
261
63
        }
262
60
        virtual std::optional<component::G2> OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2& op) {
263
60
            (void)op;
264
60
            return std::nullopt;
265
60
        }
266
50
        virtual std::optional<component::Fp12> OpBLS_Pairing(operation::BLS_Pairing& op) {
267
50
            (void)op;
268
50
            return std::nullopt;
269
50
        }
270
52
        virtual std::optional<component::Fp12> OpBLS_MillerLoop(operation::BLS_MillerLoop& op) {
271
52
            (void)op;
272
52
            return std::nullopt;
273
52
        }
274
54
        virtual std::optional<component::Fp12> OpBLS_FinalExp(operation::BLS_FinalExp& op) {
275
54
            (void)op;
276
54
            return std::nullopt;
277
54
        }
278
46
        virtual std::optional<component::G1> OpBLS_HashToG1(operation::BLS_HashToG1& op) {
279
46
            (void)op;
280
46
            return std::nullopt;
281
46
        }
282
58
        virtual std::optional<component::G2> OpBLS_HashToG2(operation::BLS_HashToG2& op) {
283
58
            (void)op;
284
58
            return std::nullopt;
285
58
        }
286
43
        virtual std::optional<component::G1> OpBLS_MapToG1(operation::BLS_MapToG1& op) {
287
43
            (void)op;
288
43
            return std::nullopt;
289
43
        }
290
51
        virtual std::optional<component::G2> OpBLS_MapToG2(operation::BLS_MapToG2& op) {
291
51
            (void)op;
292
51
            return std::nullopt;
293
51
        }
294
77
        virtual std::optional<bool> OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve& op) {
295
77
            (void)op;
296
77
            return std::nullopt;
297
77
        }
298
52
        virtual std::optional<bool> OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve& op) {
299
52
            (void)op;
300
52
            return std::nullopt;
301
52
        }
302
50
        virtual std::optional<component::BLS_KeyPair> OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair& op) {
303
50
            (void)op;
304
50
            return std::nullopt;
305
50
        }
306
57
        virtual std::optional<component::G1> OpBLS_Decompress_G1(operation::BLS_Decompress_G1& op) {
307
57
            (void)op;
308
57
            return std::nullopt;
309
57
        }
310
53
        virtual std::optional<component::Bignum> OpBLS_Compress_G1(operation::BLS_Compress_G1& op) {
311
53
            (void)op;
312
53
            return std::nullopt;
313
53
        }
314
53
        virtual std::optional<component::G2> OpBLS_Decompress_G2(operation::BLS_Decompress_G2& op) {
315
53
            (void)op;
316
53
            return std::nullopt;
317
53
        }
318
55
        virtual std::optional<component::G1> OpBLS_Compress_G2(operation::BLS_Compress_G2& op) {
319
55
            (void)op;
320
55
            return std::nullopt;
321
55
        }
322
96
        virtual std::optional<component::G1> OpBLS_G1_Add(operation::BLS_G1_Add& op) {
323
96
            (void)op;
324
96
            return std::nullopt;
325
96
        }
326
65
        virtual std::optional<component::G1> OpBLS_G1_Mul(operation::BLS_G1_Mul& op) {
327
65
            (void)op;
328
65
            return std::nullopt;
329
65
        }
330
86
        virtual std::optional<bool> OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op) {
331
86
            (void)op;
332
86
            return std::nullopt;
333
86
        }
334
72
        virtual std::optional<component::G1> OpBLS_G1_Neg(operation::BLS_G1_Neg& op) {
335
72
            (void)op;
336
72
            return std::nullopt;
337
72
        }
338
80
        virtual std::optional<component::G2> OpBLS_G2_Add(operation::BLS_G2_Add& op) {
339
80
            (void)op;
340
80
            return std::nullopt;
341
80
        }
342
79
        virtual std::optional<component::G2> OpBLS_G2_Mul(operation::BLS_G2_Mul& op) {
343
79
            (void)op;
344
79
            return std::nullopt;
345
79
        }
346
104
        virtual std::optional<bool> OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op) {
347
104
            (void)op;
348
104
            return std::nullopt;
349
104
        }
350
80
        virtual std::optional<component::G2> OpBLS_G2_Neg(operation::BLS_G2_Neg& op) {
351
80
            (void)op;
352
80
            return std::nullopt;
353
80
        }
354
114
        virtual std::optional<component::G1> OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp& op) {
355
114
            (void)op;
356
114
            return std::nullopt;
357
114
        }
358
48
        virtual std::optional<Buffer> OpMisc(operation::Misc& op) {
359
48
            (void)op;
360
48
            return std::nullopt;
361
48
        }
362
47
        virtual std::optional<bool> OpSR25519_Verify(operation::SR25519_Verify& op) {
363
47
            (void)op;
364
47
            return std::nullopt;
365
47
        }
366
};
367
368
} /* namespace cryptofuzz */