Problema Marelui Maestru
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 20 mai 2021; verificarea necesită
1 editare .
Problema marelui maestru al șahului este una dintre modalitățile prin care se abuzează dovada zero-cunoștințe . Este, de asemenea, una dintre problemele teoriei jocurilor . [1] Rezultatul acestei probleme este o înșelăciune efectuată de mafie . Problema este că un atacator poate dovedi deținerea secretului fără a-l deține efectiv sau, cu alte cuvinte, poate imita persoana care deține de fapt secretul.
Problemă
Un exemplu al acestei probleme este povestea unei fete care a demonstrat [1] jocul simultan împotriva a doi mari maeștri. Metodologia ei a fost următoarea:
- Alice joacă împotriva a doi mari maeștri care se află în camere diferite și nu sunt conștienți de prezența celuilalt.
- Alice notează mișcările unui mare maestru și le dublează într-un joc cu altul, apoi notează mișcările celui de-al doilea și le repetă cu prima și așa mai departe.
Acest lucru continuă în acest fel până când ea pierde un joc, câștigând al doilea sau până când ambele jocuri se termină la egalitate. Folosirea acestei înșelăciuni vă permite să înșelați orice jucător de șah și să câștigați datorită altora decât propriile cunoștințe.
Această tehnică de înșelăciune poate fi utilizată împotriva dovezilor de identitate fără cunoștințe . [2]
Soluție posibilă
O posibilă soluție la această problemă a fost propusă de Thomas Beth ( 1949 - 2005 ) și Ivo Desmedt . Pentru a elimina posibilitatea de a înșela, ei au propus următorul algoritm . [3]
Marii maeștri vor să fie siguri că acest tip de înșelăciune nu se va întâmpla și adversarii vor juca folosind doar cunoștințele lor, fără ajutorul nimănui altcuiva. Pentru a face acest lucru, toți jucătorii de șah vor urma următorul protocol:
- Înainte de începerea jocului, jucătorii de șah sunt de acord cu o anumită valoare a timpului , exprimată în secunde. Ei sunt de acord și asupra cine joacă alb și cine joacă negru. Pentru comoditate, notăm începătorul F (din cuvântul primul (primul)) și al doilea S (din cuvântul al doilea (al doilea)). Fiecare jucător are propriul cronometru.
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
- F începe jocul și setează ora pe cronometru .
![{\displaystyle z:=0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/06768fdb16f657da598939cf3acc3e7e2b2d4751)
- S pornește cronometrul și se gândește și face o mișcare exact la timp . După mutare, el trebuie să seteze instantaneu ora pe cronometru .
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![{\displaystyle y:=t}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a40031b3cd5e48182e869e95fdf6cdab3c1d1e6)
- F numără timpul pe cronometru . Dacă , atunci F oprește jocul și se consideră înșelat. Protocolul se încheie. În caz contrar, în cazul unei mișcări câștigătoare din S , F admite înfrângerea și protocolul se încheie. Dacă mutarea nu este una câștigătoare, atunci F se gândește și face o mișcare exact la timp . În acest moment, F va avea timp pe cronometru
![e](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd253103f0876afc68ebead27a5aa9867d927467)
![ez\neq t](https://wikimedia.org/api/rest_v1/media/math/render/svg/4863cbce8ddb9ca5145289454b1eab3d12612ad5)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![{\displaystyle z:=e+t.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f57fbbd70fdbc2c0caf4ab3a3acbb056d05dd98)
- S numără timpul pe cronometru . Dacă , atunci S se oprește din joc pentru că se consideră înșelat și protocolul se încheie. În caz contrar, în cazul unei mișcări câștigătoare de la F , S admite înfrângerea și protocolul se încheie. Dacă mutarea nu este una câștigătoare, atunci S se gândește și face o mișcare exact la timp . Până în acest moment, S va avea timp la ceas
![f](https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61)
![fy\neq t](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b38aa4131407379d027be8d640c85d207c669a5)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![{\displaystyle y:=f+t.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3830c0c7e876395caac4a7a7fa756b23ad3c7fa7)
- Treci la punctul 4.
Teorema
Formulare [4]
Dacă fetița G are nevoie de cel puțin timp pentru a face tranziția între „jocul 1” și „jocul 2” și atât F cât și S urmează protocolul, iar numărul de mișcări în joc este mai mare de două ( ), atunci înșelăciunea fetei va fi detectat de F sau S.
![{\displaystyle l>0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0476eebc4457e538f82c70dd52b519075ae2754)
![m](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![m\geq 3](https://wikimedia.org/api/rest_v1/media/math/render/svg/4610f29d2708d1febf1c0090f58ddd3986593545)
Text original (engleză)
[ arataascunde]
Dacă micul G are nevoie de cel puțin Q timp pentru a comunica mișcările dintre „jocul 1” și „jocul 2” și F și S urmează protocolul, iar numărul de mișcări din joc este mai mare de 2 (deci ), atunci frauda fetiței este detectată de F sau S.
![{\displaystyle l>0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0476eebc4457e538f82c70dd52b519075ae2754)
![m](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
Dovada [4]
Luăm denumirile F și S din soluția propusă. Fetița va fi notată cu litera G - de la cuvântul fată (fată).
Dacă fata G este prezentă, „jocul 1” este jucat între F și G, iar „jocul 2” este jucat între G și S. Fata copiază mișcările așa cum este descris mai devreme. Să presupunem că la punctul 1 al protocolului nostru, în „lotul 1”, F și G sunt de acord cu un timp , iar în „lotul 2” G și S sunt de acord cu un timp ( și nu sunt neapărat egali). F face prima mișcare la momentul 0 în „jocul 1” și setează ora pe cronometru Pentru a copia și transfera această mișcare în „jocul 2”, G are nevoie de timp Ea își face mișcarea la timp și în același timp S își resetează cronometrul . Apoi S își face mișcarea la timp și pornește ceasul Pentru a transfera această mișcare în „jocul 1”, G are nevoie de timp . Ea își face mișcarea în „jocul 1” la ora F verifică ceasul și se asigură că Acum și F, în caz că , nu va detecta frauda. Dacă se găsește F, atunci se demonstrează teorema. Să ne prefacem că:![t_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cb0768c0bd659f2f84fb5ef9f4b74f336123d915)
![t_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/749fee708b41e7079eabd50d61c8bf3e965db16f)
![t_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cb0768c0bd659f2f84fb5ef9f4b74f336123d915)
![t_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/749fee708b41e7079eabd50d61c8bf3e965db16f)
![{\displaystyle z:=0.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/53fe0252d488b37ed2d7713257bdf19b5ed262a0)
![l_{1}\geq l>0.](https://wikimedia.org/api/rest_v1/media/math/render/svg/59430d0688e6157065979e096cf12144835e3bd2)
![l_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/29b25eeca673386d676f79dce674fe93040693eb)
![{\displaystyle t_{2}+l_{1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/08d411ae5aa63b9ef1a6518285368172d9bb49fb)
![y:=t_{2}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/c2fa8ac24618c514bcfd1ca042ceaba471e90a98)
![l_{2}\geq l>0.](https://wikimedia.org/api/rest_v1/media/math/render/svg/af4a3d8a0da21db26e547590f99441fb3f3f440e)
![l_{1}+t_{2}+l_{2}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/5b778ca5345dfd9829a9151cea2ba3c0d4858167)
![ez\neq t_{1}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/b3727cf242e6656f732d11657568a3072708be1d)
![e=l_{1}+t_{2}+l_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9e8cc71cee5a876dafd8f60e8e6ac0fa9dcc9182)
![t_{1}=l_{1}+t_{2}+l_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f25ac926b616157755f75b76b6f462f3c3366144)
![t_{1}=l_{1}+t_{2}+l_{2}\quad (1)](https://wikimedia.org/api/rest_v1/media/math/render/svg/4ce4d50b539aaf4b9cc2f510ed971ad0958812ad)
F face o mișcare la timp Pentru a transfera această mișcare în „jocul 2”, G are nevoie de timp Ea face o mișcare la ora S se uită la ceas și primește asta și Adică S verifică asta În cazul în care nu observă trucul , el trebuie să fie îndeplinită egalitatea:![t_{1}+l_{1}+t_{2}+l_{2}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/0f9dc2cc4cdd800bd5adc2761d07bd6235b33aa3)
![l_{3}\geq l>0.](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b065ccf0f3804fbf1316deec216e2179fd14eb6)
![l_{1}+t_{2}+l_{2}+t_{1}+l_{3}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/35d0f9c656bb4d8fb0bb77f5946b68f6e2a6749a)
![f=t_{2}+l_{2}+t_{1}+l_{3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/612494633fa4f0cc4dbed84cae303970d1373edb)
![y:=t_{2}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/c2fa8ac24618c514bcfd1ca042ceaba471e90a98)
![fy=l_{2}+t_{1}+l_{3}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/90b2330ea2f68d44ff523f92cf962837c01bc6b1)
![fy\neq t_{2}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/7663c7965c532862d4b1cdd7a7559882fd43affd)
![t_{2}=l_{2}+t_{1}+l_{3}\quad (2)](https://wikimedia.org/api/rest_v1/media/math/render/svg/12b1bd6eeab3bc3247bc1c6dbbe1a80da498b2c2)
Cu toate acestea, combinând și obținem că:![(unu)](https://wikimedia.org/api/rest_v1/media/math/render/svg/a25115739469707c4758b189fe310a750092a80a)
![(2)](https://wikimedia.org/api/rest_v1/media/math/render/svg/43f88fdd4acbb57a291f9eb9f23ae23a1e492b30)
![l_{1}+2l_{2}+l_{3}=0](https://wikimedia.org/api/rest_v1/media/math/render/svg/9362456dbbf7f5fa23a2fb38fc394d7da1a29e85)
Dar din moment ce este imposibil. Prin urmare, S va detecta înșelăciunea. Teorema a fost demonstrată.
![l_{1},l_{2},l_{3}>0](https://wikimedia.org/api/rest_v1/media/math/render/svg/6bd0c64fa4f6225875f1f385d34a280025e95a4b)
Note
- Subliniem că, conform acestei teoreme, F sau S detectează înșelăciunea. Aceasta înseamnă că unul dintre ei poate rămâne în întuneric cu privire la frauda în curs . [5]
- Această soluție matematică folosește acuratețea perfectă, ceea ce este imposibil din punctul de vedere al fizicii. Având în vedere inexactitatea vitezei de calcul a computerului, această soluție devine nepractică pentru multe aplicații. [6]
Aplicarea soluției
Hoppingul probabilistic canalului
Problema marelui maestru și problema înșelăciunii mafiote se află în centrul lucrării lui Ammar Alkassar , Christian Stuble și Ahmad-Reza Sadeghi . Au introdus un canal probabilistic de reconstrucție. Se bazează pe presupunerea că un atacator nu poate transmite eficient toate comunicațiile în paralel. Ideea principală este de a folosi un sistem de salt de canale, datorită căruia un atacator nu poate asculta comunicarea dintre părțile implicate. Această abordare folosește, de asemenea, o cheie semantic sigură partajată între prima (de verificare) și a doua (demonstrare). Acest lucru permite utilizarea în rețele wireless ad-hoc[ clarifica ] [7] .
Alte soluții
Vezi și
Note
- ↑ 1 2 Conway, 1976 , pp. 75.
- ↑ Desmedt Y. G. , Goutier C. , Bengio S. Special Uses and Abuses of the Fiat-Shamir Passport Protocol (rezumat extins ) // Advances in Cryptology - CRYPTO '87 : A Conference on theory and Applications of Cryptographic Techniques, Santa Barbara, California, SUA, 16-20 august 1987, Proceedings / C. Pomerance - Berlin : Springer Berlin Heidelberg , 1987. - P. 21-39. - ( Note de curs în Informatică ; Vol. 293) - ISBN 978-3-540-18796-7 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-48184-2_3
- ↑ Beth, Desmedt, 1991 , p. 172.
- ↑ 1 2 Beth, Desmedt, 1991 , p. 172-173.
- ↑ Beth, Desmedt, 1991 , p. 173.
- ↑ Alkassar A. , Stüble C. , Sadeghi A. Secure object identification: or: solving the Chess Grandmaster Problem // NSPW'03 : Proceedings of the 2003 workshop on New security paradigms / C. F. Hempelmann , V. Raskin — New York, NY , SUA : ACM , 2003. - P. 77-85. - ISBN 978-1-58113-880-1 - doi:10.1145/986655.986668
- ↑ Arbaugh W. A. , Farber D. J. , Smith J. M. A secure and reliable bootstrap architecture // SP'97 : Proceedings of the 1997 IEEE Symposium on Security and Privacy - Washington, DC, SUA : IEEE Computer Society , 1997. - P 65- 71. - ISBN 978-0-8186-7828-8 - ISSN 1081-6011 ; 2375-1207 - doi:10.1109/SECPRI.1997.601317
- ↑ Bengio S. , Brassard G. , Desmedt Y. G. , Goutier C. , Quisquater J. Secure implementation of identification systems // Journal of Cryptology / I. Damgård - Springer Science+Business Media , International Association for Cryptologic Research , 1991. Vol. 4, Iss. 3. - P. 175-183. — ISSN 0933-2790 ; 1432-1378 - doi:10.1007/BF00196726
- ↑ Beth, Desmedt, 1991 , p. 174.
- ↑ Brands S. A. , Chaum D. Distance-Bounding Protocols : Extended abstract // Advances in Cryptology - EUROCRYPT '93 : Workshop on the Theory and Application of Cryptographic Techniques Lofthus, Norway, May 23–27, 1993 Proceedings / T Helleseth - 1 Berlin : Springer Berlin Heidelberg , 1994. - P. 344-359. — 465 p. — ISBN 978-3-540-57600-6 — doi:10.1007/3-540-48285-7_30
Literatură
- Schneier, B. Capitolul 5. Partea 2. Identificarea cu dovezi cu cunoștințe zero. Problemă Grandmaster // Criptografia aplicată. Protocoale, algoritmi, cod sursă în limbaj C = Criptografie aplicată. Protocoale, algoritmi și cod sursă în C. - M. : Triumf, 2002. - S. 133-134. — 816 p. - 3000 de exemplare. - ISBN 5-89392-055-4 .
- Conway J. H. On Numbers and Games (engleză) - 111 Fifth Avenue, New York, SUA : 1976.
- Beth T. , Desmedt Y. G. Identification Tokens - sau: Solving The Chess Grandmaster Problem // Advances in Cryptology - CRYPTO '90 : 10th Annual International Cryptology Conference, Santa Barbara, California, SUA, 11-15 august 1990, Proceedings / A. J. Menezes , S. A. Vanstone - Berlin , Heidelberg , New York, NY , Londra [etc.] : Springer Berlin Heidelberg , 1991. - P. 169-176. - ( Note de curs în Informatică ; Vol. 537) - ISBN 978-3-540-54508-8 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-38424-3_12