Vilja

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 15. heinäkuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 4 muokkausta .

Grain on symmetrinen synkroninen virran salausalgoritmi , joka keskittyy ensisijaisesti laitteistototeutukseen. Martin Hell , Thomas Johansson ja Willi Meyer lähettivät Cipherin vuoden 2004 eSTREAM - kilpailuun . Algoritmista tuli yksi kilpailun finalisteista toisessa profiilissa (hardware-oriented ciphers).

Kuvaus

Salaus koostuu kolmesta päälohkosta: kahdesta 80-bittisestä takaisinkytkentäsiirtorekisteristä ja lähtöfunktiosta. Yhdessä rekistereistä on lineaarinen takaisinkytkentätoiminto (LFSR), toisessa rekisterissä epälineaarinen takaisinkytkentätoiminto (NFSR). Siirtorekisterit määräävät kokonaan salauksen sisäisen tilan.

Lineaarinen palautesiirtorekisteri

Tämän rekisterin takaisinkytkentäfunktio annetaan primitiivisen polynomin avulla

Jos edustamme rekisterin tilaa muodossa , niin seuraavaksi vähiten merkitsevä (oikea) bitti saadaan suhdeluvulla

Epälineaarinen palautesiirtorekisteri

Epälineaarisen palauterekisterin palautefunktio on annettu

NLSR-rekisterin biteille lauseke on

Tulostustoiminto

Funktio ottaa argumenteiksi bittiarvot LFSR:stä ja NFSR:stä:

missä ovat vastaavasti yhtä suuret

Tämän seurauksena tuotos

Tilan alustus

Salaus hyväksyy syötteeksi 80-bittisen avaimen ( salainen avain ) ja 64-bittisen alustusvektorin ( alustusvektori ).

Ennen avainvirran ( keystream ) luomisen aloittamista salauksen on alustettava tilansa.
Anna ja . Seuraavat tilan alustuksen vaiheet voidaan erottaa:

1. Lataa avainbitit NFSR:ään, 2. Lataa LFSR:ään, 3. Täytä jäljellä olevat LFSR-bitit ykkösillä,

Sen jälkeen salaus toimii 160 jaksoa ilman avainvirtaa, mutta salaustoiminnon tulos syötetään NFSR:n ja LFSR:n tuloon.

Suorituskyky

Jos laitteistoalustalla ei ole resursseja rajoitettu, salaus antaa sinun yksinkertaisesti lisätä salausnopeutta. Koska molempia rekistereitä siirretään 1 bitin jokaisessa syklissä, niin jos yksinkertaisesti toteutat useita kertoja ( ) takaisinkytkentäfunktiot ja ja lähtöfunktio , niin salausnopeutta voidaan lisätä kertoimella, kun taas jokaisen syklin siirtorekisterit tulisi myös siirtää hieman . Siirtorekisterien alempia 15 bittiä ei käytetä takaisinkytkentätoiminnoissa, joten ne voivat ottaa arvoja välillä 1-16 . tilan alustuksen yhteydessä salauksen on suoritettava 160 jaksoa, jolloin tämä asettaa joitain rajoituksia arvolle , jonka on oltava kokonaisluku.

Turvallisuus

Versiossa 0.0 kirjoittajat totesivat, että salaus oli suunniteltu siten, että avainten täydellistä hakua nopeampi hyökkäys on mahdoton. Siten parhaan hyökkäyksen kompleksisuuden tulisi olla luokkaa 2 80 .

Grain 0.0 -spesifikaatiossa [1] kirjoittajat totesivat: "Grain tarjoaa paremman suojan kuin jotkut muut tunnetut laitteistopohjaiset salaukset. Tunnettuja esimerkkejä tällaisista salakirjoituksista ovat E0 , jota käytetään Bluetoothissa ja A5/1 , jota käytetään GSM . Vaikka nämä salaukset ovat yksinkertaisia ​​toteuttaa, ne ovat osoittautuneet erittäin epäluotettaviksi. Verrattuna E0:aan ja A5/1:een, Grain tarjoaa enemmän luotettavuutta säilyttäen samalla helppokäyttöisyyden."

Versiossa 0.0 löydettiin useita vakavia haavoittuvuuksia, joten päivitetyssä versiossa 1.0 [2] ei-lineaarisen käänteisfunktiorekisterin (NFSR) lähtöfunktiota ja takaisinkytkentäfunktiota muutettiin hieman salauksen osalta. Tämän jälkeen, lokakuun 2006 jälkeen, minkään Grainin versiota 1.0 vastaan ​​tehdyn hyökkäyksen ei tiedetä olevan nopeampaa kuin raakaa voimaa. Syyskuussa 2006 avainta vastaan ​​yritettiin kuitenkin hyökätä [3] . Artikkelissa todetaan: "Olemme löytäneet Grainista liittyvät avaimet ja siemenet, jokaiselle parille (K,IV) todennäköisyydellä 1/22 on yhdistetty pari (K',IV'), joka tuottaa avainvirran, jota on siirretty 1 bitin verran. Vaikka tämä ei ole onnistunut hyökkäys avainta vastaan, tämä tosiasia osoittaa salauksen mahdollisen heikkouden tilaa alustettaessa."

Katso myös

Muistiinpanot

  1. Martin Hell , Thomas Johansson , Willi Meier . Grain - A Stream Cipher for Constrained Environments  (englanniksi)  : Journal. - eSTREAM, 2005. - 29. huhtikuuta. Arkistoitu alkuperäisestä 26. toukokuuta 2011.
  2. Martin Hell , Thomas Johansson , Willi Meier . Grain - A Stream Cipher for Constrained Environments  (englanniksi)  : Journal. - eSTREAM, 2006. Arkistoitu alkuperäisestä 27. toukokuuta 2011.
  3. Ozgul Kucuk . Dia uudelleensynkronointihyökkäys viljan 1.0 alustuksessa   : päiväkirja . - eSTREAM, 2006. - 16. heinäkuuta. Arkistoitu alkuperäisestä 27. toukokuuta 2011.

Linkit