XTEA

редактировать
XTEA
XTEA ink Diagram.svg Два раунда Фейстеля (один цикл) XTEA
Общие
ДизайнерыРоджер Нидхэм, Дэвид Уиллер
Впервые опубликовано1997
Получено изTEA
ПреемникиИсправленный блок TEA
Детали шифра
Размеры ключей 128 бит
Размеры блока 64 бита
СтруктураШифр ​​Фейстеля
Раундыпеременная; рекомендуется 64 раунда Фейстеля (32 цикла)
Наилучший публичный криптоанализ
A атака с использованием связанных ключей прямоугольников на 36 раундов XTEA (Lu, 2009)

В криптографии, XTEA (eXtended TEA ) - это блочный шифр, предназначенный для исправления слабых мест в TEA. Разработчиками шифра были Дэвид Уиллер и Роджер Нидхэм из Кембриджской компьютерной лаборатории, и алгоритм был представлен в неопубликованном техническом отчет в 1997 г. (Needham and Wheeler, 1997). На него не распространяется действие каких-либо патентов.

. Как и TEA, XTEA представляет собой 64-битный блок шифр Фейстеля с 128-битным ключом и предлагается 64 патрона. Очевидны некоторые отличия от TEA, включая несколько более сложное расписание клавиш и перестановку сдвигов, XOR и дополнения.

Содержание
  • 1 Реализации
  • 2 Криптоанализ
  • 3 Блок TEA
  • 4 См. Также
  • 5 Ссылки
    • 5.1 Дополнительная литература
  • 6 Внешние ссылки
Реализации

Этот стандартный исходный код C, адаптированный из справочного кода, выпущенного в общественное достояние Дэвидом Уилером и Роджером Нидхэмом, шифрует и дешифрует с помощью XTEA:

#include / * взять 64 бита данных в v [0] и v [1] и 128 битов ключа [0] - ключ [3] * / void encipher (unsigned int num_rounds, uint32_t v [2], uint32_t const key [4]) {unsigned int i; uint32_t v0 = v [0], v1 = v [1], сумма = 0, дельта = 0x9E3779B9; for (i = 0; i >5)) + v1) ^ (сумма + ключ [сумма 3]); сумма + = дельта; v1 + = (((v0 << 4) ^ (v0>>5)) + v0) ^ (сумма + ключ [(сумма>>11) 3]); } v [0] = v0; v [1] = v1; } void decipher (unsigned int num_rounds, uint32_t v [2], uint32_t const key [4]) {беззнаковый int i; uint32_t v0 = v [0], v1 = v [1], delta = 0x9E3779B9, sum = delta * num_rounds; for (i = 0; i < num_rounds; i++) { v1 -= (((v0 << 4) ^ (v0>>5)) + v0) ^ (сумма + ключ [(сумма>>11) 3]); сумма - = дельта; v0 - = (((v1 << 4) ^ (v1>>5)) + v1) ^ (сумма + ключ [сумма 3]); } v [0] = v0; v [1] = v1; }

Изменения по сравнению с исходным кодом ссылки незначительны:

  • В исходном коде ссылки использовался тип unsigned long, а не 64-разрядный чистый uint32_t.
  • В исходном коде ссылки не использовались типы const.
  • В исходном коде ссылки не использовались избыточные скобки, а приоритет C использовался для записи функции раунда, например v1 + = (v0 <<4 ^ v0>>5) + v0 ^ sum + k [sum>>11 3];

Рекомендуемое значение параметра «num_rounds» - 32, а не 64, поскольку каждая итерация цикл выполняет два раунда шифра Фейстеля. Чтобы дополнительно повысить скорость, цикл можно развернуть, предварительно вычислив значения суммы + ключ.

Криптоанализ

В 2004 г. Ko et al. представили связанную клавишу дифференциальную атаку на 27 из 64 раундов XTEA, требуя 2 выбранных открытых текстов и временной сложности, равной 2 (Ко и др., 2004).

В 2009 году Лу представил атаку с использованием связанного прямоугольника на 36 раундов XTEA, взломав больше раундов, чем любые ранее опубликованные результаты криптоанализа для XTEA. В документе представлены две атаки, одна без и со слабым ключом предположения, что соответствует 2 байтам данных и 2 операциям, и 2 байтам данных и 2 операциям соответственно.

Блок TEA

Вместе с XTEA был представлен блочный шифр переменной ширины, названный Block TEA, который использует функцию раунда XTEA, но Block TEA применяет ее циклически ко всему сообщению в течение нескольких итераций. Поскольку блок TEA работает со всем сообщением, он не требует режима работы . Атака на полный блок TEA была описана в (Saarinen, 1998), где также подробно описана слабость преемника блока TEA, XXTEA.

См. Также
  • RC4 - A потоковый шифр, который, как и XTEA, разработан таким образом, чтобы его было очень просто реализовать.
  • XXTEA - Блокировать преемник TEA.
  • TEA - Блокировать прекурсор TEA.
Ссылки
  1. ^Roger M Нидхэм, Дэвид Дж. Уиллер (октябрь 1997 г.). Чайные расширения (PDF). Компьютерная лаборатория Кембриджского университета (технический отчет). CS1 maint: использует параметр авторов (ссылка )
  2. ^Лу, Цзицян (2 июля 2008 г.). «Атака на связанный ключ прямоугольником на 36 раундах блочный шифр XTEA ". Международный журнал информационной безопасности. 8 (1): 1–11. doi : 10.1007 / s10207-008-0059-9. ISSN 1615-5262.

Дополнительная литература

Внешние ссылки
в PostgreSQL
Последняя правка сделана 2021-06-22 06:46:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте