RC5

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 24. helmikuuta 2015 tarkistetusta versiosta . tarkastukset vaativat 18 muokkausta .
RC5
Luoja Ron Rivest
Luotu 1994
julkaistu 1994
Avaimen koko 0-2040 bittiä (oletuksena 128)
Lohkon koko 32, 64 tai 128 bittiä (64 on oletusarvo 32-bittisille alustoille)
Kierrosten lukumäärä 1-255 (oletuksena 12)
Tyyppi Feistelin verkko

RC5 ( Ron's Code 5 tai Rivest's Cipher 5 ) on RSA Securityn Ron Rivestin kehittämä lohkosalaus , jossa on vaihteleva määrä kierroksia , lohkon pituus ja avaimen pituus . Tämä laajentaa käyttöaluetta ja yksinkertaistaa siirtymistä algoritmin vahvempaan versioon.

Kuvaus

Algoritmista on useita eri muunnelmia , joissa klassisen RC5:n "puolikierrosten" muunnoksia on jonkin verran muokattu. Klassinen algoritmi käyttää kolmea primitiivistä operaatiota ja niiden inversioita:

Suurin innovaatio on siirtooperaation käyttö vaihtelevalla bittimäärällä, jota ei käytetty aikaisemmissa salausalgoritmeissa. Nämä toiminnot ovat yhtä nopeita useimmissa prosessoreissa , mutta samalla ne vaikeuttavat merkittävästi algoritmin differentiaalista ja lineaarista kryptausanalyysiä .

Salaus RC5-algoritmilla koostuu kahdesta vaiheesta. Avaimen laajennusmenettely ja itse salaus . Salauksen purkamista varten avaimen laajennus suoritetaan ensin, ja sitten toiminnot käännetään salausmenettelyyn. Kaikki yhteen- ja vähennysoperaatiot suoritetaan modulo .

Vaihtoehdot

Koska RC5-algoritmissa on muuttuvia parametreja, algoritmin nimitys tietyillä parametreilla on RC5-W/R/b , jossa

Avaimen laajennus

Ennen tietojen suoraa salausta tai salauksen purkamista suoritetaan avaimen laajennusmenettely. Avainten luontiprosessi koostuu neljästä vaiheesta:

Jatkuva sukupolvi

Tietylle parametrille luodaan kaksi näennäissatunnaista muuttujaa käyttämällä kahta matemaattista vakiota: ( eksponentti ) ja ( kultainen suhde ).

,

missä  on pyöristys lähimpään parittomaan kokonaislukuun.

Saat seuraavat vakiot:

Avaimen jakaminen sanoiksi

Tässä vaiheessa avain kopioidaan sanajoukoksi … , jossa , missä , eli sanan tavujen määrä.

Jos ei kerrannainen , täytetty nollabiteillä lähimpään suurempaan kerrannaiseen .

Jos , niin asetamme arvon , ja .

Laajennettujen avainten taulukon rakentaminen

Tässä vaiheessa rakennetaan laajennettu avaintaulukko , joka suoritetaan seuraavasti:

Sekoita

Seuraavat toiminnot suoritetaan syklisesti N kertaa:

,

missä  ovat väliaikaiset muuttujat, joiden alkuarvot ovat yhtä kuin 0. Silmukan iteraatioiden lukumäärä  on suurin kahdesta arvosta ja .

Salaus

Ennen ensimmäistä kierrosta suoritetaan laajennetun avaimen asettaminen salatuille tiedoille:

Jokaisella kierroksella suoritetaan seuraavat toiminnot:

Salauksen purku

Tietojen salauksen purkamiseen käytetään käänteisiä operaatioita, eli suoritetaan seuraavat kierrokset:

Kun kaikki kierrokset on suoritettu, alkuperäinen viesti löytyy lausekkeesta:

Ominaisuudet

RC5-algoritmilla on seuraavat ominaisuudet: [1]

  • Sopii sekä laitteisto- että ohjelmistototeutukseen (algoritmi käyttää operaatioita, jotka toimivat yhtä nopeasti kaikilla prosessoreilla ).
  • Jokainen kierros käsittelee koko lohkon (tyypillinen Feistelin verkkokierros käsittelee vain "alilohkon").
  • Yhtä hyvä koneille, joissa on erilaiset konesanan pituudet (eli toimii hyvin myös 64-bittisissä koneissa).
  • Siinä on toistuva rakenne vaihtelevalla kierrosmäärällä, mikä antaa käyttäjälle mahdollisuuden valita suuremman salausnopeuden ja turvallisemman salauksen välillä.
  • Siinä on muuttuva avaimen pituus, jonka avulla käyttäjä voi valita sovelluksensa erityispiirteisiin sopivan suojaustason.
  • Melko yksinkertainen toteuttaa ja analysoida.
  • Se ei vaadi muistia, joten sitä voidaan käyttää myös mobiililaitteissa ja kannettavissa laitteissa.

Turvallisuus

RSA on käyttänyt paljon aikaa analysoimalla, miten se toimii 64-bittisen lohkon kanssa. Joten vuosina 1995-1998 he julkaisivat useita raportteja, joissa he analysoivat yksityiskohtaisesti RC5-algoritmin kryptografista vahvuutta. Lineaarisen kryptaanalyysin pisteet osoittavat, että algoritmi on turvallinen 6 kierroksen jälkeen. Differentiaalinen kryptausanalyysi vaatii valitut selkeät tekstit 5-kierroksen algoritmille, 10-kierrokselle, 12-kierrokselle ja 15-kierrokselle. Ja koska on olemassa vain erilaisia ​​selkeitä tekstejä, differentiaalinen kryptausanalyysi on mahdotonta 15 tai useamman kierroksen algoritmille. Joten on suositeltavaa käyttää 18-20 kierrosta tai vähintään 15 kierrosta Rivestin itsensä suosittelemien 12 kierroksen sijaan.

RSA Security Challenge

Edistääkseen RC5-salauksen tutkimusta ja käyttöä RSA Security tarjoutui 28. tammikuuta 1997 rikkomaan joukon RC5-algoritmilla salattuja viestejä eri parametrein [2] ja myönsi 10 000 dollarin palkinnon jokaisen viestin rikkomisesta. heikoin parametri on RC5-32/12/5 hakkeroitiin muutamassa tunnissa. Viimeinen RC5-32/12/8-salaus, joka murrettiin, vaati kuitenkin viiden vuoden laskennan RC5-64- hajautetun laskentaprojektin toimesta (tässä 64 = b 8, avaimen pituus bitteinä), jota johti distributed.net . RC5-32 /12/ b b : lle 9-16 on edelleen läpäisemätön .% näppäimiä. [3]

Toukokuussa 2007 RSA Security Inc. ilmoitti kilpailun tuen lopettamisesta ja rahapalkkioiden maksamisesta. Jotta RC-72- projekti jatkuisi , distributed.net päätti sponsoroida sille 4 000 dollarin palkinnon omista varoistaan. [neljä]

Runtime attack

Alustalla, jossa suoritetaan vaihtelevan määrän bittien kiertotoiminto eri prosessorijaksojen lukumäärälle , ajonaikainen hyökkäys RC5-algoritmia vastaan ​​on mahdollinen. Kryptanalyytikot Howard Hayes ja Helena Handschuh muotoilivat kaksi muunnelmaa tällaisesta hyökkäyksestä .  He havaitsivat, että avain voidaan laskea sen jälkeen, kun oli suoritettu noin 220 salausoperaatiota erittäin tarkoilla suoritusajoilla ja sitten 228–240 salauskoeoperaatiota. Yksinkertaisin tapa torjua tällaisia ​​hyökkäyksiä on pakottaa siirrot suorittamaan vakiomäärä jaksoja (esimerkiksi hitaimman vaihdon suorittamisen aikana).

Algoritmin muunnelmia

Koska yksi RC5:n ominaisuuksista on sen helppokäyttöisyys toteuttaa ja analysoida, on loogista, että monet kryptologit[ kuka? ] halusi parantaa klassista algoritmia. Algoritmin yleinen rakenne pysyi ennallaan, vain kullekin lohkolle suoritetut toimet itse salausprosessissa muuttuivat . Tästä algoritmista oli siis useita eri versioita:

RC5XOR

Tässä algoritmissa lisäys modulo round -näppäimellä korvataan XOR-operaatiolla:

Tämä algoritmi osoittautui haavoittuvaiseksi differentiaali- ja lineaariselle kryptausanalyysille. Biryukov ja Kushilevits onnistuivat löytämään differentiaalisen kryptausanalyysin hyökkäyksen RC5XOR-32/12/16-algoritmille käyttämällä 228 valittua selkeää tekstiä.

RC5P

Tässä algoritmissa kahden käsitellyn "alilohkon" lisääminen XOR-operaatiolla korvataan modulo-lisäyksellä :

Tämä algoritmi osoittautui haavoittuvaiseksi differentiaaliselle kryptausanalyysille.

RC5PFR

Tässä algoritmissa syklinen siirto suoritetaan tietyn kierroksen bittien määrällä, ei muuttuvalla bitillä.

,

missä on kiinteä numero.

Tätä algoritmia ei ymmärretä hyvin, mutta oletetaan, että niin[ kenen toimesta? ] , että se on epävakaa differentiaalisen krypta-analyysin suhteen.

RC5KFR

Tässä algoritmissa siirrettävien bittien määrä riippuu algoritmin avaimesta ja nykyisestä kierroksesta:

,

Tätä algoritmia ei myöskään ymmärretä hyvin.

RC5RA

Tässä algoritmissa siirtobittien määrä määritetään käyttämällä jotakin funktiota toisesta "alilohkosta":

,

oletettu,[ kenen toimesta? ] , että RC5RA-algoritmi kestää vielä paremmin tunnettuja kryptausanalyysimenetelmiä kuin RC5.

Muistiinpanot

  1. Rivest, R. L. (1994). "RC5-salausalgoritmi" (pdf) . Toisen kansainvälisen nopean ohjelmistosalauksen (FSE) työpajan julkaisut 1994e . s. 86-96. "ref-en" teksti jätetty pois ( ohje ) Arkistoitu 17. huhtikuuta 2007 Wayback Machinessa
  2. RSA Laboratories Secret-Key Challenge -haaste arkistoitu 23. toukokuuta 2004.
  3. RC5-72: Projektin kokonaistilastot . Haettu 14. helmikuuta 2010. Arkistoitu alkuperäisestä 9. lokakuuta 2018.
  4. Distributed.net: henkilökunnan blogit - 2008 - syyskuu - 08

Linkit

  • Schneier B. Sovellettu kryptografia. Protokollat, algoritmit, lähdekoodi C-kielellä = Applied Cryptography. Protokollat, algoritmit ja lähdekoodi julkaisussa C. - M. : Triumph, 2002. - 816 s. - 3000 kappaletta.  - ISBN 5-89392-055-4 .
  • Usein kysytyt kysymykset symmetrisistä salakirjoituksista (linkkiä ei ole saatavilla) . - fido7.ru.crypt-konferenssin materiaalien perusteella. Haettu 11. marraskuuta 2009. Arkistoitu alkuperäisestä 22. elokuuta 2011. 
  • Nykyaikaiset menetelmät salausalgoritmien rikkomiseen (linkki, jota ei voi käyttää) . — Kuvaus eräistä salausalgoritmeihin kohdistuvista hyökkäysmenetelmistä. Haettu 4. joulukuuta 2009. Arkistoitu alkuperäisestä 21. toukokuuta 2009.