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

Algoritmi

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

  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)
  • n
  • k
  • m
Kryptografiset algoritmit
Symmetrinen salaus
  • 3-DES
  • AES
  • AES-GCM
  • Blowfish
  • CAST-128
  • CAST-256
  • DES
  • GOST
  • IDEA
  • RC2
  • RC4
  • RC5
  • RC6
  • Salsa20
  • Skipjack
  • Twofish
Julkisen avaimen salaus
  • Diffie–Hellman
  • ElGamal
  • RSA
Kryptografiset tiivisteet
Salausprotokollat
Viestin todennuskoodit
Digitaaliset allekirjoituskoodit
Lohkosalaus
Muuta
Luettelo salausalgoritmeista
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.