AES в режиме CBC. Широко совместим. Требует случайного IV для каждого сообщения.
Как это работает
Симметричное шифрование использует один секретный ключ и для шифрования, и для расшифровки. Владелец ключа может выполнять обе операции, поэтому его нужно передавать по защищённому каналу.
Выберите алгоритм, сгенерируйте или вставьте ключ (и IV или nonce, если нужно), введите текст или загрузите файл — шифрование происходит мгновенно в браузере. Результат можно показать в шестнадцатеричном виде или Base64.
AES-GCM и ChaCha20-Poly1305 — аутентифицированные шифры (AEAD): они не только скрывают содержимое, но и обнаруживают любые изменения. AES-CBC и AES-CTR не аутентифицируют, а DES, 3DES, RC4 и Rabbit включены только для совместимости с устаревшими системами.
Примеры
AES-GCM · 256 bitsОткрытый текст → шифртекст в Base64 с включённым тегом аутентификации.AES-CBC · 256 bits + IV 128 bitsТребует случайный IV для каждого сообщения; при одинаковых IV и ключе один и тот же текст всегда даст один результат.Никогда не используйте IV или nonce повторно с тем же ключом, особенно в режимах GCM и CTR: это подрывает безопасность шифрования.ChaCha20-Poly1305 · nonce 192 bitsАутентифицированная альтернатива AES-GCM, идеальна на устройствах без аппаратного ускорения AES-NI.Сценарии использования
- Зашифровать текст или файл, чтобы хранить или отправить его защищённым, передав ключ по отдельному каналу.
- Расшифровать полученные данные с помощью правильных ключа и IV.
- Проверить совместимость с другой системой, настраивая алгоритм, режим, размер ключа и IV.
- На практике понять различия между режимами: аутентифицированный GCM против неаутентифицированных CBC или CTR.
Часто задаваемые вопросы
В чём разница между симметричным и асимметричным шифрованием?
Симметричное использует один и тот же ключ для шифрования и расшифровки; асимметричное — пару из открытого и закрытого ключей. Симметричное быстрее, но требует безопасной передачи ключа.
Какой алгоритм лучше использовать?
Для общего применения рекомендуемый стандарт — AES-GCM. ChaCha20-Poly1305 — отличная альтернатива на устройствах без ускорения AES-NI. Избегайте DES, 3DES, RC4 и Rabbit, кроме случаев совместимости.
Что такое IV или nonce и почему его нужно генерировать?
Это случайное значение, которое объединяется с ключом в каждом сообщении, чтобы один и тот же текст не всегда давал одинаковый шифртекст. Оно должно быть уникальным для каждого сообщения и никогда не использоваться повторно с тем же ключом.
Каким должен быть ключ?
Случайным и размера, указанного алгоритмом (например, 256 бит для AES-256). Используйте кнопку для генерации надёжного ключа; не используйте пароли или предсказуемые значения.
Почему DES, 3DES или RC4 присутствуют, если они небезопасны?
Только для расшифровки данных, созданных старыми системами, которые их ещё используют. Не применяйте их для защиты новой информации.
Отправляются ли мой текст и ключ на сервер?
Нет. Всё шифрование и расшифровка происходят локально в браузере; ни содержимое, ни ключ не покидают ваше устройство.