[go: up one dir, main page]

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.[1][2]

Yksi kierros (kaksi puolikierrosta) RC5-salauksessa.

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.[3][4]

Algoritmi

muokkaa

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

Lähteet

muokkaa
  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. a b c d 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.