Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В криптографии , FROG является блочным шифром автора Georgoudis, Лера и Чавесом. Алгоритм может работать с любым размером блока от 8 до 128 байтов и поддерживает размеры ключей от 5 до 125 байтов. Алгоритм состоит из 8 раундов и имеет очень сложный ключевой график .

Он был представлен в 1998 году TecApro, коста-риканской компанией-разработчиком программного обеспечения, на конкурс AES в качестве кандидата на статус Advanced Encryption Standard . Вагнер и др. (1999) обнаружили ряд слабых ключевых классов для FROG. Другие проблемы включали очень медленную настройку ключа и относительно медленное шифрование. FROG не был выбран в качестве финалиста.

Философия дизайна [ править ]

Обычно блочный шифр применяет фиксированную последовательность примитивных математических или логических операторов (таких как добавления, XOR и т. Д.) К открытому тексту и секретному ключу , чтобы создать зашифрованный текст . Злоумышленник использует эти знания для поиска слабых мест в шифре, которые могут позволить восстановить открытый текст.

Философия разработки FROG заключается в том, чтобы скрыть точную последовательность примитивных операций, даже если известен сам шифр. В то время как другие шифры используют секретный ключ только как данные (которые комбинируются с простым текстом для создания зашифрованного текста), 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 ключа являются слабыми и что в этих случаях ключ может быть взломан с помощью 2 58 выбранных открытых текстов .

Другой недостаток FROG заключается в том, что функция дешифрования имеет гораздо более медленное распространение, чем функция шифрования. Здесь 2-29 ключей являются слабыми и могут быть взломаны с использованием 2 36 выбранных шифротекстов.

Примечания [ править ]

  1. ^ Подробное описание шифра можно найти здесь .

Ссылки [ править ]

  • Дэвид Вагнер, Нильс Фергюсон и Брюс Шнайер, Криптоанализ FROG, в материалах 2-й конференции кандидатов на AES, стр. 175–181, NIST, 1999 [1] .
  • Дайанелос Георгудис, Дамиан Леру и Билли Симон Чавес, Алгоритм шифрования FROG, 15 июня 1998 г. [2] .

Внешние ссылки [ править ]