|
Cipher Fayadh
Block cipher Feistel 128-bit dengan fungsi putaran sigma-delta
|
Pengelola enkripsi dan autentikasi kontainer berkas (Encrypt-then-MAC). More...
#include <container.hpp>
Public Member Functions | |
| SecureEnvelope (const uint8_t master_key[KEY_SIZE]) | |
| Inisialisasi envelope dan derivasi kunci enkripsi serta kunci MAC. | |
| util::Bytes | seal (const util::Bytes &plaintext, Mode mode, const uint8_t *custom_iv=nullptr) const |
| Mengenkripsi plaintext ke format kontainer v1 terautentikasi. | |
| util::Bytes | open (const util::Bytes &blob) const |
| Memverifikasi integritas kontainer dan mendekripsi isinya. | |
Pengelola enkripsi dan autentikasi kontainer berkas (Encrypt-then-MAC).
|
explicit |
Inisialisasi envelope dan derivasi kunci enkripsi serta kunci MAC.
| [in] | master_key | Master key berukuran 16 byte (128 bit). |
| util::Bytes SecureEnvelope::open | ( | const util::Bytes & | blob | ) | const |
Memverifikasi integritas kontainer dan mendekripsi isinya.
| [in] | blob | Kontainer biner lengkap. |
| FormatError | jika struktur/panjang header kontainer cacat. |
| AuthenticationError | jika verifikasi tag CMAC gagal. |
| util::Bytes SecureEnvelope::seal | ( | const util::Bytes & | plaintext, |
| Mode | mode, | ||
| const uint8_t * | custom_iv = nullptr ) const |
Mengenkripsi plaintext ke format kontainer v1 terautentikasi.
| [in] | plaintext | Data yang akan dienkripsi. |
| [in] | mode | Mode operasi yang digunakan. |
| [in] | custom_iv | IV/Counter kustom 16 byte opsional (null = dibangkitkan acak via CSPRNG). |