Инструмент шифрования и дешифрования DES
Поддержка DES и Triple DES (3DES), пять режимов шифрования
Настройки шифрования
Что такое DES?
DES (Data Encryption Standard) появился в 1977 году, разработан IBM и доработан АНБ перед утверждением в качестве федерального стандарта США. Использует сеть Фейстеля, разделяющую 64-битный открытый текст на две половины и проходящую 16 раундов преобразований. Ключ номинально составляет 64 бита, но 8 бит зарезервированы для проверки чётности — остаётся 56 бит полезной длины ключа. В своё время 56 бит считались надёжными, но в 1999 году специализированное оборудование смогло подобрать ключ методом перебора за 22 часа. Triple DES (3DES) был разработан для продления жизни DES: он применяет шифрование DES трижды с тремя разными ключами, достигая 168 бит полезной длины. 3DES по-прежнему широко используется в финансовом секторе — в EMV-чип картах и банковских протоколах. Хотя AES официально заменил DES как стандарт шифрования, оба алгоритма продолжают работать в унаследованных системах, финансовых протоколах и встроенных устройствах. Этот инструмент поддерживает оба алгоритма с режимами CBC, ECB, CFB, OFB и CTR.
Инструкция
Начало работы
- Выберите алгоритм: DES (56-битный ключ) или 3DES (168-битный ключ)
- Выберите режим шифрования — рекомендуется CBC
- Выберите схему дополнения — PKCS#7 подходит для большинства случаев
- Введите ключ или нажмите «Сгенерировать ключ»
- Для режимов с IV введите или сгенерируйте вектор инициализации
- Слева введите открытый текст (для шифрования) или шифротекст (для дешифрования)
- Результат автоматически появится справа
Режимы шифрования
Советы
- Используйте AES, если есть возможность — DES существует в основном для совместимости со старыми системами
- 3DES значительно безопаснее DES, но примерно в три раза медленнее
- Каждый раз используйте новый случайный IV
- Избегайте ECB для данных длиннее 8 байт
- Генерируйте случайные ключи вместо использования запоминающихся строк
Примеры
Шифрование DES-CBC
Шифрование текста в режиме CBC
Текст: Hello World
Ключ (hex): 0123456789abcdef
IV (hex): fedcba9876543210
Режим: CBC / PKCS#7
Вывод: шифротекст в Base64Шифрование 3DES
Triple DES для повышенной безопасности
Алгоритм: Triple DES
Ключ (hex): 24 байта (48 hex-символов)
Режим: CBC / PKCS#7
168-битный ключ по-прежнему считается безопаснымECB одиночный блок
ECB подходит ровно для 8 байт данных
Текст: 8 байт
Ключ: 0123456789abcdef
Режим: ECB / PKCS#7
Внимание: не используйте ECB для данных длиннее 8 байтЧастые вопросы
В: В чём разница между DES и 3DES?
О: DES использует 56-битный ключ и больше не считается безопасным — обычный ПК может подобрать его перебором за несколько дней. 3DES применяет DES трижды с тремя разными ключами, достигая 168 бит полезной длины, что значительно надёжнее. Если совместимость со старыми системами не нужна, используйте 3DES или переходите на AES.
В: DES ещё безопасен?
О: Чистый DES уже небезопасен. В 1999 году специальная машина перебрала все ключи за 22 часа. Сегодня GPU-кластеры справляются за часы. Для реальных задач безопасности используйте AES или 3DES. А вот для изучения криптографии или тестирования старых систем DES вполне подходит.
В: Почему шифротекст меняется каждый раз?
О: Это нормально. Все режимы кроме ECB используют случайный IV, поэтому шифрование одного и того же текста одним и тем же ключом каждый раз даёт разный результат. При правильном ключе и IV дешифрование всегда восстановит исходные данные.
В: Что такое IV?
О: IV (вектор инициализации) — дополнительный параметр при шифровании. Он гарантирует, что одинаковый открытый текст с одним ключом даёт разный шифротекст, не позволяя злоумышленникам находить закономерности. IV не нужно держать в секрете, но для каждого шифрования должен быть новый случайный IV. Для DES IV всегда равен 8 байтам.
В: Какой формат ключа выбрать: Hex, Text или Base64?
О: Это разные представления одного и того же ключа. Hex использует два символа на байт и наиболее нагляден. Text берёт сырые байты ввода — удобно, но зависит от кодировки. Base64 компактнее. Рекомендуется Hex — он реже всего приводит к ошибкам.
В: Почему шифротекст длиннее открытого текста?
О: Блочные шифры требуют данные кратные 8 байтам, поэтому PKCS#7 добавляет от 1 до 8 байт. Формат вывода тоже влияет: Base64 добавляет ~33% объёма, Hex удваивает размер. При выборе NoPadding открытый текст должен быть точно кратен 8 байтам.
В: Можно ли использовать режим ECB?
О: Можно, но зависит от данных. ECB шифрует каждый 8-байтный блок независимо — одинаковые блоки дают одинаковый результат. Для одного 8-байтного блока ECB подходит. Для длинных данных ECB обнаруживает закономерности открытого текста и должен избегаться.
В: Этот инструмент безопасен? Данные не утекут?
О: Все операции шифрования и дешифрования происходят локально в браузере с использованием библиотеки crypto-js. Данные никуда не отправляются. Однако браузерная среда менее безопасна, чем специализированное оборудование — ключи могут быть видны через расширения или инструменты разработчика. Инструмент подходит для обучения, тестирования и повседневного использования.