Cipher Fayadh
Block cipher Feistel 128-bit dengan fungsi putaran sigma-delta
Loading...
Searching...
No Matches
container.hpp File Reference

Format kontainer terenkripsi v1 dan pipeline Encrypt-then-MAC (SecureEnvelope). More...

#include "cipher.hpp"
#include "mac.hpp"
#include "util.hpp"
#include <cstdint>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Classes

class  AuthenticationError
 Exception saat verifikasi integritas tag MAC gagal. More...
class  FormatError
 Exception saat struktur format kontainer tidak valid. More...
class  SecureEnvelope
 Pengelola enkripsi dan autentikasi kontainer berkas (Encrypt-then-MAC). More...

Enumerations

enum class  Mode : uint8_t {
  ECB = 1 , CBC = 2 , CFB = 3 , OFB = 4 ,
  CTR = 5
}
 Identifikasi mode operasi block cipher.

Functions

Mode parse_mode (const std::string &str)
 Parsing string representasi mode menjadi enum Mode (case-insensitive).
std::string mode_name (Mode mode)
 Mengembalikan nama mode dalam bentuk string huruf kecil ("ecb".."ctr").

Variables

constexpr size_t CONTAINER_HEADER_SIZE = 22
 Panjang header kontainer (Magic 4B + Version 1B + Mode 1B + IV 16B).
constexpr size_t CONTAINER_MIN_SIZE = CONTAINER_HEADER_SIZE + MAC_TAG_SIZE
 Ukuran minimum kontainer v1 (Header 22B + MAC Tag 16B).

Detailed Description

Format kontainer terenkripsi v1 dan pipeline Encrypt-then-MAC (SecureEnvelope).

Function Documentation

◆ mode_name()

std::string mode_name ( Mode mode)

Mengembalikan nama mode dalam bentuk string huruf kecil ("ecb".."ctr").

Parameters
[in]modeNilai enum Mode.
Returns
std::string Nama mode.

◆ parse_mode()

Mode parse_mode ( const std::string & str)

Parsing string representasi mode menjadi enum Mode (case-insensitive).

Parameters
[in]strNama mode ("ecb".."ctr").
Returns
Mode Nilai enum Mode.
Exceptions
std::invalid_argumentjika nama mode tidak dikenali.