Åtagandesystem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 september 2017; kontroller kräver 17 redigeringar .

I kryptografi är ett åtagandeschema eller ett bitförpliktelseschema ( eng.  Commitment scheme ) en kryptografisk primitiv som gör att du kan fixa valfritt utvalt värde (valt uttalande, bit information), hålla det dolt för andra, med möjlighet att senare avslöja det fasta värdet [1] . Åtagandescheman är utformade på ett sådant sätt att en part inte kan ändra värdet eller påståendet efter inlämnandet, det vill säga åtagandescheman implementerar databindning . Åtagandescheman kan användas i ett antal kryptografiska protokoll , inklusive säker myntkastning , noll-kunskapsbevis, konfidentiellt beräkningsprotokoll och andra.

För att föreställa dig hur systemet fungerar, överväg att en avsändare lägger ett meddelande i en hänglåst låda och skickar lådan vidare till mottagaren. Meddelandet är dolt för mottagaren, som inte själv kan öppna låset. Från det ögonblick meddelandelådan är i mottagarens ägo kan innehållet i lådan inte ändras av avsändaren – lådan öppnas helt enkelt om avsändaren senare bestämmer sig för att ge nyckeln till mottagaren.

Interaktionen mellan två parter i skyldighetssystemet sker i två steg:

I enkla åtagandesystem består överföringsfasen av att skicka ett enda meddelande från avsändaren till mottagaren. Detta budskap kallas ett åtagande. Det är viktigt att det specifika värdet som valts inte kan vara känt för mottagaren i denna fas (detta kallas en dolda egenskap). Den enkla avslöjandefasen kommer att bestå av att skicka ett enda meddelande från avsändaren till mottagaren, följt av en åtagandekontroll utförd av mottagaren. Värdet som väljs under överföringsfasen måste vara det enda som avsändaren kan beräkna och som kontrolleras under expansionsfasen (detta kallas bindningsegenskapen).

Historik

Begreppet åtagandesystem formaliserades kanske först av Gilles Brassard , David Chaum och Claude Crepeau 1988 [2] som en del av olika NP-klassnoll-kunskapssäkra protokoll baserade på olika typer av åtagandesystem [3] . Konceptet har använts tidigare, men utan formell övervägande. Begreppet skyldigheter dök upp i verk av Manuel Bloom [4] och andra, eller som en del av, säg, Lamport -signaturen för det ursprungliga engångs-enbitssignaturschemat.

Applikation

Myntkastning

Anta att Alice och Bob vill lösa ett argument genom att kasta ett mynt . Om de fysiskt befinner sig på samma plats går proceduren så här:

  1. Alice gör en gissning om resultatet av myntkastningen;
  2. Bob slår ett mynt;
  3. Om Alices gissning är korrekt vinner hon, annars vinner Bob.

Om Alice och Bob inte är på samma plats, finns det problem med att lösa den här tvisten. Efter att Alice har gjort en gissning och berättat det för Bob kan han ljuga om resultatet av myntkastningen på ett sådant sätt att resultatet blir en vinst för honom. På liknande sätt, om Alice inte tillkännager sin gissning för Bob, efter att Bob vänt myntet och tillkännager resultatet, kan Alice rapportera att hon förutspådde resultatet som var vinnande för henne. Alice och Bob kan använda ett åtagandeschema i denna procedur, vilket gör att de båda kan lita på resultatet:

  1. Alice gissar en myntkastning, men skickar Bob bara ett åtagande;
  2. Bob slår ett mynt och rapporterar resultatet till Alice;
  3. Alice avslöjar sin gissning;
  4. Bob kontrollerar att Alices antagande överensstämmer med hennes engagemang;
  5. Om Alices gissning stämmer överens med resultatet av myntkastningen som rapporterats av Bob, vinner Alice, annars vinner Bob.

För att Bob ska förvränga resultaten till hans fördel måste han bryta den underförstådda skyldigheten. Om åtagandeschemat är välbyggt kan Bob inte förvränga resultaten. Dessutom kan Alice inte påverka resultatet om hon inte kan ändra värdet hon förutsäger innan kast och begår [4] [5] .

Den verkliga tillämpningen av detta problem finns när människor (ofta i media) fattar ett beslut och ger ett svar i ett "förseglat kuvert" som öppnas vid ett senare tillfälle.

Noll-kunskapsbevis

Ett välkänt specifikt exempel är användningen av åtagandesystemet i nollkunskapsbevis . Åtaganden används i dessa protokoll för två huvudsakliga syften: för det första att tillåta avsändaren att delta i system där verifieraren får välja vad som ska kontrolleras, och avsändaren kommer bara att visa vad som matchar verifierarens val. Åtagandesystem tillåter avsändaren att specificera all information i förväg och avslöja endast vad som behöver vetas senare i beviset [6] . Åtaganden används också i nollkunskapsbevis av verifieraren, som ofta anger sitt val i förväg i åtagandet. Detta gör att noll-kunskapsbevis kan byggas parallellt utan att avslöja redundant information från avsändaren till mottagaren [7] .

Bekräftat hemligt utbyte

En annan viktig användning av åtagandeschemat är implementeringen av verifierbar hemlighetsdelning , som är en viktig byggsten i det konfidentiella dataprotokollet . I ett hemligt delningssystem är meddelandet uppdelat i delar - "andelar", och var och en av de flera parterna får "andelar" som måste döljas för alla utom ägaren till en viss del. Hemligheten kan endast återskapas av en koalition av deltagare från den ursprungliga gruppen, och koalitionen måste innehålla åtminstone något initialt känt antal deltagare. Att dela hemligheter är kärnan i många protokoll för säker datoranvändning: till exempel för säker utvärdering av en funktion med viss delad input, där hemliga delade resurser används. Men om angripare genererar delade resurser kan en sårbarhet uppstå och riktigheten av dessa resurser skulle behöva verifieras. I ett verifierbart hemlighetsdelningssystem åtföljs delning av en hemlighet av individuella aktieåtaganden. Åtaganden avslöjar ingenting som kan hjälpa angripare, men låter varje enskild part kontrollera om deras andelar är korrekta och sålla bort angripare [8] .

Byggnad

Åtagandeschemat kan antingen vara helt bindande (Alice kan inte ändra innehållet i lådan efter överföringen, även om hon har obegränsade datorresurser) eller helt gömma sig (Bob kan inte öppna lådan förrän Alice har överfört nyckeln, även om han har obegränsat datorresurser). ), men inte samtidigt [9] .

Kvantsystemet för engagemang

En intressant fråga uppstår inom kvantkryptografi : finns det på kvantnivå ovillkorligt säkra bitbundna åtagandescheman, det vill säga protokoll som (åtminstone asymptotiskt) binder och gömmer sig, även om det inte finns några gränser för beräkningsresurser? Förhoppningen är att det kommer att finnas ett sätt att utnyttja kvantmekanikens inneboende egenskaper , såsom i kvantnyckeldistributionsprotokollet . [tio]

1993 föreslogs ett protokoll för implementering av bitåtaganden inom kvantmekaniken, och den ovillkorliga säkerheten i detta protokoll har varit allmänt accepterad under ganska lång tid. Detta resultat visade sig dock vara felaktigt. Osäkerheten i detta protokoll, kallat BCJL-protokollet, bevisades hösten 1995. 1996 bevisade Dominic Myers teoretiskt att det är omöjligt att implementera ett ovillkorligt säkert schema. Vilket som helst sådant protokoll kan reduceras till ett protokoll när systemet är i ett av två klara tillstånd efter sändningsfasen, beroende på vilken bit Alice vill låsa. Om protokollet gömmer sig perfekt, kan Alice enhetligt omvandla dessa tillstånd till varandra genom att använda egenskaperna för Schmidt-nedbrytningen , vilket effektivt undertrycker den bindande egenskapen [11] .

Anteckningar

  1. Goldreich O. Zero-Knowledge Proofs for NP: Commitment Schemes // Funds of Cryptography Basic Tools: Volym 1. - Cambrige University Press, 2001. - P. 224. - 372 sid. - ISBN 0-511-04120-9 . - ISBN 0-521-79172-3 .
  2. Brassard G., Chaum D., Crepeau C. Minimum Disclosure Proofs of Knowledge  // Journal of Computer and System Sciences. - 1998. - T. 37 . - S. 157-158 . — ISSN 0022-0000 . Arkiverad från originalet den 27 september 2011.
  3. Bevis som inte ger något annat än deras giltighet, 1991 , sid. 698.
  4. ↑ 1 2 Blum M. Myntvändning per telefon ett protokoll för att lösa omöjliga problem  // ACM SIGACT News. - 1983. - T. 15 , nr. 1 . — S. 23–27 . — ISSN 0163-5700 . - doi : 10.1145/1008908.1008911 . Arkiverad från originalet den 7 december 2018.
  5. Naor M. Bit Commitment Using Pseudorandomness  // Journal of Cryptology. - 1991. - Januari ( vol. 4 , nummer 2 ). - S. 152-153 . — ISSN 0933-2790 . - doi : 10.1007/BF00196774 .
  6. Bevis som inte ger något annat än deras giltighet, 1991 , sid. 721.
  7. Goldreich O., Krawczyk H. Om sammansättningen av system för noll-Knowledge Proof  // SIAM Journal on Computing. - 1996. - Februari ( vol. 25 , nummer 1 ). - S. 172 . — ISSN 0097-5397 . - doi : 10.1137/S0097539791220688 .
  8. Gennaro R., Rabin MO, Rabin T. Förenklade VSS och snabbspårande flerpartsberäkningar med tillämpningar för tröskelkryptering  // Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing. - New York, NY, USA: ACM, 1998. - S. 2-4 . — ISBN 978-0-89791-977-7 . - doi : 10.1145/277697.277716 . Arkiverad 7 maj 2021.
  9. Damgard IB, Nielsen JB Perfekt döljande och perfekt bindning Universellt komponerbara engagemangssystem med konstant expansionsfaktor  // BRICS Report Series. - Danmark, 2001. - Oktober. - S. 1 . — ISSN 0909-0878 . Arkiverad 25 oktober 2020.
  10. Ovillkorligt säkert quantumbit-engagemang är omöjligt, 1997 , sid. ett.
  11. Ovillkorligt säkert quantumbit-engagemang är omöjligt, 1997 , sid. 3-4.

Litteratur