Łatwe do zapamiętania hasła składające się z 4 do 8 losowych słów z angielskiej listy BIP39.
Szyfrowanie / deszyfrowanie AES-GCM
Samo narzędzie jest w języku angielskim; na tej stronie znajdziesz wyjaśnienia w Twoim języku.
Użyj Szyfrowanie / deszyfrowanie AES-GCM
Jak to działa
Szyfruj tekst za pomocą algorytmu AES-256-GCM i hasła lub odszyfruj ciąg znaków w formacie Base64 wygenerowany przez to narzędzie. Kluczem jest pojedynczy skrót SHA-256 hasła, dlatego należy użyć długiego, losowego hasła.
Działa całkowicie w przeglądarce: żadne wprowadzone dane nie są przesyłane.
Jak korzystać z Szyfrowanie / deszyfrowanie AES-GCM
- Wprowadź hasło. W polu „Hasło / Klucz” wpisz długie, losowe hasło. W polu tym można również pozostawić puste pole, co jednak nie zapewnia żadnej ochrony.
- Wklej tekst. Wpisz tekst do zaszyfrowania lub ciąg znaków Base64 wygenerowany przez to narzędzie w polu „Tekst jawny / Tekst zaszyfrowany”.
- Szyfrowanie lub deszyfrowanie. Naciśnij przycisk „Szyfruj”, aby uzyskać ciąg znaków w formacie Base64, lub „Deszyfruj”, aby przekształcić taki ciąg z powrotem w tekst.
- Kopiuj i udostępniaj bezpiecznie. Naciśnij „Kopiuj” i wyślij kod Base64 jednym kanałem. Hasło przekaż innym kanałem, na przykład osobiście lub telefonicznie.
- Napraw nieudane odszyfrowanie. Jeśli program Decrypt wyświetli komunikat o błędzie: „Nieprawidłowy klucz lub nieprawidłowe dane”, sprawdź hasło litera po literze i upewnij się, że skopiowano cały ciąg znaków w formacie Base64.
Przykład
Krótka wiadomość
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Funkcja „Encrypt” zwraca kod Base64 losowego 12-bajtowego IV, tekstu zaszyfrowanego oraz 16-bajtowego tagu, które są inne przy każdym uruchomieniu. Najpierw wpisz hasło w polu „Password / Key”: narzędzie akceptuje również puste hasło, które jednak nie zapewnia żadnej ochrony.
Co jest sprawdzane
| Sygnał | Co to oznacza |
|---|---|
| Klucz | SHA-256 hasła, wykorzystywany jako klucz AES-256. Nie stosuje się tu soli ani powolnego procesu wyprowadzania, więc to samo hasło zawsze daje ten sam klucz. |
| Pierwsze 16 znaków w kodowaniu Base64 | 12-bajtowy IV. Funkcja „Encrypt” generuje za każdym razem nowy losowy IV, więc ten sam tekst daje inny wynik przy każdym uruchomieniu. |
| Długość wyniku | 12-bajtowy IV, następnie bajty tekstu, a na końcu 16-bajtowy tag – wszystko w kodowaniu Base64. Pusty tekst zajmuje 40 znaków; tekst o długości 23 bajtów – 68. |
| Błąd: nieprawidłowy klucz lub nieprawidłowe dane | Hasło jest inne (rozróżnia się wielkość liter i spacje), ciąg znaków został zmieniony lub skrócony albo nie jest zakodowany w Base64. W przypadku niepowodzenia sprawdzania GCM nie zwraca żadnego tekstu. |
| Brak nagłówka formatu | Wynik nie zawiera żadnego oznaczenia wersji ani algorytmu, ani żadnych powiązanych danych, więc inne oprogramowanie potrzebuje dokładnie takiego samego układu i sposobu wyprowadzenia klucza, aby go odczytać. |
| Dane wejściowe w formacie Base64 | Funkcja „Decrypt” oczekuje standardowego kodu Base64 wygenerowanego przez funkcję „Encrypt”. Spacje i znaki końca linii dodane przez program pocztowy są ignorowane, ale brak lub zmiana jakiegokolwiek znaku powoduje niepowodzenie deszyfrowania. |
| Dopuszczono pustą frazę hasła | Kluczem jest zatem wartość SHA-256 pustego ciągu znaków, którą każdy może obliczyć, więc tekst w praktyce nie jest zaszyfrowany. |
Więcej przykładów
Odszyfruj próbkę
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfFunkcja „Decrypt” wyświetla komunikat „Hello from PhishDestroy”. Próbka została utworzona przy użyciu IV składającego się wyłącznie z zer (początkowy ciąg AAAAAAAAAAAAAAAA) wyłącznie w celach ilustracyjnych; funkcja „Encrypt” zawsze wykorzystuje losowy IV.
Zmieniono jedną literę hasła
The same ciphertext with Password / Key: Example passphrase, not a real secretBłąd: nieprawidłowy klucz lub nieprawidłowe dane
Szyfrowanie pustego tekstu
Plaintext / Ciphertext empty, any passphrase, EncryptCiąg znaków Base64 o długości 40 znaków (12-bajtowy IV oraz 16-bajtowy tag), różny przy każdym naciśnięciu.
Najczęściej zadawane pytania
W jaki sposób z mojego hasła generowany jest klucz?
Klucz AES-256 stanowi jeden skrót SHA-256 hasła, bez soli i bez powolnego procesu wyprowadzania klucza, takiego jak PBKDF2 czy Argon2. Krótkie lub łatwe do odgadnięcia hasło może zatem zostać szybko złamane metodą brute force w trybie offline, dlatego należy używać długiego, losowego hasła, na przykład wygenerowanego za pomocą generatora haseł.
Co zawiera plik wyjściowy i czy inne programy mogą go odszyfrować?
Kod Base64 losowego 12-bajtowego IV, następnie tekst zaszyfrowany oraz 16-bajtowy znacznik uwierzytelniający GCM. Podczas deszyfrowania pojawia się komunikat „Błąd: nieprawidłowy klucz lub nieprawidłowe dane”, jeśli hasło jest nieprawidłowe lub zmieniono jakikolwiek bajt, a inne oprogramowanie może je odszyfrować wyłącznie przy użyciu tego samego klucza SHA-256 i tego samego układu bajtów.
Czy mój tekst lub hasło są gdzieś przesyłane?
Nie. Szyfrowanie odbywa się w przeglądarce za pomocą interfejsu API Web Crypto; hasło ani tekst nigdy nie są przesyłane ani przechowywane.
Czy powinienem zaszyfrować tutaj swoją frazę początkową?
Nie. Nigdy nie wpisuj frazy początkowej portfela na stronie internetowej, a klucz wygenerowany na podstawie jednego skrótu SHA-256 bez soli umożliwia złamanie słabego hasła metodą brute force w trybie offline. Frazy początkowe należy przechowywać offline, na przykład na papierze lub metalu albo w portfelu sprzętowym.
Czy inne programy mogą odszyfrować wynik?
Tak, o ile ma ten sam układ: klucz = SHA-256 hasła w formacie UTF-8, IV = pierwsze 12 bajtów, tag = ostatnie 16 bajtów, bez powiązanych danych. Pakiet kryptograficzny języka Python oraz inne biblioteki AES-GCM potrafią to zrobić.
Czy mogę używać tego samego hasła do wielu wiadomości?
Każda wiadomość otrzymuje nowy, losowy 12-bajtowy IV, więc w praktyce ponowne użycie nie powoduje powtórzenia tego IV. Prawdziwym zagrożeniem jest sama fraza hasła: każdy, kto ją pozna, może odczytać każdą wiadomość utworzoną przy jej użyciu.
Co oferuje GCM w porównaniu ze zwykłym algorytmem AES?
Znacznik uwierzytelniający. Wszelkie zmiany w IV, tekście zaszyfrowanym lub znaczniku są wykrywane, a odszyfrowanie kończy się niepowodzeniem zamiast zwrócić zmieniony tekst.