80-bittinen suojaus ja hyökkäysaika

Monet suunnittelijat väittivät, että heidän salaustekniikallaan on 80-bittinen suojaus. Joten miten lasketaan tämän 80-bittisen suojauskoodausmenetelmän, kuten 80-bittisen suojauksen RSA, hakemisaika jonkinlaisen suorittimen avulla?

Kommentit

  • 80-bittinen RSA on helposti pilkkoutuva, esim GMP-ECM . Lisätietoja RSA-tekijöiden tietueista on tämä . Lisätietoja 80-bittisestä suojauksesta on tässä . Katso avaimen koon valinta tämä .
  • Kiitos vastauksestasi. Nyt otan esimerkkinä 128-bittisen tietoturvan. Haluan kysyä, että 128-bittinen tietoturva tarkoittaa 2 ^ 128 perustoimintoa hyökätä tähän järjestelmään. Onko totta? Ja tarkoittaako perustoiminto yleistä kertolaskua tai summaamista? Ja miten lasketaan konkreettinen aika hyökätä tähän järjestelmään? 2 ^ 128 kertoo yleisen kertolasku- tai summausajan?
  • Ai niin kysymyksesi on: mitä $ n $ -bit-turvallisuus tarkoittaa. ' yritin löytää Q / A: n tästä. Pähkinänkuoressa: se tarkoittaa $ 2 ^ n $ -vaiheita järjestelmän rikkomiseksi, jossa " vaihe " on määritelty löyhästi. Symmetrisen salauksen osalta se on yleensä " yhtä paljon työtä kuin yksi salaus tai hash ". Epäsymmetrisen salauksen teoreettisessa työssä " vaihe " on yleensä " yksi ryhmä ( tai kenttä) -toiminto tai yksi hash ". RSA: lle se voi olla yksi modulaarinen kertomoduuli N (julkisen avaimen) tai 1 hash. Mutta käytännössä $ n $ -bit-tietoturvaa käytetään usein: yhtä paljon (tietokone) työtä kuin symmetrisen salauksen rikkominen $ n $ -bit-suojauksella.
  • Oli kysymys 64-bittinen turvattomuus . Summitin kaltaiset supertietokoneet voivat nousta $ 2 ^ {72} $ vuodessa. Bitcoin-kaivostyöläisten kaltainen oma ryhmä voi kuitenkin saavuttaa $ 2 ^ {92} $ vuodessa, joten 80-bittinen ei ole turvallisempi. Jos käytettävissä on usean kohteen hyökkäys, edes AES-128 ei ole turvallinen kaikille kohteille, katso täältä ja Mikä on monen kohteen hyökkäys? ja tässä Onko AES-128 täysin rikki?
  • @fgrieu Kiitos vastauksestasi. Haluan myös tietää, voidaanko 2 ^ {128} nähdä kellosykleinä? Koska näen, että juoksuaika voidaan mitata myös kellojaksoilla.

Vastaus

Kysymys kiehuu suurelta osin vastaanottajalle:

Mitä $ n $ -tietoturva tarkoittaa käytännössä tietylle arvolle $ n $ ?

TL; DR: yhtä turvallinen kuin hyvä symmetrinen salaus $ n $ -avainen avain.


Ei ole olemassa yhtä tarkempaa määritelmää, vaikka rajoittaisimme hyökkääjiin, jotka käyttävät klassista tietokoneita (eikä kvanttitietokoneita), kuten tämä vastaus tekee.

Yksi yleisesti hyväksytty merkitys on, että järjestelmän rikkoutumisen ”vaiheiden” määrän uskotaan olevan $ 2 ^ n $ ; tai tarkemmin sanottuna todennäköisyyden rikkoa järjestelmä $ s $ ”vaiheilla” ei tiedetä olevan suurempi kuin $ s \, 2 ^ {- n} $ millä tahansa menetelmällä mikä tahansa $ s $ . ”Vaiheita” ja ”taukoa” ei kuitenkaan ole määritelty tarkasti.

Symmetrisen salauksen teoriassa ”vaihe” otetaan tyypillisesti salauksen yhtenä suorituksena uudella avaimella. Näin ihanteellisella salakirjalla, jonka avain on $ n $ bittiä, on $ n $ -tietoturva, raakaa voimaa avaimen etsinnässä. Kun siirrymme harjoitteluun, hyökkääjät eivät ole sidottuja raakaa voimaa avaimen hakuun, ja ”askeleen” määritelmästä on oltava joukko alavaiheita, jotka ovat lukumäärältään ja laskennallisilta kustannuksiltaan verrattavissa yhden vaadittaviin alivaiheisiin salakirjoituksen suorittaminen uudella avaimella avaimen kokoiseen tekstikokoiseen . Tämän määritelmän mukaan käytännön salauksessa, jonka avain on $ n $ bittiä, on korkeintaan $ n $ – bittinen tietoturva ja pyrkii siihen ihanteeseen.

Kun siirrymme hajautuksiin, vaiheen määritelmästä voi tulla joukko alivaiheita, jotka ovat lukumäärältään ja laskennallisilta kustannuksiltaan verrattavissa vaadittaviin alivaiheisiin uuden viestin hajauttamiseksi hash-tuotoksen kokoiseksi.

Yksi monista yllä olevista ongelmista on se, että ei ole sovittu siitä, pitäisikö meidän laskea muistin ja muistin käyttöhinnat. laskennallisissa kustannuksissa. Turvallinen asia käyttäjän kannalta ei ole laskea sitä, mutta sillä voi olla ensiarvoisen tärkeä merkitys hyökkääjälle.

”Vaiheiden” määritelmä muuttuu vielä epämääräisemmäksi epäsymmetrisen salauksen suhteen. kuten RSA.Teoriassa ”vaiheet” voivat olla yksi laskelma kryptosysteemissä käytetyssä algebrallisessa rakenteessa; kuten RSA: lle, yksi modulaarisen kertolaskuarvio $ (a, b) \ mapsto a \, b \ bmod N $ mielivaltaiselle kokonaisluvulle $ a $ ja $ b $ kohteessa $ [0, N) $ , jossa $ N $ on julkinen moduuli. Mutta käytäntöön siirtämisessä on ongelmia, etenkin RSA: ssa: tunnetuin hyökkäys on ottaa huomioon julkinen moduuli $ N $ käyttämällä GNFS -algoritmi, jonka laskennallisia kustannuksia hallitsevat toiminnot, joilla ei ole juurikaan yhtäläisyyksiä modulaarisen kertolaskun kanssa, ja käytännön kustannukset, joita hallitsevat muisti ja pääsy muistiin. Mikä palauttaa käytön takaisin epämääräiseen määritelmään TL: ssä; DR.

kuinka lasketaan tämän 80-bittisen salausmenetelmän, kuten 80-bittistä tietoturva-RSA: ta, joka käyttää eräänlaista prosessoria?

”80-bittistä suojaus-RSA: ta” ei tule ymmärtää RSA: ksi, jossa on 80-bittinen julkinen moduuli $ N $ , joka on lopulta epävarma. Jos meillä olisi koko $ N $ , voisimme arvioida vaikeudet tämän ja aiemman kokemuksen perusteella (katso tämä ja sen linkit). Mutta emme, eikä 80-bittisellä suojauksella RSA: n $ N $ koosta ole yksimielisyyttä: 1024-bittinen mainitaan usein, mutta hypoteesista riippuen , ja keneltä kysyt, se on karkeasti liikaa tai liian vähän. Siksi on parasta jättää huomiotta, että puhumme RSA: sta, ja palata takaisin: niin paljon aikaa kuin tarvitaan rikkomaan hyvä symmetrinen salaus 80-bittisellä avain.

Siitä pääset: $$ \ text {Time} = \ frac {2 ^ n \ kertaa k \ kertaa p} {\ text {Frequency } \ kertaa \ text {Suoritinten lukumäärä}} $$ , jossa $ n $ on tietoturvataso bitteinä, $ k $ on arvio suorittimen jaksojen lukumäärästä hyvän salauksen arvioimiseksi käyttämällä erittäin optimoitua algoritmia ja $ p $ on vastustajan jäljellä oleva onnistumisen todennäköisyys. Näkymästä riippuen voimme ottaa $ k = 1 $ (joka säästää yksityiskohtien tutkimista), $ k = 32 $ (koska sitä on edelleen vähemmän kuin parhaissa hyökkäyksissä hyviä salauksia vastaan yleiskäyttöistä tietokonetta käyttäen) tai paljon muuta. Näkymästä riippuen voimme ottaa $ p = 1 $ (varovaisuutta laillisen käyttäjän näkökulmasta), $ p = 1/2 $ (mikä antaa odotetun ajan lohkosalauksen tapauksessa) tai pienemmän $ p $ , jos haluamme suojausmarginaalin¹.

Esimerkiksi $ n = 80 $ , $ k = 1 $ , $ p = 1/1000 \ approx2 ^ {- 10} $ , $ \ text {Frequency} = 4 \ text {GHz} \ approx2 ^ {32} \ text {s} ^ {- 1} $ , $ \ text {CPU-lukumäärä} = 1000 \ approx2 ^ {10} $ , saamme $ \ text {Time} \ approx2 ^ {80-10-32-10} \ text {s} = 2 ^ {28} \ text {s} $ , eli noin 8 vuotta. Toisin sanoen, 1000 suorittimellamme on vain hyvin pieni todennäköisyys menestyä 80-bittiseen symmetriseen salaukseen, kunnes ne ovat teknisesti vanhentuneita.

Toisaalta, 1000 prosessoria on pieni osa maailmanlaajuiset suorittimet ja bitcoinin louhinta osoittavat lopullisesti, että 80-bittinen salaus ei enää riitä vastustajia vastaan, joilla on kyky suunnitella ASIC-järjestelmiä, rakentaa niitä valtavasti ja ylläpitää niiden toiminnan energiakustannuksia; katso tämä .


¹ $ p $ termi kaava on varovaisin laillisen käyttäjän näkökulmasta, mutta se aiheuttaa $ \ text {Time} $ aliarvioinnin monissa hyökkäysskenaarioissa. törmäyshaku, oikea termi olisi enemmän kuin $ \ sqrt p $ .

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *