Teksto slėpimas vaizde
Paslėpk slaptą tekstinę žinutę vaizde LSB steganografija, pasirinktinai užšifruotą AES-256-GCM, ir vėliau ją atskleisk. Veikia vietoje, be įkėlimo.
Kaip paslėpti žinutę vaizde
- Nutempk vaizdą į sritį arba spustelėk ją ir pasirink failą. Geriausiai tinka PNG, bet veikia bet koks vaizdas, kurį gali atidaryti tavo naršyklė: rezultatas visada išsaugomas kaip naujas PNG.
- Skiltyje Paslėpti žinutę įvesk tekstą į Slapta žinutė. Eilutė Talpa rodo, kiek baitų užima žinutė ir kiek jų telpa vaizde.
- Konfidencialumui pažymėk Užšifruoti žinutę slaptafraze (AES-256-GCM) ir įvesk Slaptafrazė. Rodyti slaptafrazę leidžia patikrinti, ką surinkai.
- Spustelėk Paslėpti žinutę ir atsisiųsti PNG. Failas išsaugomas kaip
pavadinimas-hidden.png, o būsenos eilutė parodo, kiek spalvų reikšmių buvo pakeista.
Kaip atskleisti paslėptą žinutę
- Nutempk PNG į tą pačią sritį. Jei jame yra šio įrankio paslėpta žinutė, pranešimas apie tai parodomas vos įkėlus vaizdą.
- Jei žinutė buvo užšifruota, įvesk slaptafrazę į Slaptafrazė (tik jei žinutė buvo užšifruota).
- Spustelėk Atskleisti paslėptą žinutę. Tekstas pasirodo po Paslėpta žinutė ir yra paruoštas kopijuoti.
Viskas vyksta tavo naršyklėje: vaizdas, žinutė ir slaptafrazė niekada neįkeliami.
Kaip tai veikia: mažiausiai reikšmingas bitas (LSB)
Kiekvienas pikselis saugo raudonos, žalios ir mėlynos spalvos reikšmę nuo 0 iki 255. Šis įrankis pakeičia paskutinį šių trijų reikšmių bitą (mažiausiai reikšmingą bitą) vienu tavo žinutės bitu, pikselis po pikselio skaitymo tvarka. Pavyzdžiui, raudonos reikšmė 200 dvejetainėje sistemoje yra 11001000; įrašius bitą 1 gaunama 11001001, tai yra 201. Spalvos reikšmė niekada nesikeičia daugiau nei vienetu, o tokio skirtumo akis nemato.
Naudojami tik visiškai nepermatomi pikseliai, o alfa kanalas niekada neliečiamas. Pusiau permatomi pikseliai praleidžiami, nes naršyklės negali tiksliai išsaugoti jų žemųjų bitų. Prieš žinutę įrankis įrašo 13 baitų antraštę: parašą, žymę, ar žinutė užšifruota, ilgį ir CRC-32 kontrolinę sumą, kuri aptinka pažeistus duomenis.
Talpa yra maždaug (nepermatomų pikselių skaičius × 3 ÷ 8) − 13 baitų. 1000 × 1000 nuotrauka talpina apie 375 000 baitų, kur kas daugiau nei bet kuri tekstinė žinutė. Šifravimas prideda 49 baitus (versija, iteracijų skaičius, 16 baitų druska, 12 baitų IV ir 16 baitų autentifikavimo žymė). Kai šifruojama, raktas iš slaptafrazės išvedamas PBKDF2-SHA-256 funkcija (600 000 iteracijų), o tekstas užšifruojamas AES-256-GCM, kuris taip pat aptinka bet kokį klastojimą.
Ko steganografija nedaro
Steganografija paslepia pačios žinutės buvimą, bet viena savaime nėra stipri apsauga. Nuosekliai LSB metodu įterptus duomenis lengva aptikti steganalizės įrankiais (chi kvadrato testais, LSB plokštumos analize), o kiekvienas, atidaręs vaizdą šiame įrankyje, gali perskaityti neužšifruotą žinutę. Jei turinys turi likti privatus, naudok šifravimo parinktį su ilga, unikalia slaptafraze: apsauga tokia stipri, kokia stipri slaptafrazė. Net ir tada šifravimas apsaugo turinį, bet ne tai, kad kažkas paslėpta.
Paslėpti bitai taip pat trapūs. JPEG ar WebP pakartotinis suspaudimas, dydžio keitimas, apkirpimas, ekrano nuotraukos, filtrai ir dauguma socialinių tinklų bei susirašinėjimo programų (kurios perspaudžia ir dažnai konvertuoja vaizdus) sunaikina žinutę. Dalinkis PNG kaip failu: el. laiško priedu, debesies saugyklos nuoroda arba susirašinėjimo programoje pasirinkus „siųsti kaip dokumentą“.
Atsakingas naudojimas
Tinkami panaudojimo būdai: galvosūkiai, pabėgimo kambarių žaidimai ir CTF užduotys, savo vaizdų žymėjimas, mokymasis, kaip veikia skaitmeniniai vaizdai, ir asmeniniai užrašai. Nenaudok to darbovietės ar mokyklos taisyklėms ar įstatymams apeiti ir gerbk kitų žmonių vaizdus bei autorių teises.
Dažnai užduodami klausimai
Ar žmonės gali matyti, kad mano vaizde yra žinutė?
Žiūrėdami – ne: kiekviena spalvos reikšmė pasikeičia ne daugiau nei vienetu. Tačiau steganalizės įrankis dažnai gali aptikti LSB įterpimą, o pats šis įrankis įkėlus vaizdą praneša, kad žinutė yra.
Kodėl mano paslėpta žinutė dingo?
Vaizdas greičiausiai buvo perspaustas, pakeistas jo dydis ar formatas, pavyzdžiui, socialinio tinklo, susirašinėjimo programos ar nuotraukų redaktoriaus. Bitai išlieka nepažeisti tik tiksliame PNG faile.
Ar galiu pradėti nuo JPEG nuotraukos?
Taip. Nuotrauka dekoduojama, o rezultatas išsaugomas kaip PNG, kuris yra be nuostolių. Palik jį PNG formatu: vėl išsaugojus kaip JPEG žinutė ištrinama.
Kas atsitiks, jei pamiršiu slaptafrazę?
Žinutės atkurti neįmanoma. Jokių užpakalinių durų nėra, o neteisingą slaptafrazę atmeta AES-GCM autentifikavimo patikra.
Kodėl PNG failas didesnis už originalą?
PNG yra be nuostolių, todėl paprastai didesnis nei tos pačios nuotraukos JPEG. Tokia kaina už tai, kad kiekvienas paslėptas bitas išlieka nepažeistas.
Susiję įrankiai
- Teksto šifravimas Šifruok ir iššifruok tekstą slaptafraze savo naršyklėje, naudojant AES-256-GCM ir PBKDF2 su 600 000 iteracijų. Niekas neįkeliama. Sąžiningai paaiškintos ribos.
- EXIF duomenų šalinimas Pašalink EXIF duomenis ir GPS vietą iš nuotraukų prieš dalijantis. Be nuostolių JPEG ir PNG, keli failai iš karto, nieko neįkeliama į serverį.
- Vaizdas į Base64 keitiklis Konvertuok vaizdą į Base64 ar data URI su paruoštu įklijuoti CSS ir HTML kodu arba dekoduok Base64 atgal į vaizdą su peržiūra. Nemokamai, be įkėlimo.
- Vaizdų formatų keitiklis Konvertuok vaizdus tarp PNG, JPG, WebP, BMP ir ICO formatų naršyklėje. Keli failai iš karto, favicon dydžiai ir skaidrumo parinktys, be įkėlimo.