XXTEA | это... Что такое XXTEA? (original) (raw)

XXTEA
изображение
Создатель: Дэвид Вилер
Создан: 1998 г.
Опубликован: 1998 г.
Размер ключа: 128 бит
Размер блока: 64 бит и более
Число раундов: зависит от размера блока 52 + 6 * кол-во 32-разрядных чисел в блоке6-32 полных циклов
Тип: Сеть Фейстеля

XXTEA — расширение шифроалгоритма XTEA, опубликованное в 1998 году. Исправлена уязвимость в алгоритме, найденная Markuu-Juhani Saarinen. Отличительной особенностью алгоритма является также возможность зашифровки блоков любого кратного 32 битам размера (минимальный размер 64 бита), в то время как другие алгоритмы данного семейства TEA, XTEA, XTEA-3, Raiden и RTEA используют блоки фиксированного размера, равного двум или четырем 32-х битным числам.

Т.к. это блочный шифроалгоритм, где длина блока 64-бит, а длина данных может быть не кратна 64-битам, значения всех байтов дополняющих блок до кратности в 64-бит устанавливается в 0x01 .

Пример реализации

#define MX ( (((z>>5)^(y<<2))+((y>>3)^(z<<4)))^((sum^y)+(k[(p&3)^e]^z)) )

long btea(long* v, long n, long* k) { unsigned long z /* = v[n-1] /, y=v[0], sum=0, e, DELTA=0x9e3779b9; long p, q ; if (n > 1) { / Coding Part / z=v[n-1]; / Moved z=v[n-1] to here, else segmentation fault in decode when n < 0 */ q = 6+52/n ; while (q-- > 0) { sum += DELTA; e = sum >> 2&3 ; for (p=0; p<n-1; p++) y = v[p+1], z = v[p] += MX; y = v[0]; z = v[n-1] += MX; } return 0 ; } else if (n < -1) { /* Decoding Part */ n = -n ; q = 6+52/n ; sum = q*DELTA ; while (sum != 0) { e = sum>>2 & 3; for (p=n-1; p>0; p--) z = v[p-1], y = v[p] -= MX; z = v[n-1]; y = v[0] -= MX; sum -= DELTA; } return 0; } return 1; }

Безопасность

Существует эффективная дифференциальная атака на XXTEA и все шифры с аналогичной, опубликованная Elias Yarrkov. Впрочем, практическая эффективность атаки пока не доказана однозначно. [1]

Примечания

  1. Исходная статья с реализацией атаки на XXTEA и примером кода

Ссылки

Просмотр этого шаблона Симметричные криптосистемы
Поточный шифр A3A5A8DecimMICKEYRC4RabbitSEALSOSEMANUKTriviumVMPC
Сеть Фейстеля ГОСТ 28147-89BlowfishCamelliaCAST-128CAST-256CIPHERUNICORN-ACIPHERUNICORN-ECLEFIACobraDFCDEALDESDESXEnRUPTFEALFNAm2HPCIDEAKASUMIKhufuLOKI97MARSNewDESRaidenRC5RC6RTEASEEDSinopleTEATriple DESTwofishXTEAXXTEA
SP-сеть 3-WAYABCAES (Rijndael) • AkelarreAnubisARIABaseKingBassOmaticCRYPTONDiamond2Grand CruHierocrypt-L1Hierocrypt-3KHAZADLuciferPresentRainbowSAFERSerpentSHARKSQUAREThreefish
Другие FROGNUSHREDOCSHACALSC2000