Python APIΒΆ
Stable, public symbols re-exported by stegx:
- stegx.embed(cover_image_path, inner_plaintext, output_image_path, password, options)
- stegx.extract(stego_image_path, password, keyfile_bytes=None, try_adaptive_fallback=True, yubikey_response=None, yubikey_factory=None, allow_v1=False)
- class stegx.EmbedOptions(dual_cipher=False, use_matrix_embedding=False, use_adaptive=False, adaptive_cutoff=0.4, adaptive_cost_mode='laplacian', max_fill_ratio=1.0, keyfile_bytes=None, yubikey_response=None, yk_challenge_nonce=None, decoy_file_bytes=None, decoy_filename=None, decoy_password=None, always_split_cover=False, panic_password=None, panic_marker_payload=None, preserve_cover_encoding=True, compression=True, kdf_params=None)[source]
Bases:
object- Parameters:
dual_cipher (bool)
use_matrix_embedding (bool)
use_adaptive (bool)
adaptive_cutoff (float)
adaptive_cost_mode (str)
max_fill_ratio (float)
keyfile_bytes (bytes | None)
yubikey_response (bytes | None)
yk_challenge_nonce (bytes | None)
decoy_file_bytes (bytes | None)
decoy_filename (str | None)
decoy_password (str | None)
always_split_cover (bool)
panic_password (str | None)
panic_marker_payload (bytes | None)
preserve_cover_encoding (bool)
compression (bool)
kdf_params (KdfParams)
- dual_cipher: bool = False
- use_matrix_embedding: bool = False
- use_adaptive: bool = False
- adaptive_cutoff: float = 0.4
- adaptive_cost_mode: str = 'laplacian'
- max_fill_ratio: float = 1.0
- always_split_cover: bool = False
- preserve_cover_encoding: bool = True
- compression: bool = True
- kdf_params: KdfParams = None
- stegx.split_secret(secret, k, n)[source]
stegx.cliΒΆ
stegx.cryptoΒΆ
- class stegx.crypto.EncryptOptions(kdf_params, dual_cipher=False, keyfile_bytes=None, yubikey_response=None, base_flags=0, yk_challenge_nonce=None, header_salt=None)[source]ΒΆ
Bases:
object- Parameters:
- stegx.crypto.decrypt_data(encrypted_stream, password, keyfile_bytes=None, yubikey_response=None)[source]ΒΆ
stegx.kdfΒΆ
- class stegx.kdf.KdfParams(kdf_id, time_cost=0, memory_cost_kib=0, parallelism=0, iterations=0)[source]ΒΆ
Bases:
object
- stegx.kdf.derive_master_key(password, salt, params, keyfile_bytes=None, yubikey_response=None, *, header_salt=None)[source]ΒΆ
stegx.headerΒΆ
stegx.steganographyΒΆ
- class stegx.steganography.EmbedOptions(dual_cipher=False, use_matrix_embedding=False, use_adaptive=False, adaptive_cutoff=0.4, adaptive_cost_mode='laplacian', max_fill_ratio=1.0, keyfile_bytes=None, yubikey_response=None, yk_challenge_nonce=None, decoy_file_bytes=None, decoy_filename=None, decoy_password=None, always_split_cover=False, panic_password=None, panic_marker_payload=None, preserve_cover_encoding=True, compression=True, kdf_params=None)[source]ΒΆ
Bases:
object- Parameters:
dual_cipher (bool)
use_matrix_embedding (bool)
use_adaptive (bool)
adaptive_cutoff (float)
adaptive_cost_mode (str)
max_fill_ratio (float)
keyfile_bytes (bytes | None)
yubikey_response (bytes | None)
yk_challenge_nonce (bytes | None)
decoy_file_bytes (bytes | None)
decoy_filename (str | None)
decoy_password (str | None)
always_split_cover (bool)
panic_password (str | None)
panic_marker_payload (bytes | None)
preserve_cover_encoding (bool)
compression (bool)
kdf_params (KdfParams)
- stegx.steganography.embed_data(cover_image_path, data_to_hide, output_image_path, password)[source]ΒΆ
- stegx.steganography.embed_v2(cover_image_path, inner_plaintext, output_image_path, password, options)[source]ΒΆ
- stegx.steganography.extract_v2(stego_image_path, password, keyfile_bytes=None, try_adaptive_fallback=True, yubikey_response=None, yubikey_factory=None, allow_v1=False)[source]ΒΆ
- stegx.steganography.extract_v2_with_region(stego_image_path, password, keyfile_bytes=None, try_adaptive_fallback=True, yubikey_response=None, yubikey_factory=None, allow_v1=False)[source]ΒΆ
stegx.shamirΒΆ
stegx.safe_pathsΒΆ
- exception stegx.safe_paths.PathValidationError[source]ΒΆ
Bases:
ValueError
- stegx.safe_paths.validate_user_path(path, *, kind='any', must_exist=None, max_len=4096, allow_empty=False)[source]ΒΆ
stegx.secure_memoryΒΆ
- stegx.secure_memory.Zeroizing(buf)[source]ΒΆ
- Return type:
Iterator[Union[bytearray,memoryview]]- Parameters:
buf (bytearray | memoryview)
- stegx.secure_memory.zeroize(buf)[source]ΒΆ
- Return type:
- Parameters:
buf (bytearray | memoryview | None)