8 #ifndef BOTAN_GOST_28147_89_H__
9 #define BOTAN_GOST_28147_89_H__
11 #include <botan/block_cipher.h>
29 uint8_t sbox_entry(
size_t row,
size_t col)
const;
45 const uint8_t* m_sboxes;
55 void encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
56 void decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
58 void clear()
override;
60 std::string name()
const override;
68 explicit GOST_28147_89(
const std::vector<uint32_t>& other_SBOX) :
69 m_SBOX(other_SBOX), m_EK(8) {}
71 void key_schedule(
const uint8_t[],
size_t)
override;
77 std::vector<uint32_t> m_SBOX;
79 secure_vector<uint32_t> m_EK;
std::string param_name() const
BlockCipher * clone() const override