Utilia

Šifrovanje teksta

Šifriraj i dešifriraj tekst pristupnom frazom u pregledniku, uz AES-256-GCM i PBKDF2 sa 600.000 iteracija. Ništa se ne šalje na server. Iskreno o ograničenjima.

Koristi dugu pristupnu frazu, na primjer pet ili više nasumičnih riječi. Zaboravljenu pristupnu frazu niko ne može povratiti, a šifrirani tekst je jak tek koliko i ona.

Kako šifrirati i dešifrirati tekst

  1. Upiši ili zalijepi poruku u prvo polje, ili klikni Otvori .txt datoteku.
  2. Upiši Pristupna fraza, i istu još jednom u Potvrdi pristupnu frazu (za šifrovanje). Uključi Prikaži pristupne fraze da provjeriš šta si upisao. Red s jačinom daje grubu predstavu koliko je pristupnu frazu teško pogoditi.
  3. Klikni Šifriraj. Izvođenje ključa traje oko sekundu, namjerno (vidi ispod). Rezultat je blok teksta koji počinje sa BEGIN ENCRYPTED TEXT. Kopiraj ga u e-poruku, chat ili bilješku, ili Preuzmi .txt da ga sačuvaš kao datoteku.
  4. Da ga pročitaš, zalijepi cijeli blok (ili otvori .txt datoteku) u prvo polje, upiši pristupnu frazu i klikni Dešifriraj. Polje za potvrdu nije potrebno za dešifrovanje.

Ako je pristupna fraza pogrešna, ili je promijenjen makar jedan znak bloka, dobiješ jasnu grešku umjesto nečitkog teksta.

Šta se dešava s tvojim tekstom

Sve radi u tvom pregledniku, pomoću ugrađenog Web Crypto API-ja. Tekst i pristupna fraza nikad se ne šalju nigdje. Alat koristi standardne, dobro provjerene gradivne elemente:

  • Izvođenje ključa: PBKDF2 s HMAC-SHA-256 i 600.000 iteracija, postavka koju preporučuje OWASP Password Storage Cheat Sheet za PBKDF2-HMAC-SHA256. Za svako šifrovanje generiše se nova nasumična so od 16 bajtova, pa ista pristupna fraza svaki put daje drugi ključ, a unaprijed izračunate tabele su beskorisne. Zbog 600.000 rundi svako pogađanje pristupne fraze je napadaču sporo, a to je i razlog zašto šifrovanje traje trenutak.
  • Šifrovanje: AES-256 u GCM načinu (NIST SP 800-38D) sa svježim nasumičnim IV-om od 12 bajtova. GCM je autentificirano šifrovanje: oznaka od 16 bajtova otkriva svaku izmjenu. Malo zaglavlje (verzija formata, broj iteracija, so i IV) također je autentificirano.
  • Izlaz: Base64 sa zaglavljem. Blok navodi verziju formata, pa buduće verzije ovog alata i dalje mogu čitati današnje poruke. Šifrovanje istog teksta dvaput daje dva različita bloka, što je očekivano.

Iskreno o ograničenjima

Ovaj alat je namijenjen običnoj privatnosti: slanju Wi-Fi lozinke prijatelju, čuvanju lične bilješke nečitkom za radoznale oči ili dijeljenju kratke tajne kanalom kojem ne vjeruješ potpuno, uz pristupnu frazu predanu drugim putem (uživo ili telefonom).

  • Pristupna fraza je sve. Sam AES-256 nije slaba tačka; slaba tačka je fraza koju je lako pogoditi. Kratka ili uobičajena može se probiti offline, uprkos 600.000 iteracija, od strane svakoga ko ima šifrirani blok. Koristi pet ili više nasumičnih riječi ili dugu nasumičnu lozinku iz generatora. Procjena jačine je samo nagovještaj: ne može znati da je „Ljeto2024!“ uobičajen obrazac.
  • Nema oporavka. Nema stražnjih vrata, resetovanja ni kopije tvoje pristupne fraze. Zaboraviš li je, tekst je izgubljen zauvijek.
  • Tvoj uređaj mora biti pouzdan. Zlonamjerni softver, dodatak preglednika ili neko ko ti gleda preko ramena može pročitati tekst prije šifrovanja.
  • Metapodaci nisu skriveni. Dužina bloka otkriva otprilike dužinu poruke.
  • Nije zamjena za provjerene alate. Za datoteke, sigurnosne kopije, dugoročne arhive ili bilo šta osjetljivo (pravne, medicinske, poslovne tajne) koristi provjerene alate napravljene za to: age, GnuPG (OpenPGP) ili end-to-end šifrovanje aplikacije za poruke poput Signala.

Česta pitanja

Je li ovo šifrovanje sigurno?

Algoritmi su isti koje koriste banke i vlade, primijenjeni na preporučeni način (nasumična so i IV, autentificirano šifrovanje). U praksi, sigurnost je ona tvoje pristupne fraze i uređaja koji koristiš.

Zašto je moja pristupna fraza „pogrešna“ kad sam siguran da je tačna?

Pristupne fraze razlikuju velika i mala slova, a razmaci se računaju. Provjeri Caps Lock i raspored tastature (QWERTZ ili QWERTY) i uvjeri se da je kopiran cijeli blok, od BEGIN do END. Odsječen ili izmijenjen blok daje istu grešku kao pogrešna pristupna fraza, namjerno.

Možeš li dešifrovati moj tekst ako izgubim pristupnu frazu?

Ne. Niko ne može: pristupna fraza se nigdje ne pohranjuje, a isprobavanje svih mogućnosti je upravo ono što dizajn čini neizvodljivim.

Mogu li blok dešifrovati drugim programom?

Format je dokumentovan na stranici i koristi standardne primitive: 1 bajt verzije, 4 bajta broja iteracija, so od 16 bajtova, IV od 12 bajtova, zatim AES-GCM šifrat i njegova oznaka od 16 bajtova, sve u Base64; zaglavlje od 33 bajta prosljeđuje se kao dodatni autentificirani podatak. Programer ga može dešifrovati s nekoliko redova koda pomoću OpenSSL-a, Pythonovog paketa cryptography ili Web Crypto-a.

Je li bolje od Cezarove šifre ili ROT13?

Potpuno drugačije: one samo prikrivaju slova i probijaju se za sekunde. AES-GCM s jakom pristupnom frazom je moderna kriptografija koja se ne može probiti isprobavanjem pomaka ili gledanjem učestalosti slova.