Легкі для запам'ятовування парольні фрази з 4–8 випадкових слів англійського списку BIP39.
Шифрування AES-GCM
Сам інструмент доступний англійською мовою; на цій сторінці наведено пояснення вашою мовою.
Використовуйте Шифрування AES-GCM
Як це працює
Зашифруйте текст за допомогою AES-256-GCM і парольної фрази або розшифруйте рядок Base64, створений цим інструментом. Ключ — це один хеш SHA-256 від парольної фрази, тож використовуйте довгу випадкову фразу.
Програма працює повністю у вашому браузері: жодні введені вами дані не завантажуються.
Як користуватися Шифрування AES-GCM
- Введіть парольну фразу. Введіть довгу випадкову парольну фразу в поле Password / Key. Поле приймає й порожнє значення, яке нічого не захищає.
- Вставте текст. Вставте текст для шифрування або рядок Base64, створений цим інструментом, у поле Plaintext / Ciphertext (відкритий текст / шифротекст).
- Зашифруйте або розшифруйте. Натисніть Encrypt, щоб отримати рядок Base64, або Decrypt (розшифрувати), щоб перетворити такий рядок назад на текст.
- Скопіюйте й передайте безпечно. Натисніть Copy (копіювати) і надішліть Base64 одним каналом. Парольну фразу передайте іншим, наприклад особисто або телефоном.
- Виправте невдале розшифрування. Якщо Decrypt показує Error: wrong key or invalid data, перевірте парольну фразу літера за літерою і переконайтеся, що рядок Base64 скопійовано повністю.
Приклад
Коротке повідомлення
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Encrypt (зашифрувати) повертає Base64 з випадкового 12-байтового IV, шифротексту і 16-байтового тегу, щоразу інший. Спершу введіть парольну фразу в поле Password / Key (пароль / ключ): інструмент приймає й порожню, але вона нічого не захищає.
Що перевіряється
| Сигнал | Що це означає |
|---|---|
| Ключ | SHA-256 від парольної фрази, що використовується як ключ AES-256. Солі та повільного виведення немає, тож та сама фраза завжди дає той самий ключ. |
| Перші 16 символів Base64 | 12-байтовий IV. Encrypt щоразу бере новий випадковий IV, тож той самий текст при кожному запуску дає інший результат. |
| Довжина результату | 12-байтовий IV, потім байти тексту, потім 16-байтовий тег, усе в Base64. Порожній текст дає 40 символів; текст з 23 байтів — 68. |
| Error: wrong key or invalid data | Парольна фраза інша (регістр і пробіли мають значення), рядок змінено чи обрізано або це не Base64. Якщо перевірка не проходить, GCM не повертає тексту. |
| Немає заголовка формату | Результат не містить позначки версії чи алгоритму та асоційованих даних, тож іншій програмі для читання потрібні саме це розташування байтів і цей спосіб виведення ключа. |
| Вхідний Base64 | Decrypt очікує стандартний Base64, як його створює Encrypt. Пробіли й розриви рядків, додані поштовою програмою, ігноруються, але відсутній чи змінений символ робить розшифрування неможливим. |
| Порожня парольна фраза приймається | Тоді ключ — це SHA-256 від порожнього рядка, який будь-хто може обчислити, тож текст фактично не зашифровано. |
Ще кілька прикладів
Розшифрування зразка
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfDecrypt показує Hello from PhishDestroy. Зразок створено з нульовим IV (початкові AAAAAAAAAAAAAAAA) лише для ілюстрації; Encrypt завжди використовує випадковий IV.
У парольній фразі змінено одну літеру
The same ciphertext with Password / Key: Example passphrase, not a real secretError: wrong key or invalid data
Шифрування порожнього тексту
Plaintext / Ciphertext empty, any passphrase, EncryptРядок Base64 з 40 символів (12-байтовий IV плюс 16-байтовий тег), щоразу інший.
Часті запитання
Як із парольної фрази отримується ключ?
Ключ AES-256 — це один хеш SHA-256 від парольної фрази, без солі та без повільного виведення ключа, як-от PBKDF2 чи Argon2. Тому коротку або передбачувану фразу можна швидко підібрати офлайн, тож використовуйте довгу випадкову, наприклад із Passphrase Generator.
Що міститься в результаті і чи може інша програма його розшифрувати?
Base64 з випадкового 12-байтового IV, за яким ідуть шифротекст і 16-байтовий тег автентифікації GCM. Під час розшифрування з'являється Error: wrong key or invalid data (помилка: неправильний ключ або недійсні дані), якщо парольна фраза неправильна або змінено хоч один байт; інша програма може розшифрувати результат лише з тим самим ключем SHA-256 і тим самим розташуванням байтів.
Чи надсилається кудись мій текст або парольна фраза?
Ні. Шифрування виконується у вашому браузері через Web Crypto API; парольна фраза і текст ніколи не завантажуються і не зберігаються.
Чи варто шифрувати тут свою сид-фразу?
Ні. Ніколи не вводьте сид-фразу гаманця на вебсайті, а ключ з одного несоленого хешу SHA-256 дає змогу підібрати слабку парольну фразу офлайн. Зберігайте сид-фрази офлайн, наприклад на папері чи металі, або в апаратному гаманці.
Чи може інша програма розшифрувати результат?
Так, якщо вона дотримується того самого формату: ключ = SHA-256 від парольної фрази в UTF-8, IV = перші 12 байтів, тег = останні 16 байтів, без асоційованих даних. Це вміють пакет cryptography для Python та інші бібліотеки AES-GCM.
Чи можна використовувати одну парольну фразу для багатьох повідомлень?
Кожне повідомлення отримує новий випадковий 12-байтовий IV, тож на практиці повторне використання не повторює IV. Справжній ризик — сама парольна фраза: будь-хто, хто її дізнається, зможе прочитати всі повідомлення, зашифровані нею.
Що GCM додає порівняно зі звичайним AES?
Тег автентифікації. Будь-яка зміна IV, шифротексту чи тегу виявляється, і розшифрування завершується помилкою замість повернення зміненого тексту.