Skrytí textu v obrázku
Skryj tajnou textovou zprávu v obrázku metodou LSB, volitelně zašifrovanou AES-256-GCM, a později ji odhal. Běží lokálně, bez nahrávání.
Jak skrýt zprávu v obrázku
- Přetáhni obrázek do vyznačené oblasti, nebo na ni klikni a vyber ho. Nejlepší je PNG, ale funguje jakýkoli obrázek, který tvůj prohlížeč otevře: výsledek se vždy uloží jako nové PNG.
- V části Skrýt zprávu napiš text do pole Tajná zpráva. Řádek Kapacita ukazuje, kolik bajtů zpráva zabírá a kolik jich obrázek pojme.
- Pro důvěrnost zaškrtni Zašifrovat zprávu heslem (AES-256-GCM) a zadej Heslo. Volba Zobrazit heslo umožní zkontrolovat, co jsi napsal(a).
- Klikni na Skrýt zprávu a stáhnout PNG. Soubor se uloží jako
nazev-hidden.pnga stavový řádek ti sdělí, kolik hodnot barev se změnilo.
Jak odhalit skrytou zprávu
- Přetáhni PNG do stejné oblasti. Pokud obsahuje zprávu skrytou tímto nástrojem, upozornění se objeví hned po načtení obrázku.
- Pokud byla zpráva zašifrovaná, zadej heslo do pole Heslo (jen pokud byla zpráva zašifrovaná).
- Klikni na Odhalit skrytou zprávu. Text se zobrazí pod nadpisem Skrytá zpráva a je připravený ke zkopírování.
Všechno probíhá ve tvém prohlížeči: obrázek, zpráva ani heslo se nikdy nenahrávají.
Jak to funguje: nejméně významný bit (LSB)
Každý pixel ukládá hodnotu červené, zelené a modré od 0 do 255. Tento nástroj nahrazuje poslední bit (nejméně významný bit) těchto tří hodnot jedním bitem tvé zprávy, pixel po pixelu v pořadí čtení. Například červená hodnota 200 je binárně 11001000; uložením bitu 1 vznikne 11001001, tedy 201. Hodnota barvy se nikdy nezmění o víc než 1, což oko nepozná.
Používají se jen plně neprůhledné pixely a alfa kanál se nikdy nemění. Poloprůhledné pixely se přeskakují, protože prohlížeče u nich nedokážou přesně zachovat nízké bity. Před zprávou nástroj zapíše 13bajtovou hlavičku: podpis, příznak, zda je zpráva zašifrovaná, délku a kontrolní součet CRC-32, který odhalí poškozená data.
Kapacita je přibližně (počet neprůhledných pixelů × 3 ÷ 8) − 13 bajtů. Fotka 1000 × 1000 pojme asi 375 000 bajtů, mnohem víc než jakákoli textová zpráva. Šifrování přidává 49 bajtů (verze, počet iterací, 16bajtová sůl, 12bajtový IV a 16bajtová autentizační značka). Při šifrování se klíč odvozuje z hesla pomocí PBKDF2-SHA-256 (600 000 iterací) a text se šifruje algoritmem AES-256-GCM, který zároveň odhalí jakoukoli manipulaci.
Co steganografie neumí
Steganografie skrývá, že zpráva vůbec existuje; sama o sobě to není silné zabezpečení. Sekvenční vkládání do LSB, jaké se používá zde, lze snadno odhalit nástroji pro steganalýzu (test chí-kvadrát, analýza roviny LSB) a kdokoli, kdo obrázek otevře v tomto nástroji, přečte nezašifrovanou zprávu. Pokud má obsah zůstat soukromý, použij šifrování s dlouhým a jedinečným heslem: ochrana je jen tak silná jako heslo. I pak šifrování chrání obsah, nikoli skutečnost, že je něco ukryto.
Skryté bity jsou také křehké. Komprese JPEG nebo WebP, změna velikosti, ořez, snímky obrazovky, filtry a většina sociálních sítí a chatovacích aplikací (které obrázky znovu komprimují a často převádějí) zprávu zničí. PNG sdílej jako soubor: jako přílohu e-mailu, odkaz na cloudové úložiště nebo volbou „odeslat jako dokument“ v chatovací aplikaci.
Odpovědné používání
Dobré využití zahrnuje hádanky, únikové hry a soutěže CTF, značení vlastních obrázků, výuku toho, jak fungují digitální obrázky, a soukromé poznámky. Nepoužívej nástroj k obcházení pravidel v práci či ve škole ani zákona a respektuj cizí obrázky a autorská práva.
Časté dotazy
Poznají lidé, že můj obrázek obsahuje zprávu?
Pohledem ne: každá hodnota barvy se změní nejvýše o 1. Nástroj pro steganalýzu ale vkládání do LSB často odhalí a tento nástroj sám po načtení obrázku oznámí, že zpráva je přítomna.
Proč se moje skrytá zpráva ztratila?
Obrázek byl pravděpodobně znovu zkomprimován, zmenšen nebo převeden, například sociální sítí, chatovací aplikací nebo fotoeditorem. Bity zůstanou neporušené jen v přesném souboru PNG.
Můžu vyjít z fotky JPEG?
Ano. Fotka se dekóduje a výsledek se uloží jako PNG, tedy bezztrátově. Ponech ho jako PNG: opětovné uložení jako JPEG zprávu vymaže.
Co když zapomenu heslo?
Zprávu nelze obnovit. Neexistuje žádná zadní vrátka a špatné heslo zamítne ověření autenticity v AES-GCM.
Proč je soubor PNG větší než originál?
PNG je bezztrátový, takže je obvykle větší než JPEG téže fotky. Je to cena za to, že zůstane každý skrytý bit nedotčen.
Související nástroje
- Šifrování textu heslem Zašifruj a dešifruj text heslovou frází ve svém prohlížeči pomocí AES-256-GCM a PBKDF2 se 600 000 iteracemi. Nic se nenahrává. Upřímně o omezeních.
- Odstranění EXIF z fotek Odstraň data EXIF a polohu GPS z fotek před sdílením. Bez ztráty kvality u JPEG a PNG, hromadné zpracování, nic se nenahrává na server.
- Převodník obrázku na Base64 Převeď obrázek na Base64 nebo data URI s hotovým CSS a HTML, nebo dekóduj Base64 zpět na obrázek s náhledem. Zdarma, soukromě, bez nahrávání.
- Převodník formátů obrázků Převáděj obrázky mezi formáty PNG, JPG, WebP, BMP a ICO přímo v prohlížeči. Hromadný převod, velikosti favicon a průhlednost, bez nahrávání.