9 #ifndef BOTAN_MODE_PADDING_H_
10 #define BOTAN_MODE_PADDING_H_
12 #include <botan/secmem.h>
38 size_t final_block_bytes,
39 size_t block_size)
const = 0;
47 virtual size_t unpad(
const uint8_t block[],
size_t len)
const = 0;
53 virtual bool valid_blocksize(
size_t block_size)
const = 0;
58 virtual std::string
name()
const = 0;
73 size_t final_block_bytes,
74 size_t block_size)
const override;
76 size_t unpad(
const uint8_t[],
size_t)
const override;
80 std::string
name()
const override {
return "PKCS7"; }
90 size_t final_block_bytes,
91 size_t block_size)
const override;
93 size_t unpad(
const uint8_t[],
size_t)
const override;
97 std::string
name()
const override {
return "X9.23"; }
107 size_t final_block_bytes,
108 size_t block_size)
const override;
110 size_t unpad(
const uint8_t[],
size_t)
const override;
114 std::string
name()
const override {
return "OneAndZeros"; }
124 size_t final_block_bytes,
125 size_t block_size)
const override;
127 size_t unpad(
const uint8_t[],
size_t)
const override;
131 std::string
name()
const override {
return "ESP"; }
145 size_t unpad(
const uint8_t[],
size_t size)
const override {
return size; }
149 std::string
name()
const override {
return "NoPadding"; }
bool valid_blocksize(size_t bs) const override
bool valid_blocksize(size_t bs) const override
virtual size_t unpad(const uint8_t block[], size_t len) const =0
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
std::string name() const override
bool valid_blocksize(size_t) const override
std::vector< T, secure_allocator< T >> secure_vector
std::string name() const override
std::string name() const override
bool valid_blocksize(size_t bs) const override
bool valid_blocksize(size_t bs) const override
virtual void add_padding(secure_vector< uint8_t > &buffer, size_t final_block_bytes, size_t block_size) const =0
void add_padding(secure_vector< uint8_t > &, size_t, size_t) const override
std::string name() const override
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
BlockCipherModePaddingMethod * get_bc_pad(const std::string &algo_spec)
size_t unpad(const uint8_t[], size_t size) const override
std::string name() const override