RC5 jest to szybki symetryczny szyfr blokowy, możliwy do implementacji sprzętowej i programowej. Zaprojektowany został przez Ronalda Rivesta i poraz pierwszy opublikowany w grudniu 1994 roku2. Od tego czasu RC5 skierował na siebie uwagę wielu kryptologów próbujących oszacować oferowane przez niego zabezpieczenie.
Nowatorską właściwością RC5 jest oparcie się na dużej ilości cykli zależnych od danych. RC5 oferuje zmienną długość klucza zapewniając elastyczność poziomu zabezpieczenia danych.
RC5 jest sparametryzowany, zatem konkretny algorytm jest oznaczany jako RC-w/r/b. Znaczenie tych parametrów jest następujące:
w - długość słowa (word size) w bitach. Standardową wartością jest 32; dopuszczalne wartości to 16, 32 i 64. RC5 szyfruje bloki długości dwóch słów: tekst jawny oraz kryptogram są długości 2w bitów.
r - liczba cykli. Dopuszczalne wartości to 0, 1, ..., 255.
b - liczba bajtów klucza K. Dopuszczalne wartości to 0, 1, ..., 255.
RC5 używa tablicy rozszerzonego klucza S, obliczaną z wprowadzonego przez użytkownika klucza K. Rozmiar t tablicy S zależy od ilości cykli: S ma t=2(r+1) słów.
Wszystkie szczegóły dotyczące tego algorytmu można przeczytać klikając tutaj. Kilka artukułów dotyczących kryptoanalizy RC5 można przeczytać w Cryptobytes
R.Rivest. The RC5 encryption algorithm. In Proceedings of 2nd Workshop on Fast Encryption, pages 86-96, Springer-Verlag,1995.