SteganoCryptZone

Hiding encrypted data in plain sight: hybrid cryptography meets steganography in one tool.

2021 – 2022·Completed·Sole developer · BSc (Hons) Computer Security final year project, supervised by Mr Isuru Sri Bandara

Encryption has a visibility problem. Ciphertext protects a message’s contents, but its very presence announces that something worth stealing exists, inviting interception, automated decryption attempts, and coercion. Steganography solves the opposite problem: it hides that a message exists at all, but offers no protection once discovered. Each technique covers the other’s blind spot, yet in practice users are forced to stitch them together across fragmented single-purpose tools, one for image hiding, another for audio, most of which offer only symmetric AES and little to no public-key support.

SteganoCryptZone combines the two defences in a single desktop application. Data is encrypted with an AES session key, that key is wrapped with RSA public-key encryption (2048, 3072, or 4096-bit, user-selectable), and the resulting ciphertext is embedded into an image or audio carrier via least-significant-bit encoding, modifying pixel values and audio frame bytes so subtly the carrier is perceptually unchanged. An attacker now needs to detect that a message exists, extract it, and break hybrid encryption. The application handles the full round trip (key generation, encode, decode, decrypt) behind a GUI built for non-technical users, with MD5 digests validating carrier integrity before use.

The build ran as four iterations: image steganography, audio steganography, then each combined with RSA and AES encryption, under a blended waterfall/iterative/agile process, managed with a scaled-down PRINCE2 framework (proposal, PID, two interim reports) and continuous GitHub source control. Development risks that materialised, including schedule pressure and extended national power outages, were absorbed through a pre-planned backup schedule rather than scope cuts.

The delivered system met its primary objectives: hybrid AES+RSA encryption, image and audio steganography, and a free, open-source tool unifying capabilities that previously required multiple products. Text and video steganography and peer-to-peer secure messaging between application instances were scoped as future work, the groundwork for turning a data-hiding utility into a covert communication channel.

What it involved

  • Layered "encrypt-then-hide" pipeline: data sealed with an AES session key, the key wrapped in RSA (2048/3072/4096-bit, user-selectable), and the ciphertext embedded in a carrier file
  • LSB steganography across two media types: pixel-level encoding in images via Pillow, frame-byte encoding in audio via the Wave library, unified in a single tool where the market offered only fragmented single-purpose utilities
  • Full key lifecycle in-app: RSA key-pair generation, encode/decode, and encrypt/decrypt behind a PySimpleGUI desktop interface built for non-technical users
  • Carrier integrity validation: MD5 digests before and after embedding, confirming the stego media remains usable and perceptually unchanged
  • Four-iteration build: image, audio, then each with RSA and AES encryption, under a blended waterfall/iterative/agile process, managed with scaled-down PRINCE2 and continuous GitHub source control