Kysymys:
Mikä on kryptografinen oraakkeli?
josh-cain
2012-01-12 20:15:23 UTC
view on stackexchange narkive permalink

törmäsin termiin "kryptografinen oraakeli", ja hiukan Googlesta huolimatta en voinut löytää selkeää, ytimekästä määritelmää. Mikä on kryptografinen oraakkeli ja mitä se tekee? Voiko kukaan antaa esimerkin?

Tämä crypto.se-sivustossa oleva kysymys voi auttaa: http://crypto.stackexchange.com/questions/879/what-is-the-random-oracle-model-and-why-is-it-controversial
Neljä vastused:
#1
+70
Thomas Pornin
2012-01-12 20:48:19 UTC
view on stackexchange narkive permalink

oraakeli on henkilö, joka tietää jumalan henkilökohtaisen matkapuhelinnumeron. Tämä antaa hänelle (tai hänen) mahdollisuuden hankkia tietoja, joita yleensä pidetään pelkästään kuolevaisen ulottumattomissa, kuten tulevaisuuden välähdyksiä. Salaus on sama, paitsi että jumaluutta ei ole mukana: oraakeli on mikä tahansa järjestelmä, joka voi antaa ylimääräistä tietoa järjestelmästä, jota muuten ei olisi käytettävissä.

Harkitse esimerkiksi epäsymmetristä salausta RSA. I-standardin linkki kertoo, kuinka osa tiedoista tulisi salata julkisella avaimella. Salaus alkaa erityisesti täyte -toiminnolla, jossa dataa ensin laajennetaan lisäämällä otsikko siten, että pehmustetun datan pituus vastaa RSA: n julkisen avaimen pituutta. Otsikon tulisi alkaa kahdella tavulla 0x00 0x02 , jota seuraa vähintään kahdeksan satunnaista tavua, jotka eivät ole nolla, ja sitten toisen 0x00 . Kun tiedot on täytetty, on aika soveltaa matemaattista operaatiota, joka on RSA-toiminnan ydin (modulaarinen eksponentio). Pehmusteen yksityiskohdat ovat tärkeitä turvallisuuden kannalta.

Salaus on kokonaisluku modulo RSA-moduuli , iso kokonaisluku, joka on osa julkista avainta. 1024-bittisen RSA-avaimen moduuli n on kokonaislukuarvo, joka on suurempi kuin 2 1023 , mutta pienempi kuin 2 1024 . Oikein salattu tietopaketti, jossa on RSA, tuottaa kokonaisluvun arvon välillä 1 ja n-1 . Pehmusteeseen liittyy kuitenkin jonkinlainen rakenne , kuten yllä on esitetty. Salauksen purkavan osapuolen PITÄÄ löytää salauksen purkamisen jälkeen oikein muodostettu PKCS # 1 -otsikko, joka alkaa 0x00 0x02 -tavuilla, jota seuraa vähintään kahdeksan muuta kuin nolla tavua, ja 0x00 , joka merkitsee otsikon lopun. Siksi kaikki 1 - n-1 väliset kokonaisluvut eivät ole kelvollisia RSA-salattuja viestejä (alle 1 jokaista 65000 tällaista kokonaislukua tuottaisi asianmukaisen täytteen salauksen purkamisen yhteydessä).

Tietämys tuottaako annettu kokonaisluku modulo n salauksen purkamisen yhteydessä kelvollisen pehmusterakenteen, oletetaan olevan mahdotonta sille, joka ei tiedä yksityistä avainta . Yksityisen avaimen omistaja (jumaluus) saa nämä tiedot ja paljon muuta: jos salauksen purku toimii, yksityisen avaimen omistaja todella saa viestin, mikä on salauksen purkamisen kohta. Oletetaan, että jossain on entiteetti, joka voi kertoa, onko annettu kokonaisluku modulo n oikein pätevä salattu tieto RSA: lla; että entiteetti ei antaisi sinulle täydellistä salauksen purkutulosta, se vain kertoisi, toimiiko salauksen purku vai ei. Se on yhden bittinen tieto, vähäisempi näkemys siitä, mitä jumaluus saisi. Entiteetti on sinun oraakelisi: se palauttaa osia tiedoista, jotka ovat yleensä vain yksityisen avaimen omistajan käytettävissä.

On käynyt ilmi, että kun pääsy tällaiseen oraakkeliin on mahdollista rakentaa yksityinen avain lähettämällä erityisesti muotoiltuja kokonaislukuja modulo n (se vie miljoona tai niin paljon tällaisia ​​arvoja ja melko vähän matematiikkaa, mutta se voidaan tehdä). On myös käynyt ilmi, että suurin osa tuon ajan SSL / TLS -toteutuksista (eli vuonna 1999) toimi tahattomasti oraakkelina: jos lähetit asiakkaana virheellisen RSA-salatun ClientKeyExchange-viestin, palvelin vastasi tietyllä virheilmoituksella ("duh, ClientKeyExchange -viestisi haisee"), kun taas salauksen purku toimi, palvelin jatkoi protokollan käyttöä käyttäen mitä tahansa salauksen purettua arvoa (yleensä asiakkaalle tuntematon, jos asiakas lähetti satunnaisen arvon , joten protokolla epäonnistui myöhemmin, mutta asiakas näki eron kelvollisen ja virheellisen täytteen välillä). Siksi tällaisella toteutuksella hyökkääjä voi (noin miljoonan epäonnistuneen yhteyden jälkeen) rakentaa uudelleen palvelimen yksityisen avaimen, jota pidetään yleensä huonoina.

Juuri niin ovat oraakelit: matemaattinen kuvaus tietovuodosta, jota käytetään turvatodistuksissa. RSA: n tapauksessa tämä osoittaa, että tietäen, onko arvolla asianmukainen täyte vai ei, vastaa jotenkin yksityisen avaimen oppimista (jos tiedät yksityisen avaimen, voit yrittää salauksen purkamista ja nähdä itse täytteen; Bleichenbacher-hyökkäys osoittaa että se toimii myös päinvastoin).

Suuri selitys kuten aina. Olisin todella kiinnostunut tietämään, mikä on merkki / rep-suhde.
@Iszi http: // data.stackexchange.com / it% 20security / query / 14517 / keystrokes-per-rep-point-lower-limit sanoo 52. Sinun on 66, Tom Leek 73.
Liityin tähän yhteisöön vain voidakseni äänestää vastaustasi!Suuri selitys:)
#2
+6
BlueRaja - Danny Pflughoeft
2012-01-13 00:49:13 UTC
view on stackexchange narkive permalink

Oraakkeli on asia, joka voi välittömästi ( O (1) ) antaa sinulle vastauksen joihinkin ongelmiin, yleensä mahdottomiin tai mahdottomiin ongelmiin. Esimerkiksi "Pysäytysongelma Oracle" voi kertoa sinulle välittömästi, pysähtyykö tietty ohjelma tietyllä syötteellä, vaikka pysäytysongelma onkin meille laskematon kuolevaiset. Voimme kuitenkin joskus todistaa joitain hyödyllisiä ominaisuuksia teeskentelemällä, että tietyt oraakkelit ovat olemassa.

Esimerkiksi salausteksteissä oraakkeleita käytetään useimmiten osoittamaan, vaikka jos hyökkääjämme olisivat olleet pääsyn johonkin näennäisesti mahdottomasta oraakkelista, heillä silti ei olisi mitään (merkittävää) etua rikkoa turvallisuuttamme. Esimerkiksi yksi tärkeä salausalgoritmien ominaisuus (jota kutsutaan resistenssiksi tunnetuille selkokielisille hyökkäyksille) on se, että jos hyökkääjälle annetaan viesti, joka on salattu avaimellasi m ' ja he haluavat tietää alkuperäisen viestin m (tai selvittää avaimesi) ja antaa heille sitten toisen viestin n ja sen salauksen avaimellasi n ' ei pitäisi auttaa heitä tekemään sitä millään tavalla.

Tämän vieminen äärimmäiseen ( valittu selkokielinen hyökkäys) : anna hyökkääjälle oraakkeli, joka voi salata tai purkaa minkä tahansa viestin avaimellasi paitsi koodeille m ja m ' . Jopa näissä äärimmäisissä olosuhteissa haluamme osoittaa salauksellemme, että oraakkelin hyökkääjällä ei ole etua löytää m (tai avain) kuin hyökkääjä ilman oraakkeli. Tämä tarkoittaisi sitä, että salaus on suojattu valitun selkokielisen hyökkäyksen varalta.


[Muokkaa]
Tässä on toinen käytännön esimerkki. Kysymyksessä Voisiko ohjelma koskaan kertoa, pelaako toinen ohjelma shakkia, osoitamme, ettei tällaista ohjelmaa ole olemassa, olettaen ensin, että on shakin havaitsemisnäkymä, sitten osoittamalla sen olemassaolo johtaa loogiseen mahdottomuuteen.

Tämä määritelmä "valitusta selkokielisestä hyökkäyksestä" kuulostaa oudolta.Oletko varma, että se sisältää * salauksen purkavan * oraakelin?Ensimmäisen kerran kuulin sen, ja se näyttää olevan ristiriidassa hyökkäyksen nimen kanssa.
#3
+1
doyler
2012-01-12 20:33:20 UTC
view on stackexchange narkive permalink

Salausorakelit ovat mustan laatikon syöttö- ja tulostustapa.

Se vastaa mihin tahansa syötteeseen näennäissatunnaisella vastauksella, mutta antaa aina saman tuloksen tietylle tulolle.

Niitä käytetään yleensä hash-toimintoihin, joissa satunnaisuus on tärkeää turvallisuuden parantamiseksi.

On tietysti vielä turvallisuusongelmia, koska se on vain matemaattinen funktio, joka palauttaa näennäisesti näennäissatunnaisia ​​lukuja, mutta he ovat selvästi vahvempia kuin jotkut vähemmän satunnaisista kollegoistaan.

Tässä on vankka paperi heistä ja heidän suunnittelustaan ​​- http://cseweb.ucsd.edu/users/mihir/papers/ro .pdf

Kuvailet [satunnaista oraakkelia] (http://en.wikipedia.org/wiki/Random_oracle), joka on siihen liittyvä käsite (tai pikemminkin erityinen oraakkelin tapaus).
#4
-1
Gideon Samid
2017-08-25 20:11:49 UTC
view on stackexchange narkive permalink

Oraakkeli, joka esiintyy monissa muodoissa, usein sekaannusilmalla, on pohjimmiltaan kuvitteellinen kyky, joka voi johtua turvallisuuspuolelta tai hyökkääjältä, ja sitä käytetään hyödyllisenä työkaluna turvallisuuden arvioimiseksi - jos olet varovainen ero hyvän oraakkelin ja "pörröisen" oraakkelin välillä.

Katso 5 minuutin video Crypto Academy -oppaassa

]

Hei Gideon, tervetuloa.Lue itsensä mainostamista koskeva käytäntömme - emme ole liian tiukkoja, joten linkki on sallittu, mutta viestin on pystyttävä seisomaan itsestään ilman linkkiä, ja liiallinen itsekampanja on todennäköisesti merkitty roskapostiksi ja poistettu.https://security.stackexchange.com/help/promotion


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...