RC5: parametrizovaná bloková šifra Ronalda Rivesta s dátovo závislými rotáciami
RC5: parametrizovaná bloková šifra Ronalda Rivesta (1994) s premenlivou veľkosťou bloku, kľúča a kôl a s dátovo závislými rotáciami; popis konštrukcie, rozvrhu kľúča a bezpečnostných poznatkov
V kryptografii je RC5 jednoduchá bloková šifra so symetrickým kľúčom. RC5 navrhol Ronald Rivest v roku 1994 a je to parametrizovaný algoritmus s premenlivou veľkosťou bloku, premenlivou veľkosťou kľúča a premenlivým počtom kôl. Skratka „RC“ znamená „Rivestova šifra“ alebo alternatívne „Ronova šifra“.
Galéria obrázkov
1 ObrázokParametre a notácia
RC5 je navrhnuté tak, aby bolo ľahko konfigurovateľné: používá sa notácia RC5-w/r/b, kde w je šírka slova v bitoch, r je počet kôl a b je dĺžka kľúča v bajtoch. S cieľom zabezpečiť rôzne úrovne bezpečnosti a účinnosti má RC5 premenlivú veľkosť bloku (slovo w môže byť typicky 16, 32 alebo 64 bitov, čo dáva bloky 2w bitov) — bežné implementácie používajú 32‑bitové slovo (teda 64‑bitový blok) alebo 64‑bitové slovo (128‑bitový blok). Dĺžka kľúča môže byť až do 2040 bitov (0 až 255 bajtov), často sa uvádza príklad RC5-32/12/16 (32‑bitové slovo, 12 kôl, 16‑bajtový kľúč = 128 bitov) ako pôvodne navrhovaná voľba parametrov. Praktické implementácie však môžu používať odlišné hodnoty podľa požiadaviek na rýchlosť a bezpečnosť.
Konštrukcia a operácie
RC5 je založené na kombinácii troch jednoduchých typov operácií: modulárnom sčítaní, eXclusive OR (XOR) a rotáciách závislých od údajov. Dátovo závislé rotácie sú jednou z kľúčových inovácií RC5 a významne ovplyvňujú správanie šifry; autori chceli preskúmať, ako takáto kombinácia operácií funguje ako primitív v oblasti kryptografie. Všeobecná štruktúra algoritmu pripomína sieť podobnú Feistelovej, ale konštrukčne sa od nej líši použitím dátovo závislých rotácií.
Šifrovacie a dešifrovacie procedúry sú z hľadiska implementácie relatívne jednoduché a dajú sa vyjadriť v niekoľkých riadkoch kódu. Na druhej strane je rozvrh kľúča navrhnutý tak, aby z kľúča vyprodukoval sériu podkľúčov pomocou miešania, súčtov a rotácií. Kľúč sa rozširuje do poľa S a pri tom sa používajú tzv. „magické konštanty“ odvodené z matematických konštánt; konkrétne sa v dokumentácii ako zdroje týchto konštánt uvádzajú hodnoty odvodené z e a zlatého rezu, ktoré slúžia ako čísla „nič v rukáve“. Táto kombinácia jednoduchých operácií a špeciálnych konštánt bola zámerne zvolená tak, aby rozvrh kľúča bol efektívny a zároveň ťažko predvídateľný bez znalosti kľúča.
Bezpečnosť a použitie
Jednoduchosť algoritmu spolu s novosťou dátovo závislých rotácií urobili z RC5 predmet intenzívnej štúdie pre kryptoanalytikov. Od uvedenia boli publikované analytické výsledky pre redukovaný počet kôl a tiež praktické skúsenosti s hľadaním kľúčov pomocou distribuovaných výpočtov a súťaží (napr. verejné „challenge“). V dôsledku toho sa odporúčajú primerane väčšie hodnoty r a dostatočne dlhé kľúče pre reálne nasadenie; menšie konfigurovateľné varianty môžu byť vystavené útokom hrubou silou alebo špecifickej kryptoanalýze.
RC5 ovplyvnilo ďalšie návrhy (napríklad RC6, ktorý rozširuje myšlienky z RC5) a slúžilo ako dôležitý predmet výskumu v 90. rokoch. V súčasnosti sa pri nových štandardoch preferujú algoritmy, ktoré prešli rozsiahlym verejným hodnotením a štandardizačnými procesmi, avšak RC5 zostáva významným historickým príkladom konštrukcie blokovej šifry s dátovo závislými rotáciami.
Kryptoanalýza
12-kolový RC5 (so 64-bitovými blokmi) je náchylný na diferenciálny útok s použitím 244 vybraných otvorených textov. Ako dostatočná ochrana sa navrhuje 18-20 kôl.
Spoločnosť RSA Security, ktorá má na algoritmus patent, ponúkala sériu súťaží o 10 000 USD za prelomenie šifrových textov zašifrovaných pomocou RC5, ale tieto súťaže boli od mája 2007 ukončené. Viaceré z týchto výziev sa riešili pomocou distribuovaných výpočtov, ktoré organizovala spoločnosť Distributed.net. Distributed.net prelomila správy RC5 zašifrované 56- a 64-bitovými kľúčmi a teraz pracuje na prelomení 72-bitového kľúča. Pri súčasnom tempe (k 12. novembru 2008) bude trvať približne 1 000 rokov, kým sa otestujú všetky možné kľúče na dokončenie projektu.
Otázky a odpovede
Otázka: Čo je RC5?
Odpoveď: RC5 je jednoduchá bloková šifra so symetrickým kľúčom, ktorú navrhol Ronald Rivest v roku 1994.
Otázka: Čo znamená skratka "RC"?
A: "RC" znamená "Rivestova šifra" alebo alternatívne "Ronova šifra".
Otázka: Aké sú parametre RC5?
Odpoveď: Parametre RC5 zahŕňajú premenlivú veľkosť bloku (32, 64 alebo 128 bitov), premenlivú veľkosť kľúča (0 až 2040 bitov) a premenlivý počet kôl (0 až 255). Pôvodne sa navrhovala veľkosť bloku 64 bitov, 128-bitový kľúč a 12 kôl.
Otázka: Aká je všeobecná štruktúra algoritmu?
Odpoveď: Všeobecná štruktúra algoritmu je sieť podobná Feistelovej sieti.
Otázka: Aký zložitý je rozvrh kľúčov?
Odpoveď: Rozvrh kľúča je zložitejší, kľúč sa rozširuje pomocou v podstate jednosmernej funkcie s binárnymi expanziami ako zdrojmi čísel.
Otázka: Prečo je RC5 atraktívny pre kryptoanalytikov?
Odpoveď: Jednoduchosť algoritmu spolu s novinkou rotácií závislých od údajov urobili z RC5 atraktívny predmet štúdia pre kryptoanalytikov.
Súvisiace články
Autor
AlegsaOnline.com RC5: parametrizovaná bloková šifra Ronalda Rivesta s dátovo závislými rotáciami Leandro Alegsa
URL: https://sk.alegsaonline.com/art/81420
Zdroje
- theory.lcs.mit.edu : The RC5 Encryption Algorithm
- rsasecurity.com : "What are RC5 and RC6"
- patft.uspto.gov : U.S. Patent 5,724,428
- pat2pdf.org : pat2pdf.org/pat2pdf/foo.pl?number=5724428