RC6
Kriptografijoje RC6 yra simetrinio rakto blokinis šifras, išvestas iš RC5. RC6 yra parametrizuotas algoritmas su kintamu bloko dydžiu, kintamu raktodydžiu ir kintamu raundų skaičiumi. RC reiškia "Rivesto šifras" arba "Rono kodas".
1997 m. NIST paskelbė konkursą duomenų šifravimo standarto (DES) įpėdiniui, kuris bus vadinamas išplėstiniu šifravimo standartu (AES), išrinkti. Kad atitiktų konkurso reikalavimus, RC6 buvo išvestas iš RC5 ir buvo atrinktas kaip vienas iš penkių konkurso "Advanced Encryption Standard" (AES) finalininkų, tačiau nebuvo pasirinktas kaip standartas.
Siekiant užtikrinti įvairius saugumo ir efektyvumo lygius, RC6 leidžia pasirinkti bloko dydį: 32 bitų (tik eksperimentavimo ir vertinimo tikslais), 64 bitų (naudojamas kaip DES pakaitalas) ir 128 bitų (skirtas AES). Rundų skaičius gali svyruoti nuo 0 iki 255, o raktų dydžiai - nuo 0 iki 2040 bitų.
RC6 savo struktūra labai panašus į RC5 ir gali būti laikomas dviejų lygiagrečių RC5 šifravimo procesų persipynimu. Tačiau RC6 naudojama papildoma daugybos operacija, kurios nėra RC5, ir keturi b/4 bitų darbiniai registrai (žr. atvirojo teksto blokų skaidymą feistelio šifre), o ne du b/2 bitų registrai, kaip RC5 (b yra bloko dydis). Skaičių daugyba naudojama siekiant padidinti per vieną raundą pasiektą sklaidą, todėl reikia mažiau raundų ir galima padidinti šifro greitį.
Keturi darbiniai registrai vietoj dviejų naudojami daugiausia dėl optimizavimo 32 bitų procesoriuose. Numatytasis RC5 bloko dydis buvo 64 bitai, o numatytasis AES bloko dydis yra 128 bitai. RC5 turi tik du darbinius registrus. Jis naudoja 32 bitų operacijas, kai dirbama su 64 bitų blokais, ir 64 bitų operacijas, kai dirbama su 128 bitų blokais, todėl norint sukurti AES architektūrą naudojant tik 32 bitų operacijas, reikia keturių darbinių registrų.
RC6 yra patentuotas ir patentuotas algoritmas (RSA Security JAV patentas 5 724 428 ir JAV patentas 5 835 600 ), todėl gali reikėti licencijos ir autorinio atlyginimo už bet kokius produktus, kuriuose naudojamas šis algoritmas. Jį sukūrė Ronas Rivestas, Mattas Robshaw, Ray Sidney ir Yiqun Lisa Yin, jis taip pat buvo pateiktas NESSIE ir CRYPTREC projektams.
Klausimai ir atsakymai
K: Kas yra RC6?
A: RC6 yra simetrinio rakto blokinis šifras, išvestas iš RC5. Tai parametrizuotas algoritmas su kintamu bloko dydžiu, rakto dydžiu ir raundų skaičiumi.
K: Kas sukūrė RC6?
A.: RC6 sukūrė Ronas Rivestas, Mattas Robshaw, Ray Sidney ir Yiqun Lisa Yin.
K: Kokie yra numatytieji RC5 ir AES blokų dydžiai?
A: Numatytasis RC5 bloko dydis yra 64 bitai, o numatytasis AES bloko dydis yra 128 bitai.
K: Kaip RC6 struktūra skiriasi nuo RC5 struktūros?
A: RC6 struktūra labai panaši į RC5, tačiau joje naudojama papildoma daugybos operacija, kurios pastarojoje nėra, taip pat keturi b/4 bitų darbiniai registrai vietoj dviejų b/2 bitų registrų.
K: Kodėl, norint sukurti AES architektūrą naudojant tik 32 bitų operacijas, vietoj dviejų naudojami keturi darbiniai registrai?
Atsakymas: Skaičių daugyba naudojama siekiant padidinti per vieną raundą pasiektą sklaidą, todėl reikia mažiau raundų ir galima padidinti greitį. Keturi darbiniai registrai reikalingi todėl, kad 32 bitų operacijos atliekamos su 64 bitų blokais, o 64 bitų operacijos - su 128 bitų blokais.
Klausimas: Ar reikia mokėti licencijas arba autorinius mokesčius už produktus, kuriuose naudojamas šis algoritmas?
A: Taip, kadangi tai patentuotas ir patentuotas algoritmas (RSA Security JAV patentas 5 724 428 ir JAV patentas 5 835 600 ), gali reikėti licencijos ir autorinio atlyginimo už bet kokius produktus, kuriuose naudojamas šis algoritmas.