RC6
Kriptogrāfijā RC6 ir simetriskās atslēgas bloka šifrs, kas atvasināts no RC5. RC6 ir parametrizēts algoritms ar mainīgu bloka lielumu, mainīgu atslēgaslielumu un mainīgu raundu skaitu. RC nozīmē "Rivesta šifrs" vai arī "Rona kods".
1997. gadā NIST izsludināja konkursu, lai izvēlētos datu šifrēšanas standarta (DES) pēcteci ar nosaukumu Advanced Encryption Standard (AES). RC6 tika atvasināts no RC5, lai atbilstu konkursa prasībām, un tika izvēlēts kā viens no pieciem konkursa par Advanced Encryption Standard (AES) finālistiem, bet netika izvēlēts par standartu.
Lai nodrošinātu dažādus drošības un efektivitātes līmeņus, RC6 ļauj izvēlēties bloka lielumu: 32 bitu (tikai eksperimentiem un novērtēšanai), 64 bitu (izmantošanai kā DES aizstājēju) un 128 bitu (paredzēts AES). Raundu skaits var būt no 0 līdz 255, bet atslēgas izmērs var būt no 0 bitu līdz 2040 bitu.
RC6 struktūra ir ļoti līdzīga RC5, un to var uzskatīt par divu paralēlu RC5 šifrēšanas procesu pārklāšanos. Tomēr RC6 izmanto papildu reizināšanas operāciju, kas nav RC5, un četrus b/4 bitu darba reģistrus (sk. atklātā teksta bloku sadalīšanu feisteļa šifrā), nevis divus b/2 bitu reģistrus kā RC5 (b ir bloka lielums). Veselo skaitļu reizināšanu izmanto, lai palielinātu vienā raundā panākto difūziju, tādējādi ir nepieciešams mazāks skaits raundu un var palielināt šifra ātrumu.
Četru darba reģistru, nevis divu reģistru izmantošana galvenokārt ir saistīta ar optimizāciju 32 bitu procesoru darbībā. RC5 noklusējuma bloka lielums bija 64 biti, savukārt AES noklusējuma bloka lielums ir 128 biti. RC5 ir tikai divi darba reģistri. Tas izmanto 32 bitu operācijas, ja runa ir par 64 bitu blokiem, un 64 bitu operācijas, ja runa ir par 128 bitu blokiem, tāpēc, lai izveidotu AES arhitektūru, izmantojot tikai 32 bitu operācijas, ir nepieciešami četri darba reģistri.
RC6 ir patentēts algoritms (RSA Security ASV patents 5 724 428 un ASV patents 5 835 600 ), un par jebkuru produktu, kurā izmanto šo algoritmu, var būt nepieciešama licences un autoratlīdzības maksājumi. To izstrādāja Ron Rivest, Matt Robshaw, Ray Sidney un Yiqun Lisa Yin, un tas tika iesniegts arī NESSIE un CRYPTREC projektiem.
Jautājumi un atbildes
J: Kas ir RC6?
A: RC6 ir simetriskā atslēgas bloka šifrs, kas atvasināts no RC5. Tas ir parametrizēts algoritms ar mainīgu bloka lielumu, atslēgas lielumu un raundu skaitu.
J: Kas izstrādāja RC6?
A.: RC6 izstrādāja Rons Rivests, Mets Robšovs, Rejs Sidnijs un Yiqun Lisa Yin.
J: Kādi ir RC5 un AES noklusējuma bloku izmēri?
A: RC5 noklusējuma bloka lielums ir 64 biti, bet AES noklusējuma bloka lielums ir 128 biti.
J: Kāda ir RC6 struktūra salīdzinājumā ar RC5 struktūru?
A: RC6 struktūra ir ļoti līdzīga RC5 struktūrai, bet tajā tiek izmantota papildu reizināšanas operācija, kas nav RC5, kā arī četri b/4 bitu darba reģistri divu b/2 bitu reģistru vietā.
J: Kāpēc izmanto četrus darba reģistrus divu vietā, lai izveidotu AES arhitektūru, izmantojot tikai 32 bitu operācijas?
A: Veselo skaitļu reizināšana tiek izmantota, lai palielinātu vienā raundā panākto difūziju, tādējādi ir nepieciešams mazāk raundu un var palielināt ātrumu. Četri darba reģistri ir vajadzīgi, jo, strādājot ar 64 bitu blokiem, tiek izmantotas 32 bitu operācijas, bet, strādājot ar 128 bitu blokiem, - 64 bitu operācijas.
J: Vai par produktiem, kuros izmanto algoritmu, ir jāveic licencēšanas vai autoratlīdzības maksājumi?
A: Jā, tā kā tas ir patentēts algoritms (ar RSA Security ASV patentu 5 724 428 un ASV patentu 5 835 600 ), par visiem produktiem, kuros izmanto algoritmu, var būt nepieciešami licences un autoratlīdzības maksājumi.