CoderTools

Шифрование/Дешифрование CAST5 (CAST-128)

Безопасный симметричный блочный шифр с переменной длиной ключа (40-128 бит)

Предупреждение о безопасности

Этот инструмент предназначен для образовательных целей и тестирования. Для production-сред, требующих высокой безопасности, рассмотрите использование AES-256 или других современных алгоритмов шифрования. Никогда не делитесь своими ключами шифрования.

CAST5 поддерживает переменную длину ключа: 40-128 бит (5-16 байт). Для максимальной безопасности рекомендуется ключ 128 бит.
Параметры формата

О шифровании CAST5 (CAST-128)

CAST5 (также известный как CAST-128) был разработан Карлайлом Адамсом и Стаффордом Тавересом в Nortel (Northern Telecom) и опубликован как RFC 2144 в 1996 году. Название CAST образовано из инициалов создателей: Carlisle Adams Stafford Tavares. Алгоритм работает с 64-битными блоками и поддерживает переменную длину ключа от 40 до 128 бит с шагом 8 бит; был выбран обязательным симметричным шифром в OpenPGP (RFC 4880) и являлся шифром по умолчанию в GnuPG 1.x вплоть до версии 1.4.

CAST5 использует три различные функции раундов — Тип 1 (XOR-вывод), Тип 2 (вычитание), Тип 3 (сложение) — выбирая в каждом раунде разные пары из восьми S-блоков с 32-битным выводом в фиксированном порядке. Ключи длиной 80 бит и менее используют 12 раундов; более длинные — 16. Восемь S-блоков были построены с использованием гнутых булевых функций, что обеспечивает формально установленные при проектировании границы устойчивости к дифференциальному криптоанализу.

Основные характеристики

  • Переменная длина ключа: 40–128 бит с шагом 8 бит — единый алгоритм поддерживает как экспортный уровень 40 бит 1990-х годов, так и полную 128-битную защиту
  • Три различные функции раундов (Тип 1 XOR / Тип 2 Вычитание / Тип 3 Сложение), чередующиеся по раундам, каждая выбирает другую пару из восьми 32×8-битных S-блоков
  • 12 раундов для ключей ≤ 80 бит; 16 раундов для ключей 81–128 бит — явная компенсация числа раундов для сниженной энтропии краткого ключа
  • Безлицензионный алгоритм без патентных ограничений

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

  • CBC: Цепочка зашифрованных блоков — каждый 64-битный блок CAST5 XOR-ируется с предыдущим шифртекстом перед последовательностью из 12 или 16 раундовых функций Фейстеля. Примечание: OpenPGP (RFC 4880 §13.9) предписывает CFB-с-ресинхронизацией вместо CBC для массового шифрования; CBC — правильный режим при использовании CAST5 в контексте SSH2 (CAST128-CBC, RFC 4253).
  • ECB: Электронная кодовая книга — каждый 64-битный блок CAST5 независимо проходит через все 12 или 16 раундов. Одинаковые блоки открытого текста всегда дают одинаковый шифртекст, раскрывая паттерны повторений. При ширине блока 64 бит коллизия по парадоксу дней рождения достигает 50% вероятности примерно при 2³² блоках (~32 ГБ под одним ключом) — ECB следует полностью избегать.
  • CTR: Режим счётчика - Преобразует блочный шифр в потоковый, позволяет параллельную обработку
  • CFB: Обратная связь по шифртексту — режим, предписанный OpenPGP (RFC 4880 §13.9): CAST5 в 64-битном CFB с двухблочным ресинхронизационным шагом в начале сообщения. Этот специфический для OpenPGP CFB-с-ресинхронизацией позволяет получателям восстановить синхронизацию и обнаружить искажение начальных блоков до отбрасывания повреждённых данных.
  • OFB: Обратная связь по выходу — блочная функция CAST5 итеративно повторно шифрует IV для генерации ключевого потока, независимого от открытого текста. При 64-битном IV статистический период ключевого потока ограничен парадоксом дней рождения примерно при 2³² циклах; для больших или долгосрочных потоков IV следует периодически обновлять.
  • RAW: Режим одиночного блока - Прямое шифрование без цепочки, только для 8-байтового блока

Сравнение алгоритмов

Алгоритм Длина ключа Размер блока Безопасность Скорость
CAST5 (CAST-128) 40-128 бит 64 bits Хорошая Быстрая
Blowfish 32-448 bits 64 bits Хорошая Быстрая
AES 128/192/256 bits 128 bits Отличная Быстрая
Twofish 128/192/256 bits 128 bits Отличная Быстрая

Соображения безопасности

  • Практической атаки на все раунды CAST5-128 не существует; лучший опубликованный криптоанализ достигает лишь 6 из 16 раундов. Однако CAST5 с 40-битными экспортными ключами тривиально взламывается перебором — в любом современном развёртывании никогда не используйте ключи короче 128 бит.
  • Размер блока 64 бита — главное ограничение CAST5: в режимах CBC или CFB статистическая утечка по парадоксу дней рождения появляется примерно после 2³² блоков (~32 ГБ на ключ). OpenPGP нивелирует это использованием сессионных ключей на каждое сообщение, но длительные потоковые применения с большими объёмами требуют ротации ключей.
  • OpenPGP (RFC 4880 §9.2) указывает CAST5 как MUST-implement алгоритм для совместимости с установленной базой клиентов GnuPG 1.x и PGP 8.x. Новые реализации ДОЛЖНЫ предпочитать AES-256 для вновь создаваемых сообщений — CAST5 является требованием на стороне получателя, а не рекомендуемым значением по умолчанию для нового вывода.
  • Для всех новых разработок заменяйте CAST5 на AES-128-CBC или AES-256-GCM. Основным мотиватором миграции является ограничение 64-битного блока, а не криптоаналитическая слабость; сам CAST5-128 остаётся нескомпрометированным при использовании достаточно длинных ключей и корректном управлении IV.

Типичные случаи использования

  • Совместимость шифрования почты и файлов OpenPGP: RFC 4880 §9.2 обязывает все соответствующие реализации OpenPGP поддерживать CAST5 — необходимо для интероперабельности с установленной базой пользователей GnuPG 1.x и PGP 8.x, не обновивших предпочтения шифров
  • Симметричное шифрование GnuPG 1.x: GnuPG 1.0–1.4.x использовал CAST5 по умолчанию для симметричного шифрования по паролю. Расшифровка файлов или подписанных сообщений этих версий GnuPG требует поддержки CAST5, если отправитель явно не выбрал AES
  • Транспортный шифр SSH2 CAST128-CBC: RFC 4253 определяет CAST128-CBC как SSH SHOULD-support cipher. Устаревшие SSH-серверы и встраиваемые устройства с ограниченной прошивкой могут всё ещё согласовывать CAST128-CBC при отсутствии AES cipher-suite
  • Криминалистическая и архивная расшифровка: зашифрованные PGP электронные письма, образы дисков и резервные копии конца 1990-х — середины 2000-х годов обычно используют CAST5 в качестве массового шифра. Восстановление данных требует поддержки CAST5, даже если современные системы уже не создают новый CAST5-контент

Ссылки

Быстрое меню

Нет недавних инструментов