Utilia

Skjul tekst i et bilde

Skjul en hemmelig tekstmelding i et bilde med LSB-steganografi, eventuelt kryptert med AES-256-GCM, og avslør den senere. Kjører lokalt, uten opplasting.

Skjul en melding
Kapasitet
Legg til et bilde for å se hvor mye tekst det kan romme.

Resultatet lagres alltid som PNG: ny komprimering til JPEG, WebP eller HEIC ville slettet de skjulte bitene.

Avslør en melding

Slik skjuler du en melding i et bilde

  1. Slipp et bilde i dropsonen, eller klikk på den for å velge ett. PNG er best, men alle bilder nettleseren din kan åpne, fungerer: resultatet lagres alltid som en ny PNG.
  2. Under Skjul en melding skriver du teksten din i Hemmelig melding. Linjen Kapasitet viser hvor mange byte meldingen bruker, og hvor mange bildet kan romme.
  3. For fortrolighet huker du av for Krypter meldingen med en passordfrase (AES-256-GCM) og skriver inn en Passordfrase. Med Vis passordfrase kan du kontrollere det du har skrevet.
  4. Klikk på Skjul meldingen og last ned PNG. Filen lagres som navn-hidden.png, og statuslinjen forteller hvor mange fargeverdier som ble endret.

Slik avslører du en skjult melding

  1. Slipp PNG-filen i den samme dropsonen. Hvis den inneholder en melding som er skjult med dette verktøyet, får du beskjed om det så snart bildet er lastet inn.
  2. Hvis meldingen var kryptert, skriver du passordfrasen i Passordfrase (bare hvis meldingen ble kryptert).
  3. Klikk på Avslør skjult melding. Teksten vises under Skjult melding, klar til å kopieres.

Alt skjer i nettleseren din: bildet, meldingen og passordfrasen lastes aldri opp.

Slik fungerer det: minst signifikante bit (LSB)

Hver piksel lagrer en rød, en grønn og en blå verdi mellom 0 og 255. Dette verktøyet erstatter den siste biten (den minst signifikante biten) i disse tre verdiene med én bit av meldingen din, piksel for piksel i leserekkefølge. For eksempel er en rødverdi på 200 11001000 binært. Lagrer du biten 1, blir det 11001001, altså 201. En fargeverdi endres aldri med mer enn 1, en forskjell øyet ikke kan se.

Bare helt ugjennomsiktige piksler brukes, og alfakanalen røres aldri. Delvis gjennomsiktige piksler hoppes over, fordi nettlesere ikke kan bevare de laveste bitene deres nøyaktig. Før meldingen skriver verktøyet en header på 13 byte: en signatur, et flagg som sier om meldingen er kryptert, lengden og en CRC-32-sjekksum som oppdager skadede data.

Kapasiteten er omtrent (antall ugjennomsiktige piksler × 3 ÷ 8) − 13 byte. Et foto på 1000 × 1000 rommer omtrent 375 000 byte, langt mer enn noen tekstmelding. Kryptering legger til 49 byte (versjon, antall iterasjoner, 16 byte salt, 12 byte IV og 16 byte autentiseringsmerke). Ved kryptering utledes nøkkelen fra passordfrasen din med PBKDF2-SHA-256 (600 000 iterasjoner), og teksten krypteres med AES-256-GCM, som også oppdager enhver manipulering.

Hva steganografi ikke gjør

Steganografi skjuler at en melding finnes. Det er ikke sterk sikkerhet i seg selv. Sekvensiell LSB-innbygging som denne er lett å oppdage med steganalyseverktøy (kjikvadrattester, analyse av LSB-planet), og alle som åpner bildet i dette verktøyet, kan lese en ukryptert melding. Hvis innholdet må forbli privat, bruker du krypteringsvalget med en lang, unik passordfrase: beskyttelsen er bare så sterk som passordfrasen. Selv da beskytter kryptering innholdet, ikke det faktum at noe er skjult.

De skjulte bitene er også skjøre. Ny komprimering til JPEG eller WebP, endring av størrelse, beskjæring, skjermbilder, filtre og de fleste sosiale nettverk og meldingsapper (som komprimerer og ofte konverterer bilder) ødelegger meldingen. Del PNG-en som en fil: som e-postvedlegg, som lenke i en skytjeneste eller med «send som dokument» i en meldingsapp.

Ansvarlig bruk

Gode bruksområder er gåter, escape rooms og CTF-oppgaver, merking av dine egne bilder, undervisning i hvordan digitale bilder fungerer og private notater. Ikke bruk verktøyet til å omgå regler på jobb eller skole, eller loven, og respekter andres bilder og opphavsrett.

Ofte stilte spørsmål

Kan folk se at bildet mitt inneholder en melding?

Ikke ved å se på det: hver fargeverdi endres med høyst 1. Men et steganalyseverktøy kan ofte oppdage LSB-innbygging, og dette verktøyet melder selv fra om at en melding finnes når bildet lastes inn.

Hvorfor ble den skjulte meldingen min borte?

Bildet er trolig komprimert på nytt, fått endret størrelse eller blitt konvertert, for eksempel av et sosialt nettverk, en meldingsapp eller et bilderedigeringsprogram. Bare den nøyaktige PNG-filen bevarer bitene intakte.

Kan jeg starte med et JPEG-foto?

Ja. Fotoet dekodes, og resultatet lagres som PNG, som er tapsfritt. Behold det som PNG: lagrer du det på nytt som JPEG, slettes meldingen.

Hva skjer hvis jeg glemmer passordfrasen?

Meldingen kan ikke gjenopprettes. Det finnes ingen bakdør, og en feil passordfrase avvises av AES-GCM-autentiseringen.

Hvorfor er PNG-filen større enn originalen?

PNG er tapsfritt, så den er vanligvis større enn en JPEG av samme foto. Det er prisen for å bevare hver eneste skjulte bit intakt.