RC2
Inden for kryptografi er RC2 en symmetrisk nøgleblokchiffer. Den blev udviklet af Ronald Rivest i 1987. "RC" står for "Rivest Cipher", eller alternativt "Rons kode".
RC2 er en 64-bit blokchiffer med en variabel nøglestørrelse og med 18 runder.
Runderne er arrangeret som et kildetungt feistelnetværk med 16 runder af en type kaldet "mixing rounds", der er afbrudt af to runder af en anden type kaldet "mashing rounds".
De 18 runder udføres ved hjælp af følgende interleaved sekvens:
- udfør 5 blandingsrunder.
- 1 gang skal foretages.
- udfør 6 blandingsrunder.
- 1 gang skal foretages.
- udfør 5 blandingsrunder.
RC2 anvender en nøgleudvidelsesalgoritme, hvorved en udvidet nøgle bestående af 64 (16-bit ord) produceres på en kompliceret måde, der afhænger af hver bit i den leverede "variabel-længde" inputnøgle. En blandingsrunde består af fire anvendelser af "mix-up"-transformationen, som vist i diagrammet. En runde "blandes" ved at tilføje et af de 16-bit ord i den udvidede nøgle (RFC 2268).
RC2 er modtagelig over for et angreb med relaterede nøgler ved hjælp af 234 angreb med valgt klartekst (Kelsey et al. , 1997).
Udviklingen af RC2 blev sponsoreret af Lotus, som ønskede at eksportere en specialfremstillet ciffer som en del af deres Lotus Notes-software efter evaluering af NSA. NSA foreslog et par ændringer, som Ronald Rivest indarbejdede. Efter yderligere forhandlinger blev krypteringen godkendt til eksport i 1989.
Sammen med RC4 blev RC2 med en nøgle på 40 bit behandlet i henhold til de amerikanske eksportregler for kryptografi. Nu er alle 40-bit-krypteringsalgoritmer forældede, fordi de er farligt modtagelige for brute force-angreb.
I første omgang blev detaljerne i algoritmen holdt hemmelige - RSA Security var ejer af den - men den 29. januar 1996 blev kildekoden til RC2 anonymt offentliggjort på internettet på Usenet-forummet sci.crypt. Et lignende opslag havde tidligere fundet sted med RC4. Det er uklart, om den, der skrev opslaget, havde adgang til specifikationerne, eller om de var blevet omvendt konstrueret.
RC2's "mix-up"-transformation; En mix-runde består af fire gange "mix-up"-transformationen.
Spørgsmål og svar
Spørgsmål: Hvad er RC2?
Svar: RC2 er en blokchiffer med symmetrisk nøgle, der blev designet af Ronald Rivest i 1987. Den anvender en blokstørrelse på 64 bit og 18 krypteringsrunder.
Spørgsmål: Hvad står "RC" for?
A: "RC" står for "Rivest Cipher", eller alternativt "Rons kode".
Spørgsmål: Hvor mange runder udføres der ved brug af RC2?
Svar: Ved brug af RC2 udføres der 18 runder - 16 blandingsrunder, der er interleaved med to mashing-runder.
Spørgsmål: Hvordan fungerer nøgleudvidelsesalgoritmen?
A: Nøgleudvidelsesalgoritmen producerer en udvidet nøgle bestående af 64 (16-bit ord) afhængig af hver bit i den leverede inputnøgle af variabel længde.
Spørgsmål: Hvilken type angreb er RC2 modtagelig for?
Svar: RC2 er modtagelig over for et angreb på en relateret nøgle ved hjælp af 234 angreb med valgt klartekst.
Spørgsmål: Hvem sponsorerede udviklingen af RC2?
Svar: Udviklingen af RC2 blev sponsoreret af Lotus, som ønskede at få en specialfremstillet kryptering, der kunne eksporteres som en del af deres Lotus Notes-software.