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

Напишите отзыв о статье "RTEA"

Примечания

  1. [defectoscopy.com/results.html Сравнительные результаты устойчивости симметричных криптоалгоритмов] (англ.)
  2. [defectoscopy.com/forum/viewtopic.php?t=21 TEA, XTEA, XXTEA and RTEA]
  3. [cipherdev.org/break-rtea-2.c.txt A related key attack for RTEA.]

Ссылки

  1. [cartman-cipher.narod.ru/mirror/librtea.zip Исходный код алгоритма RTEA на Open Watcom C и Delphi]
  2. [www.inode.ru/articles/admin/2006-09-07/380 FAQ по материалам конференции fido7.ru.crypt.] Непосредственно к RTEA относится следующее передупреждение: "Придумать алгоритм - это 5% работы. Остальные 95% - убедиться (и убедить других), что его никто не сможет сломать."

Отрывок, характеризующий RTEA

– J'espere, que vous ne direz plus qu'on s'ennuie chez moi, [Надеюсь, вы не скажете другой раз, что у меня скучают,] – и взглянула на Элен.
Элен улыбнулась с таким видом, который говорил, что она не допускала возможности, чтобы кто либо мог видеть ее и не быть восхищенным. Тетушка прокашлялась, проглотила слюни и по французски сказала, что она очень рада видеть Элен; потом обратилась к Пьеру с тем же приветствием и с той же миной. В середине скучливого и спотыкающегося разговора Элен оглянулась на Пьера и улыбнулась ему той улыбкой, ясной, красивой, которой она улыбалась всем. Пьер так привык к этой улыбке, так мало она выражала для него, что он не обратил на нее никакого внимания. Тетушка говорила в это время о коллекции табакерок, которая была у покойного отца Пьера, графа Безухого, и показала свою табакерку. Княжна Элен попросила посмотреть портрет мужа тетушки, который был сделан на этой табакерке.
– Это, верно, делано Винесом, – сказал Пьер, называя известного миниатюриста, нагибаясь к столу, чтоб взять в руки табакерку, и прислушиваясь к разговору за другим столом.
Он привстал, желая обойти, но тетушка подала табакерку прямо через Элен, позади ее. Элен нагнулась вперед, чтобы дать место, и, улыбаясь, оглянулась. Она была, как и всегда на вечерах, в весьма открытом по тогдашней моде спереди и сзади платье. Ее бюст, казавшийся всегда мраморным Пьеру, находился в таком близком расстоянии от его глаз, что он своими близорукими глазами невольно различал живую прелесть ее плеч и шеи, и так близко от его губ, что ему стоило немного нагнуться, чтобы прикоснуться до нее. Он слышал тепло ее тела, запах духов и скрып ее корсета при движении. Он видел не ее мраморную красоту, составлявшую одно целое с ее платьем, он видел и чувствовал всю прелесть ее тела, которое было закрыто только одеждой. И, раз увидав это, он не мог видеть иначе, как мы не можем возвратиться к раз объясненному обману.
«Так вы до сих пор не замечали, как я прекрасна? – как будто сказала Элен. – Вы не замечали, что я женщина? Да, я женщина, которая может принадлежать всякому и вам тоже», сказал ее взгляд. И в ту же минуту Пьер почувствовал, что Элен не только могла, но должна была быть его женою, что это не может быть иначе.
Он знал это в эту минуту так же верно, как бы он знал это, стоя под венцом с нею. Как это будет? и когда? он не знал; не знал даже, хорошо ли это будет (ему даже чувствовалось, что это нехорошо почему то), но он знал, что это будет.
Пьер опустил глаза, опять поднял их и снова хотел увидеть ее такою дальнею, чужою для себя красавицею, какою он видал ее каждый день прежде; но он не мог уже этого сделать. Не мог, как не может человек, прежде смотревший в тумане на былинку бурьяна и видевший в ней дерево, увидав былинку, снова увидеть в ней дерево. Она была страшно близка ему. Она имела уже власть над ним. И между ним и ею не было уже никаких преград, кроме преград его собственной воли.