Szyfrowanie / deszyfrowanie AES
Działa w całości w Twojej przeglądarce. Twoje pliki i dane nigdy nie opuszczają Twojego urządzenia.
O tym narzędziu
To narzędzie szyfruje tekst hasłem, które sam wybierzesz, używając AES-256-GCM. Hasło zamienia na klucz szyfrujący za pomocą PBKDF2 (600 000 rund SHA-256) i losowej soli, więc to samo hasło nigdy nie da dwa razy tego samego klucza. Przełącz na tryb deszyfrowania, wklej z powrotem zaszyfrowany tekst z tym samym hasłem, a dostaniesz oryginalny tekst.
Czy moje dane trafiają gdzieś dalej?
Nie. Wszystko dzieje się na Twoim urządzeniu, przez wbudowane w przeglądarkę Web Crypto API, ten sam mechanizm kryptograficzny, którego przeglądarki używają do HTTPS i WebAuthn. Nic, co wpiszesz, łącznie z hasłem, nie opuszcza Twojego komputera i nie dotyka żadnego serwera. Dzięki temu można tego spokojnie użyć do hasła, które zaraz wyślesz na czacie, do klucza API albo do prywatnej notatki, bo samo narzędzie nigdy nie widzi tych danych w trakcie przesyłania.
Dlaczego to samo hasło daje za każdym razem inny wynik?
Przy każdym szyfrowaniu narzędzie generuje nową losową sól i nowy losowy wektor inicjujący (IV), a następnie wprowadza sól razem z hasłem do PBKDF2, żeby uzyskać jednorazowy klucz szyfrujący. Ponieważ sól zmienia się przy każdym uruchomieniu, zaszyfrowanie tego samego tekstu tym samym hasłem dwa razy daje dwa zupełnie różne wyniki. To celowe: uniemożliwia komuś, kto porównuje dwa zaszyfrowane bloki, ustalenie, że kryje się pod nimi ten sam tekst, i unieszkodliwia gotowe tabele używane do zgadywania popularnych haseł.
Wynikiem jest jeden blok tekstu, który zawiera znacznik wersji, sól, IV i szyfrogram razem, zakodowane w base64, więc łatwo go wkleić w e-mail albo w okno czatu. Do odszyfrowania później nie trzeba pamiętać niczego poza hasłem. Sól i IV nie są tajne, muszą tylko być unikalne, a przechowywanie ich razem z szyfrogramem to standardowy sposób na spełnienie tego warunku.
Co się dzieje, gdy użyję złego hasła albo tekst zostanie zmieniony?
Deszyfrowanie po prostu się nie uda, zamiast po cichu wypluć bezsensowny tekst. AES-GCM dołącza do szyfrogramu znacznik uwierzytelniający, więc jeśli hasło jest złe, zaszyfrowany tekst urwał się w połowie kopiowania albo zmienił się choćby jeden znak, narzędzie zgłasza, że deszyfrowanie się nie powiodło, zamiast zwrócić uszkodzony tekst, który wygląda wiarygodnie.
Ludzie używają tego, żeby przesłać hasło albo klucz API przez czat lub e-mail bez wysyłania go jawnym tekstem, żeby prywatna notatka albo plik kopii zapasowej były nieczytelne, gdyby trafiły w niepowołane ręce, albo żeby zabezpieczyć małe fragmenty wrażliwych danych, zanim wklei się je do mniej zaufanego narzędzia. Więcej informacji o samym algorytmie znajdziesz w specyfikacji AES-GCM od NIST, a o liczbie iteracji PBKDF2 w wytycznych OWASP dotyczących przechowywania haseł.