RTEA

RTEA
RTEA
изображение
Создатель:

Marcos el Ruptor (Sean O'Neil)

Создан:

2007 г.

Опубликован:

2007 г.

Размер ключа:

128 (256) бит

Размер блока:

64 бит

Число раундов:

48 (64)

Тип:

Сеть Фейстеля


RTEA (от Ruptor’s TEA или Repaired TEA) — в криптографии симметричный блочный криптоалгоритм типа «Сеть Фейстеля», разработанный Marcos el Ruptor, расширение шифроалгоритма TEA. Исправлены некоторые уязвимости в алгоритме. Как и другие варианты алгоритма TEA, операции основаны на работе с 32-битными числами. Алгоритм значительно проще и производительнее XTEA, при этом, по заявлению авторов и согласно проведенным разработчиками статистическим тестам, более устойчив к криптоанализу[1]. Чтобы противостоять всем адаптивным и неадаптивным атакам, алгоритму необходимо число раундов, равное 32+w*4, где w — количество 32-битных целых чисел в ключе, то есть 4 — для 128 битного, и 8 для 256-битного ключа. Для ключа размером 128 бит выполняется 48 раундов, для ключа размером 256 бит — 64 раунда алгоритма.[2]

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

Содержание

Реализация

Алгоритм за один проход обрабатывает два 32-разрядных беззнаковых числа (unsigned long) a и b, то есть 64 битный блок. Длина ключа в 32-разрядных числах — kw, r — раунд.

Таким образом, декларация переменных может быть следующей:

u32 a, b, c, kw;
u32 key[kw];
long r;

Универсальный код

// зашифровка
 
for (r=0;r<kw*4+32;r++) c=b,b+=a+((b<<6)^(b>>8))+key[r%kw]+r,a=c;
 
// расшифровка
 
for (r=kw*4+31;r!=-1;r--) c=a,a=b-=a+((a<<6)^(a>>8))+key[r%kw]+r,b=c;


Что аналогично другому написанию:


// зашифровка
 
for (r=0;r<kw*4+32;r++) a+=b+((b<<6)^(b>>8))+key[r%kw]+r,r++,b+=a+((a<<6)^(a>>8))+key[r%kw]+r;
 
 
// расшифровка
 
for (r=kw*4+31;r!=-1;r--) b-=a+((a<<6)^(a>>8))+key[r%kw]+r,r--,a-=b+((b<<6)^(b>>8))+key[r%kw]+r;

Код для 256 — битного ключа

Использование алгоритма является очень простым и удобным. Так, для ключа, равного 256 битам (kw = 8), код будет следующим:


// зашифровка
 
 
for (r=0;r<64;r++)
{
 b+=a+((a<<6)^(a>>8))+ (key[r%8]+r);
 r++;
 a+=b+((b<<6)^(b>>8))+ (key[r%8]+r);
}
 
 
// расшифровка
 
for (r=63;r>=0;r--)
{
 a-=b+((b<<6)^(b>>8))+ (key[r%8]+r);
 r--;
 b-=a+((a<<6)^(a>>8))+ (key[r%8]+r);
 
}

Для обеспечения уникальности каждого из зашифрованных блоков при идентичности исходного открытого текста может быть применен один из режимов DES (к примеру, CBC, CFB, CTS, CTR)

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

На данный момент существует лишь атака на основе связанных ключей (англ. related key attack)[3] на данный шифр.

См. также

TEA

XTEA

XXTEA

Raiden — алгоритм, как и RTEA, основанный на идеях блочного шифра TEA

Примечания

  1. Сравнительные результаты устойчивости симметричных криптоалгоритмовангл. 
  2. TEA, XTEA, XXTEA and RTEA
  3. A related key attack for RTEA.

Ссылки

  1. Исходный код алгоритма RTEA на Open Watcom C и Delphi
  2. FAQ по материалам конференции fido7.ru.crypt. Непосредственно к RTEA относится следующее передупреждение: "Придумать алгоритм - это 5% работы. Остальные 95% - убедиться (и убедить других), что его никто не сможет сломать."

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "RTEA" в других словарях:

  • TEA — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. У этого термина существуют и другие значения, см. TEA (значения) …   Википедия

  • XTEA — Создатель: Дэвид Уилер и Роджер Нидхэм Создан: 1997 г …   Википедия

  • Шифрование — Шифрование  преобразование информации в целях сокрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задаче соблюдения конфиденциальности… …   Википедия

  • Сеть Фейстеля — (конструкция Фейстеля)  один из методов построения блочных шифров. Сеть представляет собой определённую многократно повторяющуюся (итерированную) структуру, называющуюся ячейкой Фейстеля. При переходе от одной ячейки к другой меняется ключ,… …   Википедия

  • XXTEA — Создатель: Дэвид Вилер Создан: 1998 г. Опубликован: 1998 г …   Википедия

  • Raiden — Создатель: Хулио Кастро, Хавьер Олабарриэта Создан: 2006 г. Опубликован: 2006 г. Размер ключа: 128 бит Размер блока: 64 бит Число раундов: 16 Тип …   Википедия

  • FNAm2 — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей …   Википедия

  • Shepard Fairey — Frank Shepard Fairey (born February 15, 1970 in Charleston, South Carolina) is a contemporary artist, graphic designer and illustrator who emerged from the skateboarding scene [Tania Zittoun, Transitions: Symbolic Resources in Development , IAP,… …   Wikipedia

  • Mark Vallen — at an exhibition in Eagle Rock, California, December 2005 Born 1953 (1953) Los Angeles, California …   Wikipedia

  • Earnings Test — The earnings test was devised by the United States Social Security Administration to limit the earnings for workers 62 to 65 that will determine the amount of Social Security benefits received Eligibility The test only applies to people who are… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»