RC5

Žodis angliškai:

Ron`s Code arba Riverst Cipher

Santrumpa:

RC5

Žodis lietuviškai:

Rono Kodas 5 arba Riversto Šifras 5

Apibrėžimas:

• w yra žodžio dydis bitais. Standartinė reikšmė yra 32 bitai, leistinos reikšmės yra 16, 32 ir 64. RC5 koduoja dviejų žodžių blokus: paprasto teksto ir šifruoto teksto, blokai būna 2w bitų ilgio. • r yra ciklų skaičius. Leistinos reikšmės yra 0,1, ..., 255. • b yra baitų skaičius slaptame rakte K. Leistinos reikšmės yra 0,1, ..., 255.

RC5 naudoja „išplėstinio rakto“ lentelę S, kuri gaunama iš vartotojo pateikto slapto rakto K. Lentelės S dydis t priklauso nuo ciklų skaičiaus r. Lentelėje būna t = 2*(r+1) žodžių. RC5 nėra numatytas būti saugus su visais galimais parametrais. Tačiau naudoti maksimalias parametrų reikšmes būtų daugiareikšmiškumas taikomosioms programoms.

RC5 algoritmas

rc5.png 4 pav. RC5 algoritmas

RC5 sudarytas iš trijų algoritmų, vienas yra rakto išplėtimui (4 pav.), kitas yra šifravimui, trečias yra dešifravimui. Šie trys algoritmai naudoja tris operacijas: • Dvejeto komplektas prideda žodžius, žymimas „+“ . Tai yra modulinė 2W sudėtis. Atgalinė operacija yra „-“, • bito būdas – XOR (išskirtinis arba) žodžių, žymimas , • žodžio postūmis į kairę, postūmis į kairę per y bitų žymimas x<<<y, atgalinė operacija yra postūmis į dešinę, žymimas x>>>y. Rakto plėtimo šablonas išplečia vartotojo raktą K, kad šis užpildytų „išplėstinio rakto“ lentelę S. Ir kad S sukurtų lentelę iš t atsitiktinių dvejetainių žodžių nustatytų pagal vartotojo slaptą kodą K. Tada S yra sumaišoma su slaptu kodu K, trimis abiejų „+“ ir „<<<“ operacijų perdavimais. Šifruodami mes numanome, kad įvesties blokas yra dedami 2W bito registrus A ir B, ir kad išvesties blokai taip pat talpinami į A ir B registrus.

RC5 šifravimo algoritmas:

A=A + S[0]; B=B + S[1]; for(i=1; i<=r; r++) { A= (( A B )<<B)+S[2*i]; B=((B A)<<A)+S[2*i+1]; }

RC5 iššifravimo algoritmas: B = B - S[1]; A = A – S[0]; for(i=r; i>=1; r--) { B=((B – S[2*i+1] )>>A) A; A=((A – S[2*i] )>> B) B;}

Pateiksiu RC5 šifravimo algoritmo pavyzdį (jau užkoduotą tekstą).

Raktas = 915F4619BE41B2516355A50110A9CE91 Paprastas tekstas = 21A5DBEE154B8F6D Šifruotas tekstas = F7C013AC5B2B8952

paskutinį kartą redaguota 2013-03-25 20:54:55 redaktoriaus AurimasSendzikaitis