|
| | TripleDES (const Mode mode, const Padding pad, const uint8_t iv[8]=nullptr) |
| | Constructor.
|
| |
|
| uint32_t | encrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key) |
| | Encrypto 1-key 3DES.
|
| |
| uint32_t | encrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key1, const Key &key2) |
| | Encrypto 2-key 3DES.
|
| |
| uint32_t | encrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key16 &key) |
| | Encrypto 2-key 3DES.
|
| |
| uint32_t | encrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key1, const Key &key2, const Key &key3) |
| | Encrypto 3-key 3DES.
|
| |
| uint32_t | encrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key24 &key) |
| | Encrypto 3-key 3DES.
|
| |
|
|
uint32_t | decrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key) |
| |
|
uint32_t | decrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key1, const Key &key2) |
| |
|
uint32_t | decrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key &key1, const Key &key2, const Key &key3) |
| |
|
uint32_t | decrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key16 &key) |
| |
|
uint32_t | decrypt (uint8_t *out, const uint8_t *in, const uint32_t in_len, const Key24 &key) |
| |
|
|
static void | key_schedule (uint64_t subkeys[16], const Key &key) |
| |
|
static uint32_t | feistel (const uint32_t r, const uint64_t subkey) |
| |
|
static uint64_t | permute_bits (const uint64_t in, const uint8_t *table, const uint32_t table_len, const uint32_t in_bits) |
| |
|
static void | process_block (uint8_t out[8], const uint8_t in[8], const Key &key, bool encrypt) |
| |
|
static void | encrypt_block_3key (uint8_t out[8], const uint8_t in[8], const Key8 &k1, const Key8 &k2, const Key8 &k3) |
| |
|
static void | decrypt_block_3key (uint8_t out[8], const uint8_t in[8], const Key8 &k1, const Key8 &k2, const Key8 &k3) |
| |