Sakrij tekst u sliku
Sakrij tajnu tekstualnu poruku u slici pomoću LSB steganografije, po želji šifriranu AES-256-GCM-om, i kasnije je otkrij. Radi lokalno, bez slanja na server.
Kako sakriti poruku u slici
- Prevuci sliku na polje za unos ili klikni na njega da je odabereš. Najbolji je PNG, ali radi svaka slika koju tvoj preglednik može otvoriti: rezultat se uvijek sprema kao novi PNG.
- Pod Sakrij poruku upiši svoj tekst u Tajna poruka. Red Kapacitet pokazuje koliko bajtova poruka zauzima i koliko ih slika može primiti.
- Za povjerljivost označi Šifriraj poruku lozinkom (AES-256-GCM) i upiši Lozinka. Pomoću Prikaži lozinku možeš provjeriti šta si upisao.
- Klikni Sakrij poruku i preuzmi PNG. Datoteka se sprema kao
naziv-hidden.png, a statusni red javlja koliko je vrijednosti boja promijenjeno.
Kako otkriti skrivenu poruku
- Prevuci PNG na isto polje za unos. Ako sadrži poruku sakrivenu ovim alatom, napomena to javlja čim se slika učita.
- Ako je poruka bila šifrirana, upiši lozinku u polje Lozinka (samo ako je poruka bila šifrirana).
- 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 server.
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 za pikselom redoslijedom čitanja. Na primjer, crvena vrijednost 200 u binarnom zapisu je 11001000; upisivanjem bita 1 dobije se 11001001, tj. 201. Vrijednost boje se nikada ne promijeni za više od 1, a tu razliku oko ne može vidjeti.
Koriste se samo potpuno neprozirni pikseli, a alfa kanal se nikada ne dira. Poluprozirni pikseli se preskaču jer preglednici ne mogu tačno sačuvati njihove niže bitove. Prije poruke alat upisuje zaglavlje od 13 bajtova: potpis, oznaku je li poruka šifrirana, dužinu i CRC-32 kontrolni zbir koji otkriva oštećene podatke.
Kapacitet iznosi otprilike (broj neprozirnih piksela × 3 ÷ 8) − 13 bajtova. Fotografija od 1000 × 1000 prima oko 375.000 bajtova, mnogo više od bilo koje tekstualne poruke. Šifriranje dodaje 49 bajtova (verzija, broj iteracija, 16 bajtova soli, 12 bajtova IV-a i 16 bajtova oznake autentikacije). Kod šifriranja se ključ izvodi iz tvoje lozinke pomoću PBKDF2-SHA-256 (600.000 iteracija), a tekst se šifrira AES-256-GCM-om, koji otkriva i svaku izmjenu podataka.
Šta steganografija ne radi
Steganografija skriva činjenicu da poruka postoji; sama po sebi nije jaka zaštita. Sekvencijalno LSB ugrađivanje poput ovog lako se otkriva alatima za steganalizu (hi-kvadrat testovi, analiza LSB ravni), a svako ko otvori sliku u ovom alatu može pročitati nešifriranu poruku. Ako sadržaj mora ostati privatan, koristi opciju šifriranja s dugom, jedinstvenom lozinkom: zaštita je jaka onoliko koliko je jaka lozinka. Čak i tada šifriranje štiti sadržaj, a ne činjenicu da je nešto skriveno.
Skriveni bitovi su i osjetljivi. Ponovno komprimiranje u JPEG ili WebP, promjena veličine, izrezivanje, snimke ekrana, filteri te većina društvenih mreža i aplikacija za dopisivanje (koje ponovo komprimiraju, a često i pretvaraju slike) uništavaju poruku. PNG dijeli kao datoteku: kao privitak e-pošte, kao link na oblak ili opcijom „pošalji kao dokument“ u aplikaciji za dopisivanje.
Odgovorna upotreba
Dobre upotrebe su zagonetke, escape igre i CTF izazovi, označavanje vlastitih slika, poduč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, i poštuj tuđe slike i autorska prava.
Česta pitanja
Mogu li ljudi vidjeti da moja slika sadrži poruku?
Ne golim okom: svaka vrijednost boje mijenja se najviše za 1. Ali alat za steganalizu često može otkriti LSB ugrađivanje, a i ovaj alat sam javlja da je poruka prisutna čim se slika učita.
Zašto je moja skrivena poruka izgubljena?
Slika je vjerovatno ponovo komprimirana, promijenjene veličine ili pretvorena, na primjer na društvenoj mreži, u aplikaciji za dopisivanje ili u programu za uređivanje fotografija. Samo tačna PNG datoteka čuva bitove netaknutim.
Mogu li početi od JPEG fotografije?
Da. Fotografija se dekodira, a rezultat se sprema kao PNG, koji je bez gubitaka. Zadrži ga kao PNG: ponovno spremanje u JPEG briše poruku.
Šta ako zaboravim lozinku?
Poruka se ne može povratiti. Ne postoji zadnja vrata, a pogrešnu lozinku odbija provjera autentikacije AES-GCM-a.
Zašto je PNG datoteka veća od originala?
PNG je bez gubitaka, pa je obično veći od JPEG-a iste fotografije. To je cijena čuvanja svakog skrivenog bita netaknutim.
Srodni alati
- Šifrovanje teksta Šifriraj i dešifriraj tekst pristupnom frazom u pregledniku, uz AES-256-GCM i PBKDF2 sa 600.000 iteracija. Ništa se ne šalje na server. Iskreno o ograničenjima.
- Ukloni EXIF podatke sa fotografije Ukloni EXIF podatke i GPS lokaciju sa fotografija prije dijeljenja. Bez gubitaka za JPEG i PNG, grupna obrada, ništa se ne šalje na server.
- Pretvarač slike u Base64 Pretvori sliku u Base64 ili data URI s CSS i HTML kodom spremnim za lijepljenje, ili dekodiraj Base64 u sliku s pregledom. Besplatno, bez slanja.
- Pretvarač formata slika Pretvaraj slike između formata PNG, JPG, WebP, BMP i ICO u pregledniku. Grupno pretvaranje, veličine za favicon i prozirnost, bez slanja na server.