AES w trybie CBC. Są bardzo kompatybilne. Wymaga losowej IV na każdą wiadomość.
Jak to działa
Szyfrowanie symetryczne używa jednego tajnego klucza zarówno do szyfrowania, jak i deszyfrowania. Kto ma klucz, może wykonać obie operacje, dlatego trzeba go przekazać bezpiecznym kanałem.
Wybierz algorytm, wygeneruj lub wklej klucz (oraz IV lub nonce, gdy trzeba), wpisz tekst lub prześlij plik, a szyfrowanie odbywa się natychmiast w przeglądarce. Wynik można pokazać w formacie szesnastkowym lub Base64.
AES-GCM i ChaCha20-Poly1305 to szyfry uwierzytelnione (AEAD): oprócz ukrywania treści wykrywają każdą manipulację. AES-CBC i AES-CTR nie uwierzytelniają, a DES, 3DES, RC4 i Rabbit dołączono wyłącznie dla zgodności ze starszymi systemami.
Przykłady
AES-GCM · 256 bitsTekst jawny → szyfrogram w Base64, z dołączonym tagiem uwierzytelniającym.AES-CBC · 256 bits + IV 128 bitsWymaga losowego IV dla każdej wiadomości; przy tym samym IV i kluczu ten sam tekst zawsze dałby ten sam wynik.Nigdy nie używaj ponownie IV ani nonce z tym samym kluczem, zwłaszcza w trybach GCM i CTR: obniża to bezpieczeństwo szyfrowania.ChaCha20-Poly1305 · nonce 192 bitsUwierzytelniona alternatywa dla AES-GCM, idealna na urządzeniach bez akceleracji AES-NI.Przypadki użycia
- Zaszyfrować tekst lub plik, aby przechowywać go lub wysłać w chronionej postaci, przekazując klucz osobnym kanałem.
- Odszyfrować odebrane dane, używając właściwego klucza i IV.
- Przetestować interoperacyjność z innym systemem, dostosowując algorytm, tryb, rozmiar klucza i IV.
- Zrozumieć w praktyce różnice między trybami: uwierzytelniony GCM a nieuwierzytelnione CBC lub CTR.
Najczęstsze pytania
Jaka jest różnica między szyfrowaniem symetrycznym a asymetrycznym?
Symetryczne używa tego samego klucza do szyfrowania i deszyfrowania; asymetryczne używa pary kluczy publicznego i prywatnego. Symetryczne jest szybsze, ale wymaga bezpiecznego przekazania klucza.
Którego algorytmu użyć?
Do ogólnego użytku zalecanym standardem jest AES-GCM. ChaCha20-Poly1305 to znakomita alternatywa na urządzeniach bez akceleracji AES-NI. Unikaj DES, 3DES, RC4 i Rabbit poza względami zgodności.
Czym jest IV lub nonce i dlaczego muszę go wygenerować?
To losowa wartość łączona z kluczem w każdej wiadomości, aby ten sam tekst nie dawał zawsze tego samego szyfrogramu. Musi być unikatowa dla wiadomości i nigdy nie może być użyta ponownie z tym samym kluczem.
Jaki powinien być klucz?
Losowy i o rozmiarze wskazanym przez algorytm (na przykład 256 bitów dla AES-256). Użyj przycisku, aby wygenerować bezpieczny klucz; nie używaj haseł ani przewidywalnych wartości.
Dlaczego DES, 3DES lub RC4 się pojawiają, skoro są niebezpieczne?
Tylko do deszyfrowania danych generowanych przez stare systemy, które nadal z nich korzystają. Nie używaj ich do ochrony nowych informacji.
Czy mój tekst i klucz są wysyłane na serwer?
Nie. Całe szyfrowanie i deszyfrowanie odbywa się lokalnie w przeglądarce; ani treść, ani klucz nie opuszczają Twojego urządzenia.