RC2
Kriptografijoje RC2 yra simetrinio rakto blokinis šifras. 1987 m. jį sukūrė Ronaldas Rivestas. "RC" reiškia "Rivesto šifras" arba "Rono kodas".
RC2 yra 64 bitų blokinis šifras, kurio rakto dydis yra kintamas ir kuriame naudojama 18 raundų.
Rundai išdėstyti kaip šaltinio sunkus feisteliotinklas, kuriame 16 vieno tipo raundų, vadinamų "maišymo raundais", perskiriami dviem kito tipo raundais, vadinamais "mashing raundais".
18 raundų atliekama tokia perskirta seka:
- atlikite 5 maišymo raundus.
- atlikite 1 užmaišymo ciklą.
- atlikite 6 maišymo raundus.
- atlikite 1 užmaišymo ciklą.
- atlikite 5 maišymo raundus.
RC2 naudoja rakto išplėtimo algoritmą, pagal kurį išplėstinis raktas, sudarytas iš 64 (16 bitų žodžių), gaunamas priklausomai nuo kiekvieno pateikto "kintamo ilgio" įvesties rakto bito. Maišymo raundą sudaro keturios "maišymo-išplėtimo" transformacijos programos, kaip parodyta schemoje. Ratas "sumaišomas" prie jo pridedant vieną iš 16 bitų išplėstinio rakto žodžių (RFC 2268).
RC2 yra jautrus giminingo rakto atakai, naudojant 234 pasirinkto teksto atakas (Kelsey et al. , 1997).
RC2 sukūrimą rėmė "Lotus", kuri siekė, kad po NSA įvertinimo būtų galima eksportuoti pasirinktinį šifrą kaip "Lotus Notes" programinės įrangos dalį. NSA pasiūlė keletą pakeitimų, kuriuos Ronaldas Rivestas įtraukė. Po tolesnių derybų 1989 m. šifras buvo patvirtintas eksportui.
Kartu su RC4, RC2 su 40 bitų rakto dydžiu buvo traktuojamas pagal JAV kriptografijos eksporto taisykles. Dabar visi 40 bitų šifravimo algoritmai yra pasenę, nes yra pavojingai jautrūs brutalios jėgos atakoms.
Iš pradžių algoritmo detalės buvo laikomos paslaptyje - jos priklausė "RSA Security", tačiau 1996 m. sausio 29 d. RC2 išeities kodas buvo anonimiškai paskelbtas internete, "Usenet" forume sci.crypt. Panašus pranešimas buvo paskelbtas ir anksčiau, kai buvo paskelbtas RC4. Neaišku, ar skelbėjas turėjo prieigą prie specifikacijų, ar jos buvo sukonstruotos atvirkštiniu būdu.
RC2 sumaišymo transformacija; sumaišymo raundą sudaro keturis kartus taikoma "sumaišymo" transformacija.
Klausimai ir atsakymai
K: Kas yra RC2?
A: RC2 yra simetrinio rakto blokinis šifras, kurį 1987 m. sukūrė Ronaldas Rivestas. Jame naudojamas 64 bitų dydžio blokas ir 18 šifravimo raundų.
K: Ką reiškia "RC"?
A: "RC" reiškia "Rivesto šifras" arba "Rono kodas".
K: Kiek raundų atliekama naudojant RC2?
A: Naudojant RC2 atliekama 18 raundų - 16 maišymo raundų, kurie perskiriami dviem mashing raundais.
K: Kaip veikia rakto išplėtimo algoritmas?
A: Raktą išplečiantis algoritmas sukuria išplėstinį raktą, sudarytą iš 64 (16 bitų žodžių), priklausomai nuo kiekvieno pateikto kintamo ilgio įvesties rakto bito.
K: Kokio tipo atakoms yra jautrus RC2?
A.: RC2 yra jautrus susijusio rakto atakai naudojant 234 pasirinkto teksto atakas.
K: Kas rėmė RC2 kūrimą?
A.: RC2 kūrimą rėmė "Lotus", kuri siekė, kad jų "Lotus Notes" programinė įranga eksportuotų pasirinktinį šifrą.