pub struct PaletteStego;Expand description
Palette-based steganography adapter for GIF/PNG indexed images (STUB).
NOT YET IMPLEMENTED: Requires palette extraction from indexed color images.
The image crate converts all images to RGBA8, losing original palette data.
TODO(T13): Implement palette steganography:
- Extract palette data from GIF/PNG indexed color images
- Store palette as bytes in
CoverMedia.metadata["palette"] - Embed payload in LSBs of palette R/G/B bytes
- Capacity: (
palette_size* 3) / 8 bytes - Re-encode image with modified palette (pixel indices unchanged)
- Requires format-specific handling (GIF vs indexed PNG)
Implementations§
Source§impl PaletteStego
impl PaletteStego
Trait Implementations§
Source§impl Debug for PaletteStego
impl Debug for PaletteStego
Source§impl Default for PaletteStego
impl Default for PaletteStego
Source§fn default() -> PaletteStego
fn default() -> PaletteStego
Returns the “default value” for a type. Read more
Source§impl EmbedTechnique for PaletteStego
impl EmbedTechnique for PaletteStego
Source§fn technique(&self) -> StegoTechnique
fn technique(&self) -> StegoTechnique
The technique identifier for this implementation.
Source§fn capacity(&self, _cover: &CoverMedia) -> Result<Capacity, StegoError>
fn capacity(&self, _cover: &CoverMedia) -> Result<Capacity, StegoError>
Estimate how many payload bytes
cover can hold. Read moreSource§fn embed(
&self,
_cover: CoverMedia,
_payload: &Payload,
) -> Result<CoverMedia, StegoError>
fn embed( &self, _cover: CoverMedia, _payload: &Payload, ) -> Result<CoverMedia, StegoError>
Source§impl ExtractTechnique for PaletteStego
impl ExtractTechnique for PaletteStego
Source§fn technique(&self) -> StegoTechnique
fn technique(&self) -> StegoTechnique
The technique identifier for this implementation.
Source§fn extract(&self, _cover: &CoverMedia) -> Result<Payload, StegoError>
fn extract(&self, _cover: &CoverMedia) -> Result<Payload, StegoError>
Extract a hidden payload from
stego. Read moreAuto Trait Implementations§
impl Freeze for PaletteStego
impl RefUnwindSafe for PaletteStego
impl Send for PaletteStego
impl Sync for PaletteStego
impl Unpin for PaletteStego
impl UnsafeUnpin for PaletteStego
impl UnwindSafe for PaletteStego
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more