Кто владеет информацией — тот владеет миром.
Ротшильд
Пока другие только пытаются понять законы рынка, используй их!
Терморектальный криптоанализTM
| |
Алгоритм SAFER+
Алгоритм SAFER+ был разработан в 1998 г. по заказу той же корпорации Cylink, алгоритмы семейства SAFER, специально для участия в конкурсе AES. SAFER+ является усовершенствованием ранее разработанных алгоритмов семейства SAFER. В его разработке, помимо Джеймса Мэсси, принимали участие специалисты Академии Наук Армении Гурген Хачатрян (Gurgen Н. Khachatrian) и Мельсик Курегян (Melsik К. Kuregian).
Расшифровывание
Как и в алгоритме SAFER К-64, расшифровывание в SAFER+ выполняется применением обратных операций в обратной последовательности. Поэтому не привожу здесь подробное описание расшифровывания, ограничившись только матрицей М-1, заменяющей 4 уровня обратных преобразований IPHT.
Процедура расширения ключа
Расширение ключа алгоритма SAFER+ похоже на таковое у алгоритма SAFER SK-64 с учетом увеличения размера блока (и, соответственно, удвоения размера каждого фрагмента расширенного ключа).
Вычисляется дополнительный байт (как и в SAFER SK-64, операцией XOR, применяемой ко всем байтам исходного ключа шифрования). То есть, например, для 256-битного ключа получается временный ключ размером 33 байта.
Значение каждого байта временного ключа циклически сдвигается влево на 3 бита.
После выполнения сдвига выбираются 16 байтов, начиная с байта, номер которого соответствует номеру раунда расширения ключа / (например, для раунда № 18 расширения 256-битного ключа выбираются байты с 18 по 33-й, для последующих раундов необходимое количество байтов «добирается», начиная с 1-го байта).
Выбранные байты побайтно складываются по модулю 256 с соответствующими байтами 16-байтной константы Bt. Константы Bt описаны далее. Результатом данного шага является очередной фрагмент ключа К.
Криптоанализ алгоритма SAFER+
Поскольку SAFER+ участвовал в конкурсе AES, к нему было приковано достаточно пристальное внимание криптологов как в течение конкурса, так и по его завершении. Среди криптоаналитических исследований данного алгоритма стоит отметить следующие:
предлагается атака на алгоритм SAFER+/256 (т. е. SAFER+ с 256-битным ключом шифрования), для проведения которой требуется не более трех известных открытых текстов (и соответствующих им шифртекстов) и около 2240 тестовых операций шифрования;
там же описана и атака на связанных ключах (на тот же SAFER+/256), для которой требуется 3*232 выбранных открытых текстов, зашифрованных на двух ключах, и около 220 операций; обе атаки абсолютно непрактичны, но доказывают недостаточный запас криптостойкости SAFER+ с 256-битным ключом; авторы предложили меры по усилению процедуры расширения ключа, которые сделали бы обе атаки невозможными;
в работе утверждается, что SAFER+ подвержен дифференциальному криптоанализу по потребляемой мощности; аналогичные выводы сделаны.
Кроме того, в итоговом документе первого раунда конкурса AES дается следующая информация о SAFER+.
Достоинства алгоритма:
• алгоритм имеет достаточный запас криптостойкости (с учетом модификации процедуры расширения ключа, которая будет описана далее);
• алгоритм достаточно нетребователен к ресурсам, поэтому может применяться в устройствах с ограниченными ресурсами (например, в смарт-картах).
Недостатки:
алгоритм обладает весьма низкой скоростью шифрования и достаточно медленной процедурой расширения ключа;
алгоритм подвержен атакам по потребляемой мощности (что, впрочем, справедливо даже для алгоритма Rijndael — победителя конкурса).
В результате алгоритм SAFER+ не вышел во второй раунд конкурса AES: во-первых, из-за недостаточного быстродействия, а во-вторых, «благодаря» алгоритму Serpent, обладающему схожими характеристиками, но более быстрому и с большим запасом криптостойкости — эксперты решили, что в финале конкурса из этих двух алгоритмов предпочтение однозначно будет отдано алгоритму Serpent.
Единое расширение ключа SAFER+
В процессе проведения конкурса AES авторы алгоритма SAFER+ модифицировали процедуру расширения ключа (такие модификации допускались условиями конкурса), чтобы обеспечить противостояние атакам. Результирующая процедура расширения ключа напоминает таковую для SAFER SK-128. Эта же процедура (названная «SAFER+ Unified Key Schedule» — «единое расширение ключа SAFER+») используется для расширения 128- и 192-битных ключей, но со следующими изменениями:
в качестве «правой половины ключа» при расширении 128-битного ключа используется сам исходный ключ шифрования;
байты №№ 17...24 192-битного ключа формируют первые 8 байтов «правой половины ключа»; остальные 8 байтов формируются применением операции XOR к следующим группам байтов исходного ключа:
№№1,9,17;
№№2,10,18;
№№3, 11, 19 и т. д.
Данная модификация алгоритма не способствовала его выходу во второй раунд конкурса AES, поскольку не повлияла принципиально на его характеристики.
По материалам книги Сергея Панасенко «Алгоритмы шифрования»
|