Beräkningshårdhetsantagande
I beräkningskomplexitetsteori är ett antagande om beräkningshårdhet hypotesen att ett visst problem inte kan lösas effektivt (där effektivt typiskt betyder "i polynomtid "). Det är inte känt hur man kan bevisa (ovillkorlig) hårdhet för i princip alla användbara problem. Istället förlitar sig datavetare på reduktioner för att formellt relatera hårdheten hos ett nytt eller komplicerat problem till ett antagande om beräkningshårdhet om ett problem som är bättre förstådd.
Antaganden om beräkningshårdhet är av särskild betydelse vid kryptografi . Ett stort mål inom kryptografi är att skapa kryptografiska primitiver med bevisbar säkerhet . I vissa fall visar sig kryptografiska protokoll ha informationsteoretisk säkerhet ; engångsblocket är ett vanligt exempel . Informationsteoretisk säkerhet kan dock inte alltid uppnås; i sådana fall faller kryptografer tillbaka till beräkningssäkerhet. Grovt sett betyder detta att dessa system är säkra förutsatt att eventuella motståndare är beräkningsmässigt begränsade, vilket alla motståndare är i praktiken.
Antaganden om beräkningshårdhet är också användbara för att vägleda algoritmdesigners: en enkel algoritm kommer sannolikt inte att motbevisa ett väl studerat antagande om beräkningshårdhet såsom P ≠ NP .
Jämför hårdhetsantaganden
Datavetare har olika sätt att bedöma vilka hårdhetsantaganden som är mer tillförlitliga.
Antaganden om styrka av hårdhet
Vi säger att antagande är starkare än antagande när antyder (och motsatsen är falsk eller inte känd). Med andra ord, även om antagande var falskt, kan antagande fortfarande vara sant, och kryptografiska protokoll baserade på antagande kan fortfarande vara säkra att använda. Så när man utformar kryptografiska protokoll hoppas man kunna bevisa säkerhet med de svagaste möjliga antagandena.
Genomsnittligt fall kontra värsta tänkbara antaganden
Ett genomsnittligt antagande säger att ett specifikt problem är svårt för de flesta instanser från någon explicit distribution, medan ett antagande i värsta fall bara säger att problemet är svårt i vissa instanser. För ett givet problem innebär medelhårdhet värsta fallet hårdhet, så ett antagande om medelhårdhet är starkare än ett antagande om värsta fallet för samma problem. Dessutom, även för ojämförliga problem, anses ett antagande som den exponentiella tidshypotesen ofta vara att föredra framför ett antagande om genomsnittsfall som den planterade klickantagandet . Observera dock att i de flesta kryptografiska applikationer är det värdelöst att veta att ett problem har en svår instans (dvs. ett problem är svårt i värsta fall) eftersom det inte ger oss ett sätt att generera svåra instanser. Lyckligtvis kan många genomsnittliga antaganden som används i kryptografi (inklusive RSA , diskret logg och vissa gitterproblem ) baseras på värsta tänkbara antaganden via reduktioner från värsta fall till genomsnitt.
Falsifierbarhet
En önskad egenskap hos ett antagande om beräkningshårdhet är falsifierbarhet , dvs att om antagandet var falskt skulle det vara möjligt att bevisa det. I synnerhet Naor (2003) ett formellt begrepp om kryptografisk förfalskning. Grovt sett sägs ett antagande om beräkningshårdhet vara falsifierbart om det kan formuleras i termer av en utmaning: ett interaktivt protokoll mellan en motståndare och en effektiv verifierare, där en effektiv motståndare kan övertyga verifieraren att acceptera om och endast om antagandet är falsk.
Vanliga antaganden om kryptografisk hårdhet
Det finns många antaganden om kryptografiska hårdhet som används. Detta är en lista över några av de vanligaste och några kryptografiska protokoll som använder dem.
Heltalsfaktorisering
Givet ett sammansatt tal , och i synnerhet ett som är produkten av två stora primtal , är heltalsfaktoriseringsproblemet att hitta och (mer allmänt, hitta primtal så att ). Det är ett stort öppet problem att hitta en algoritm för heltalsfaktorisering som körs i tidspolynom i representationsstorleken ( . Säkerheten för många kryptografiska protokoll bygger på antagandet att heltalsfaktorisering är svår (dvs. inte kan lösas i polynomtid). Kryptosystem vars säkerhet är likvärdig med detta antagande inkluderar Rabins kryptosystem och Okamoto–Uchiyama kryptosystem . Många fler kryptosystem förlitar sig på starkare antaganden som RSA , Residuosity-problem och Phi-hiding .
RSA problem
Givet ett sammansatt tal , exponent och nummer , RSA-problemet är att hitta . Problemet antas vara svårt, men blir lätt med tanke på faktoriseringen av . I RSA-kryptosystemet är den publika nyckeln , c är krypteringen av meddelandet och faktoriseringen av är den hemliga nyckel som används för dekryptering.
Restproblem
Givet ett sammansatt tal och heltal , är residuositetsproblemet att avgöra om det finns (alternativt, hitta en) så att
Viktiga specialfall inkluderar Quadratic residuosity-problemet och Decisional composite residuosity-problemet . Precis som i fallet med RSA, antas detta problem (och dess specialfall) vara svårt, men blir lätt med tanke på faktoriseringen av . Vissa kryptosystem som förlitar sig på hårdheten hos restproblem inkluderar:
- Goldwasser-Micali-kryptosystem (kvadratiskt redisduositetsproblem)
- Blum Blum Shub-generator (kvadratiskt redisduositetsproblem)
- Paillier kryptosystem (beslutsproblem med sammansatt residuositet)
- Benalohs kryptosystem (problem med högre resthalt)
- Naccache–Stern kryptosystem (problem med högre resthalt)
Phi-gömma antagande
För ett sammansatt tal är det inte känt hur man effektivt beräknar dess Eulers totientfunktion . Phi-hiding-antagandet postulerar att det är svårt att beräkna är det svårt att beräkna alla primtalsfaktorer för Detta antagande används i Cachin-Micali-Stadler PIR- protokoll.
Diskret loggproblem (DLP)
Givet element och från en grupp , frågar det diskreta loggproblemet efter ett heltal så att . Problemet med diskret logg är inte känt för att vara jämförbart med heltalsfaktorisering, men deras beräkningskomplexitet är nära relaterade .
De flesta kryptografiska protokoll relaterade till det diskreta loggproblemet förlitar sig faktiskt på det starkare Diffie–Hellman-antagandet : givna gruppelement där är en generator och är slumpmässiga heltal, det är svårt att hitta . Exempel på protokoll som använder detta antagande inkluderar det ursprungliga Diffie–Hellman-nyckelutbytet , såväl som ElGamal-krypteringen (som förlitar sig på den ännu starkare varianten Decision Diffie–Hellman (DDH) .
Multilinjära kartor
En multilinjär karta är en funktion (där är grupper ) så att för alla och ,
- .
För kryptografiska applikationer skulle man vilja konstruera grupperna och en karta så att kartan och gruppoperationerna på kan beräknas effektivt, men det diskreta loggproblemet på är fortfarande svårt. Vissa tillämpningar kräver starkare antaganden, t.ex. multilinjära analoger av Diffie-Hellman-antaganden.
För specialfallet bilinjära kartor med trovärdig säkerhet konstruerats med hjälp av Weil - parning och Tate-parning . För har många konstruktioner föreslagits de senaste åren, men många av dem har också brutits, och för närvarande finns det ingen konsensus om en säker kandidat.
Vissa kryptosystem som förlitar sig på multilinjära hårdhetsantaganden inkluderar:
- Boneh-Franklin-schema (blinjär Diffie-Hellman)
- Boneh–Lynn–Shacham (blinjär Diffie-Hellman)
- Garg-Gentry-Halevi-Raykova-Sahai-Waters kandidat för omöjlig att särskilja obfuskation och funktionell kryptering (multilinjära pussel)
Gallerproblem
Det mest grundläggande beräkningsproblemet på gitter är det kortaste vektorproblemet (SVP) : givet ett gitter , hitta den kortaste vektorn som inte är noll . De flesta kryptosystem kräver starkare antaganden om varianter av SVP, som Shortest independent vectors problem (SIVP) , GapSVP eller Unique-SVP.
Det mest användbara antagandet om gitterhårdhet i kryptografi är för Learning with errors (LWE)-problemet: Givet exempel på , där för någon linjär funktion är det lätt att lära sig med linjär algebra. I LWE-problemet har ingången till algoritmen fel, dvs för varje par med någon liten sannolikhet. Felen tros göra problemet svårlöst (för lämpliga parametrar); i synnerhet finns det kända minskningar från värsta fall till genomsnittliga fall från varianter av SVP.
För kvantdatorer är Factoring och Discrete Log-problem lätta, men gallerproblem antas vara svåra. Detta gör vissa gitterbaserade kryptosystem till kandidater för post-kvantkryptografi .
Vissa kryptosystem som förlitar sig på hårdhetsproblem i gitter inkluderar:
- NTRU (både NTRUEncrypt och NTRUSign )
- De flesta kandidater för helt homomorf kryptering
Icke-kryptografiska hårdhetsantaganden
Förutom deras kryptografiska tillämpningar används hårdhetsantaganden i beräkningskomplexitetsteori för att ge bevis för matematiska påståenden som är svåra att bevisa ovillkorligt. I dessa applikationer bevisar man att hårdhetsantagandet innebär något önskat komplexitetsteoretiskt påstående, istället för att bevisa att påståendet i sig är sant. Det mest kända antagandet av denna typ är antagandet att P ≠ NP , men andra inkluderar den exponentiella tidshypotesen , den planterade klickförmodan och den unika spelförmodan .
C -hårda problem
Många värsta beräkningsproblem är kända för att vara svåra eller till och med kompletta för någon komplexitetsklass särskilt NP-hård (men ofta även PSPACE-hård , PPAD-hård , etc.). Det betyder att de är minst lika svåra som alla problem i klassen . Om ett problem är -hårt (med avseende på polynomiska tidsreduktioner), kan det inte lösas med en polynom-tidsalgoritm om inte antagandet om beräkningshårdhet är falskt .
Exponentiell tidshypotes (ETH) och varianter
Den exponentiella tidshypotesen (ETH) är en förstärkning av hårdhetsantagande, som antar att inte bara det booleska tillfredsställbarhetsproblemet inte har en polynomisk tidsalgoritm, det kräver dessutom exponentiell tid ( ). Ett ännu starkare antagande, känt som Strong Exponential Time Hypothesis (SETH) antar att -SAT kräver tid, där . ETH, SETH och relaterade antaganden om beräkningshårdhet möjliggör härledning av finkorniga komplexitetsresultat, t.ex. resultat som särskiljer polynomtid och kvasipolynomtid , eller till och med kontra . Sådana antaganden är också användbara i parametriserad komplexitet .
Antaganden om medelhårdhet i fallet
Vissa beräkningsproblem antas vara svåra i genomsnitt över en viss fördelning av instanser. Till exempel, i det planterade klickproblemet är inmatningen en slumpmässig graf samplad, genom att sampla en Erdős–Rényi slumpmässig graf och sedan "plantera" en slumpmässig -klick, dvs koppla enhetligt slumpmässiga noder (där och målet är att hitta det planterade -klick (vilket är unikt whp). Ett annat viktigt exempel är Feiges hypotes, som är ett antagande om beräkningshårdhet om slumpmässiga instanser av 3-SAT (samplade för att upprätthålla ett specifikt förhållande mellan satser och variabler). Antaganden om genomsnittlig beräkningshårdhet är användbara för att bevisa genomsnittlig hårdhet i applikationer som statistik, där det finns en naturlig fördelning över indata. Dessutom har antagandet om planterade klickhårdhet också använts för att skilja mellan polynom och kvasipolynom värsta tänkbara tidskomplexitet för andra problem, på samma sätt som den exponentiella tidshypotesen .
Unika spel
Problemet med Unique Label Cover är ett problem med begränsningstillfredsställelse, där varje begränsning involverar två variabler och för varje värde på finns ett unikt värde av som uppfyller . Det är lätt att avgöra om alla begränsningar kan uppfyllas, men Unique Game Conjecture (UGC) postulerar att bestämma om nästan alla begränsningar ( -fraktion, för någon konstant ) kan vara uppfyllda eller nästan ingen av dem ( -fraktion) kan vara nöjd är NP-hård. Approximationsproblem är ofta kända för att vara NP-hårda om man antar UGC; sådana problem kallas UG-hårda. I synnerhet om man antar att UGC finns en semidefinite programmeringsalgoritm som uppnår optimala approximationsgarantier för många viktiga problem.
Liten Set Expansion
Nära relaterat till Unique Label Cover-problemet är Small Set Expansion (SSE) -problemet: Givet en graf , hitta en liten uppsättning hörn (av storleken ) vars kantexpansion är minimal. Det är känt att om SSE är svårt att uppskatta, så är Unique Label Cover det också. Därför är Small Set Expansion Hypothesis , som postulerar att SSE är svår att uppskatta, ett starkare (men närbesläktat) antagande än Unique Game Conjecture. Vissa approximationsproblem är kända för att vara SSE-hårda (dvs. minst lika svåra som approximerande SSE).
3SUM-förmodan
Givet en uppsättning av tal, frågar 3SUM-problemet om det finns en triplett av tal vars summa är noll. Det finns en kvadratisk-tidsalgoritm för 3SUM, och det har antagits att ingen algoritm kan lösa 3SUM i "verkligt subkvadratisk tid": 3SUM-förmodan är antagandet om beräkningshårdhet att det inte finns några -tidsalgoritmer för 3SUM (för valfri konstant . Denna gissning är användbar för att bevisa nästan kvadratiska nedre gränser för flera problem, mest från beräkningsgeometri .