RTEA (від Ruptor's TEA або Repaired TEA) — в криптографії симетричний блоковий криптоалгоритм типу «Мережа Фейстеля», розроблений Marcos el Ruptor, розширення шифроалгоритма TEA. Виправлені деякі уразливості в алгоритмі. Як і інші варіанти алгоритму TEA, операції засновані на роботі з 32-бітними числами. Алгоритм значно простіший і продуктивніший за XTEA, при цьому, за заявою авторів і згідно з проведеними розробниками статистичними тестами, більш стійкий до криптоаналізу. Щоб протистояти всім адаптивним і неадаптивним атакам, алгоритму необхідне число раундів, яке дорівнює 32+w*4, де w — кількість 32-бітних цілих чисел в ключі, тобто 4 — 128 бітного, і 8 для 256-бітного ключа. Для ключа розміром 128 біт виконується 48 раундів, для ключа розміром 256 біт — 64 раунди алгоритму.
Розробники | Marcos el Ruptor (Sean O'Neil) |
---|---|
Уперше оприлюднений | 2007 р |
Раундів | 48 (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)
Безпека
На даний момент існує лише [en] на даний шифр.
Див. також
Примітки
- Порівняльні результати стійкості симетричних криптоалгоритмов [ 25 липня 2008 у Wayback Machine.] (англ.)
- . Архів оригіналу за 19 липня 2008. Процитовано 23 квітня 2018.
- A related key attack for RTEA.[недоступне посилання з лютого 2019]
Посилання
- Вихідний код алгоритму RTEA на Open Watcom C і Delphi [ 23 квітня 2018 у Wayback Machine.]
- FAQ по матеріалам конференції fido7.ru.crypt. Безпосередньо до RTEA відноситься наступне передупреждение: "Придумати алгоритм - це 5% роботи. Решта 95% - переконатися (і переконати інших), що його ніхто не зможе зламати."
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
RTEA vid Ruptor s TEA abo Repaired TEA v kriptografiyi simetrichnij blokovij kriptoalgoritm tipu Merezha Fejstelya rozroblenij Marcos el Ruptor rozshirennya shifroalgoritma TEA Vipravleni deyaki urazlivosti v algoritmi Yak i inshi varianti algoritmu TEA operaciyi zasnovani na roboti z 32 bitnimi chislami Algoritm znachno prostishij i produktivnishij za XTEA pri comu za zayavoyu avtoriv i zgidno z provedenimi rozrobnikami statistichnimi testami bilsh stijkij do kriptoanalizu Shob protistoyati vsim adaptivnim i neadaptivnim atakam algoritmu neobhidne chislo raundiv yake dorivnyuye 32 w 4 de w kilkist 32 bitnih cilih chisel v klyuchi tobto 4 128 bitnogo i 8 dlya 256 bitnogo klyucha Dlya klyucha rozmirom 128 bit vikonuyetsya 48 raundiv dlya klyucha rozmirom 256 bit 64 raundi algoritmu RTEARozrobnikiMarcos el Ruptor Sean O Neil Upershe oprilyudnenij2007 rRaundiv48 64 TipMerezha Fejstelya Tak yak ce blochnij shifroalgoritm de dovzhina bloku 64 bit a dovzhina danih mozhe buti ne kratna 64 bit blok dopovnyuyut bajtami zi znachennyam 0x01 RealizaciyaAlgoritm za odin prohid obroblyaye dva 32 rozryadnih bezznakovih chisel unsigned long a i b tobto 64 bitnij blok Dovzhina klyucha v 32 rozryadnih chislah kw r raund Takim chinom deklaraciya zminnih mozhe buti nastupnoyu u32 a b c kw u32 key kw long r Universalnij kod shifruvannya for r 0 r lt kw 4 32 r c b b a b lt lt 6 b gt gt 8 key r kw r a c rozshifruvannya for r kw 4 31 r 1 r c a a b a a lt lt 6 a gt gt 8 key r kw r b c Sho analogichno inshim napisannyam shifruvannya for r 0 r lt kw 4 32 r a b b lt lt 6 b gt gt 8 key r kw r r b a a lt lt 6 a gt gt 8 key r kw r rozshifruvannya for r kw 4 31 r 1 r b a a lt lt 6 a gt gt 8 key r kw r r a b b lt lt 6 b gt gt 8 key r kw r Kod dlya 256 bitnogo klyucha Vikoristannya algoritmu ye duzhe prostim i zruchnim Tak dlya klyucha rivnogo 256 bit kw 8 kod bude nastupnim shifruvannya for r 0 r lt 64 r b a a lt lt 6 a gt gt 8 key r 8 r r a b b lt lt 6 b gt gt 8 key r 8 r rozshifruvannya for r 63 r gt 0 r a b b lt lt 6 b gt gt 8 key r 8 r r b a a lt lt 6 a gt gt 8 key r 8 r Dlya zabezpechennya unikalnosti kozhnogo z zashifrovanih blokiv pri identichnosti vidkritogo vihidnogo tekstu mozhe buti zastosovano odin z rezhimiv DES napriklad CBC CFB CTS CTR BezpekaNa danij moment isnuye lishe en na danij shifr Div takozhTEA XTEA XXTEAPrimitkiPorivnyalni rezultati stijkosti simetrichnih kriptoalgoritmov 25 lipnya 2008 u Wayback Machine angl Arhiv originalu za 19 lipnya 2008 Procitovano 23 kvitnya 2018 A related key attack for RTEA nedostupne posilannya z lyutogo 2019 PosilannyaVihidnij kod algoritmu RTEA na Open Watcom C i Delphi 23 kvitnya 2018 u Wayback Machine FAQ po materialam konferenciyi fido7 ru crypt Bezposeredno do RTEA vidnositsya nastupne pereduprezhdenie Pridumati algoritm ce 5 roboti Reshta 95 perekonatisya i perekonati inshih sho jogo nihto ne zmozhe zlamati