Шифрование и расшифровка Serpent
Шифрует и расшифровывает текст алгоритмом Serpent — финалистом конкурса AES.
Он понадобится для расшифровки. Ничего из введённого не покидает эту страницу.
По умолчанию в OpenSSL — 10 000. Подойдёт любое число: чем больше, тем медленнее подбирать пароль; для расшифровки нужно то же число.
Обычный выбор для OpenSSL. Нужен IV; дополняет до целых блоков.
В OpenSSL нет шифра Serpent.
Serpent, созданный Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном, занял второе место в конкурсе AES. Он шифрует 16-байтовые блоки ключом 128, 192 или 256 бит за 32 раунда — это намеренно большой запас прочности, из-за которого он уступил в скорости Rijndael, победителю, ставшему AES, — и практических атак на него неизвестно. Шифруйте и расшифровывайте здесь текст Serpent-256 по умолчанию (или 128 и 192) в режимах CBC, ECB, CTR, CFB или OFB. С паролем ключ и IV получаются из PBKDF2-HMAC-SHA256 и случайной соли, а результат сохраняется в формате Salted__ из openssl enc -pbkdf2; можно и ввести свои ключ и IV в hex. Текст и ключи не покидают ваше устройство: всё работает в браузере, бесплатно и без регистрации.
Как зашифровать текст Serpent
- Выберите «Зашифровать» или «Расшифровать». Введите текст для шифрования или вставьте текст в Base64 или hex для расшифровки — формат определяется автоматически.
- Введите пароль (кнопка «Сгенерировать» создаст надёжный) или переключитесь на «Ключ и IV (hex)» и введите либо сгенерируйте ключ и 32-значный IV (в ECB IV нет).
- Выберите размер ключа (по умолчанию 256 бит) и режим (по умолчанию CBC). Для расшифровки нужны те же настройки, что и при шифровании.
- Скопируйте или скачайте результат либо нажмите «Поменять местами», чтобы перенести его в поле ввода и сменить направление.
Возможности
- Serpent с ключом 128, 192 или 256 бит, все 32 раунда
- Режимы CBC, ECB, CTR, CFB и OFB; дополнение PKCS#7 или без дополнения
- Стандартный порядок байтов — как в тестовых векторах NESSIE
- Режим пароля с PBKDF2-HMAC-SHA256 и заголовком Salted__, как в openssl enc -pbkdf2
- Режим «Ключ и IV» со своими ключом и IV в hex или сгенерированными
- Base64 или hex на входе и выходе; результат можно скопировать, скачать или поменять местами с вводом
Это конфиденциально?
Да. Serpent работает на WebAssembly внутри браузера; текст, пароль и ключ не отправляются на сервер и не сохраняются в браузере.
Частые вопросы
Надёжен ли Serpent?
Да. Практических атак на полный 32-раундовый Serpent неизвестно; он задуман так, чтобы оставаться стойким даже при улучшении атак, — ценой скорости. Для текста обычного размера разница в скорости незаметна. AES поддерживается почти везде, поэтому Serpent выбирайте, когда им пользуется система, с которой вы обмениваетесь данными.
Может ли OpenSSL расшифровать Serpent?
Нет — в OpenSSL нет Serpent, поэтому ни одна команда openssl этот результат не прочитает. Чтобы использовать данные в другой программе, выберите режим «Ключ и IV» и передайте ей те же ключ, IV, режим и дополнение (PKCS#7 для CBC и ECB).
Почему не расшифровываются данные Serpent из другой программы?
Если ключ, IV и режим верны, вероятная причина — порядок байтов: некоторые реализации записывают входные и выходные байты Serpent в обратном порядке — в Bouncy Castle этот вариант называется Tnepres. Эта страница использует стандартный порядок из тестовых векторов NESSIE, поэтому данные из реализации Tnepres здесь не расшифруются.
Можно ли открыть тома VeraCrypt, зашифрованные Serpent?
Нет. VeraCrypt шифрует целые диски и файлы-контейнеры с помощью Serpent в режиме XTS за собственным заголовком, а эта страница шифрует и расшифровывает текст. Тома VeraCrypt открывайте в VeraCrypt; чтобы защитить паролем отдельный файл прямо в браузере, воспользуйтесь инструментом «Шифрование файлов».