Utilia

Šifriranje besedila

Šifriraj in dešifriraj besedilo z geslom v brskalniku z AES-256-GCM in PBKDF2 s 600 000 ponovitvami. Nič se ne naloži na strežnik. Pošteno o omejitvah.

Uporabi dolgo geslo, na primer pet ali več naključnih besed. Pozabljenega gesla nihče ne more obnoviti, šifrirano besedilo pa je tako močno kot geslo.

Kako šifrirati in dešifrirati besedilo

  1. Vtipkaj ali prilepi sporočilo v prvo polje ali klikni Odpri datoteko .txt.
  2. Vnesi Geslo in isto še enkrat v Potrdi geslo (za šifriranje). Označi Pokaži gesli, da preveriš, kaj si vtipkal. Vrstica moči da grobo predstavo, kako težko je geslo uganiti.
  3. Klikni Šifriraj. Izpeljava ključa traja približno sekundo, namenoma (glej spodaj). Rezultat je blok besedila, ki se začne z BEGIN ENCRYPTED TEXT. S Kopiraj ga prenesi v e-pošto, klepet ali zapisek, ali pa ga z Prenesi .txt shrani kot datoteko.
  4. Za branje prilepi celoten blok (ali odpri datoteko .txt) v prvo polje, vnesi geslo in klikni Dešifriraj. Polje za potrditev za dešifriranje ni potrebno.

Če je geslo napačno ali je bil spremenjen že en sam znak bloka, dobiš jasno napako namesto popačenega besedila.

Kaj se zgodi z besedilom

Vse poteka v tvojem brskalniku z vgrajenim vmesnikom Web Crypto API. Besedilo in geslo se nikoli ne pošljeta nikamor. Orodje uporablja standardne, dobro pregledane gradnike:

  • Izpeljava ključa: PBKDF2 s HMAC-SHA-256 in 600 000 ponovitvami, nastavitev, ki jo za PBKDF2-HMAC-SHA256 priporoča OWASP Password Storage Cheat Sheet. Ob vsakem šifriranju se ustvari nova naključna 16-bajtna sol, zato isto geslo vsakič da drug ključ in vnaprej izračunane tabele ne koristijo. 600 000 krogov upočasni vsak poskus ugibanja gesla za napadalca in je razlog, da šifriranje traja trenutek.
  • Šifriranje: AES-256 v načinu GCM (NIST SP 800-38D) s svežim naključnim 12-bajtnim IV. GCM je overjeno šifriranje: 16-bajtna oznaka zazna vsako spremembo. Tudi majhna glava (različica oblike, število ponovitev, sol in IV) je overjena.
  • Izhod: Base64 z glavo. Blok navaja različico oblike, zato lahko prihodnje različice tega orodja še vedno preberejo današnja sporočila. Dvakratno šifriranje istega besedila da dva različna bloka, kar je pričakovano.

Poštene omejitve

To orodje je namenjeno vsakdanji zasebnosti: pošiljanju gesla za Wi-Fi prijatelju, hranjenju osebnega zapiska, nečitljivega za radovedne oči, ali deljenju kratke skrivnosti prek kanala, ki mu ne zaupaš povsem, pri čemer geslo podaš drugače (osebno ali po telefonu).

  • Geslo je vse. Šibka točka ni AES-256, ampak ugibljivo geslo. Kratko ali pogosto geslo lahko kdor koli, ki ima šifrirani blok, kljub 600 000 ponovitvam razbije brez povezave. Uporabi pet ali več naključnih besed ali dolgo naključno geslo iz generatorja. Ocena moči je le namig: ne more vedeti, da je »Poletje2024!« pogost vzorec.
  • Brez obnovitve. Ni zadnjih vrat, ponastavitve ali kopije tvojega gesla. Če ga pozabiš, je besedilo izgubljeno za vedno.
  • Tvoja naprava mora biti zaupanja vredna. Zlonamerna programska oprema, razširitev brskalnika ali nekdo, ki ti gleda čez ramo, lahko prebere besedilo, preden je šifrirano.
  • Metapodatki niso skriti. Dolžina bloka približno razkrije dolžino sporočila.
  • Ni nadomestilo za uveljavljena orodja. Za datoteke, varnostne kopije, dolgoročne arhive ali karkoli občutljivega (pravne, zdravstvene, poslovne skrivnosti) uporabi revidirana orodja, narejena za to: age, GnuPG (OpenPGP) ali šifriranje od konca do konca v sporočilniku, kot je Signal.

Orodje šifrira tudi besedilo s slovenskimi znaki (č, š, ž) in drugimi znaki Unicode: besedilo se pretvori v UTF-8, zato se pri dešifriranju vrne natančno takšno, kot je bilo.

Pogosta vprašanja

Ali je to šifriranje varno?

Algoritmi so tisti, ki jih uporabljajo banke in vlade, uporabljeni na priporočen način (naključna sol in IV, overjeno šifriranje). V praksi je varnost takšna kot tvoje geslo in naprava, ki jo uporabljaš.

Zakaj je moje geslo »napačno«, čeprav sem prepričan, da je pravilno?

Gesla razlikujejo velike in male črke, presledki pa štejejo. Preveri tipko Caps Lock in razporeditev tipkovnice (QWERTZ ali QWERTY) ter se prepričaj, da je bil kopiran celoten blok, od BEGIN do END. Odrezan ali spremenjen blok da enako napako kot napačno geslo, kar je zasnovano namerno.

Ali lahko dešifrirate moje besedilo, če izgubim geslo?

Ne. Nihče ne more: geslo ni shranjeno nikjer, preizkušanje vseh možnosti pa je natanko tisto, kar zasnova naredi nepraktično.

Ali lahko blok dešifriram z drugim programom?

Oblika je dokumentirana na strani in uporablja standardne primitive: 1 bajt različice, 4-bajtno število ponovitev, 16-bajtna sol, 12-bajtni IV, nato šifrirano besedilo AES-GCM in njegova 16-bajtna oznaka, vse v Base64; 33-bajtna glava je podana kot dodatni overjeni podatek. Razvijalec ga lahko dešifrira z nekaj vrsticami kode z OpenSSL, paketom cryptography za Python ali Web Crypto.

Ali je boljše od Cezarjeve šifre ali ROT13?

Povsem drugače: ti samo prikrijeta črke in ju razbiješ v nekaj sekundah. AES-GCM z močnim geslom je sodobna kriptografija, ki je ni mogoče razbiti s preizkušanjem premikov ali opazovanjem pogostosti črk.