RC2
In de cryptografie is RC2 een symmetrisch-key-coderingssysteem. Ontworpen door Ronald Rivest in 1987. "RC" staat voor "Rivest Cipher", of anders "Ron's Code".
RC2 is een 64-bits blokcodering met een variabele sleutelgrootte en met behulp van 18 rondes.
Rondes zijn gerangschikt als een bron-zwaar feistelnetwerk, met 16 rondes van een type genaamd "meng rondes" doorsneden door twee rondes van een ander type genaamd "maischrondes".
De 18 ronden worden uitgevoerd in de volgende volgorde:
- voer 5 mengrondes uit.
- Voer 1 stamppartij uit.
- voer 6 mengrondes uit.
- Voer 1 stamppartij uit.
- voer 5 mengrondes uit.
RC2 maakt gebruik van een sleuteluitbreidingsalgoritme waarmee een uitgebreide sleutel bestaande uit 64 (16-bits woorden) op een gecompliceerde manier wordt geproduceerd, afhankelijk van elk bit van de meegeleverde "variabele lengte" ingangssleutel. Een mengronde bestaat uit vier toepassingen van de "mix-up" transformatie, zoals weergegeven in het diagram. Een ronde wordt "gepureerd" door er een van de 16-bits woorden van de uitgebreide sleutel (RFC 2268) aan toe te voegen.
RC2 is vatbaar voor een gerelateerde aanval met 234 gekozen teksten (Kelsey et al. , 1997).
De ontwikkeling van RC2 werd gesponsord door Lotus, die op zoek was naar een aangepaste code die geëxporteerd kon worden als onderdeel van hun Lotus Notes-software, na evaluatie door de NSA. De NSA stelde een aantal wijzigingen voor, die door Ronald Rivest werden overgenomen. Na verdere onderhandelingen werd de code in 1989 goedgekeurd voor export.
Samen met RC4 werd RC2 met een 40-bits sleutelgrootte behandeld onder de Amerikaanse exportregels voor cryptografie. Nu zijn alle 40-bits encryptie-algoritmen verouderd omdat ze gevaarlijk gevoelig zijn voor brute force-aanvallen.
Aanvankelijk werden de details van het algoritme geheim gehouden - eigendom van RSA Security - maar op 29 januari 1996 werd de broncode voor RC2 anoniem op het internet gepost op het Usenet-forum, sci.crypt. Een soortgelijke post had eerder plaatsgevonden met RC4. Het is onduidelijk of de affiche toegang had tot de specificaties of dat hij reverse-engineered was.
De mix-up transformatie van RC2; Een mengronde bestaat uit het vier keer toepassen van de "mix-up" transformatie.
Vragen en antwoorden
V: Wat is RC2?
A: RC2 is een symmetrisch-key blokcijfer ontworpen door Ronald Rivest in 1987. Het gebruikt een blokgrootte van 64 bits en 18 versleutelingsronden.
V: Waar staat "RC" voor?
A: "RC" staat voor "Rivest Cipher", of anders voor "Ron's Code".
V: Hoeveel rondes worden er uitgevoerd bij gebruik van RC2?
A: Bij gebruik van RC2 worden 18 rondes uitgevoerd - 16 mengrondes afgewisseld met twee maskeerrondes.
V: Hoe werkt het sleuteluitbreidingsalgoritme?
A: Het sleuteluitbreidingsalgoritme produceert een uitgebreide sleutel die bestaat uit 64 (16-bits woorden), afhankelijk van elke bit van de geleverde invoersleutel met variabele lengte.
V: Voor welk type aanval is RC2 gevoelig?
A: RC2 is gevoelig voor een related-key aanval met 234 chosen-plaintext aanvallen.
V: Wie heeft de ontwikkeling van RC2 gesponsord?
A: De ontwikkeling van RC2 werd gesponsord door Lotus, die op zoek was naar een aangepaste code om te exporteren als onderdeel van hun Lotus Notes-software.