RSA (salausjärjestelmä)
Käyttäen Kiinalainen jäljellä algorithmEdit
tehokkuuden monia suosittuja crypto-kirjastot (kuten OpenSSL -, Java-ja .NET) käytä seuraavia optimointi salauksen ja allekirjoituksen, joka perustuu Kiina remainder theorem. Seuraavat arvot ovat precomputed ja tallennetaan osana yksityinen avain:
Nämä arvot vastaanottaja voi laskea potenssi m = cd (mod pq) tehokkaammin seuraavasti:
Tämä on tehokkaampaa kuin tietojenkäsittelyn eksponenttilausekkeet, jonka neliöimistä vaikka kaksi modulaarinen exponentiations on laskettava., Syynä on se, että nämä kaksi modulaarista eksponenttia käyttävät sekä pienempää eksponenttia että pienempää modulusta.
Kokonaisluku tekijöihin ja RSA problemEdit
turvallisuus RSA-kryptosysteemi perustuu kahden matemaattisia ongelmia: ongelma factoring suuret numerot ja RSA: n ongelma. RSA-kooditekstin täyden salauksen arvellaan olevan toteutettavissa sillä oletuksella, että molemmat ongelmat ovat vaikeita eli niiden ratkaisemiseen ei ole olemassa tehokasta algoritmia., Suojauksen tarjoaminen osittaista salauksen purkua vastaan voi edellyttää suojatun pehmustejärjestelmän lisäämistä.
RSA: N ongelma on määritelty tehtävä ottaen eth juuret modulo komposiitti n: talteen arvo m siten, että c ≡ me (mod n), missä (n, e) RSA julkisen avaimen ja c on RSA-salateksti. Tällä hetkellä lupaavin lähestymistapa ratkaista RSA: n ongelma on tekijä modulus n. Kyky palauttaa prime tekijät, hyökkääjä voi laskea salainen eksponentti d a julkisen avaimen (n, e), sitten purkaa c käyttämällä tavanomaista menettelyä., Tämän saavuttamiseksi, hyökkääjä tekijät n tulee p ja q ja laskee lcm(p − 1, q − 1), joka mahdollistaa määrittäminen d-e. Ei ole polynomi-aika menetelmä factoring suuria kokonaislukuja klassista tietokonetta ei ole vielä löydetty, mutta se ei ole todistettu, että yksikään olemassa. Katso kokonaisluku factorization varten keskustelua tästä ongelmasta.
Useita polynomi quadratic sieve (MPQS) voidaan käyttää tekijä julkinen moduuli n.,
ensimmäinen RSA-512 tekijöihin vuonna 1999 käytetty satoja tietokoneet ja tarvittavat vastaa 8,400 MIPS-vuotta, yli kului aikaa noin seitsemän kuukautta. Vuoteen 2009 mennessä, Benjamin Moody voisi tekijä RSA-512 bittinen avain 73 päivää käyttää vain julkinen-ohjelmisto (GGNFS) ja hänen pöytätietokoneen (dual-core Athlon64 kanssa 1,900 MHz cpu). Tallennustilaa tarvittiin vajaat viisi gigatavua ja seulontaan noin 2,5 gigatavua RAM-muistia.,
Rivest, Shamir ja Adleman totesi, että Miller on osoittanut, että – olettaen totuus Laajennettu Riemannin Hypoteesi – löytää d: n ja e on yhtä kovaa kuin factoring n tulee p ja q (polynomi aika ero). Rivest, Shamir ja Adleman kuitenkin totesivat paperinsa IX/D jaksossa, että he eivät olleet löytäneet todisteita siitä, että RSA: n kääntäminen on yhtä vaikeaa kuin factoring.
vuonna 2020, suurin julkisesti tiedossa huomioon RSA määrä oli 829 bittiä (250 desimaalia, RSA-250). Sen tekijöihin, valtion-of-the-art hajautettu toteutus, kesti noin 2700 CPU vuotta., Käytännössä RSA-avaimet ovat tyypillisesti 1024-4096 bittiä pitkiä. Vuonna 2003 RSA Security arvioi, että 1024-bittiset avaimet ovat todennäköisesti murrettavissa vuoteen 2010 mennessä. Vuodesta 2020 lähtien ei tiedetä, voidaanko tällaiset avaimet murtaa, mutta vähimmäissuositukset ovat siirtyneet vähintään 2048 bittiin. Yleisesti oletetaan, että RSA on turvallinen, jos n on riittävän suuri kvanttilaskennan ulkopuolella.
Jos n on 300 bittiä tai lyhyempi, se voidaan ottaa muutamassa tunnissa huomioon henkilökohtaisessa tietokoneessa jo vapaasti saatavilla olevia ohjelmistoja käyttäen., 512-bittisiä avaimia ovat osoittautuneet käytännössä särkyviä vuonna 1999, kun RSA-155 otettiin huomioon käyttämällä useita satoja tietokoneita, ja nämä ovat nyt huomioon muutama viikko käytetään yhteisiä laitteisto. Urotyöt käyttäen 512-bittisiä koodien allekirjoitustodistuksia, jotka on voitu ottaa huomioon, raportoitiin vuonna 2011. Teoreettinen laite nimeltä PYÖRÄHTÄÄ, kuvattu Shamir ja Tromer vuonna 2003, kyseenalaistaa turvallisuuden 1024 bitin avaimet.,
Vuonna 1994, Peter Shor osoitti, että kvantti tietokone – jos joku voisi koskaan olla käytännössä luotu varten – voisi tekijä polynomi kertaa, rikkomatta RSA; ks Shor”s-algoritmi.
vialliset avaimenperusteet
Löytää lähteitä: ”RSA” kryptosysteemi – uutiset · sanomalehdet · kirjat · tutkija · JSTOR (lokakuu 2017) (Oppia, miten ja milloin poistaa tämä malli viesti)
Löytää suuria alkulukuja p ja q tehdään yleensä testaamalla satunnaisia numeroita oikean koon kanssa probabilistinen primality testit, jotka nopeasti poistaa lähes kaikki nonprimes.
luvut p ja q ei saa olla ”liian lähellä”, ettei Fermat ’ n tekijöihin n onnistunut., Jos p − q on pienempi kuin 2n1/4 (n = p * q, joka jopa pieni 1024-bittisiä arvoja n on 3×1077) ratkaisemalla p ja q on triviaali. Lisäksi, jos joko p − 1 tai k − 1 on vain pieni prime tekijät, n voidaan laskea nopeasti Pollard”s p − 1-algoritmia, ja näin ollen tällaiset arvot p tai q on hävitettävä.
on tärkeää, että yksityinen eksponentti d on riittävän suuri. Michael J. Wiener osoitti, että jos p on välillä q ja 2q (joka on varsin tyypillistä) ja d < n1/4/3, niin d voidaan laskea tehokkaasti n ja e.,
ei ole tiedossa hyökkäystä pieniä julkisia eksponentteja, kuten e = 3 vastaan, jos käytetään asianmukaista pehmustetta. Kupariseppä”s Hyökkäys on monia sovelluksia hyökkää RSA erityisesti jos julkinen eksponentti e on pieni ja jos salattu viesti on lyhyt ja ei pehmustettu. 65537 on yleisesti käytetty arvo e; tämä arvo voidaan pitää kompromissina välttää mahdolliset pienet eksponentti-iskut ja silti mahdollistaa tehokkaan salauksen (tai allekirjoituksen todentaminen)., NIST Special Publication Tietokoneen Turvallisuus (SP 800-78 Rev 1 päivänä elokuuta 2007) ei salli julkisen eksponentit e pienempi kuin 65537, mutta ei ole valtion syy tähän rajoitus.
lokakuussa 2017, tutkijaryhmä Masarykin Yliopisto ilmoitti ROCA haavoittuvuus, joka vaikuttaa RSA-avaimet, jotka on luotu algoritmi kirjattu kirjaston Infineon tunnetaan RSALib. Suuri määrä älykortteja ja luotettuja alustamoduuleja (TPMs) osoitettiin vaikuttaviksi. Haavoittuvat RSA-avaimet tunnistetaan helposti tiimin julkaiseman testiohjelman avulla.,
Tärkeää vahva satunnaisluku generationEdit
kryptograafisesti vahva satunnaislukugeneraattori, joka on ollut oikein kylvetään riittävän entropian, on käytettävä tuottaa alkulukuja p ja q. Analyysi vertaamalla miljoonia julkiset avaimet kerätty Internet toteutettiin alkuvuodesta 2012 Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Vsp, Thorsten Kleinjung ja Christophe Wachter. Ne pystyivät laskemaan 0,2% avaimista käyttäen vain Eukleideen algoritmia.
he käyttivät hyväkseen kryptosysteemeissä ainutlaatuista heikkoutta, joka perustui kokonaisluvun factorisointiin., Jos n = pq on yksi julkisen avaimen ja n’ = p’q’ on toinen sitten, jos sattumalta p = p’ (mutta q ei ole sama kuin q’), sitten yksinkertainen laskenta gcd(n,n’) = p tekijöitä sekä n ja n’, täysin vaarantaa molemmat avaimet. Lenstra ym. huomaa, että tämä ongelma voidaan minimoida käyttämällä vahva satunnainen siemen bit-pituus kahdesti tarkoitettu turvataso, tai käyttämällä deterministinen funktio valita q koska p, sen sijaan valita p ja q toisistaan riippumatta.
Nadia Heninger kuului ryhmään, joka teki samanlaisen kokeen. He käyttivät ajatusta Daniel J: stä., Bernstein laskea GCD kunkin RSA n vastaan tuotteen, kaikki muut näppäimet n’ he olivat löytäneet (a 729 miljoonaa numeroa), sen sijaan computing jokainen gcd(n,n’) erikseen, jolloin saavutetaan erittäin merkittäviä pyörimisnopeuden koska sen jälkeen, kun yksi iso jako, GCD ongelma on normaali koko.
Heninger sanoo blogissaan, että huono avaimet tapahtui lähes kokonaan upotettuja sovelluksia, mukaan lukien ”palomuurit, reitittimet, VPN-laitteet, remote server administration-laitteet, tulostimet, projektorit, ja VOIP-puhelimet” yli 30 valmistajat., Heninger kertoo, että yksi-jaettu-prime ongelma paljastui kaksi ryhmää tuloksia tilanteissa, joissa pseudorandom number generator on huonosti kylvetään aluksi, ja sitten on reseeded välillä sukupolven ensimmäisen ja toisen alkulukuja. Käyttämällä siemenet riittävän korkea entropia saatu avain aivohalvaus ajoitukset tai sähköinen diodi melua tai ilmakehän melu radiovastaanotin viritetty asemien välillä pitäisi ratkaista ongelma.
vahva satunnaislukujen sukupolvi on tärkeä koko julkisen avaimen salauksen jokaisen vaiheen ajan., Esimerkiksi, jos heikko generaattori käytetään symmetrisiä avaimia, jotka ovat jaettu RSA, sitten salakuuntelija voisi ohittaa RSA ja arvaa symmetriset avaimet suoraan.
Ajoitus attacksEdit
Kocher kuvattu uusi hyökkäys RSA vuonna 1995: jos hyökkääjä Eve tietää, Alice”s laitteisto riittävän yksityiskohtaisesti ja pystyy mittaamaan salauksen kertaa useita tunnettuja ciphertexts, Eve voi päätellä salauksen avain d nopeasti. Hyökkäystä voidaan soveltaa myös RSA: n allekirjoitusjärjestelmää vastaan., Vuonna 2003 Boneh ja Brumley osoittanut enemmän käytännön hyökkäys pystyy palauttamaan RSA factorizations verkon yli (esimerkiksi Secure Sockets Layer (SSL)-käytössä web-palvelin) Tämä hyökkäys hyödyntää tietoja vuotanut Kiina remainder theorem optimointi, jota monet RSA-toteutuksia.
Yksi tapa estää nämä hyökkäykset on varmistaa, että salauksen käyttö vaatii jatkuvaa määrä aikaa, joka salakieli. Tämä lähestymistapa voi kuitenkin merkittävästi vähentää suorituskykyä., Sen sijaan useimmat RSA-toteutukset käyttävät vaihtoehtoista tekniikkaa, joka tunnetaan kryptografisena sokaisuna. RSA blinding hyödyntää RSA: n kerrannaisomaisuutta. Sen sijaan laskenta-cd (mod n), aluksi Alice valitsee salaisen satunnainen arvo r ja laskee (rec)d (mod n). Tämän laskennan tulos on Eulerin”s lauseen soveltamisen jälkeen rcd (mod n), joten r: n vaikutus voidaan poistaa kertomalla sen käänteisellä. Jokaiselle ciphertextille valitaan uusi arvo r. Kanssa sokaiseva soveltaa, salauksen aikaa ei ole enää korreloi arvo input salakieli, ja niin ajoitus hyökkäys epäonnistuu.,
Mukautuva valittu salakieli attacksEdit
Vuonna 1998, Daniel Bleichenbacher kuvattu ensimmäinen käytännön mukautuva valittu salakieli hyökkäys, vastaan RSA-salattuja viestejä käyttäen PKCS #1 v1 täyte järjestelmä (pehmuste järjestelmän randomizes ja lisää rakenteen RSA-salatun viestin, niin se on mahdollista määrittää, onko purettu viesti on voimassa). Koska puutteita PKCS #1 järjestelmä, Bleichenbacher pystyi mount käytännön hyökkäys vastaan RSA-toteutukset Secure Socket Layer-protokollaa, ja palauttaa istunnon avaimet., Seurauksena tätä työtä, cryptographers nyt suositella todistettavasti turvallinen täyte järjestelmiä, kuten Optimaalinen Epäsymmetrinen Salaus Täyte, ja RSA Laboratories on julkaissut uusia versioita PKCS #1, jotka eivät ole alttiita nämä hyökkäykset.
Puoli-kanava analyysi attacksEdit
side-channel attack käyttäen branch prediction analysis (BPA) on kuvattu. Monet jalostajat käyttävät haara ennustaja selvittää, onko ehdollinen haara opetusta virtaus ohjelma on todennäköisesti otettu tai ei. Usein nämä suorittimet toteuttavat myös samanaikaista monilukemista (SMT)., Branch ennustus analyysi hyökkäykset käyttävät vakooja prosessi löytää (tilastollisesti) yksityisen avaimen, kun käsitellään näiden prosessorien kanssa.
Simple Branch Prediction Analysis (Sbpa) väittää parantavansa BPA: ta ei-tilastollisella tavalla. Niiden paperin, ”Vallan Yksinkertainen Haara Ennustaminen Analyysi”, kirjoittajat SBPA (Onur Aciicmez ja Cetin Kaya Koc) väittävät löytäneensä 508 pois 512 bittiä RSA-avain 10 toistojen.
tehovika-isku RSA: n toteutuksiin kuvattiin vuonna 2010., Kirjoittaja talteen avain vaihtelemalla SUORITTIMEN teho jännite rajojen ulkopuolella; tämä aiheutti useita power viat palvelimelle.