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].

Примечания

Ссылки

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.