MUGI

MUGI
julkaistu Helmikuu 2002
Avaimen koko 128 bittinen
Kierrosten lukumäärä 32
Tyyppi Suoratoiston salaus

MUGI  on näennäissatunnaislukugeneraattori , joka on suunniteltu käytettäväksi stream-salauksena . CRYPTREC- projekti on suositellut sitä Japanin hallituksen käyttöön [1] [2] .

Kuinka se toimii

MUGI:n syöttöparametrit ovat 128-bittinen salainen avain ja 128-bittinen alustusvektori. Kun avain ja alustusvektori on vastaanotettu, MUGI luo 64-bittisiä lohkoja sisäisen tilan perusteella, joka muuttuu jokaisen lohkon jälkeen. MUGI:n sisäinen tilakoko on 128 bittiä. Se koostuu kolmesta 64-bittisestä tilarekisteristä ("tila"-rekisteristä) ja 16:sta 64-bittisestä rekisteristä ("puskuri"-rekisteristä). [3] MUGI käyttää epälineaarisia S-laatikoita, jotka ovat alun perin peräisin Advanced Encryption Standard (AES) -standardista.

Määritelmä

Kehittäjät ovat määritelleet Panaman kaltaisten salausten perheen Panaman kaltaiseksi avainvirtageneraattoriksi (PKSG) . Tarkastellaan tilakonetta, jossa on kaksi sisäistä tilaa a, puskuri b ja niiden päivitystoiminnot ja . Salauksen katsotaan kuuluvan PKSG-perheeseen, jos:

Tämän näennäissatunnaisen generaattorin päätoimintatila koostuu joukosta, jossa S on sisäinen tila, F on sen päivitystoiminto ja f on suodatin, joka eristää lähtösekvenssin sisäisestä tilasta S. Pohjimmiltaan joukko ( S, F) on salauksen sisäisten tilojen äärellinen automaatti. Panaman salauksen tapauksessa sisäinen tila on jaettu kahteen osaan, tilaan a ja puskuriin b. Päivitystoiminto on myös jaettu kahteen osaan. Lähtösuodatin f valitsee kullakin kierroksella noin puolet a:n tilabiteista.

MUGI on PRNG, jossa on 128-bittinen salainen avain K (salainen parametri) ja 128-bittinen alustusvektori I (julkinen parametri). Sanasalauksen vähimmäismäärä dataa on 64 bittiä.

Tässä algoritmissa käsittelyfunktiot toimivat äärellisessä Galois'n kentässä GF(2^8) polynomin 0x11b yli.

Algoritmi

Syöttö: Salainen avain K, alustusvektori I, lähtösanojen määrä n (64 bittiä kukin) Lähtö: Satunnaislukusekvenssi Out[i] (0<=i<n) Alustus Vaihe 1: Aseta salainen avain K tilaan a. Alusta sitten puskuri b toiminnolla Vaihe 2: Lisää alustusvektori I tilaan a ja päivitä tila a funktiolla Vaihe 3: Suorita sisäinen tilan päivitys suorittamalla MUGI-päivitystoiminto ennen alustusajojen päättymistä Satunnaislukujen luonti Vaihe 4: Suorita N päivityskierrosta funktion ja lähtöosan sisäinen tila joka kierroksella.

Yllä mainittu päivitystoiminto on yhdistelmä toimintoja ja seuraavia:

Funktio F on lisäys (puskurista), S-box epälineaarinen muunnos, lineaarinen muunnos MDS-matriisia M käyttäen ja tavujen sekoitus. Muunnokset S ja matriisi M voidaan yksinkertaisesti toteuttaa taulukkohaulla.

Muunnos S on bittikorvaus - MUGI:n S-laatikko on sama kuin AES-salauksessa. Tämä tarkoittaa, että S-laatikon korvaus on GF(2^8):n inversion x -> x^-1 ja affiinisen muunnoksen koostumus.

Päivitystoiminto :

MUGI-algoritmi käyttää kolmea vakiota: C0 alustukseen ja C1, C2 funktiossa ρ. Ne ottavat seuraavat arvot:

Nämä ovat heksadesimaaliarvot√2, √3 ja √5 kerrottuna 264:llä.

Kehitys

Salaus on suunniteltu helppokäyttöiseksi sekä ohjelmistossa että laitteistossa. Kehittäjät ottivat perustana Panaman salauksen , jota voitiin käyttää hash-funktiona ja stream-salauksena.

Panama-salauksen kehittäjät eivät käyttäneet lineaarisia palautesiirtorekistereitä (LFSR). Sen sijaan he sovelsivat stream-salauksen suunnittelun periaatteita estääkseen salaussuunnittelun.

Edut

MUGI-salaus on suunniteltu helppokäyttöiseksi sekä ohjelmistossa että laitteistossa. Verrattuna RC4 : ään E0 , A5 MUGI-salaukset osoittavat parempia tuloksia FPGA :n laitteistototeutuksessa . Suurin koodausnopeus saavuttaa 7 Gbps 110 MHz:n sirutaajuudella. [neljä]

Sovellus

MUGIa voidaan yksinkertaisesti käyttää stream-salauksena. Tätä varten on tarpeen jakaa selkeä teksti 64-bittisiksi lohkoiksi. Sitten XOR kukin näistä lohkoista MUGI-salauksen lähtölohkoilla käyttämällä salaista avainta ja alustusvektoria kullakin kierroksella.

Turvallisuus

Tämän algoritmin avainten täydellinen luettelointi kestää keskimäärin vaiheita.

PRNG:n turvallisuus määräytyy tulo- ja lähtöbittivirran välisen riippuvuuden mukaan (tai sekvenssin lähtöbittien välisen riippuvuuden perusteella). Kaikki hyökkäykset PRNG:tä vastaan, jotka voivat tarjota hyökkääjälle tietoja vähemmän kuin tarvittava määrä vaiheita avaimien tai generaattorin sisäisten tilojen tyhjentämiseksi, käyttävät näitä riippuvuuksia. Siten lähtö PRNG-bittisekvenssin on oltava arvaamaton. Siten voidaan erottaa kolme PRNG-haavoittuvuuksien luokkaa:

MUGI:n lineaarisesti päivitetty komponentti (puskuri) analysoitiin teoreettisesti [5] ja havaittiin, että puskurin sisäinen vaste ilman palautetta ei-lineaarisesti päivitetyille komponenteille koostuu binaarisista lineaarisista toistuvista sekvensseistä, joiden jakso on hyvin pieni 48, josta voi tulla haavoittuvuuden lähde. On osoitettu, kuinka tätä heikkoutta voidaan periaatteessa käyttää salaisen avaimen palauttamiseen ja lineaaristen tilastollisten suhteiden löytämiseen.

MUGI:n epälineaarisesta komponentista suoritettiin myös alustava analyysi [6] , jossa mahdollisia haavoittuvuuksia löydettiin. Vaikka salauksen kokonaisrakenteesta ei löytynyt merkittäviä haavoittuvuuksia, havaittiin, että sen yksittäiset osat ovat erittäin herkkiä pienille muutoksille. Erityisesti on mahdollista palauttaa salauksen koko 1216-bittinen tila ja 128-bittinen salainen avain käyttämällä vain 56 sanaa kanavasta 2 14 vaiheessa analysoimalla näitä tietoja. Jos MUGI:n lineaarinen osa jätetään pois tästä analyysistä, salainen 192-bittinen tila voidaan palauttaa käyttämällä vain 3 sanaa kanavasta 232 analyysivaiheessa.

Vuodesta 2011 lähtien ei kuitenkaan ole tunnettuja hyökkäyksiä, jotka olisivat nopeampia kuin brute -force-hyökkäykset avainavaruuteen tai MUGI -algoritmin sisäisiin tiloihin kokonaisuudessaan.

Linkit

Muistiinpanot

  1. CRYPTRECin virallinen verkkosivusto (eng.) (linkki ei ole käytettävissä) . Haettu 10. marraskuuta 2011. Arkistoitu alkuperäisestä 3. syyskuuta 2012.   
  2. Dai Watanabe, Soichi Furuya, Kazuo Takaragi, Bart Preneel , (helmikuu 2002). "Uusi Keystream Generator MUGI" ( PDF ) . 9. kansainvälinen nopean ohjelmistosalauksen työpaja (FSE 2002) . Leuven : Springer-Verlag . s. 179-194 . Haettu 2007-08-07 . (linkki ei saatavilla)
  3. Hitachi Ltd. MUGI pseudorandom Number Generator Specification Ver. 1.2 (englanniksi) (linkki ei saatavilla) (1. joulukuuta 2001). Haettu 10. marraskuuta 2011. Arkistoitu alkuperäisestä 3. syyskuuta 2012.   
  4. Paris Kitsos ja Athanassios N. Skodras. MUGI-pseudorandom Number Generatorin laitteistototeutuksesta (englanniksi) (downlink) . Hellenic Open University (21. maaliskuuta 2007). Haettu 10. marraskuuta 2011. Arkistoitu alkuperäisestä 3. syyskuuta 2012.   
  5. Jovan DJ. Golic (helmikuu 2004). "Stream Cipher MUGI:n lineaarisen osan heikkous". 11. kansainvälinen nopean ohjelmiston salauksen työpaja (FSE 2004) . Delhi : Springer-Verlag. s. 178-192.
  6. Alex Biryukov, Adi Shamir (helmikuu 2005). "Mugin epälineaarisen osan analyysi" . 12. kansainvälinen nopean ohjelmiston salauksen työpaja (FSE 2005) . Pariisi : Springer-Verlag. s. 320-329. Arkistoitu alkuperäisestä ( PostScript ) 15.5.2006 . Haettu 2007-08-07 . Käytöstä poistettu parametri |deadlink=( ohje );Parametrit |deadurl=ja |deadlink=toistaa toisiaan ( ohje )