STENOGRAPH // CRYPTO TERMINAL

ALGO: LSB-RGB-24BIT
CAPACITY: 59.9 KB
ENTROPY: 7.91 BITS
STEG PROB: 0%

CRYPTOGRAPHIC LSB STEGANOGRAPHY & BITPLANE ANALYZER

Zero-dependency client-side image steganography workbench. Encodes UTF-8 payloads into 24-bit RGB least significant bitstreams, decomposes 8 bitplanes across color channels, and executes real-time Chi-square steganalysis.

🔒 Pure LSB Encoding
🔬 8-Bitplane Slicer
📊 Shannon Entropy
📈 Chi-Square (χ²) Steganalysis
⚡ 100% Client-Side ES6
[01] CARRIER IMAGE & LSB ENCODER
400x400 PX RGB (24-BIT) STATUS: CLEAN
SECRET PAYLOAD (UTF-8) 0 / 59,992 BYTES
[02] 8-BITPLANE CHANNEL SLICER
ACTIVE BITPLANE: BIT 0 (LSB - NOISE & SECRET)
BITPLANE 0 // ALL CHANNELS
EXTRACTED PAYLOAD DECODER OUTPUT IDLE
[03] SHANNON ENTROPY & CHI-SQUARE (χ²) TEST
RED CHANNEL ENTROPY: 7.92 / 8.00 bits
GREEN CHANNEL ENTROPY: 7.90 / 8.00 bits
BLUE CHANNEL ENTROPY: 7.94 / 8.00 bits
CHI-SQUARE (χ²) STEGANALYSIS ESTIMATE
0.0% PROBABILITY
Evaluates pairs of values (PoVs) $n_{2k}$ vs $n_{2k+1}$ across histogram bins.
[04] LSB BITSTREAM MEMORY HEX INSPECTOR
FIRST 256 BYTES
Loading LSB bitstream hex inspector...
PYTHON LSB STEGANOGRAPHY EXTRACTOR
import numpy as np
from PIL import Image

def extract_lsb_sten(img_path):
    img = Image.open(img_path).convert('RGB')
    arr = np.array(img).flatten()
    bits = arr & 1
    bytes_arr = np.packbits(bits)
    if bytes_arr[:4].tobytes() == b"STEN":
        length = int.from_bytes(bytes_arr[4:8], 'big')
        return bytes_arr[8:8+length].tobytes().decode('utf-8')
    return "No STEN signature found"