Utilia

Sakrij tekst u sliku

Sakrij tajnu tekstualnu poruku u sliku LSB steganografijom, po želji šifriranu AES-256-GCM-om, i kasnije je otkrij. Radi lokalno, bez slanja.

Sakrij poruku
Kapacitet
Dodaj sliku da vidiš koliko teksta može primiti.

Rezultat se uvijek sprema kao PNG: JPEG, WebP ili HEIC sažimanje izbrisalo bi skrivene bitove.

Otkrij poruku

Kako sakriti poruku u sliku

  1. Povuci sliku na zonu za ispuštanje ili klikni na nju za odabir. Najbolji je PNG, ali radi svaka slika koju tvoj preglednik može otvoriti: rezultat se uvijek sprema kao nov PNG.
  2. U odjeljku Sakrij poruku upiši tekst u polje Tajna poruka. Redak Kapacitet pokazuje koliko bajtova poruka zauzima i koliko ih slika može primiti.
  3. Za povjerljivost označi Šifriraj poruku lozinkom (AES-256-GCM) i upiši Lozinka. Opcijom Prikaži lozinku možeš provjeriti što si upisao.
  4. Klikni Sakrij poruku i preuzmi PNG. Datoteka se sprema kao ime-hidden.png, a statusni redak kaže koliko je vrijednosti boja promijenjeno.

Kako otkriti skrivenu poruku

  1. Povuci PNG na istu zonu za ispuštanje. Ako sadrži poruku koju je sakrio ovaj alat, napomena to javlja čim se slika učita.
  2. Ako je poruka šifrirana, upiši lozinku u polje Lozinka (samo ako je poruka šifrirana).
  3. Klikni Otkrij skrivenu poruku. Tekst se pojavljuje pod Skrivena poruka, spreman za kopiranje.

Sve se odvija u tvom pregledniku: slika, poruka i lozinka nikada se ne šalju na poslužitelj.

Kako radi: najmanje značajan bit (LSB)

Svaki piksel pohranjuje crvenu, zelenu i plavu vrijednost između 0 i 255. Ovaj alat zamjenjuje zadnji bit (najmanje značajan bit) tih triju vrijednosti jednim bitom tvoje poruke, piksel po piksel redoslijedom čitanja. Na primjer, crvena vrijednost 200 u binarnom zapisu je 11001000; spremanje bita 1 daje 11001001, a to je 201. Vrijednost boje nikada se ne promijeni za više od 1, razliku koju oko ne može vidjeti.

Koriste se samo potpuno neprozirni pikseli, a alfa-kanal se nikad ne dira. Poluprozirni pikseli se preskaču jer preglednici ne mogu točno sačuvati njihove niske bitove. Ispred poruke alat zapisuje zaglavlje od 13 bajtova: potpis, zastavicu koja kaže je li poruka šifrirana, duljinu i CRC-32 kontrolni zbroj koji otkriva oštećene podatke.

Kapacitet iznosi otprilike (broj neprozirnih piksela × 3 ÷ 8) − 13 bajtova. Fotografija 1000 × 1000 prima oko 375 000 bajtova, mnogo više od bilo koje tekstualne poruke. Šifriranje dodaje 49 bajtova (inačica, broj iteracija, 16 bajtova soli, 12 bajtova IV-a i 16 bajtova oznake autentikacije). Kod šifriranja se ključ izvodi iz tvoje lozinke algoritmom PBKDF2-SHA-256 (600 000 iteracija), a tekst se šifrira AES-256-GCM-om, koji otkriva i svako neovlašteno mijenjanje.

Što steganografija ne radi

Steganografija skriva da poruka uopće postoji; sama po sebi nije jaka zaštita. Ovakvo slijedno LSB ugrađivanje lako otkrivaju alati za steganalizu (hi-kvadrat testovi, analiza LSB ravnine), a svatko tko otvori sliku u ovom alatu može pročitati nešifriranu poruku. Ako sadržaj mora ostati privatan, upotrijebi opciju šifriranja s dugom, jedinstvenom lozinkom: zaštita je jaka koliko i lozinka. Čak i tada šifriranje štiti sadržaj, a ne činjenicu da je nešto skriveno.

Skriveni bitovi su i krhki. JPEG ili WebP ponovno sažimanje, promjena veličine, obrezivanje, snimke zaslona, filtri te većina društvenih mreža i aplikacija za poruke (koje ponovno sažimaju i često pretvaraju slike) uništavaju poruku. PNG dijeli kao datoteku: kao privitak e-pošte, poveznicu na pohranu u oblaku ili opciju „pošalji kao dokument“ u aplikaciji za poruke.

Odgovorna uporaba

Dobre primjene su zagonetke, escape igre i CTF izazovi, označavanje vlastitih slika, poučavanje o tome kako rade digitalne slike i čuvanje privatnih bilješki. Nemoj ga koristiti za zaobilaženje pravila na poslu ili u školi niti zakona te poštuj tuđe slike i autorska prava.

Česta pitanja

Mogu li drugi vidjeti da moja slika sadrži poruku?

Ne samim gledanjem: svaka se vrijednost boje mijenja za najviše 1. No alat za steganalizu često može otkriti LSB ugrađivanje, a i sam ovaj alat javlja da poruka postoji kad se slika učita.

Zašto je moja skrivena poruka izgubljena?

Slika je vjerojatno ponovno sažeta, promijenjene su joj dimenzije ili je pretvorena, na primjer na društvenoj mreži, u aplikaciji za poruke ili u uređivaču fotografija. Samo točna PNG datoteka čuva bitove netaknutima.

Mogu li krenuti od JPEG fotografije?

Da. Fotografija se dekodira, a rezultat se sprema kao PNG, koji je bez gubitaka. Zadrži ga kao PNG: ponovno spremanje kao JPEG briše poruku.

Što ako zaboravim lozinku?

Poruku nije moguće vratiti. Nema stražnjih vrata, a pogrešnu lozinku odbija provjera autentičnosti AES-GCM-a.

Zašto je PNG datoteka veća od izvorne?

PNG je bez gubitaka pa je obično veći od JPEG-a iste fotografije. To je cijena očuvanja svakog skrivenog bita.