Initial
This commit is contained in:
29
aes.hpp
Normal file
29
aes.hpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef AES_HPP_
|
||||
#define AES_HPP_
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
class AES
|
||||
{
|
||||
public:
|
||||
static const uint8_t shiftrows_targets[16];
|
||||
static const uint8_t sbox[256];
|
||||
static const uint8_t inv_sbox[256];
|
||||
static const uint8_t rc[10];
|
||||
static const uint8_t irreducible_polynomial;
|
||||
AES();
|
||||
static void encrypt_ecb(uint8_t data[16], const uint8_t key[16]);
|
||||
static void construct_round_keys(const uint8_t initial_key_[16], uint8_t round_keys_[11][16]);
|
||||
static uint32_t roundkey_g(uint32_t last_roundkey, uint8_t round);
|
||||
static void add_round_key(uint8_t data[16], const uint8_t key[16]);
|
||||
static void shift_rows(uint8_t data[16]);
|
||||
static void sub_bytes(uint8_t data[16]);
|
||||
static void mix_columns(uint8_t data[16]);
|
||||
static void mix_column(uint8_t data[4]);
|
||||
static void print_data(uint8_t data[16]);
|
||||
static uint8_t gf_mult2(uint8_t value);
|
||||
static uint8_t gf_mult3(uint8_t value);
|
||||
static uint8_t gf_reduce(uint8_t value);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user