Введение

В криптографии, Международный алгоритм шифрования данных (IDEA), первоначально названный Улучшенным предлагаемым стандартом шифрования (IPES), является симметричным блочным шифром, разработанным Джеймсом Масси из ETH Zurich и Xuejia Lai и впервые описанным в 1991 году. Алгоритм предназначался в качестве замены Стандарту шифрования данных (DES). IDEA является незначительной модификацией более раннего шифра, Предлагаемого стандарта шифрования (PES). Шифр был разработан в рамках исследовательского контракта с Фондом Хаслера, который впоследствии стал частью Ascom Tech AG. Шифр был запатентован во многих странах, но был свободно доступен для некоммерческого использования. Название "IDEA" также является зарегистрированной торговой маркой. Срок действия последних патентов истек в 2012 году, и IDEA теперь не защищен патентами и, следовательно, полностью свободен для любого использования. IDEA использовался в Pretty Good Privacy (PGP) v2.0 и был внедрен после того, как исходный шифр, использовавшийся в v1.0, BassOmatic, был признан небезопасным. IDEA является необязательным алгоритмом в стандарте OpenPGP.

Структура

Общая структура IDEA соответствует схеме Лая — Массея. Для вычитания и сложения используется операция XOR. IDEA использует полураундовую функцию, зависящую от ключа. Для работы с 16-битными словами (то есть с 4 входными данными вместо 2 для 64-битного размера блока) IDEA применяет схему Лая — Массея дважды параллельно, при этом две параллельные раундовые функции переплетаются между собой. Для обеспечения достаточной диффузии два подблока меняются местами после каждого раунда.

Основная схема

Каждый раунд использует 6 16-битных подключей, а полураунд – 4, всего 52 для 8,5 раундов. Первые 8 подключей извлекаются непосредственно из ключа, при этом K1 первого раунда – младшие 16 бит; последующие группы по 8 ключей создаются путем циклического сдвига основного ключа влево на 25 бит между каждой группой из 8. Это означает, что в среднем ключ сдвигается менее одного раза за раунд, в общей сложности 6 сдвигов.

Расшифровка

Дешифровка работает аналогично шифрованию, но порядок раундовых ключей обратный, а подключи для нечётных раундов инвертируются. Например, значения подключей K1–K4 заменяются на обратные значения K49–K52 для соответствующей групповой операции, а K5 и K6 каждой группы должны быть заменены на K47 и K48 при дешифровании.

Безопасность

Конструкторы проанализировали IDEA для оценки его устойчивости к дифференциальному криптоанализу и пришли к выводу, что он устойчив при определенных предположениях. Сообщения об успешных линейных или алгебраических уязвимостях не поступало. По состоянию на 2007 год, лучшая известная атака на все ключи позволяла взломать IDEA, сокращенную до 6 раундов (полный шифр IDEA использует 8,5 раундов). Следует отметить, что "взлом" – это любая атака, требующая менее 2<sup>128</sup> операций; 6-раундовая атака требует 2<sup>64</sup> известных открытых текстов и 2<sup>126.8</sup> операций. В 1996 году Брюс Шнайер высоко оценил IDEA, написав: "На мой взгляд, это лучший и наиболее безопасный блочный алгоритм, доступный публично на данный момент" (Прикладная криптография, 2-е изд.). Однако к 1999 году он перестал рекомендовать IDEA из-за появления более быстрых алгоритмов, некоторого прогресса в его криптоанализе и патентных вопросов. В 2011 году полный 8,5-раундовый IDEA был взломан с использованием атаки типа "встреча посередине". Независимо, в 2012 году полный 8,5-раундовый IDEA был взломан с использованием атаки на узких бикликах, что привело к снижению криптографической стойкости примерно на 2 бита, подобно эффекту предыдущей атаки на бикликах на AES; однако эта атака не представляет угрозы безопасности IDEA на практике.

Слабые ключи

Очень простое ключевое расписание делает IDEA уязвимым для класса слабых ключей; некоторые ключи, содержащие большое количество нулевых битов, приводят к слабому шифрованию. Однако на практике это не представляет большой угрозы, поскольку такие ключи встречаются достаточно редко, и их не требуется специально избегать при случайной генерации ключей. Было предложено простое исправление: применение операции XOR к каждому подключу с 16-битной константой, например, 0x0DAE. В 2002 году были обнаружены более широкие классы слабых ключей. Вероятность столкнуться с ними при случайном выборе ключа все еще пренебрежимо мала, и некоторые из этих проблем решаются с помощью предложенного ранее XOR с константой, но авторы исследования не уверены, что это устраняет все уязвимости. Более масштабная переработка ключевого расписания IDEA может быть желательной. Компания MediaCrypt AG сейчас предлагает преемника IDEA и сосредоточена на своем новом шифре (официальный релиз в мае 2005 года) IDEA NXT, который ранее назывался FOX.