Botan 2.13.0 Crypto and TLS for C++11

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

keypair.h
Go to the documentation of this file.
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 {
62 return encryption_consistency_check(rng, key, key, padding);
63 }
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 {
78 return signature_consistency_check(rng, key, key, padding);
79 }
80
81 }
82
83 }
84
85 #endif
Botan::RandomNumberGenerator
Definition: rng.h:24
Botan::Private_Key
Definition: pk_keys.h:181
BOTAN_PUBLIC_API
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
std
Definition: bigint.h:1135
Botan::KeyPair::signature_consistency_check
bool signature_consistency_check(RandomNumberGenerator &rng, const Private_Key &key, const std::string &padding)
Definition: keypair.h:74
Botan::KeyPair::encryption_consistency_check
bool encryption_consistency_check(RandomNumberGenerator &rng, const Private_Key &key, const std::string &padding)
Definition: keypair.h:58
Botan
Definition: alg_id.cpp:13
BOTAN_FUTURE_INTERNAL_HEADER
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
Definition: compiler.h:139