Skip to main content

DeniableEmbedder

Trait DeniableEmbedder 

Source
pub trait DeniableEmbedder {
    // Required methods
    fn embed_dual(
        &self,
        cover: CoverMedia,
        pair: &DeniablePayloadPair,
        keys: &DeniableKeySet,
        embedder: &dyn EmbedTechnique,
    ) -> Result<CoverMedia, DeniableError>;
    fn extract_with_key(
        &self,
        stego: &CoverMedia,
        key: &[u8],
        extractor: &dyn ExtractTechnique,
    ) -> Result<Payload, DeniableError>;
}
Expand description

Dual-payload deniable steganography port.

The stego cover is indistinguishable regardless of which key is presented.

Required Methods§

Source

fn embed_dual( &self, cover: CoverMedia, pair: &DeniablePayloadPair, keys: &DeniableKeySet, embedder: &dyn EmbedTechnique, ) -> Result<CoverMedia, DeniableError>

Embed both the real and decoy payload in cover.

The resulting cover decrypts to pair.real_payload under keys.primary_key and to pair.decoy_payload under keys.decoy_key.

§Errors

Returns DeniableError::InsufficientCapacity or DeniableError::EmbedFailed.

Source

fn extract_with_key( &self, stego: &CoverMedia, key: &[u8], extractor: &dyn ExtractTechnique, ) -> Result<Payload, DeniableError>

Extract a payload from stego using the provided key.

Returns the decoy payload when given the decoy key, and the real payload when given the primary key — neither party can prove which.

§Errors

Returns DeniableError::ExtractionFailed.

Implementors§