WikiDer > ЛЯГУШКА - Википедия
Общий | |
---|---|
Дизайнеров | Дайанелос Георгудис, Дамиан Леру и Билли Симон Чавес |
Впервые опубликовано | 1998 |
Деталь шифра | |
Ключевые размеры | 128, 192 или 256 бит |
Размеры блоков | 128 бит |
Раундов | 8 |
Лучшая публика криптоанализ | |
Дифференциальный и линейныйнападения на некоторых слабые ключи |
В криптография, ЛЯГУШКА это блочный шифр Авторы Георгудис, Леру и Шавес. Алгоритм может работать с любым размером блока от 8 до 128. байты, и поддерживает размеры ключей от 5 до 125 байтов. Алгоритм состоит из 8 раундов и имеет очень сложный ключевой график.
Он был представлен в 1998 году коста-риканской компанией-разработчиком программного обеспечения TecApro в Конкурс AES как кандидат, чтобы стать Расширенный стандарт шифрования. Вагнер и др. (1999) обнаружили ряд слабый ключ классы для FROG. Другие проблемы включали очень медленную настройку ключа и относительно медленное шифрование. FROG не был выбран в качестве финалиста.
Философия дизайна
Обычно блочный шифр применяет фиксированную последовательность примитивных математических или логических операторов (таких как добавления, XORи т. д.) на простой текст и Секретный ключ чтобы произвести зашифрованный текст. Злоумышленник использует эти знания для поиска слабых мест в шифре, которые могут позволить восстановить открытый текст.
Философия разработки FROG заключается в том, чтобы скрыть точную последовательность примитивных операций, даже если известен сам шифр. В то время как другие шифры используют секретный ключ только как данные (которые комбинируются с простым текстом для создания зашифрованного текста), FROG использует ключ и как данные, и как инструкции по объединению этих данных. Фактически, расширенная версия ключа используется FROG как программа. Сам FROG работает как интерпретатор, который применяет эту зависящую от ключа программу к обычному тексту для создания зашифрованного текста. Расшифровка работает путем применения той же программы в обратном порядке к зашифрованному тексту.
Описание
Расписание ключа FROG (или внутренний ключ) имеет длину 2304 байта. Он создается рекурсивно путем итеративного применения FROG к пустому тексту. Результирующий блок обрабатывается для создания хорошо отформатированного внутреннего ключа с 8 записями. FROG имеет 8 раундов, операции каждого раунда кодируются одной записью во внутреннем ключе. Все операции являются байтовыми и состоят из XOR и замены.[1]
FROG очень легко реализовать (эталонная версия C содержит всего около 150 строк кода). Большая часть кода, необходимого для реализации FROG, используется для генерации секретного внутреннего ключа; сам по себе внутренний шифр представляет собой очень короткий фрагмент кода. Можно написать процедуру сборки всего из 22 машинных инструкций, которая выполняет полное шифрование и дешифрование FROG. Реализация будет хорошо работать на 8 кусочек процессоров, потому что он использует только инструкции байтового уровня. Никакие битовые операции не используются. После вычисления внутреннего ключа алгоритм становится довольно быстрым: версия, реализованная с использованием ассемблера 8086, достигает скорости обработки более 2,2 мегабайты в секунду при работе на ПК Pentium 200 МГц.
Безопасность
Философия дизайна FROG предназначена для защиты от непредвиденных / неизвестных типов атак. Тем не менее, сам факт использования ключа в качестве программы шифрования означает, что некоторые ключи могут соответствовать слабым программам шифрования. Дэвид Вагнер и др. обнаружил, что 2−33 ключей слабые, и в этих случаях ключ можно сломать двумя58 выбранные открытые тексты.
Другой недостаток FROG заключается в том, что функция дешифрования имеет гораздо более медленное распространение, чем функция шифрования. Здесь 2−29 ключей слабые и могут быть сломаны с помощью 236 выбранные шифротексты.
Примечания
Рекомендации
- Дэвид Вагнер, Нильс Фергюсон и Брюс Шнайер, Криптоанализ FROG, в трудах 2-й конференции кандидатов AES, стр. 175–181, NIST, 1999 [1].
- Дайанелос Георгудис, Дамиан Леру и Билли Симон Чавес, Алгоритм шифрования FROG, 15 июня 1998 г. [2].