RC5 on lohkosalausalgoritmi, jonka on kehittänytRon Rivest. RC5 tukee muuttuvaa lohkokokoa, avainkokoa ja kiertojen määrää. Salaus perustuu kolmelle operaatiolle: XOR, yhteenlasku ja kierto. RSADSI onpatentoinut algoritmin vuonna 1995 ja sen nimi on suojattu tavaramerkillä, mutta patentti on vanhentunut vuonna 2015.[1][2]
Vuonna 1994 suunniteltu RC5 käyttääFeistelin verkon kaltaista rakennetta eli symmetristä lohkosalausta: samaa avainta käytetään salaamiseen ja salauksen purkamiseen. Algoritmi tunnetaan yksinkertaisuudesta ja soveltuvuudesta erilaisille suorittimille erisanan pituuksilla.[3][4]
Salausalgoritmi on seuraava:[4]
A=A+S[0];B=B+S[1];for(i=1;i<=r;i++){A=((A^B)<<B)+S[2*i];B=((B^A)<<A)+S[2*i+1];}
Salauksen purkaminen on käänteisesti johdettavissa salauksesta:[4]
for(i=r;i>0;i--){B=((B-S[2*i+1])>>A)^A;A=((A-S[2*i])>>B)^B;}B=B-S[1];A=A-S[0];
Algoritmissa oletetaan suorittimen käyttävänlittle-endiantavujärjestystä.[4]