Present (шифр)

Present — блочный шифр с размером блока 64 бита, длиной ключа 80 или 128 бит и количеством раундов 32.

Present
Опубликован CHES, 2007-08-23;
Размер ключа 80 бит (Present-80), 128 бит (Present-128)
Размер блока 64 бит
Число раундов 31
Тип SP-сеть

Основное назначение данного шифра — использование в узкоспециализированных приборах, наподобие RFID-меток или сетей сенсоров.

Является одним из самых компактных криптоалгоритмов: существует оценка, что для аппаратной реализации PRESENT требуется приблизительно в 2,5 раза меньше логических элементов чем для AES или CLEFIA[1][2].

Данный шифр был представлен на конференции CHES 2007. Авторы: Богданов, Кнудсен, Леандр, Паар, Пошманн, Робшо, Соа, Викельсоа. Авторы работают в Orange Labs, Рурском университете в Бохуме и Датском техническом университете.

Схема шифрования

Схема шифрования

Основным критерием при разработке шифра была простота реализации при обеспечении средних показателей защищенности. Также важным моментом была возможность эффективной аппаратной реализации.

Представляет собой SP-сеть с 31 раундом шифрования. Каждый раунд состоит из операции XOR с раундовым ключом , состоящим из 64 бит, определяемых функцией обновления ключа.

Далее производится рассеивающее преобразование — блок пропускается через 16 одинаковых 4-битных S-блоков. Затем блок подвергается перемешивающему преобразованию (перестановке бит)[3].

S-layer

В шифре используются 16 одинаковых 4-битных S-блоков:

x0123456789ABCDEF
S[x]C56B90AD3EF84712

S-box составлена таким образом, чтобы увеличить сопротивляемость линейному и дифференциальному криптоанализу. В частности:

  1. , где  — любые возможные входные и выходные дифференциалы не равные 0.
  1. , где .

P-layer

Блок, перемешивающий биты, задан следующей матрицей:

i0123456789101112131415
P(i)0163248117334921834503193551
i16171819202122232425262728293031
P(i)4203652521375362238547233955
i32333435363738394041424344454647
P(i)824405692541571026425811274359
i48495051525354555657585960616263
P(i)12284460132945611430466215314763

Key schedule

В качестве раундового ключа используются 64 левых бит из регистра , содержащего весь ключ. После получения раундового ключа регистр обновляется по следующему алгоритму:

  1. round_counter

Криптоустойчивость

Дифференциальный криптоанализ

Данный шифр обладает свойством, что любая 5-раундовая дифференциальная характеристика затрагивает по меньшей мере 10 S-box`ов. Таким образом, например, для 25 раундов шифра будут задействованы как минимум 50 S-box, и вероятность характеристики не превышает . Атака на версии шифра с 16 раундами шифрования требует шифротекстов, доступов к памяти, 6-битных счетчиков и ячеек памяти для хеш-таблицы. Вероятность нахождения ключа

Линейный криптоанализ

Максимальный наклон аппроксимированной прямой для 4 раундов не превышает . Таким образом, для 28 раундов максимальный наклон будет . Поэтому, если учесть, что для взлома 31 раунда необходима аппроксимация для 28, то понадобится известных пар текст-шифротекст, что превышает размер возможного теста для шифрования.

Другие методы

  • Алгебраическая атака с использованием дифференциальных характеристик. Основная идея — представить шифр системой уравнений низкого порядка. Далее, для нескольких пар текст-шифротекст соответствующие им системы уравнений объединяются. Если в качестве этих пар выбрать пары, соответствующие некоторой характеристике с вероятностью p, то система будет верна с этой вероятностью p и решения может быть найдено при использовании пар. Ожидается, что решение такой системы проще, чем изначальной, соответствующей одной паре текст-шифротекст. Для Present-80 с 16 раундами данная атака позволяет узнать 4 бита ключа за секунд.
  • Метод статистического насыщения. В данной атаке используются недостатки блока перемешивания бит. Для взлома Present-80 с 24 раундами требуется пар текст-шифротекст вычислений .

Сравнение с другими шифрами

В таблице ниже приведена сравнительная характеристика шифра Present-80[4] по отношению к другим блочным и потоковым шифрам[5]:

НазваниеРазмер ключаРазмер блокаПропускная способность(Kpbs)Площадь (в GE)
Present-80806411.71075
AES-12812812812.43400
Camelia12812864011350
DES566444.42309
DESXL1846444.42168
Trivium8011002599
Grain8011001294

Применение

В 2012 году организации ISO и IEC включили алгоритмы PRESENT и CLEFIA в международный стандарт облегченного шифрования ISO/IEC 29192-2:2012[1][6][7].

На базе PRESENT была создана компактная хеш-функция H-PRESENT-128[8][9].

Примечания

  1. Katholieke Universiteit Leuven. Ultra-lightweight encryption method becomes international standard (недоступная ссылка). Дата обращения: 28 февраля 2012. Архивировано 6 апреля 2013 года.
  2. Masanobu Katagi, Shiho Moriai, Lightweight Cryptography for the Internet of Things, 2011
  3. Панасенко, Смагин, Облегченные алгоритмы шифрования // 2011
  4. Axel York Poschmann. Lightweight Cryptography: Cryptographic Engineering for a Pervasive World. — 2009.
  5. PRESENT: An Ultra-Lightweight Block Cipher, Table 2
  6. ISO. ISO/IEC 29192-2:2012 (недоступная ссылка). Дата обращения: 28 февраля 2012. Архивировано 5 апреля 2013 года.
  7. Алгоритм шифрования, предложенный как «более легкая» альтернатива AES, стал стандартом ISO // Osp.ru, 02-2012
  8. LW-КРИПТОГРАФИЯ: ШИФРЫ ДЛЯ RFID-СИСТЕМ Архивировано 28 июля 2013 года., С. С. Агафьин // Безопасность информационных технологий № 2011-4
  9. Observations on H-PRESENT-128, Niels Ferguson (Microsoft)

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.