Запоминающиеся парольные фразы из 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 не возвращает текст. |
| Нет заголовка формата | В результате нет метки версии или алгоритма и нет связанных данных (associated data), поэтому другой программе для чтения нужны именно такое расположение данных и такой способ получения ключа. |
| Ввод в 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, шифротекста или тега обнаруживается, и расшифровка завершается ошибкой вместо того, чтобы вернуть изменённый текст.