WikiDer > XTEA
Эта статья включает в себя список общих Рекомендации, но он остается в основном непроверенным, потому что ему не хватает соответствующих встроенные цитаты. (Сентябрь 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Два раунда Фейстеля (один цикл) XTEA | |
Общий | |
---|---|
Дизайнеров | Роджер Нидхэм, Дэвид Уиллер |
Впервые опубликовано | 1997 |
Происходит от | ЧАЙ |
Преемники | Исправленный блок TEA |
Деталь шифра | |
Ключевые размеры | 128 бит |
Размеры блоков | 64 бит |
Структура | Шифр Фейстеля |
Раундов | Переменная; рекомендуется 64 раунда Фейстеля (32 цикла) |
Лучшая публика криптоанализ | |
А связанный ключ прямоугольная атака на 36 раундов XTEA (Лу, 2009)[нечеткий] |
В криптография, XTEA (РАСШИРЕННЫЙ ЧАЙ) это блочный шифр разработан, чтобы исправить недостатки в ЧАЙ. В шифрдизайнеры были Дэвид Уиллер и Роджер Нидхэм из Кембриджская компьютерная лаборатория, а алгоритм был представлен в неопубликованном техническом отчете в 1997 г. (Needham and Wheeler, 1997). Не подлежит никакому патенты.[1]
Как и TEA, XTEA - это 64-битный блок Шифр Фейстеля с 128-битный ключ и предлагаемые 64 патрона. Очевидны некоторые отличия от TEA, в том числе несколько более сложный расписание и перестановка смен, XOR, и дополнения.
Реализации
Этот стандарт C исходный код, адаптированный из справочного кода, выпущенного в всеобщее достояние Дэвид Уиллер и Роджер Нидхэм, шифрует и дешифрует с помощью XTEA:
#включают <stdint.h>/ * берем 64 бита данных в v [0] и v [1] и 128 битов ключа [0] - ключа [3] * /пустота шифровать(беззнаковый int num_rounds, uint32_t v[2], uint32_t const ключ[4]) { беззнаковый int я; uint32_t v0=v[0], v1=v[1], сумма=0, дельта=0x9E3779B9; за (я=0; я < num_rounds; я++) { v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (сумма + ключ[сумма & 3]); сумма += дельта; v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (сумма + ключ[(сумма>>11) & 3]); } v[0]=v0; v[1]=v1;}пустота расшифровать(беззнаковый int num_rounds, uint32_t v[2], uint32_t const ключ[4]) { беззнаковый int я; uint32_t v0=v[0], v1=v[1], дельта=0x9E3779B9, сумма=дельта*num_rounds; за (я=0; я < num_rounds; я++) { v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (сумма + ключ[(сумма>>11) & 3]); сумма -= дельта; v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (сумма + ключ[сумма & 3]); } v[0]=v0; v[1]=v1;}
Изменения в исходном коде ссылки незначительны:
- Исходный код ссылки использовал
беззнаковый длинный
тип, а не 64-битный чистыйuint32_t
. - Исходный код ссылки не использовал
const
типы. - В исходном коде ссылки опущены повторяющиеся круглые скобки, и используется приоритет C для записи функции round как, например
v1 + = (v0 << 4 ^ v0 >> 5) + v0 ^ sum + k [сумма >> 11 и 3]
;
Рекомендуемое значение для параметра «num_rounds» - 32, а не 64, поскольку каждая итерация цикла выполняет два раунда шифра Фейстеля. Чтобы дополнительно повысить скорость, цикл можно развернуть, предварительно вычислив значения sum + key [].
Криптоанализ
В 2004 году Ко и др. представил связанный ключ дифференциальная атака на 27 из 64 раундов XTEA, требуя 220.5 выбранные открытые тексты и временная сложность из 2115.15 (Ко и др., 2004).
В 2009 году Лу представил атаку с использованием связанного прямоугольника на 36 раундов XTEA, взломав больше раундов, чем любые ранее опубликованные результаты криптоанализа для XTEA. В статье представлены две атаки, одна без ключевого допущения и со слабым ключевым предположением, что соответствует 264.98 байтов данных и 2126.44 операций и 263.83 байтов данных и 2104.33 операции соответственно.[2]
Блокировать ЧАЙ
Вместе с XTEA был представлен блочный шифр переменной ширины, названный Блокировать ЧАЙ, который использует функцию раунда XTEA, но Block TEA применяет ее циклически ко всему сообщению в течение нескольких итераций. Поскольку он работает со всем сообщением, Block TEA обладает тем свойством, что ему не требуется режим работы. Атака на полный блок TEA была описана в (Saarinen, 1998), в котором также подробно описывается слабость преемника Block TEA, XXTEA.
Смотрите также
- RC4 - А потоковый шифр это, как и XTEA, очень простое в реализации.
- XXTEA - Блок-преемник TEA.
- ЧАЙ - Блокировать прекурсор TEA.
Рекомендации
- ^ Роджер М. Нидхэм, Дэвид Дж. Уиллер (октябрь 1997 г.). Расширения чая (PDF). Компьютерная лаборатория Кембриджского университета (Технический отчет).CS1 maint: использует параметр авторов (связь)
- ^ Лу, Цзицян (2 июля 2008 г.). «Атака с использованием прямоугольника со связанными ключами на 36 раундов блочного шифра XTEA». Международный журнал информационной безопасности. 8 (1): 1–11. Дои:10.1007 / s10207-008-0059-9. ISSN 1615-5262.
дальнейшее чтение
- Секар, Гаутам; Муха, Ники; Величков, Веселин; Пренил, Барт (2011). Kiayias, A. (ред.). Атаки по центру на XTEA с сокращенным числом раундов. Темы в криптологии - CT-RSA 2011. Конспект лекций по информатике. 6558. С. 250–267. Дои:10.1007/978-3-642-19074-2_17. ISBN 978-3-642-19073-5. Получено 2018-10-10.
- Ко, Ёндай; Хонг, Сохи; Ли, Вонил; Ли, Санджин; Кан, Чжу-Сун (2004). Связанные ключевые дифференциальные атаки на 27 раундов XTEA и полного цикла ГОСТ (PDF). Быстрое программное шифрование. Конспект лекций по информатике. 3017. С. 299–316. Дои:10.1007/978-3-540-25937-4_19. ISBN 978-3-540-22171-5. Получено 2018-10-10.
- Хонг, Сохи; Хонг, Деукджо; Ко, Ёндай; Чанг, Донхун; Ли, Вонил; Ли, Санджин (2004). Дифференциальный криптоанализ TEA и XTEA. Информационная безопасность и криптология - ICISC 2003. Конспект лекций по информатике. 2971. С. 402–417. Дои:10.1007/978-3-540-24691-6_30. ISBN 978-3-540-21376-5.
- Луна, Дукджэ; Хван, Кёндок; Ли, Вонил; Ли, Санджин; Лим, Джонгин (2002). Невозможный дифференциальный криптоанализ сокращенных циклов XTEA и TEA. Быстрое программное шифрование. Конспект лекций по информатике. 2365. С. 49–60. Дои:10.1007/3-540-45661-9_4. ISBN 978-3-540-44009-3. Получено 2018-10-10.
- Андем, Викрам Редди (2003). Криптоанализ крошечного алгоритма шифрования (PDF) (Дипломная работа). Университет Алабамы, Таскалуса. Получено 2018-10-10.
- Сааринен, Маркку-Юхани (20 августа 1998 г.). «Криптоанализ блочного чая». Получено 2018-10-10. Цитировать журнал требует
| журнал =
(помощь) - Лу, Цзицян (январь 2009 г.), «Атака с использованием прямоугольника со связанными ключами на 36 раундов блочного шифра XTEA» (PDF), Международный журнал информационной безопасности, 8 (1): 1–11, Дои:10.1007 / s10207-008-0059-9, ISSN 1615-5262, S2CID 26794956
внешняя ссылка
- Диаграмма потока данных
- Веб-страница, пропагандирующая TEA и XTEA и предлагающая различные реализации
- Тестовые векторы для TEA и XTEA
- Криптоанализ крошечного алгоритма шифрования
- Реализация XTEA на языке C
- Реализация XTEA на PHP
- Реализация XTEA на Pascal / Delphi
- Реализация XTEA на Java (32 раунда)
- Реализация XTEA на JavaScript (32 раунда)
- Реализация XTEA на Python
- Реализация XTEA на языке сценариев Linden (LSL) для сценариев Second Life
- Реализация XTEA на Verilog
- Smalltalk реализация XTEA
- Реализация XTEA в PostgreSQL