/src/botan/build/include/public/botan/rfc4880.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * (C) 2021 Jack Lloyd |
3 | | * |
4 | | * Botan is released under the Simplified BSD License (see license.txt) |
5 | | */ |
6 | | |
7 | | #ifndef BOTAN_RFC4880_H_ |
8 | | #define BOTAN_RFC4880_H_ |
9 | | |
10 | | #include <botan/types.h> |
11 | | |
12 | | namespace Botan { |
13 | | |
14 | | /* |
15 | | Helpers for encoding PGP S2K values (see RFC 4880) |
16 | | */ |
17 | | |
18 | | /** |
19 | | * RFC 4880 encodes the iteration count to a single-byte value |
20 | | */ |
21 | | uint8_t BOTAN_PUBLIC_API(2, 8) RFC4880_encode_count(size_t iterations); |
22 | | |
23 | | /** |
24 | | * Decode the iteration count from RFC 4880 encoding |
25 | | */ |
26 | | size_t BOTAN_PUBLIC_API(2, 8) RFC4880_decode_count(uint8_t encoded_iter); |
27 | | |
28 | | /** |
29 | | * Round an arbitrary iteration count to next largest iteration count |
30 | | * supported by RFC4880 encoding. |
31 | | */ |
32 | 0 | inline size_t RFC4880_round_iterations(size_t iterations) { |
33 | 0 | return RFC4880_decode_count(RFC4880_encode_count(iterations)); |
34 | 0 | } |
35 | | |
36 | | } // namespace Botan |
37 | | |
38 | | #endif |