Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
signet::forge::crypto::CryptoShredder Class Reference

Per-subject key store supporting cryptographic erasure. More...

#include <key_metadata.hpp>

Public Member Functions

expected< void > register_subject (const std::string &subject_id, const std::vector< uint8_t > &dek)
 Register a data subject's DEK.
 
expected< const std::vector< uint8_t > * > get_key (const std::string &subject_id) const
 Retrieve a subject's DEK for encryption/decryption.
 
expected< void > shred (const std::string &subject_id)
 Cryptographically shred a subject's data by destroying their DEK.
 
bool is_shredded (const std::string &subject_id) const
 Check if a subject has been cryptographically erased.
 
size_t active_count () const
 Number of active (non-shredded) subjects.
 
size_t shredded_count () const
 Number of shredded subjects.
 

Detailed Description

Per-subject key store supporting cryptographic erasure.

Thread-safety: NOT thread-safe — callers must synchronize externally.

Definition at line 1021 of file key_metadata.hpp.

Member Function Documentation

◆ active_count()

size_t signet::forge::crypto::CryptoShredder::active_count ( ) const
inline

Number of active (non-shredded) subjects.

Definition at line 1093 of file key_metadata.hpp.

◆ get_key()

expected< const std::vector< uint8_t > * > signet::forge::crypto::CryptoShredder::get_key ( const std::string &  subject_id) const
inline

Retrieve a subject's DEK for encryption/decryption.

Parameters
subject_idThe data subject identifier.
Returns
Pointer to the DEK, or error if not found or shredded.

Definition at line 1046 of file key_metadata.hpp.

◆ is_shredded()

bool signet::forge::crypto::CryptoShredder::is_shredded ( const std::string &  subject_id) const
inline

Check if a subject has been cryptographically erased.

Definition at line 1088 of file key_metadata.hpp.

◆ register_subject()

expected< void > signet::forge::crypto::CryptoShredder::register_subject ( const std::string &  subject_id,
const std::vector< uint8_t > &  dek 
)
inline

Register a data subject's DEK.

Parameters
subject_idUnique identifier for the data subject.
dekThe subject's Data Encryption Key (32 bytes).
Returns
void on success, error if subject_id already registered.

Definition at line 1027 of file key_metadata.hpp.

◆ shred()

expected< void > signet::forge::crypto::CryptoShredder::shred ( const std::string &  subject_id)
inline

Cryptographically shred a subject's data by destroying their DEK.

After this call, all data encrypted with this subject's DEK becomes permanently unreadable (NIST SP 800-88 Rev. 1 §2.4 Cryptographic Erase).

Parameters
subject_idThe data subject to erase.
Returns
void on success, error if subject not found.

Definition at line 1070 of file key_metadata.hpp.

◆ shredded_count()

size_t signet::forge::crypto::CryptoShredder::shredded_count ( ) const
inline

Number of shredded subjects.

Definition at line 1096 of file key_metadata.hpp.


The documentation for this class was generated from the following file: