ToolActToolAct Инструменты

Инструмент шифрования и дешифрования DES

Поддержка DES и Triple DES (3DES), пять режимов шифрования

Настройки шифрования

Ввод
Символов: 0
Байт: 0
Результат
Символов: 0
Байт: 0

Что такое 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.

Инструкция

Начало работы

  1. Выберите алгоритм: DES (56-битный ключ) или 3DES (168-битный ключ)
  2. Выберите режим шифрования — рекомендуется CBC
  3. Выберите схему дополнения — PKCS#7 подходит для большинства случаев
  4. Введите ключ или нажмите «Сгенерировать ключ»
  5. Для режимов с IV введите или сгенерируйте вектор инициализации
  6. Слева введите открытый текст (для шифрования) или шифротекст (для дешифрования)
  7. Результат автоматически появится справа

Режимы шифрования

CBCРежим сцепления блоков шифротекста. Каждый блок открытого текста XORится с предыдущим блоком шифротекста перед шифрованием. Требует IV. Хорошая безопасность, самый распространённый режим.
ECBРежим электронной кодовой книги. Каждый блок шифруется независимо — одинаковые блоки дают одинаковый результат. Подходит для одного 8-байтного блока, не рекомендуется для длинных данных.
CFBРежим обратной связи по шифротексту. Превращает блочный шифр в потоковый. Удобен для побайтовой обработки данных.
OFBРежим обратной связи по выходу. Похож на CFB, но ошибки не распространяются. Полезен при нестабильных каналах связи.
CTRРежим счётчика. Использует инкрементальный счётчик для генерации ключевого потока. Поддерживает параллельное шифрование с хорошей производительностью.

Советы

  • Используйте 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. Данные никуда не отправляются. Однако браузерная среда менее безопасна, чем специализированное оборудование — ключи могут быть видны через расширения или инструменты разработчика. Инструмент подходит для обучения, тестирования и повседневного использования.