Jump to content

Крошечный алгоритм шифрования

ЧАЙ
Два раунда Фейстеля (один цикл) TEA [1]
Общий
Дизайнеры Роджер Нидэм , Дэвид Уилер
Впервые опубликовано 1994
Преемники ХТЕА
Деталь шифрования
Размеры ключей 128 бит
Размеры блоков 64 бита
Структура Сеть Фейстеля
Раунды переменная; рекомендуется 64 патрона Фейстеля (32 цикла)
Лучший публичный криптоанализ
TEA страдает от эквивалентных ключей (см. текст; Kelsey et al., 1996) и может быть взломан с помощью атаки по связанному ключу, требующей 2 23 выбранные открытые тексты и временная сложность 2 32 . [2] Лучшим структурным криптоанализом TEA со стандартной настройкой единого секретного ключа является криптоанализ с нулевой корреляцией, разбивающий 21 раунд за 2. 121.5 время с меньшим, чем полная кодовая книга [3]

В криптографии Tiny Encryption Algorithm ( TEA ) — это блочный шифр, отличающийся простотой описания и реализации , обычно состоящий из нескольких строк кода. Он был разработан Дэвидом Уилером и Роджером Нидэмом из Кембриджской компьютерной лаборатории ; Впервые он был представлен на семинаре по быстрому программному шифрованию в Левене в 1994 году и впервые опубликован в материалах этого семинара. [4]

Шифр не подлежит никаким патентам .

Свойства [ править ]

TEA оперирует двумя 32-битными целыми числами без знака (которые могут быть получены из 64-битного блока данных ) и использует 128-битный ключ . Он имеет структуру Фейстеля с рекомендуемыми 64 раундами, обычно реализуемыми парами, называемыми циклами . Он имеет чрезвычайно простой график , в котором весь ключевой материал смешивается одинаково для каждого цикла. Различные кратные магической константе используются для предотвращения простых атак, основанных на симметрии раундов. Магическая константа 2654435769 или 0x9E3779B9 выбрана равной ⌊2. 32 𝜙⌋ , где 𝜙 золотое сечение ( число «ничего в рукаве» ). [4]

У TEA есть несколько слабых мест. В частности, он страдает от эквивалентных ключей — каждый ключ эквивалентен трем другим, а это означает, что эффективный размер ключа составляет всего 126 бит . [5] В результате TEA особенно плоха как криптографическая хэш-функция . Эта слабость привела к методу взлома Microsoft от Xbox игровой консоли , где шифр использовался в качестве хэш-функции. [6] TEA также подвержен атаке по связанному ключу , для которой требуется 2 23 выбранные открытые тексты под парой связанных ключей, с 2 32 временная сложность. [2] Из-за этих недостатков был разработан шифр XTEA .

Версии [ править ]

Первая опубликованная версия TEA была дополнена второй версией, в которую были включены расширения, делающие ее более безопасной. Блок TEA (который был указан вместе с XTEA ) работает с блоками произвольного размера вместо 64-битных блоков оригинала.

Третья версия ( XXTEA ), опубликованная в 1998 году, описывала дальнейшие улучшения для повышения безопасности алгоритма Block TEA.

Справочный код [ править ]

Ниже приводится адаптация эталонных процедур шифрования и дешифрования на языке C , опубликованная в открытом доступе Дэвидом Уилером и Роджером Нидхэмом: [4]

#include <stdint.h>

void encrypt (uint32_t v[2], const uint32_t k[4]) {
    uint32_t v0=v[0], v1=v[1], sum=0, i;           /* set up */
    uint32_t delta=0x9E3779B9;                     /* a key schedule constant */
    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   /* cache key */
    for (i=0; i<32; i++) {                         /* basic cycle start */
        sum += delta;
        v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);
        v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);
    }                                              /* end cycle */
    v[0]=v0; v[1]=v1;
}

void decrypt (uint32_t v[2], const uint32_t k[4]) {
    uint32_t v0=v[0], v1=v[1], sum=0xC6EF3720, i;  /* set up; sum is (delta << 5) & 0xFFFFFFFF */
    uint32_t delta=0x9E3779B9;                     /* a key schedule constant */
    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   /* cache key */
    for (i=0; i<32; i++) {                         /* basic cycle start */
        v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);
        v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);
        sum -= delta;
    }                                              /* end cycle */
    v[0]=v0; v[1]=v1;
}

Обратите внимание, что эталонная реализация работает с многобайтовыми числовыми значениями. В оригинальной статье не указано, как получить числа, на которые она воздействует, из двоичного или другого содержимого.

См. также [ править ]

  • RC4 поточный шифр , который, как и TEA, очень прост в реализации.
  • XTEA – первая версия преемника Block TEA.
  • XXTEA – исправленный преемник блока TEA.
  • Treyfer – простой и компактный алгоритм шифрования с 64-битным размером ключа и размером блока.

Примечания [ править ]

  1. ^ Мэтью Д. Рассел (27 февраля 2004 г.). «Крошечность: обзор TEA и связанных с ним шифров» . Архивировано из оригинала 12 августа 2007 года.
  2. Перейти обратно: Перейти обратно: а б Келси, Джон; Шнайер, Брюс ; Вагнер, Дэвид (1997). «Криптоанализ со связанными ключами 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2 и TEA». Информационная и коммуникационная безопасность . Конспекты лекций по информатике. Том. 1334. стр. 233–246. CiteSeerX   10.1.1.35.8112 . дои : 10.1007/BFb0028479 . ISBN  978-3-540-63696-0 .
  3. ^ Богданов Андрей; Ван, Мэйцинь (2012). «Линейный криптоанализ с нулевой корреляцией и пониженной сложностью данных». Быстрое программное шифрование (PDF) . Конспекты лекций по информатике. Том. 7549. стр. 29–48. дои : 10.1007/978-3-642-34047-5_3 . ISBN  978-3-642-34046-8 .
  4. Перейти обратно: Перейти обратно: а б с Уиллер, Дэвид Дж.; Нидэм, Роджер М. (16 декабря 1994 г.). «ЧАЙ, крошечный алгоритм шифрования». Быстрое программное шифрование . Конспекты лекций по информатике. Том. 1008. Левен, Бельгия. стр. 363–366. дои : 10.1007/3-540-60590-8_29 . ISBN  978-3-540-60590-4 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  5. ^ Келси, Джон; Шнайер, Брюс ; Вагнер, Дэвид (1996). «Криптоанализ по расписанию ключей IDEA, G-DES, GOST, SAFER и Triple-DES». Достижения в криптологии — CRYPTO '96 (PDF) . Конспекты лекций по информатике. Том. 1109. стр. 237–251. дои : 10.1007/3-540-68697-5_19 . ISBN  978-3-540-61512-5 . Архивировано из оригинала (PDF) 8 февраля 2012 года . Проверено 25 февраля 2008 г.
  6. ^ Майкл Стейл. «17 ошибок, допущенных Microsoft в системе безопасности Xbox» . Архивировано из оригинала 16 апреля 2009 года.

Ссылки [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bd4b174ef3fd8664d4ad454746ac60bb__1713109860
URL1:https://arc.ask3.ru/arc/aa/bd/bb/bd4b174ef3fd8664d4ad454746ac60bb.html
Заголовок, (Title) документа по адресу, URL1:
Tiny Encryption Algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)