RC5

Yksi kierros (kaksi puolikierrosta) RC5-salauksessa.

RC5 on lohkosalausalgoritmi, jonka on kehittänyt Ron Rivest. RC5 tukee muuttuvaa lohkokokoa, avainkokoa ja kiertojen määrää. Salaus perustuu kolmelle operaatiolle: XOR, yhteenlasku ja kierto. RSADSI on patentoinut algoritmin vuonna 1995 ja sen nimi on suojattu tavaramerkillä, mutta patentti on vanhentunut vuonna 2015.

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 eri sanan pituuksilla.

Algoritmi

Salausalgoritmi on seuraava:

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:

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än little-endian tavujärjestystä.

Lähteet

  1. ↑ Schneier; Bruce: Applied Cryptography. (2nd edition) Wiley. ISBN 0-471-11709-9 (englanniksi)
  2. ↑ Block encryption algorithm with data-dependent rotations patents.google.com. Viitattu 24.2.2024. (englanniksi)
  3. ↑ RC5 (PDF) lsisreviving.weebly.com. Viitattu 24.2.2024. (englanniksi)
  4. 1 2 3 4 Ronald L. Rivest: The RC5 Encryption Algorithm* (PDF) link.springer.com. Viitattu 24.2.2024. (englanniksi)
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.