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] .
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.
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.
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ä.
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.
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ä]
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.
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.
Symmetriset salausjärjestelmät | |
---|---|
Suoratoista salauksia | |
Feistelin verkko | |
SP verkko | |
Muut |