8#ifndef BOTAN_PBE_PKCS_V20_H_
9#define BOTAN_PBE_PKCS_V20_H_
11#include <botan/asn1_obj.h>
17class RandomNumberGenerator;
28std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
pbes2_encrypt(std::span<const uint8_t> key_bits,
29 std::string_view passphrase,
30 std::chrono::milliseconds msec,
31 std::string_view cipher,
32 std::string_view digest,
33 RandomNumberGenerator& rng);
46std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
pbes2_encrypt_msec(std::span<const uint8_t> key_bits,
47 std::string_view passphrase,
48 std::chrono::milliseconds msec,
49 size_t* out_iterations_if_nonnull,
50 std::string_view cipher,
51 std::string_view digest,
52 RandomNumberGenerator& rng);
63std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
pbes2_encrypt_iter(std::span<const uint8_t> key_bits,
64 std::string_view passphrase,
66 std::string_view cipher,
67 std::string_view digest,
68 RandomNumberGenerator& rng);
77 std::string_view passphrase,
78 const std::vector<uint8_t>& params);
std::pair< AlgorithmIdentifier, std::vector< uint8_t > > pbes2_encrypt_iter(std::span< const uint8_t > key_bits, std::string_view passphrase, size_t pbkdf_iter, std::string_view cipher, std::string_view digest, RandomNumberGenerator &rng)
secure_vector< uint8_t > pbes2_decrypt(std::span< const uint8_t > key_bits, std::string_view passphrase, const std::vector< uint8_t > ¶ms)
std::pair< AlgorithmIdentifier, std::vector< uint8_t > > pbes2_encrypt_msec(std::span< const uint8_t > key_bits, std::string_view passphrase, std::chrono::milliseconds msec, size_t *out_iterations_if_nonnull, std::string_view cipher, std::string_view digest, RandomNumberGenerator &rng)
std::vector< T, secure_allocator< T > > secure_vector
std::pair< AlgorithmIdentifier, std::vector< uint8_t > > pbes2_encrypt(std::span< const uint8_t > key_bits, std::string_view passphrase, std::chrono::milliseconds msec, std::string_view cipher, std::string_view digest, RandomNumberGenerator &rng)