Slumpmässigt orakel

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 6 september 2020; verifiering kräver 1 redigering .

I kryptografi är ett slumpmässigt orakel en idealiserad hashfunktion som, för varje ny begäran, producerar ett slumpmässigt svar, jämnt fördelat över värdeintervallet, med villkoret: om samma begäran kommer två gånger måste svaret vara detsamma. Med andra ord är ett slumpmässigt orakel  en matematisk funktion , vald slumpmässigt, som mappar varje möjlig fråga till ett fast slumpmässigt svar från ett förberett svarsområde.

Slumpmässiga orakel som en matematisk abstraktion användes först i rigorösa kryptografiska bevis i en publikation från 1993 av Mihir Bellare och Philip Rogaway . De används ofta i fall där bevisningen inte kan göras med svagare antaganden om den kryptografiska hashfunktionen . Ett system som har visat sig säkert när varje hashfunktion ersätts av ett slumpmässigt orakel beskrivs som säkert i den slumpmässiga orakelmodellen, till skillnad från att vara säkert i standardkryptografimodellen .

Ett slumpmässigt orakel är mycket kraftfullt eftersom det har tre egenskaper: determinism , effektivitet och att säkerställa en enhetlig fördelning av de resulterande värdena [1] .

Applikation

Slumpmässiga orakel används vanligtvis som en idealiserad ersättning för kryptografiska hashfunktioner i system där starka antaganden om hashutgångens slumpmässighet behövs [1] . Ett sådant bevis visar vanligtvis att systemet eller protokollet är säkert, vilket visar att angriparen måste kräva ett omöjligt beteende från oraklet, eller måste lösa något matematiskt problem som anses svårt att lösa. Inte all användning av kryptografiska hashfunktioner kräver slumpmässiga orakel [2] : scheman som kräver endast en eller ett fåtal egenskaper definierade i standardmodellen (såsom kollisionsmotstånd , förbildsmotstånd, andra förbildsmotstånd , etc.), kan ofta bevisas att vara säker i standardmodellen (t.ex. Cramer–Shope-kryptosystemet ).

Slumpmässiga orakel har länge ansetts i beräkningskomplexitetsteorin , och många system har bevisats säkra i den slumpmässiga orakelmodellen, såsom optimal asymmetrisk kryptering , RSA-FDH [3] och det probabilistiska signaturschemat . 1986 visade Amos Fiat och Adi Shamir [4] den huvudsakliga tillämpningen av slumpmässiga orakel - borttagandet av interaktion från protokoll för att skapa signaturer.

1989 visade Russell Impalazzo och Steven Rudich [5] en begränsning av slumpmässiga orakel, nämligen att deras existens ensam inte räcker för att utbyta en hemlig nyckel .

1993 var Mihir Bellare och Philippe Rogaway [6] de första som förespråkade deras användning i kryptografiska konstruktioner. Enligt deras definition skapar ett slumpmässigt orakel en bitsträng med oändlig längd som kan trunkeras till önskad längd.

När ett slumpmässigt orakel används som bevis på säkerhet blir det tillgängligt för alla spelare, inklusive motståndaren eller motståndarna. Ett orakel kan ses som flera orakel, före en fast bitsträng i början av varje begäran (till exempel kan förfrågningar formaterade som "1| x " eller "0| x " ses som anrop till två separata slumptal ). Orakel, liknande "00 | x ", "01 | x ", "10 | x " och "11 | x " kan användas för att representera anrop till fyra separata slumpmässiga orakel).

Imitation

Ett slumpmässigt orakel är en kraftfull hypotetisk deterministisk funktion som effektivt beräknar enhetligt fördelade slumpvariabler . Modellen av ett slumpmässigt orakel antar att det inte bara finns ett slumpmässigt orakel, utan också en speciell agent - en imitator . Imitatören är tänkt att kunna imitera vilket slumpmässigt orakel som helst (även en angripare). Således, om någon vill applicera ett slumpmässigt orakel G på ett nummer a , då kommer han automatiskt att skicka en begäran till simulatorn till ett slumpmässigt orakel och få resultatet G(a) från honom . Simulatorn utför alltid ärligt varje begäran och returnerar alltid sitt resultat.

Tack vare denna regel kan simulatorn exakt efterlikna beteendet hos ett slumpmässigt orakel. Låt simulatorn upprätthålla en G-lista för oraklet G som innehåller par (a, G(a)) där de tidigare frågorna a lagras . Simuleringen är enkel: efter att ha tagit emot frågan a , kontrollerar simulatorn om den är lagrad i listan och i så fall returnerar värdet G(a) (det deterministiska resultatet av frågan), annars extraherar simulatorn ett nytt värde G( a) från den allmänna populationen av enhetligt fördelade tal , skickar ett svar och fyller i det givna paret (a, G(a)) i en sorterad lista som tar log N tidsenheter att söka (på grund av denna funktion, det slumpmässiga oraklet är effektivt).

Således imiteras det slumpmässiga oraklet exakt av den polynomiellt bundna algoritmen [7] .

Begränsningar

Det finns några kända artificiella signatur- och krypteringsscheman som har visat sig vara säkra i den slumpmässiga orakelmodellen, men de är trivialt osäkra när någon verklig funktion ersätter det slumpmässiga oraklet. [8] Men för alla mer naturliga protokoll ger säkerhetsbeviset i den slumpmässiga orakelmodellen mycket starka bevis för protokollets praktiska säkerhet. [9]

I allmänhet, om ett protokoll bevisas vara säkert, måste attacker på det protokollet antingen gå utöver vad som har bevisats eller bryta mot ett av antagandena i beviset; till exempel, om beviset förlitar sig på komplexiteten i heltalsfaktorisering , för att bryta detta antagande måste man hitta en snabb heltalsfaktoriseringsalgoritm . Istället, för att bryta det slumpmässiga orakelantagandet, måste någon okänd och oönskad egenskap hos den faktiska hashfunktionen upptäckas ; för bra hashfunktioner , där sådana egenskaper anses osannolika, kan protokollet i fråga anses vara säkert. [tio]

The Random Oracle Hypothesis

Även om Baker-Gill-Solovey-satsen [11] [12] visade att det finns ett orakel A så att P A = NP A , visade efterföljande arbete av Bennett och Gill [13] att för ett slumpmässigt orakel B (en funktion från { 0,1 } n n till {0,1} så att varje ingångselement mappas till var och en av 0 eller 1 med sannolikhet 1/2, oavsett avbildning av alla andra indata), P B ⊊ NP B med sannolikhet 1. Liknande uppdelningar, och även det faktum att slumpmässiga orakel separerar klasser med en sannolikhet på 0 eller 1 (som en konsekvens av Kolmogorovs noll-ett-lag ), vilket ledde till skapandet av den slumpmässiga orakelhypotesen att två "acceptabla" komplexitetsklasser C 1 och C 2 är lika om och endast om de är lika (med sannolikhet 1) under ett slumpmässigt orakel (acceptabiliteten av komplexitetsklassen definieras i BG81 [13] Denna gissning visade sig senare vara falsk, eftersom de två acceptabla komplexitetsklasserna IP och PSPACE visades vara lika trots det faktum att IP A ⊊ PSPACE A för ett slumpmässigt orakel A med sannolikhet 1.

Perfekt chiffer

Ett idealiskt chiffer  är ett slumpmässigt permutationsorakel som används för att modellera ett idealiserat blockchiffer [14] .

En godtycklig permutation dekrypterar varje chiffertextblock till ett och endast ett klartextblock och vice versa, så det finns en en-till-en-korrespondens. Vissa kryptografiska bevis gör inte bara en "framåt" permutation tillgänglig för alla spelare, utan också en "omvänd" permutation.

Nyligen arbete har visat att ett idealiskt chiffer kan konstrueras från ett slumpmässigt orakel med 10-runda [15] eller till och med 8-runda [16] Feistel-nätverk .

Kritik

Canetti, Goldreich och Halevi uttryckte en negativ inställning till bevis baserade på den slumpmässiga orakelmodellen [17] . De visade att det finns digitala signaturer och krypteringssystem som bevisligen är säkra inom ramen för den slumpmässiga orakelmodellen, men sårbara för implementering i verkliga applikationer. Deras huvudidé var att uppfinna dåliga digitala signaturer eller krypteringsscheman . Under normala förhållanden fungerar dessa system bra, men under vissa förhållanden (mest ett brott mot slumpmässighet) blir de dåliga. De tre författarna kom dock till olika slutsatser angående användbarheten av den slumpmässiga orakelmodellen.

Canetti menar att den slumpmässiga orakelmodellen representerar en olycklig abstraktion och minskar värdet av metoden "motsägelseminskning". Han föreslog att vetenskaplig forskning borde inriktas på sökandet efter specifika användbara egenskaper hos den slumpmässiga orakelmodellen [18] .

Goldreich menar att problemet ligger i modellens ofullständighet och rekommenderar att bevis som använder denna metod inte tas med. Han menar dock att den slumpmässiga orakelmodellen har ett visst värde för att testa kryptosystem för säkerhet [18] .

Halevi anser att de nuvarande framgångarna med metoden att reducera till en motsägelse är tillfälliga: "Det finns ingen anledning att hävda att alla befintliga system, vars stabilitet har bevisats med hjälp av den slumpmässiga orakelmodellen, faktiskt är stabila" [18] .

Anteckningar

  1. 1 2 Modern Cryptography, 2005 , sid. 351.
  2. Modern Cryptography, 2005 , sid. 578-585.
  3. RSA-FDH (Full Domain Hash) . www.iacr.org. Hämtad: 23 december 2018.
  4. Hur man bevisar sig själv: Praktiska lösningar på identifierings- och signaturproblem, CRYPTO , s. 186–194.
  5. Impagliazzo, Russell; Rudich, Steven. Gränser för bevisbara konsekvenser av enkelriktade  permutationer //  STOC : journal. - 1989. - S. 44-61 .
  6. Bellare, Mihir; Rogaway, Philip Random Oracles are Practical: A Paradigm for Designing Efficient Protocols  //  ACM Conference on Computer and Communications Security : tidskrift. - 1993. - S. 62-73 .
  7. Modern Cryptography, 2005 , sid. 559-560.
  8. Ran Canetti, Oded Goldreich och Shai Halevi, The Random Oracle Methodology Revisited, STOC 1998, s. 209-218 (PS och PDF) .
  9. Koblitz, Neal; Menezes, Alfred J. The Random Oracle Model: A Twenty-Year Retrospective  //  Another Look: journal. — 2015.
  10. Craig Gentry och Zulfikar Ramzan. "Eliminera slumpmässiga permutationsorakel i Even-Mansour-chifferet" . 2004.
  11. Baker-Gill-Soloveys teorem - Wikisummary . neerc.ifmo.ru. Hämtad: 14 december 2018.
  12. Relativiseringar av P =? NP Question, SIAM, s. 431-442.
  13. 1 2 Relativt till ett slumpmässigt Oracle A, P ≠ NP ≠ co-NP med sannolikhet 1, SIAM, s. 96–113.
  14. Jean-Sebastien Coron, Jacques Patarin, Yannick Seurin. Den slumpmässiga Oracle-modellen och den idealiska chiffermodellen är likvärdiga . - 2008. - Nr 246 .
  15. Dachman-Soled, Dana; Katz, Jonathan; Thiruvengadam, Aishwarya (2016). "10-runda Feistel är likgiltig från en idealisk chiffer". EUROCRYPT 2016 . Springer. pp. 649-678. DOI : 10.1007/978-3-662-49896-5_23 .
  16. Dai, Yuanxi; Steinberger, John (2016). "Olikgiltighet hos 8-runda Feistel-nätverk". CRYPTO 2016 . Springer.
  17. Modern Cryptography, 2005 , sid. 576.
  18. 1 2 3 Modern Cryptography, 2005 , sid. 577.

Litteratur

Länkar