17using Bytes = std::vector<uint8_t>;
48std::string
to_hex(
const uint8_t* data,
size_t len);
104void xor_block(
const uint8_t* a,
const uint8_t* b, uint8_t* out,
size_t len);
void secure_random(uint8_t *out, size_t len)
Mengisi buffer dengan byte acak kriptografis yang aman dari sistem operasi.
Definition random.cpp:13
bool constant_time_equal(const uint8_t *a, const uint8_t *b, size_t len)
Membandingkan dua buffer byte dalam waktu konstan (constant time).
Definition bytes.cpp:20
void write_file(const std::string &path, const Bytes &data)
Menuliskan seluruh isi byte ke berkas secara atomik (atomic-ish).
Definition file_io.cpp:42
std::string to_hex(const uint8_t *data, size_t len)
Mengonversi deretan byte menjadi representasi string heksadesimal huruf kecil (lowercase).
Definition hex.cpp:24
std::vector< uint8_t > Bytes
Alias untuk representasi urutan byte dalam memori.
Definition util.hpp:17
Bytes read_file(const std::string &path)
Membaca seluruh isi berkas secara biner.
Definition file_io.cpp:10
void xor_block(const uint8_t *a, const uint8_t *b, uint8_t *out, size_t len)
Melakukan operasi XOR bitwise antara dua blok byte: out[i] = a[i] ^ b[i].
Definition bytes.cpp:7
Bytes from_hex(const std::string &hex)
Mengonversi string heksadesimal menjadi deretan byte (Bytes).
Definition hex.cpp:46
void secure_zero(void *p, size_t len)
Membersihkan memori dengan mengisi byte nol (0) menggunakan volatile pointer.
Definition bytes.cpp:36