RC2
Inom kryptografi är RC2 ett blockchiffer med symmetrisk nyckel. Det utformades av Ronald Rivest 1987. "RC" står för "Rivest Cipher", eller alternativt "Rons kod".
RC2 är ett 64-bitars blockchiffer med en variabel nyckelstorlek och 18 rundor.
Ronderna är ordnade som ett källtungt feistelnätverk, med 16 rundor av en typ som kallas "mixing rounds" och två rundor av en annan typ som kallas "mashing rounds".
De 18 omgångarna utförs med hjälp av följande interleaved sekvens:
- Gör 5 omgångar med blandning.
- Gör en omgång av mosningen.
- Utför 6 omgångar.
- Gör en omgång av mosningen.
- Gör 5 omgångar med blandning.
RC2 använder en algoritm för nyckelutvidgning där en utökad nyckel bestående av 64 (16-bitars ord) produceras på ett komplicerat sätt beroende på varje bit i den inmatade nyckeln med "variabel längd". En blandningsrunda består av fyra tillämpningar av "mix-up"-transformationen, enligt diagrammet. En runda "mixas" genom att lägga till ett av 16-bitarsorden i den utökade nyckeln (RFC 2268).
RC2 är känslig för en attack med relaterade nycklar med hjälp av 234 attacker med utvald text (Kelsey et al. , 1997).
Utvecklingen av RC2 sponsrades av Lotus, som efter utvärdering av NSA ville ha ett anpassat chiffer som skulle exporteras som en del av deras Lotus Notes-programvara. NSA föreslog ett par ändringar som Ronald Rivest tog med. Efter ytterligare förhandlingar godkändes chiffret för export 1989.
Tillsammans med RC4 behandlades RC2 med en nyckelstorlek på 40 bitar enligt USA:s exportbestämmelser för kryptografi. Nu är alla 40-bitars krypteringsalgoritmer föråldrade eftersom de är farligt känsliga för brute force-attacker.
Till en början hölls detaljerna i algoritmen hemliga - RSA Security ägde den - men den 29 januari 1996 lades källkoden till RC2 anonymt ut på Internet på Usenet-forumet sci.crypt. Ett liknande inlägg hade gjorts tidigare för RC4. Det är oklart om postaren hade tillgång till specifikationerna eller om de hade blivit bakåtkompilerade.
Mix-up-transformationen i RC2; En mixing round består av att tillämpa "mix-up"-transformationen fyra gånger.
Frågor och svar
F: Vad är RC2?
S: RC2 är ett blockchiffer med symmetriska nycklar som utformades av Ronald Rivest 1987. Det använder en blockstorlek på 64 bitar och 18 krypteringsrundor.
F: Vad står "RC" för?
S: "RC" står för "Rivest Cipher", eller alternativt "Rons kod".
F: Hur många omgångar utförs när RC2 används?
S: Vid användning av RC2 utförs 18 rundor - 16 blandningsrundor som är interfolierade med två mashing-rundor.
F: Hur fungerar algoritmen för nyckelutvidgning?
S: Algoritmen för nyckelexpansion producerar en expanderad nyckel som består av 64 (16-bitars ord) beroende på varje bit i den inmatade inmatningsnyckeln med variabel längd.
F: Vilken typ av angrepp är RC2 känslig för?
S: RC2 är känslig för en attack med relaterade nycklar med hjälp av 234 attacker med utvald klartext.
Fråga: Vem sponsrade utvecklingen av RC2?
Svar: Utvecklingen av RC2 sponsrades av Lotus, som ville ha en anpassad chiffer som skulle exporteras som en del av deras programvara Lotus Notes.