47 using std::runtime_error::runtime_error;
52 using std::runtime_error::runtime_error;
Interface block cipher 128-bit dan implementasinya.
constexpr size_t KEY_SIZE
Ukuran master key dalam byte (128 bit, 16x8 bit).
Definition cipher.hpp:15
Exception saat verifikasi integritas tag MAC gagal.
Definition container.hpp:46
Block cipher Feistel 16 round dengan fungsi F berbasis sigma-delta.
Definition cipher.hpp:74
util::Bytes open(const util::Bytes &blob) const
Memverifikasi integritas kontainer dan mendekripsi isinya.
Definition container.cpp:90
util::Bytes seal(const util::Bytes &plaintext, Mode mode, const uint8_t *custom_iv=nullptr) const
Mengenkripsi plaintext ke format kontainer v1 terautentikasi.
Definition container.cpp:64
SecureEnvelope(const uint8_t master_key[KEY_SIZE])
Inisialisasi envelope dan derivasi kunci enkripsi serta kunci MAC.
Definition container.cpp:55
Mode
Identifikasi mode operasi block cipher.
Definition container.hpp:17
std::string mode_name(Mode mode)
Mengembalikan nama mode dalam bentuk string huruf kecil ("ecb".."ctr").
Definition container.cpp:20
Mode parse_mode(const std::string &str)
Parsing string representasi mode menjadi enum Mode (case-insensitive).
Definition container.cpp:9
constexpr size_t CONTAINER_MIN_SIZE
Ukuran minimum kontainer v1 (Header 22B + MAC Tag 16B).
Definition container.hpp:28
constexpr size_t CONTAINER_HEADER_SIZE
Panjang header kontainer (Magic 4B + Version 1B + Mode 1B + IV 16B).
Definition container.hpp:26
Implementasi Cipher-based Message Authentication Code (CMAC / OMAC1, RFC 4493) dan derivasi pemisahan...
constexpr size_t MAC_TAG_SIZE
Ukuran tag MAC dalam byte (128 bit / 16 byte).
Definition mac.hpp:16
Struktur pasangan kunci hasil derivasi untuk enkripsi dan autentikasi.
Definition mac.hpp:104
Fungsi utilitas pembantu untuk operasi byte, heksadesimal, I/O berkas, dan keacakan kriptografis.
std::vector< uint8_t > Bytes
Alias untuk representasi urutan byte dalam memori.
Definition util.hpp:17