Шифрование и расшифровка DES
Расшифровывает или шифрует старые данные одинарным DES.
DES по современным меркам слаб — используйте его, чтобы читать старые данные, а для новых — AES или ChaCha20. Перейти к AES
Он понадобится для расшифровки. Ничего из введённого не покидает эту страницу.
По умолчанию в OpenSSL — 10 000. Подойдёт любое число: чем больше, тем медленнее подбирать пароль; для расшифровки нужно то же число.
Обычный выбор для OpenSSL. Нужен IV; дополняет до целых блоков.
openssl enc -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider defaultOpenSSL запросит пароль; вставьте в него текст или добавьте файлы -in и -out.
DES (Data Encryption Standard, 1977) шифрует 8-байтовые блоки 64-битным ключом, в котором значимы только 56 бит; остальные 8 — биты чётности. Его давно взломали полным перебором, но в старых файлах, конфигурациях и базах данных до сих пор встречаются значения, зашифрованные DES, и эта страница их читает и создаёт: режим CBC по умолчанию или ECB, CFB, OFB и CTR, с паролем в формате openssl enc -pbkdf2 или 16-значными ключом и IV в hex. Восстановите старые данные, а затем зашифруйте их заново с помощью AES. Всё работает в браузере: данные и ключ не покидают ваше устройство, бесплатно и без регистрации.
Как расшифровать текст, зашифрованный DES
- Выберите «Расшифровать» и вставьте текст в Base64 или hex — формат определяется автоматически — или выберите «Зашифровать» и введите текст.
- Введите пароль или переключитесь на «Ключ и IV (hex)» и введите 16-значный ключ и 16-значный IV (в ECB IV нет).
- Выберите режим, в котором были зашифрованы данные, — обычно CBC или ECB. Включайте «Без дополнения», только если данные шифровались без дополнения PKCS#7.
- Скопируйте или скачайте результат; байты, которые не являются текстом, показываются в hex.
Возможности
- Одинарный DES с 64-битным ключом: 56 бит ключа плюс 8 бит чётности
- Режимы CBC, ECB, CFB, OFB и CTR; дополнение PKCS#7 или без дополнения
- Режим пароля в формате openssl enc -pbkdf2, любое число итераций PBKDF2
- Режим «Ключ и IV» с 16-значными ключом и IV в hex — введёнными вручную или сгенерированными
- Команда openssl для той же операции — с устаревшим провайдером (legacy) OpenSSL 3
- Ввод в Base64 или hex определяется автоматически; нетекстовый результат показывается в hex и скачивается как байты
Это конфиденциально?
Да. DES работает на WebAssembly внутри браузера, поэтому старые данные, которые вы расшифровываете, и их ключ или пароль никуда не загружаются и нигде не сохраняются.
Частые вопросы
Надёжно ли шифрование DES?
Нет. 56-битный ключ можно найти перебором всех вариантов: специально построенная машина сделала это ещё в 1998 году, а сегодня это гораздо дешевле. Используйте DES только для чтения данных, которые уже зашифрованы DES, а затем зашифруйте их заново AES или ChaCha20.
Почему OpenSSL пишет «Error setting cipher DES-CBC»?
Потому что в OpenSSL 3 DES перенесён в устаревший провайдер (legacy), который по умолчанию не загружается. Подключите его: echo 'U2FsdGVkX1…' | openssl enc -d -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default. Для других режимов используйте -des-ecb, -des-cfb или -des-ofb (режима CTR для DES в OpenSSL нет), а в режиме «Ключ и IV» — -K <16 цифр hex> -iv <16 цифр hex> вместо -pbkdf2 -iter.
Как выглядит ключ DES?
Это 8 байт, записанные 16 шестнадцатеричными цифрами. Младший бит каждого байта — бит чётности, который DES игнорирует, поэтому ключи, отличающиеся только этими битами, расшифровывают одинаково. IV тоже занимает 8 байт; в ECB его нет. В режиме пароля и ключ, и IV выводятся из пароля, так что ни то ни другое вам не понадобится.
Чем DES отличается от Triple DES?
Triple DES выполняет DES трижды с тремя ключами — это 192-битный ключ с реальной стойкостью около 112 бит, — поэтому он и пережил DES. У одинарного DES один 56-битный ключ, и его можно подобрать перебором. Если ваш ключ длиной 16 или 24 байта, данные зашифрованы Triple DES: воспользуйтесь страницей Triple DES.
Почему получается нечитаемый текст?
Потому что какая-то настройка отличается от использованной при шифровании: пароль или ключ, число итераций, режим или дополнение. В режимах CFB, OFB и CTR DES не может заметить несовпадение и возвращает случайные байты, которые страница показывает в hex; в CBC и ECB несовпадение обычно заканчивается ошибкой.