Utilia

Ascunde un mesaj în text

Ascunde un mesaj secret într-un text obișnuit, cu caractere invizibile de lățime zero, opțional criptat cu o parolă, apoi dezvăluie-l sau elimină-l.

Este un truc, nu securitate: multe aplicații și site-uri elimină caracterele de lățime zero, iar oricine le poate detecta cu o verificare simplă. Folosește parola dacă conținutul contează.

Ascunde un mesaj

Cu o parolă, mesajul este criptat (AES-256-GCM) înainte de a fi ascuns. Fără parolă, oricine cunoaște metoda îl poate citi.

Dezvăluie sau elimină un mesaj ascuns

Cum ascunzi un mesaj

  1. Scrie Text de acoperire (ce văd toți): o propoziție obișnuită, care va arăta exact la fel și după aceea.
  2. Scrie Mesaj secret.
  3. Opțional, introdu o Parolă (opțional). Mesajul este atunci criptat cu AES-256-GCM înainte de a fi ascuns, deci a cunoaște metoda nu este de ajuns ca să-l citești.
  4. Alege Unde se pun caracterele ascunse: După primul cuvânt (implicit), Împrăștiate între cuvinte, Chiar la început sau Chiar la sfârșit.
  5. Apasă Ascunde mesajul, apoi copiază Text cu mesajul ascuns cu butonul de copiere. Deschide Arată unde sunt caracterele ascunse ca să le vezi ca simboluri ◆.

Cum dezvălui sau elimini un mesaj ascuns

  1. Lipește textul în Text de verificat. Numărul de caractere de lățime zero apare sub câmp.
  2. Apasă Dezvăluie mesajul. Dacă mesajul este criptat, introdu Parolă (dacă mesajul este criptat) și apasă din nou.
  3. Ca să cureți un text, apasă Elimină caracterele ascunse: obții același text, fără datele ascunse. Emoji-urile precum 👨‍👩‍👧, care folosesc în mod legitim legături invizibile, rămân intacte.

Totul se întâmplă în browserul tău; nici textul, nici parola nu sunt trimise nicăieri.

Cum funcționează

Unicode conține caractere care nu ocupă spațiu pe ecran. Acest instrument folosește patru dintre ele drept cifre: ZERO WIDTH SPACE (U+200B) = 00, ZERO WIDTH NON-JOINER (U+200C) = 01, ZERO WIDTH JOINER (U+200D) = 10 și WORD JOINER (U+2060) = 11. Mesajul tău este convertit în octeți UTF-8, iar fiecare octet devine patru caractere invizibile. Blocul începe și se termină cu un ZERO WIDTH NO-BREAK SPACE (U+FEFF) și conține un antet de un octet care spune dacă conținutul este text simplu sau criptat.

Partea ascunsă crește repede: un mesaj de 20 de litere adaugă aproximativ 90 de caractere invizibile, iar criptarea adaugă 49 de octeți de antet și etichetă de autentificare (cam 200 de caractere în plus). În UTF-8, fiecare dintre aceste caractere ocupă 3 octeți, lucru important pentru câmpurile cu limită în octeți. Dimensiune în UTF-8 din rezultate arată dimensiunea reală a întregului text. Literele cu diacritice din mesajul secret, precum ă, î, ș sau ț, ocupă 2 octeți fiecare înainte de a fi transformate, deci un mesaj românesc se umflă puțin mai mult decât unul fără diacritice.

Cu o parolă, instrumentul folosește același format ca instrumentul de criptare a textului: PBKDF2-SHA-256 cu 600.000 de iterații derivă cheia, AES-256-GCM criptează, iar o parolă greșită sau un singur caracter modificat face ca decriptarea să eșueze, în loc să returneze date fără sens.

Limite: un truc, nu securitate

  • Multe platforme elimină caracterele de lățime zero. Unele aplicații de mesagerie, rețele sociale, câmpuri de formular și procesoare de text le șterg sau le normalizează. Testează mai întâi cu destinația: lipește rezultatul acolo, copiază-l înapoi și apasă Dezvăluie mesajul.
  • Copiile parțiale strică mesajul. Dacă cititorul copiază doar o parte din text, blocul este incomplet, iar instrumentul îl raportează de obicei ca deteriorat.
  • Este ușor de detectat. Orice verificator de caractere invizibile, un editor hexazecimal sau o simplă numărătoare arată că acolo se află ceva. Ascunderea existenței unui mesaj în fața unui observator hotărât nu este posibilă în acest fel.
  • Fără parolă este doar ofuscare. Oricine cunoaște această tehnică des întâlnită o poate decoda. Folosește o parolă puternică pentru orice este sensibil și transmite-o pe un alt canal.

Pentru a elimina orice fel de caracter invizibil (spații fixe, controale bidirecționale, cratime opționale și altele), folosește instrumentul de eliminare a caracterelor invizibile.

Întrebări frecvente

Supraviețuiește mesajul ascuns trimiterii prin e-mail sau chat?

Uneori. E-mailul în text simplu și multe aplicații de chat păstrează caracterele de lățime zero, dar unele servicii le elimină, iar unele tastaturi sau editoare le modifică. Fă întotdeauna un test dus-întors.

Pot alte instrumente să citească mesajele ascunse aici?

Doar instrumentele care folosesc aceeași codificare. Nu există un standard pentru steganografia cu caractere de lățime zero, deci instrumentele diferite nu sunt, în general, compatibile.

Ajută împrăștierea caracterelor între cuvinte?

Ține șirurile lungi de caractere invizibile departe de un singur loc, ceea ce poate rezista mai bine în unele editoare și arată mai puțin suspect într-un inspector de caractere. Nu face mesajul mai greu de găsit pentru un program.

De ce găsește instrumentul caractere de lățime zero, dar niciun mesaj?

Textul conține caractere invizibile care nu au fost scrise în formatul acestui instrument: copiate dintr-o pagină web, inserate de un editor sau filigranul altui instrument. Instrumentul de eliminare a caracterelor invizibile le poate lista.

Ce se întâmplă dacă ascund un mesaj nou într-un text care conține deja unul?

Blocul ascuns vechi este eliminat mai întâi, deci rezultatul conține doar mesajul nou.