Coverage Report

Created: 2020-08-01 06:18

/src/botan/build/include/botan/keypair.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
* Keypair Checks
3
* (C) 1999-2010 Jack Lloyd
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_KEYPAIR_CHECKS_H_
9
#define BOTAN_KEYPAIR_CHECKS_H_
10
11
#include <botan/pk_keys.h>
12
13
BOTAN_FUTURE_INTERNAL_HEADER(keypair.h)
14
15
namespace Botan {
16
17
namespace KeyPair {
18
19
/**
20
* Tests whether the key is consistent for encryption; whether
21
* encrypting and then decrypting gives to the original plaintext.
22
* @param rng the rng to use
23
* @param private_key the key to test
24
* @param public_key the key to test
25
* @param padding the encryption padding method to use
26
* @return true if consistent otherwise false
27
*/
28
BOTAN_PUBLIC_API(2,0) bool
29
encryption_consistency_check(RandomNumberGenerator& rng,
30
                             const Private_Key& private_key,
31
                             const Public_Key& public_key,
32
                             const std::string& padding);
33
34
/**
35
* Tests whether the key is consistent for signatures; whether a
36
* signature can be created and then verified
37
* @param rng the rng to use
38
* @param private_key the key to test
39
* @param public_key the key to test
40
* @param padding the signature padding method to use
41
* @return true if consistent otherwise false
42
*/
43
BOTAN_PUBLIC_API(2,0) bool
44
signature_consistency_check(RandomNumberGenerator& rng,
45
                            const Private_Key& private_key,
46
                            const Public_Key& public_key,
47
                            const std::string& padding);
48
49
/**
50
* Tests whether the key is consistent for encryption; whether
51
* encrypting and then decrypting gives to the original plaintext.
52
* @param rng the rng to use
53
* @param key the key to test
54
* @param padding the encryption padding method to use
55
* @return true if consistent otherwise false
56
*/
57
inline bool
58
encryption_consistency_check(RandomNumberGenerator& rng,
59
                             const Private_Key& key,
60
                             const std::string& padding)
61
0
   {
62
0
   return encryption_consistency_check(rng, key, key, padding);
63
0
   }
64
65
/**
66
* Tests whether the key is consistent for signatures; whether a
67
* signature can be created and then verified
68
* @param rng the rng to use
69
* @param key the key to test
70
* @param padding the signature padding method to use
71
* @return true if consistent otherwise false
72
*/
73
inline bool
74
signature_consistency_check(RandomNumberGenerator& rng,
75
                            const Private_Key& key,
76
                            const std::string& padding)
77
0
   {
78
0
   return signature_consistency_check(rng, key, key, padding);
79
0
   }
80
81
}
82
83
}
84
85
#endif