RC6
V kryptografii je RC6 bloková šifra se symetrickým klíčem odvozená od RC5. RC6 je parametrizovaný algoritmus s proměnlivou velikostí bloku, proměnlivou velikostíklíče a proměnlivým počtem kol. RC je zkratka pro "Rivestovu šifru", případně "Ronovu šifru".
V roce 1997 vyhlásil NIST soutěž o nástupce standardu DES (Data Encryption Standard), který se měl jmenovat AES (Advanced Encryption Standard). RC6 byl odvozen z RC5, aby splňoval požadavky soutěže, a byl vybrán jako jeden z pěti finalistů soutěže Advanced Encryption Standard (AES), ale nebyl vybrán jako standard.
Aby bylo možné zajistit různé úrovně bezpečnosti a efektivity, umožňuje RC6 volbu velikosti bloku: 32 bitů (pouze pro experimentální a hodnotící účely), 64 bitů (pro použití jako náhrada DES) a 128 bitů (určeno pro AES). Počet kol se může pohybovat od 0 do 255, zatímco velikost klíče může být od 0 bitů do 2040 bitů.
RC6 je svou strukturou velmi podobný RC5 a lze na něj pohlížet jako na prolínání dvou paralelních šifrovacích procesů RC5. RC6 však používá dodatečnou operaci násobení, která v RC5 chybí, a čtyři b/4bitové pracovní registry (viz rozdělení bloků otevřeného textu ve feistelově šifře) namísto dvou b/2bitových registrů jako v RC5 (b je velikost bloku). Celočíselné násobení se používá ke zvýšení rozptylu dosaženého v jednom kole, takže je zapotřebí méně kol a lze zvýšit rychlost šifry.
Důvodem použití čtyř pracovních registrů místo dvou je především optimalizace na 32bitových procesorech. Výchozí velikost bloku RC5 byla 64 bitů, zatímco výchozí velikost bloku AES je 128 bitů. RC5 má pouze dva pracovní registry. Při práci s 64bitovými bloky používá 32bitové operace a při práci se 128bitovými bloky 64bitové operace, takže pro sestavení architektury AES s použitím pouze 32bitových operací jsou nutné čtyři pracovní registry.
RC6 je patentovaný algoritmus (RSA Security U. S. Patent 5,724,428 a U. S. Patent 5,835,600 ), který může vyžadovat licenční a licenční poplatky za jakékoli produkty využívající tento algoritmus. Navrhli jej Ron Rivest, Matt Robshaw, Ray Sidney a Yiqun Lisa Yin a byl také předložen projektům NESSIE a CRYPTREC.
Otázky a odpovědi
Otázka: Co je RC6?
Odpověď: RC6 je bloková šifra se symetrickým klíčem odvozená od RC5. Je to parametrizovaný algoritmus s proměnlivou velikostí bloku, velikostí klíče a počtem kol.
Otázka: Kdo navrhl RC6?
A: RC6 navrhli Ron Rivest, Matt Robshaw, Ray Sidney a Yiqun Lisa Yin.
Otázka: Jaké jsou výchozí velikosti bloků pro RC5 a AES?
Odpověď: Výchozí velikost bloku RC5 je 64 bitů, zatímco výchozí velikost bloku AES je 128 bitů.
Otázka: Jaká je struktura RC6 ve srovnání se strukturou RC5?
Odpověď: Struktura RC6 je velmi podobná struktuře RC5, ale používá další operaci násobení, která v RC5 není, a také čtyři b/4bitové pracovní registry místo dvou b/2bitových.
Otázka: Proč se používají čtyři pracovní registry místo dvou, aby bylo možné vytvořit architekturu AES s použitím pouze 32bitových operací?
Odpověď: Celočíselné násobení se používá ke zvýšení rozptylu dosaženého v jednom kole, takže je zapotřebí méně kol a lze zvýšit rychlost. Čtyři pracovní registry jsou nutné, protože při práci s 64bitovými bloky se používají 32bitové operace a při práci se 128bitovými bloky 64bitové operace.
Otázka: Jsou pro produkty využívající tento algoritmus vyžadovány nějaké licenční nebo licenční poplatky?
Odpověď: Ano, protože se jedná o patentovaný algoritmus (patentem RSA Security U.S. Patent 5 724 428 a U.S. Patent 5 835 600 ), mohou být vyžadovány licenční a licenční poplatky za všechny produkty, které tento algoritmus používají.