Utilia

Šifriranje teksta

Šifriraj i dešifriraj tekst pristupnom frazom u pregledniku pomoću AES-256-GCM i PBKDF2 sa 600 000 iteracija. Ništa se ne šalje na poslužitelj.

Koristi dugu pristupnu frazu, primjerice pet ili više nasumičnih riječi. Nitko ne može vratiti zaboravljenu pristupnu frazu, a šifrirani tekst jak je koliko i ona.

Kako šifrirati i dešifrirati tekst

  1. Upiši ili zalijepi svoju poruku u prvo polje ili klikni Otvori .txt datoteku.
  2. Upiši Pristupna fraza, a istu još jednom u Potvrdi pristupnu frazu (za šifriranje). Označi Prikaži pristupne fraze da provjeriš što si upisao. Redak jačine daje grubu predodžbu o tome koliko je pristupnu frazu teško pogoditi.
  3. Klikni Šifriraj. Izvođenje ključa traje oko sekundu namjerno (vidi dolje). Rezultat je blok teksta koji počinje s BEGIN ENCRYPTED TEXT. Kopiraj ga u e-poruku, chat ili bilješku ili Preuzmi .txt da ga sačuvaš kao datoteku.
  4. Za ponovno čitanje 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šifriranje.

Ako je pristupna fraza pogrešna ili je promijenjen čak i jedan znak bloka, dobiješ jasnu pogrešku umjesto nečitljivog teksta.

Što se događa s tvojim tekstom

Sve se odvija u tvom pregledniku ugrađenim Web Crypto API-jem. Tekst i pristupna fraza nikad se nikamo ne šalju. Alat koristi standardne, dobro provjerene građevne blokove:

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

Poštena ograničenja

Ovaj je alat namijenjen povremenoj privatnosti: slanju lozinke za Wi-Fi prijatelju, čuvanju osobne bilješke nečitljivom za slučajne poglede ili dijeljenju kratke tajne kanalom kojem ne vjeruješ posve, uz pristupnu frazu predanu drugim putem (osobno ili telefonom).

  • Pristupna fraza je sve. Sam AES-256 nije slaba točka; slaba je pristupna fraza koju je lako pogoditi. Kratku ili uobičajenu može probiti izvan mreže, unatoč 600 000 iteracija, svatko tko ima šifrirani blok. Koristi pet ili više nasumičnih riječi ili dugu nasumičnu lozinku iz generatora. Procjena jačine samo je naznaka: ne može znati da je „Ljeto2024!“ čest obrazac.
  • Nema oporavka. Nema stražnjih vrata, poništavanja ni kopije tvoje pristupne fraze. Zaboraviš li je, tekst je zauvijek izgubljen.
  • Tvoj uređaj mora biti pouzdan. Zlonamjerni softver, dodatak za preglednik ili netko tko ti gleda preko ramena može pročitati tekst prije šifriranja.
  • Metapodaci nisu skriveni. Duljina bloka otkriva otprilike duljinu poruke.
  • Nije zamjena za uhodane alate. Za datoteke, sigurnosne kopije, dugoročne arhive ili bilo što osjetljivo (pravne, medicinske, poslovne tajne) koristi provjerene alate izrađene za to: age, GnuPG (OpenPGP) ili end-to-end šifriranje messengera poput Signala.

Česta pitanja

Je li ovo šifriranje sigurno?

Algoritmi su oni koje koriste banke i vlade, primijenjeni na preporučeni način (slučajna sol i IV, autentificirano šifriranje). U praksi je sigurnost ona tvoje pristupne fraze i uređaja koji koristiš.

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

Pristupne fraze razlikuju velika i mala slova, a razmaci se računaju. Provjeri Caps Lock i raspored tipkovnice (QWERTZ ili QWERTY) te jesi li kopirao cijeli blok, od BEGIN do END. Skraćeni ili izmijenjeni blok daje istu pogrešku kao pogrešna pristupna fraza, namjerno.

Možete li dešifrirati moj tekst ako izgubim pristupnu frazu?

Ne. Nitko ne može: pristupna fraza nije nigdje pohranjena, a isprobavanje svih mogućnosti upravo je ono što dizajn čini nepraktičnim.

Mogu li blok dešifrirati drugim programom?

Format je dokumentiran na stranici i koristi standardne primitive: 1 bajt inačice, 4 bajta broja iteracija, sol 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 podaci. Programer ga može dešifrirati s nekoliko redaka koda koristeći OpenSSL, Pythonov paket cryptography ili Web Crypto.

Je li bolje od Cezarove šifre ili ROT13?

Potpuno drukčije: one samo prikrivaju slova i probijaju se u sekundama. AES-GCM s jakom pristupnom frazom moderna je kriptografija koja se ne može probiti isprobavanjem pomaka ni promatranjem učestalosti slova.