Утилиты · Современная криптография
Шифрование AES по паролю
Зашифровать текст паролем (AES-256-GCM, ключ из пароля через PBKDF2) и расшифровать. Всё в браузере.
Считается в вашем браузере. Текст никуда не отправляется.
Как пользоваться
Придумайте пароль, вставьте текст — через долю секунды появится шифровка: строка Base64, которую можно отправить по почте, сохранить в заметках или распечатать. Чтобы прочитать её, переключитесь на «Расшифровать» (или нажмите «⇅» — шифровка сама переедет наверх), введите тот же пароль. Если пароль неверный или в шифровке изменился хоть один знак, утилита честно скажет, что расшифровать не удалось.
Одна и та же фраза с одним и тем же паролем каждый раз шифруется по-разному: внутри каждой шифровки свежие случайные соль и nonce. Это не ошибка, а защита: перехватчик не узнает, что вы дважды отправили одно и то же.
Пароль нигде не хранится. Если вы его забудете, восстановить текст не сможет никто — ни вы, ни мы, ни самый мощный компьютер. Записывайте пароли в надёжном месте.
Как это устроено
Сначала из пароля получается 256-битный ключ. Для этого пароль вместе со случайной солью 250 000 раз пропускается через SHA-256 (функция PBKDF2). Это нарочно медленно: на одну попытку уходит заметная доля секунды, и взломщику, перебирающему пароли, придётся тратить столько же на каждую.
Затем текст шифруется алгоритмом AES-256 в режиме GCM. AES — американский стандарт шифрования с 2001 года; им защищены HTTPS, Wi-Fi, архивы и диски. Режим GCM, кроме шифрования, добавляет 16-байтовую метку подлинности: любая подмена шифровки обнаруживается.
Формат результата: Base64 от байтов «CK1» (метка формата), 16 байт соли, 12 байт nonce, шифротекст и 16 байт метки. Блок «Из чего состоит результат» раскладывает любую шифровку на эти части.
Частые вопросы
Насколько это надёжно?
Сам AES-256 на сегодня не взломан. Слабое место — пароль. Короткий или словарный пароль подбирается перебором, сколько ни замедляй каждую попытку. Берите длинную фразу из нескольких случайных слов.
Можно ли расшифровать это другой программой?
Формат собственный, но собран из стандартных частей: PBKDF2-SHA256 (250 000 итераций) и AES-256-GCM. Программист восстановит его в любом языке за несколько строк.
Чем это отличается от XOR?
XOR — одна операция, из которой, среди прочего, построен AES. Сам по себе XOR с коротким ключом ломается за минуты; см. урок об XOR.
Уходит ли текст на сервер?
Нет. Шифрование выполняет встроенная в браузер криптография (Web Crypto), страница ничего не отправляет.