Rc6 algoritmining Feistel tarmog'i
Download 20.35 Kb.
|
RC6 RC5 algoritmidan olingan simmetrik blokli kriptografik algoritmdir
RC6 RC5 algoritmidan olingan simmetrik blokli kriptografik algoritmdir . U Advanced Encryption Standard (AES) tanlovi talablariga javob berish uchun Ron Rivest, Mett Robshow va Rey Sidney tomonidan yaratilgan . Algoritm tanlovning beshta finalchisidan biri bo'lgan va NESSIE va CRYPTREC tomonidan ham taqdim etilgan . Bu xususiy (xususiy) algoritm bo'lib, RSA Security tomonidan patentlangan. RC6 algoritmining Feistel tarmog'i Yaratuvchi: Ronald Rivest, M. Robshou, R. Sidney (RSA Laboratories) 1998 – yil yaratilgan 1998 – yil nashr etilgan Kalit o'lchami 128, 192 yoki 256 bit (0 dan 2040 bitgacha) Blok hajmi 128 bit (32 bitli platformalar uchun) Turlar soni 20 (standart) Feistel tarmog'i RC6 ning AES varianti 128 bitli bloklarni va 128, 192 va 256 bitli kalitlarni qo'llab-quvvatlaydi, ammo shifrning o'zi, xuddi RC5 kabi, blok va kalit uzunliklarining kengroq diapazonini (0 dan 2040 bitgacha) qo'llab-quvvatlash uchun sozlanishi mumkin. ) [1] . RC6 tuzilishi jihatidan RC5 ga juda o'xshaydi va uni amalga oshirish ham juda oson. Bu AES finalchisi, ammo ibtidoiy operatsiyalardan biri bu ko'paytirish operatsiyasi bo'lib, u ba'zi qurilmalarda sekin ishlaydi va shifrni bir qator apparat platformalarida amalga oshirishni qiyinlashtiradi va bu mualliflar uchun ajablanib bo'ldi. , shuningdek, Intel IA-64 arxitekturasiga ega tizimlarda juda yomon amalga oshirilgan. Bunday holda, algoritm o'zining asosiy afzalliklaridan birini - yuqori tezlikni yo'qotadi, bu tanqidga sabab bo'ldi va yangi standart sifatida saylanish uchun to'siqlardan biriga aylandi. Biroq, Pentium II , Pentium Pro , Pentium III , PowerPC va ARM protsessorli tizimlarida RC6 algoritmi g'olib Rijndael [2] dan oldinda . Tafsilotlar RC6 xuddi RC5 singari , RC6 ham shifrlash algoritmlarining to'liq parametrlangan oilasidir. Muayyan parametrlarga ega algoritmni spetsifikatsiya qilish uchun RC6-w/r/b belgisi qabul qilinadi , bunda w - bitlardagi mashina so'zining uzunligi . r - turlar soni. b - bitlardagi kalitning uzunligi . Mumkin qiymatlar 0..255 bit. AES mos bo'lishi uchun blokli shifr 128 bitli bloklarni boshqarishi kerak. RC5 juda tez blokli shifr bo'lganligi sababli , uni 128 bitli bloklar bilan ishlash uchun kengaytirish ikkita 64 bitli ishchi registrlardan foydalanishga olib keladi. Ammo arxitektura va dasturlash tillari hali 64 bitli operatsiyalarni qo'llab-quvvatlamaydi, shuning uchun loyiha ikkita 64 bitli o'rniga to'rtta 32 bitli registrlardan foydalanish uchun o'zgartirilishi kerak edi. Xuddi RC5 da bo'lgani kabi , RC6 da ikkita psevdo-tasodifiy o'zgaruvchilar ikkita matematik konstanta yordamida yaratiladi: ko'rsatkich (e) va oltin nisbat (f). {\displaystyle Q_ {w}\leftarrow Odd ((f-1)*2^{w})}{\displaystyle Q_{w}\leftarrow Odd((f-1)*2^{w})} {\displaystyle P_ {w}\leftarrow Odd ((e-2)*2^{w})}{\displaystyle P_{w}\leftarrow Odd((e-2)*2^{w})}, qayerda{\ displaystyle Odd()}{\displaystyle Odd()} eng yaqin toq songa yaxlitlanadi . w = 32 bit bilan (on oltilik tizimda): {\displaystyle Q_ {32}=9E3779B9}{\displaystyle Q_{32}=9E3779B9} {\displaystyle P_{32}=B7E15163}{\displaystyle P_{32}=B7E15163} O'nli shaklda: {\displaystyle P_{32}=3084996963}{\displaystyle P_{32}=3084996963} {\displaystyle Q_ {32}=2654435769}{\displaystyle Q_{32}=2654435769} RC6-w/r/b uchun asosiy kengaytirish tartibi: RC6 shifrining kalit jadvali ham RC5 shifr jadvali bilan bir xil . Farqi shundaki, L massivdan ko'proq so'zlar shifrlash va shifrni ochishda foydalanish uchun foydalanuvchi tomonidan taqdim etilgan kalitdan olingan. Kirish:
r - turlar soni. Chiqish: w-bit kalit xaritasi{\displaystyle S[0,...,2r+3]}S[0,...,2r+3]. >>>, <<< - mos ravishda o'ngga va chapga tsiklik siljishlar. S [ 0 ] = Pw i = 1 dan 2 gacha r + 3 do uchun S [ i ] = S [ i - 1 ] + Qw A = B = i = j = 0 v = 3 * maks { c , 2 r + 4 } s = 1 dan v qilish uchun { A = S [ i ] = ( S [ i ] + A + B ) <<< 3 B = L [ j ] = ( L [ j ] + A + B ) <<< ( A + B ) i = ( i + 1 ) mod ( 2 r + 4 ) j = ( j + 1 ) mod c } RC6 to'rtta w-bitli A, B, C va D registrlarida ishlaydi, ular shifrlash oxirida kirish ochiq matn va chiqish shifrlangan matnni o'z ichiga oladi. RC6 xavfsizligi bo'yicha talablarimizni quyidagicha umumlashtirishimiz mumkin: - RC6 ga eng yaxshi hujum foydalanuvchi tomonidan taqdim etilgan shifrlash kalitiga qo'pol kuch ishlatishdir. - Differensial va chiziqli kriptoanaliz kabi RC6 ga murakkabroq hujumlarni tashkil qilish uchun ma'lumotlar talablari mavjud ma'lumotlardan oshib ketadi. Xavfsizlik chegarasining muhim mezoni - bu hujum qilish mumkin bo'lgan maksimal raundlar soni. Bu RC6 ning 12, 14 va 15 dumaloq variantlari uchun mumkin. Shifr Turlar soni (b) Hujum turi Matn Bayt xotira Operatsiyalar RC6-128/20/b 12 Statistik farqlar {\displaystyle 2^{94}}2^{94} {\displaystyle 2^{42}}2^{42} {\displaystyle 2^{119}}2^{119} o'n to'rt Statistik farqlar {\displaystyle 2^{118}}2^{118} {\displaystyle 2^{112}}2^{112} {\displaystyle 2^{122}}2^{122} 15 (256) Statistik farqlar {\displaystyle 2^{119}}2^{119} {\displaystyle 2^{138}}2^{138} {\displaystyle 2^{215}}2^{215} To'rtinchi ustun "Matn" shifrlanmagan bloklar soni va berilgan kalit bilan mos keladigan shifrlangan matn bloklari haqida ma'lumotni o'z ichiga oladi. Beshinchi ustun "Xotira baytlari" hujumning ixtiyoriy nuqtasida kerak bo'lgan maksimal xotira baytlarini o'z ichiga oladi. Oltinchi ustun "Operatsiyalar" hujumni amalga oshirish uchun bajarilishi kerak bo'lgan operatsiyalarning kutilayotgan sonini ko'rsatadi. Algoritmning tavsifidan kelib chiqqan holda, RC6 juda ixchamdir. Haqiqatan ham, Intel Pentium Pro mikroprotsessori uchun Assembler-da RC6 algoritmini amalga oshirish har bir vazifa uchun 256 baytdan kam kodda bajarilishi mumkin: kalitlarni o'rnatish, shifrlash bloki, shifrni ochish bloki. Ko'pgina boshqa shifrlash algoritmlaridan farqli o'laroq, RC6 shifrlash vaqtida qidirish jadvallaridan foydalanmaydi. Bu shuni anglatadiki, RC6 kodi va ma'lumotlari zamonaviy kesh xotirasiga sig'ishi va shu bilan xotira maydonini tejash imkonini beradi. RC6 to'liq parametrlash mumkinligi va uni samarali va ixcham tarzda amalga oshirish mumkinligini hisobga olsak, shifr ayniqsa ko'p qirrali ko'rinadi. Yuqorida aytib o'tganimizdek, RC6 foydalanuvchiga shifrlash kalitining o'lchami, turlar soni va asosiy hisoblash modulining so'z hajmi bo'yicha katta moslashuvchanlikni ta'minlaydi. AESda ko'rib chiqish uchun taqdim etilgan RC6 32 bitli so'zlardan (blok hajmi 128 bit) foydalanishga asoslangan bo'lsa-da, kelajakda bozor talabi RC6 ni boshqa blok o'lchamlariga kengaytirishi kerak. Eng muhimi 256 bitli blok o'lchamlari bo'lib, ular tizim arxitekturasining keyingi avlodi tomonidan taqdim etilgan 64 bitli so'z hajmi va unumdorligidan foydalanadi. Shuni ham yodda tutingki, RC6 tuzilmasi ma'lum darajada parallelizmdan shifrni ochish va shifrlash tartiblarida foydalanishga imkon beradi. Misol uchun, har bir turda t va u ni hisoblash, A va C ning yangilanishlari kabi parallel ravishda hisoblanishi mumkin. Protsessorlar ko'proq ichki parallelizmga (masalan, superskalar arxitekturaga o'tishga) o'zgarganda, RC6 ilovalari yaxshiroq ko'rsatilishi kerak. ishlash. Download 20.35 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling