30 void encipher (uint32_t *left_32, uint32_t *right_32)
const;
31 void decipher (uint32_t *left_32, uint32_t *right_32)
const;
48 return (r ? (length + (8 - r)) : length);
76 std::string
encrypt (
const std::string &input)
const;
77 std::string
decrypt (
const std::string &input)
const;
81 static inline std::string
to_hex (
const std::string &input) {
82 return to_hex (
reinterpret_cast <const uint8_t *
> (input.c_str()), input.length());
84 static std::string
from_hex (
const std::string &digits);
86 std::string
encryptToHex (
const std::string &input)
const;
87 std::string
decryptFromHex (
const std::string &input,
bool trim_nulls =
true)
const;
Definition: blowfish.h:12
std::string encryptToHex(const std::string &input) const
Encrypt a string and return it has hex digits.
Definition: blowfish.cpp:353
void encipher(uint32_t *left_32, uint32_t *right_32) const
Encipher a 64-bit block.
Definition: blowfish.cpp:196
uint32_t[4][256] SBoxes
Definition: blowfish.h:21
static std::string to_hex(const std::string &input)
Convert a string to its hexadecimal representation.
Definition: blowfish.h:81
BlowFish(const uint8_t *key, size_type key_length)
Initialize BlowFish cipher.
Definition: blowfish.cpp:145
static std::string to_hex(const uint8_t *bytes, size_type length)
Translate some bytes into their hexadecimal representation.
Definition: blowfish.cpp:311
Action
Definition: blowfish.h:22
static const SBoxes InitialSBoxes
Definition: blowfish.h:25
uint32_t size_type
Definition: blowfish.h:14
void encrypt_or_decrypt(Action action, const uint8_t *input, size_type input_length, uint8_t *output, size_type output_size) const
Encipher or decipher a series of bytes.
Definition: blowfish.cpp:237
static std::string from_hex(const std::string &digits)
Translate hexadecimal into a string.
Definition: blowfish.cpp:328
void decipher(uint32_t *left_32, uint32_t *right_32) const
Decipher a 64-bit block.
Definition: blowfish.cpp:212
static constexpr int NumberOfPasses
Definition: blowfish.h:17
uint32_t fFunction(uint32_t in) const
The cipher's "F function", used by ciphering/deciphering.
Definition: blowfish.cpp:187
static const PArray InitialPArray
Definition: blowfish.h:24
PArray parray
Definition: blowfish.h:27
static constexpr size_type getOutputLength(size_type length)
Get length of required output buffer.
Definition: blowfish.h:46
uint32_t[NumberOfPasses+2] PArray
Definition: blowfish.h:20
std::string decryptFromHex(const std::string &input, bool trim_nulls=true) const
Decrypt hex-encoded ciphertext and return it, optionally removing null padding that was added.
Definition: blowfish.cpp:371
static constexpr int MaximumKeyBytes
Definition: blowfish.h:18
void decrypt(const uint8_t *input, size_type input_length, uint8_t *output, size_type output_size) const
Decipher a BlowFish ECD message.
Definition: blowfish.h:72
SBoxes sboxes
Definition: blowfish.h:28
void encrypt(const uint8_t *input, size_type input_length, uint8_t *output, size_type output_size) const
Encipher a BlowFish ECD message.
Definition: blowfish.h:59
unsigned char bytes[4]
Definition: audiooutput.cpp:67