Extracting Messages Workflow (Receiver)
The receiver workflow extracts the invisible Variation Selector characters from the carrier text, reverses the spatial bit mapping, decrypts the ciphertext stream, and decompresses the original secret message in four sequential phases.
Phase 1: Ingestion & Parameter Setup
- Stego-Text Input: The receiver pastes the received message into the input field.
- Key Entry: The receiver enters the pre-shared Stego-Key and optional Key-Base (AES Password). If the Key-Base is empty, the Stego-Key is used as the fallback password.
Phase 2: Stego Extraction & Reverse Bit-Mapping
- VS Separation: The engine scans the input and isolates all invisible Variation Selector symbols from the visible cover text. If no VS characters are detected, an error halts execution.
- XOR Key Recovery: The isolated Variation Selectors are decoded back to the binary XOR key byte stream.
- Position Reconstruction & Dual-Engine Fallback: The clean cover text is analyzed, and the modern AES-256-CTR CSPRNG (with automatic fallback to the legacy Mulberry32 PRNG) regenerates the exact pseudo-random bit positions from the Stego-Key.
- Reverse XOR Operation: The encrypted ciphertext bits are recovered by applying bitwise XOR between the cover bits at those positions and the XOR key bits:CipherBits = CoverBits[P] ⊕ XOR_Key_Bits
Phase 3: Dynamic Key Re-Derivation & AES Decryption
- The clean, extracted cover text is hashed with SHA-256 to recover the exact 16-byte salt:Salt = SHA-256(Clean_Cover_Text)[0..15]
- PBKDF2-HMAC-SHA256 (100,000 iterations) generates the 48-byte key material using the receiver's password and the dynamic salt.
- The first 32 bytes establish the AES-256 key; the remaining 16 bytes form the initial CTR counter block.
- AES-256-CTR decrypts the recovered ciphertext into plain payload bytes with 0 bytes overhead.
Phase 4: Adaptive Decompression & Output
- If the first byte of the decrypted payload is
0xFE: The flag is stripped, and the payload is decompressed via the WASM Brotli engine. - If the
0xFEflag is absent: The payload is treated as raw uncompressed UTF-8 bytes. - The payload codec parses the message and any embedded recovery hints, displaying the final secret message to the receiver.