PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
audit_log_cipher.cpp File Reference

AES-256-GCM + HMAC-SHA256 envelope cipher for ATNA audit logs. More...

#include "kcenon/pacs/security/audit_log_cipher.h"
#include <algorithm>
#include <cstdlib>
#include <cstring>
Include dependency graph for audit_log_cipher.cpp:

Go to the source code of this file.

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::security
 
namespace  kcenon::pacs::security::detail
 

Functions

std::string kcenon::pacs::security::detail::base64_encode (const std::uint8_t *data, std::size_t size)
 Standard base64 encode (no line breaks)
 
bool kcenon::pacs::security::detail::base64_decode (const std::string &in, std::vector< std::uint8_t > &out)
 Standard base64 decode; returns false on malformed input.
 
bool kcenon::pacs::security::detail::hex_decode (const std::string &in, std::uint8_t *out, std::size_t out_size)
 Hex decode (lowercase or uppercase); returns false on malformed input.
 
bool kcenon::pacs::security::detail::constant_time_equal (const std::uint8_t *a, const std::uint8_t *b, std::size_t n) noexcept
 Constant-time equality on byte buffers of equal length.
 

Detailed Description

AES-256-GCM + HMAC-SHA256 envelope cipher for ATNA audit logs.

See also
Issue #1102 (ISO 27799 §7.9 — Audit log confidentiality/integrity)

Definition in file audit_log_cipher.cpp.