pub trait ForensicWatermarker {
// Required methods
fn embed_tripwire(
&self,
cover: CoverMedia,
tag: &WatermarkTripwireTag,
) -> Result<CoverMedia, OpsecError>;
fn identify_recipient(
&self,
stego: &CoverMedia,
tags: &[WatermarkTripwireTag],
) -> Result<Option<WatermarkReceipt>, OpsecError>;
}Expand description
Forensic watermark tripwire port.
Unique per-recipient watermarks allow identifying which copy of a distributed set was leaked.
Required Methods§
Sourcefn embed_tripwire(
&self,
cover: CoverMedia,
tag: &WatermarkTripwireTag,
) -> Result<CoverMedia, OpsecError>
fn embed_tripwire( &self, cover: CoverMedia, tag: &WatermarkTripwireTag, ) -> Result<CoverMedia, OpsecError>
Sourcefn identify_recipient(
&self,
stego: &CoverMedia,
tags: &[WatermarkTripwireTag],
) -> Result<Option<WatermarkReceipt>, OpsecError>
fn identify_recipient( &self, stego: &CoverMedia, tags: &[WatermarkTripwireTag], ) -> Result<Option<WatermarkReceipt>, OpsecError>
Identify which recipient’s watermark is present in stego.
Returns the matching WatermarkTripwireTag from tags, or None
if no match is found.
§Errors
Returns OpsecError::WatermarkError on implementation error.