Utilia

Šifrovanie textu heslom

Zašifruj a dešifruj text prístupovou frázou v prehliadači pomocou AES-256-GCM a PBKDF2 so 600 000 iteráciami. Nič sa nenahráva. Úprimne o limitoch.

Použi dlhú prístupovú frázu, napríklad päť a viac náhodných slov. Zabudnutú prístupovú frázu nikto nedokáže obnoviť a zašifrovaný text je len tak silný ako ona.

Ako zašifrovať a dešifrovať text

  1. Napíš alebo vlož správu do prvého poľa, alebo klikni na Otvoriť súbor .txt.
  2. Zadaj Prístupovú frázu a tú istú ešte raz do Potvrď prístupovú frázu (pri šifrovaní). Zaškrtni Zobraziť prístupové frázy a skontroluj, čo je napísané. Riadok so silou dáva hrubú predstavu o tom, ako ťažko sa dá prístupová fráza uhádnuť.
  3. Klikni na Zašifrovať. Odvodenie kľúča trvá úmyselne asi sekundu (pozri nižšie). Výsledok je blok textu, ktorý začína BEGIN ENCRYPTED TEXT. Kopírovať ho vlož do e-mailu, četu alebo poznámky, alebo Stiahnuť .txt, aby si si ho uchoval ako súbor.
  4. Na prečítanie vlož celý blok (alebo otvor súbor .txt) do prvého poľa, zadaj prístupovú frázu a klikni na Dešifrovať. Pole na potvrdenie pri dešifrovaní nie je potrebné.

Ak je prístupová fráza nesprávna alebo bol zmenený čo i len jeden znak bloku, dostaneš jasnú chybu namiesto nezmyselného textu.

Čo sa s tvojím textom deje

Všetko beží v tvojom prehliadači pomocou zabudovaného Web Crypto API. Text ani prístupová fráza sa nikam neodosielajú. Nástroj používa štandardné, dobre preverené stavebné prvky:

  • Odvodenie kľúča: PBKDF2 s HMAC-SHA-256 a 600 000 iteráciami, čo je nastavenie, ktoré pre PBKDF2-HMAC-SHA256 odporúča OWASP Password Storage Cheat Sheet. Pri každom šifrovaní sa vygeneruje nová náhodná 16-bajtová soľ, takže tá istá prístupová fráza dá zakaždým iný kľúč a vopred vypočítané tabuľky sú zbytočné. Tých 600 000 kôl spomaľuje každý pokus o uhádnutie prístupovej frázy a je dôvodom, prečo šifrovanie chvíľu trvá.
  • Šifrovanie: AES-256 v režime GCM (NIST SP 800-38D) s novým náhodným 12-bajtovým IV. GCM je autentifikované šifrovanie: 16-bajtová značka zistí akúkoľvek zmenu. Malá hlavička (verzia formátu, počet iterácií, soľ a IV) je tiež autentifikovaná.
  • Výstup: Base64 s hlavičkou. Blok uvádza verziu formátu, takže budúce verzie tohto nástroja dokážu prečítať aj dnešné správy. Dvojité zašifrovanie rovnakého textu dá dva rôzne bloky, čo je očakávané.

Úprimne o limitoch

Nástroj je určený na bežné súkromie: poslať kamarátovi heslo k Wi-Fi, uchovať osobnú poznámku nečitateľnú pre náhodné oči alebo zdieľať krátke tajomstvo cez kanál, ktorému celkom nedôveruješ, pričom prístupovú frázu odovzdáš inak (osobne alebo telefonicky).

  • Prístupová fráza je všetko. Slabým miestom nie je samotný AES-256, ale uhádnuteľná prístupová fráza. Krátku alebo bežnú dokáže každý, kto má zašifrovaný blok, prelomiť offline napriek 600 000 iteráciám. Použi päť a viac náhodných slov alebo dlhé náhodné heslo z generátora. Odhad sily je iba nápoveda: nevie, že „Leto2024!“ je bežný vzorec.
  • Žiadne obnovenie. Neexistujú zadné vrátka, resetovanie ani kópia tvojej prístupovej frázy. Ak ju zabudneš, text je navždy stratený.
  • Tvoje zariadenie musí byť dôveryhodné. Škodlivý softvér, rozšírenie prehliadača alebo človek, ktorý ti pozerá cez rameno, môže prečítať text skôr, než sa zašifruje.
  • Metadáta nie sú skryté. Dĺžka bloku približne prezrádza dĺžku správy.
  • Nenahrádza overené nástroje. Pre súbory, zálohy, dlhodobé archívy alebo čokoľvek citlivé (právne, zdravotné, obchodné tajomstvá) použi auditované nástroje na to určené: age, GnuPG (OpenPGP) alebo end-to-end šifrovanie komunikátora, ako je Signal.

Často kladené otázky

Je toto šifrovanie bezpečné?

Algoritmy sú tie, ktoré používajú banky a vlády, použité odporúčaným spôsobom (náhodná soľ a IV, autentifikované šifrovanie). V praxi je bezpečnosť taká, aká je tvoja prístupová fráza a zariadenie, ktoré používaš.

Prečo je moja prístupová fráza „nesprávna“, hoci som si istý, že je správna?

Prístupové frázy rozlišujú veľké a malé písmená a medzery sa počítajú. Skontroluj Caps Lock a rozloženie klávesnice (slovenská alebo anglická, y a z sú zamenené) a uisti sa, že sa skopíroval celý blok od BEGIN po END. Skrátený alebo upravený blok dáva rovnakú chybu ako nesprávna prístupová fráza, úmyselne.

Môžete dešifrovať môj text, ak stratím prístupovú frázu?

Nie. Nikto to nedokáže: prístupová fráza sa nikde neukladá a vyskúšať všetky možnosti je presne to, čo návrh robí nepraktickým.

Môžem blok dešifrovať iným programom?

Formát je zdokumentovaný na stránke a používa štandardné primitíva: 1 bajt verzie, 4-bajtový počet iterácií, 16-bajtová soľ, 12-bajtové IV, potom šifrový text AES-GCM a jeho 16-bajtová značka, všetko v Base64; 33-bajtová hlavička sa odovzdáva ako dodatočné autentifikované údaje. Vývojár ho dokáže dešifrovať niekoľkými riadkami kódu pomocou OpenSSL, balíka cryptography v Pythone alebo Web Crypto.

Je to lepšie než Caesarova šifra alebo ROT13?

Úplne odlišné: tie iba maskujú písmená a prelomia sa za pár sekúnd. AES-GCM so silnou prístupovou frázou je moderná kryptografia, ktorú nemožno prelomiť skúšaním posunov ani sledovaním početnosti písmen.