stenoxide-core 3.7.2

Adaptive LSB steganography engine with HILL cost functions, STC embedding and an Argon2id + XChaCha20-Poly1305 cryptographic pipeline
Documentation
[package]
name = "stenoxide-core"
description = "Adaptive LSB steganography engine with HILL cost functions, STC embedding and an Argon2id + XChaCha20-Poly1305 cryptographic pipeline"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
exclude.workspace = true
documentation = "https://docs.rs/stenoxide-core"
readme = "README.md"
keywords = ["steganography", "cryptography", "image", "security", "stego"]
categories = ["cryptography", "multimedia::images"]

[dependencies]
image.workspace = true
zstd.workspace = true
argon2.workspace = true
hkdf.workspace = true
sha3.workspace = true
chacha20poly1305.workspace = true
chacha20.workspace = true
zeroize.workspace = true
rayon.workspace = true
rand.workspace = true
ml-kem = { workspace = true, optional = true }

[build-dependencies]
cc.workspace = true

[dev-dependencies]
# The crate depends on itself so that its own integration tests are linked
# against a build with `test-utils` enabled. A `#[cfg(test)]` item is invisible
# to `tests/`, which is compiled as an external consumer of the library, and the
# cheap key deriver has to be reachable from there.
stenoxide-core = { path = ".", features = ["test-utils"] }
image.workspace = true
rand.workspace = true
tempfile.workspace = true
static_assertions.workspace = true

# A research harness, not a product surface: it builds the matched cover/stego
# pairs that `scripts/synthetic_cover_analysis` measures. It reaches into
# `test_support`, so it cannot build without the feature that compiles it, and
# `cargo build --examples` on a default checkout must not try.
[[example]]
name = "synthetic_cover_probe"
required-features = ["test-utils"]

# The generative-container prototype, for the same reason.
[[example]]
name = "generative_stego"
required-features = ["test-utils"]

# The texture-family survey, which judges candidates with the production gates.
[[example]]
name = "container_families"
required-features = ["test-utils"]

# The scale sweep that turns the hash gate into a design rule.
[[example]]
name = "phash_scale_sweep"
required-features = ["test-utils"]

# Whether one extract can serve both container kinds without leaking which.
[[example]]
name = "extract_disambiguation"
required-features = ["test-utils"]

[features]
default = []
# Post-quantum key encapsulation support.
pqc = ["dep:ml-kem"]
# DEPRECATED. The Syndrome-Trellis coder now lives in
# `stego::stc::native`, in safe Rust, and the crate links nothing. Enabling this
# still compiles libsdc++ through build.rs, but no code calls into it; the
# feature is kept only so a future comparison against the reference
# implementation does not have to be rebuilt from scratch.
ffi-stc = []
# Exposes the deliberately weak test constructors. Enabled only by this crate's
# own dev-dependency on itself; a release build never turns it on.
test-utils = []