CAST-128 (или CAST5) в криптографии — блочный алгоритм симметричного шифрования на основе сети Фейстеля, разработанный в 1996 году, который используется в целом ряде продуктов криптографической защиты, в частности некоторых версиях PGP и GPG , протоколе SSH, и, кроме того, одобрен для использования Канадским правительством.
Он основан на симметричной структуре Feistel, что означает, что данные разбиваются на блоки и каждый блок обрабатывается в несколько раундов. CAST-128 использует 16 раундов, каждый из которых включает операции сдвига, побитовых операций и подстановок.
Ключ CAST-128 имеет длину 128 бит и может быть модифицирован для использования с ключом длиной 40, 56 или 128 бит. Он использует таблицы замен и функции S-блока для обеспечения нелинейности операций подстановки.
CAST-128 считается безопасным алгоритмом шифрования, однако он более редко используется в сравнении с более новыми и криптостойкими алгоритмами, такими как AES и 3DES.
CAST — это популярный 64-битовый шифр, допускающий размеры ключа вплоть до 128 бит, который был разработан в Канаде Карлайлом Адамсом (Carlisle Adams) и Стаффордом Таваресом (Stafford Tavares). Авторы утверждают, что название обусловлено ходом разработки и должно напоминать о вероятностном характере процесса, а не об инициалах авторов.
Алгоритм CAST использует 64-битовый блок и 64-битовый ключ. CAST устойчив к дифференциальному и линейному криптоанализу. Сила алгоритма CAST заключена в его S-блоках. У CAST нет фиксированных S-блоков и для каждого приложения они конструируются заново. Созданный для конкретной реализации CAST S-блок уже больше никогда не меняется. Другими словами, S-блоки зависят от реализации, а не от ключа. Northern Telecom использует CAST в своём пакете программ Entrust для компьютеров Macintosh, PC и рабочих станций UNIX. Выбранные ими S-блоки не опубликованы, что впрочем неудивительно.
CAST-128 принадлежит компании Entrust Technologies, но является бесплатным как для коммерческого, так и для некоммерческого использования. CAST-256 — бесплатное доступное расширение CAST-128, которое принимает размер ключа до 256 бит и имеет размер блока 128 бит. CAST-256 был одним из первоначальных кандидатов на AES.
Преимущества CAST-128:
1. Большая эффективность: CAST-128 является одним из самых быстрых алгоритмов шифрования симметричного ключа.
2. Простой дизайн: CAST-128 легко реализуется и понимается разработчиками, что делает его отличным выбором для простых приложений или устройств с ограниченными вычислительными ресурсами.
3. Безопасность: CAST-128 был проанализирован и протестирован на протяжении многих лет, и до сих пор не были обнаружены недостатки, которые могли бы привести к компрометации шифрования.
Недостатки CAST-128:
1. Конечная длина ключа: CAST-128 поддерживает только ключи длиной до 128 бит, что может быть недостаточно для некоторых областей применения, требующих более длинных ключей для обеспечения высокой степени безопасности.
2. Ограниченные возможности: CAST-128 не имеет такой же степени гибкости и функциональности, как некоторые современные алгоритмы, такие как AES (Advanced Encryption Standard).
3. Устарелость: CAST-128 был разработан в 1996 году, и хотя до сих пор не было известных атак, которые могут позволить взломать шифр, он считается устаревшим. В современном мире постоянно появляются новые методы атак на шифры, и устаревший алгоритм может быть уязвимым для некоторых из них.