RC5
Inden for kryptografi er RC5 en simpel blokchiffer med symmetrisk nøgle. RC5 blev udviklet af Ronald Rivest i 1994 og er en parameteriseret algoritme med en variabel blokstørrelse, en variabel nøglestørrelse og et variabelt antal runder. "RC" står for "Rivest Cipher", eller alternativt "Rons kode".
RC5 har en variabel blokstørrelse (32, 64 eller 128 bit), variabel nøglestørrelse (0 til 2040 bit) og variabel antal runder (0 til 255) for at give forskellige sikkerheds- og effektivitetsniveauer. Det oprindelige forslag til parametre var en blokstørrelse på 64 bit, en nøgle på 128 bit og 12 runder.
Et af de vigtigste træk ved RC5 er brugen af dataafhængige rotationer; et af målene med RC5 var at undersøge og evaluere blokchifreoperationer som en kryptografisk primitiv metode. RC5 består også af en række modulære tilføjelser og eXclusive OR (Xor). Den generelle struktur af algoritmen er et Feistel-lignende netværk. Krypterings- og dekrypteringsrutinerne kan specificeres i få kodelinjer. Nøgleskemaet er imidlertid mere komplekst, idet nøglen udvides ved hjælp af en i det væsentlige envejsfunktion med de binære udvidelser af både e og det gyldne snit som kilder til "nothing up my sleeve numbers". Algoritmens enkelhed sammen med det nye ved de dataafhængige rotationer har gjort RC5 til et attraktivt emne for kryptoanalytikere.
Kryptoanalyse
12-rundes RC5 (med 64-bit blokke) er modtagelig for et differentialangreb med 244 valgte klartekster. 18-20 runder foreslås som tilstrækkelig beskyttelse.
RSA Security, som har patent på algoritmen, tilbød en række præmier på 10.000 USD for at bryde krypteringstekster krypteret med RC5, men disse konkurrencer er blevet afbrudt i maj 2007. En række af disse udfordringsproblemer er blevet løst ved hjælp af distribueret databehandling, organiseret af Distributed.net. Distributed.net har bruteforceret RC5-meddelelser krypteret med 56- og 64-bit-nøgler og arbejder nu på at knække en 72-bit-nøgle. Med den nuværende hastighed (pr. 12. november 2008) vil det tage ca. 1.000 år at teste alle mulige nøgler for at fuldføre projektet.
Spørgsmål og svar
Spørgsmål: Hvad er RC5?
Svar: RC5 er en simpel symmetrisk nøgleblokchiffer, der blev designet af Ronald Rivest i 1994.
Sp: Hvad står "RC" for?
A: "RC" står for "Rivest Cipher", eller alternativt "Rons kode".
Sp: Hvad er parametrene for RC5?
Svar: RC5's parametre omfatter en variabel blokstørrelse (32, 64 eller 128 bit), variabel nøglestørrelse (0 til 2040 bit) og variabelt antal runder (0 til 255). Det oprindeligt foreslåede valg var en blokstørrelse på 64 bit, en nøgle på 128 bit og 12 runder.
Spørgsmål: Hvad er algoritmens generelle struktur?
Svar: Algoritmens generelle struktur er et Feistel-lignende netværk.
Spørgsmål: Hvor kompleks er nøgleplanen?
Svar: Nøgleplanen er mere kompleks, idet nøglen udvides ved hjælp af en i det væsentlige envejsfunktion med binære udvidelser som talkilder.
Spørgsmål: Hvorfor har RC5 været attraktiv for kryptoanalytikere?
Svar: Algoritmens enkelhed sammen med den nye datafhængige rotation har gjort RC5 til et attraktivt emne for kryptoanalytikere at studere.