Over deze tool
Deze tool verbergt een geheim tekstbericht in een gewone afbeelding en haalt het er later weer uit, met least-significant-bit (LSB) steganografie. Alles gebeurt lokaal in je browser op een HTML-canvas: de afbeelding en je bericht verlaten nooit je apparaat en er wordt niets naar een server geüpload.
LSB-steganografie werkt door het minst significante bit van elk kleurkanaal te overschrijven. De afbeelding wordt op een canvas getekend en de ruwe pixels worden uitgelezen; het bericht wordt omgezet naar UTF-8-bytes en die bits vervangen, bit voor bit, het laagste bit van de rode, groene en blauwe kanalen van opeenvolgende pixels (het alpha-/transparantiekanaal wordt overgeslagen om visuele artefacten te voorkomen). Alleen het laagste bit veranderen verschuift elk kanaal met hoogstens 1 van 255, dus het resultaat ziet er voor het oog identiek uit. Er wordt eerst een 32-bits big-endian lengteheader geschreven, zodat de decoder precies weet hoeveel berichtbytes volgen. Elke pixel draagt 3 bits, dus een afbeelding bevat ongeveer floor(breedte x hoogte x 3 / 8) bytes, minus de 4 headerbytes.
Om een bericht te verbergen kies je "Bericht verbergen", kies je een afbeelding, typ je je tekst en klik je op Coderen & downloaden om een PNG op te slaan. Om het terug te halen schakel je naar "Bericht onthullen" en open je een stego-PNG; de verborgen tekst wordt automatisch gedecodeerd. De uitvoer moet PNG zijn omdat die lossless is — een JPEG hercomprimeert de pixels en zou de fragiele minst significante bits wegvegen, wat het bericht vernietigt.