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.
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 .
Koska RC5-algoritmissa on muuttuvia parametreja, algoritmin nimitys tietyillä parametreilla on RC5-W/R/b , jossa
Ennen tietojen suoraa salausta tai salauksen purkamista suoritetaan avaimen laajennusmenettely. Avainten luontiprosessi koostuu neljästä vaiheesta:
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:
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 rakentaminenTässä vaiheessa rakennetaan laajennettu avaintaulukko , joka suoritetaan seuraavasti:
SekoitaSeuraavat 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 .
Ennen ensimmäistä kierrosta suoritetaan laajennetun avaimen asettaminen salatuille tiedoille:
Jokaisella kierroksella suoritetaan seuraavat toiminnot:
Tietojen salauksen purkamiseen käytetään käänteisiä operaatioita, eli suoritetaan seuraavat kierrokset:
Kun kaikki kierrokset on suoritettu, alkuperäinen viesti löytyy lausekkeesta:
RC5-algoritmilla on seuraavat ominaisuudet: [1]
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.
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ä]
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).
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:
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ä.
Tässä algoritmissa kahden käsitellyn "alilohkon" lisääminen XOR-operaatiolla korvataan modulo-lisäyksellä :
Tämä algoritmi osoittautui haavoittuvaiseksi differentiaaliselle kryptausanalyysille.
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.
Tässä algoritmissa siirrettävien bittien määrä riippuu algoritmin avaimesta ja nykyisestä kierroksesta:
,Tätä algoritmia ei myöskään ymmärretä hyvin.
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.
Symmetriset salausjärjestelmät | |
---|---|
Suoratoista salauksia | |
Feistelin verkko | |
SP verkko | |
muu |