Schema de partajare secretă a lui Shamir

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 11 octombrie 2018; verificarea necesită 1 editare .

Schema polinomială de interpolare Lagrange ( schema de partajare secretă Shamir sau schema Shamir ) este o schemă de partajare secretă utilizată pe scară largă în criptografie . Schema lui Shamir permite implementarea  unui prag de partajare a unui mesaj secret (secret) între părți, astfel încât numai oricare sau mai multe părți ( ≤ ) să poată recupera secretul. În acest caz, oricare și mai puține părți nu vor putea restabili secretul.

Istorie

În 1979, criptoanalistul israelian Adi Shamir a propus o schemă de prag pentru partajarea unui secret între părți, care permite partajarea în așa fel încât [1] :

Idee

Sunt necesare puncte pentru a interpola un polinom de grade . De exemplu, două puncte sunt suficiente pentru a defini o linie dreaptă , trei puncte sunt suficiente pentru a defini o parabolă și așa mai departe.

Ideea principală a acestei scheme este că interpolarea este imposibilă dacă se cunoaște un număr mai mic de puncte [1] .

Dacă vrem să împărtășim un secret între oameni în așa fel încât doar o persoană ( ≤ ) să-l poată recupera, îl „ascundem” în formula polinomială de grad . Este posibil să restabiliți acest polinom și secretul original doar prin puncte. Numărul de puncte diferite ale polinomului nu este limitat (în practică, este limitat de mărimea câmpului numeric în care se efectuează calculele) [2] .

Descriere

Faza pregătitoare

Să fie necesar să se partajeze secretul între părți în așa fel încât orice participant să poată restaura secretul (adică este necesar să se implementeze - schema de prag ).

Să alegem un număr prim . Acest număr poate fi comunicat deschis tuturor participanților. Specifică câmpul de dimensiune finală . Construim un polinom de grad peste acest câmp (adică alegem aleatoriu toți coeficienții polinomului, cu excepția ) [3] :

În acest polinom  , acesta este secretul partajat, iar coeficienții rămași  sunt niște numere aleatorii care vor trebui „uitate” după finalizarea procedurii de partajare a secretelor [3] .

Generarea de acțiuni secrete

Acum calculăm „acțiunile” - valorile polinomului construit mai sus, în diferite puncte, și ≠ [3] :

Argumentele polinomului (numerele de secrete) nu trebuie să fie în ordine, principalul lucru este că toate să fie diferite în modulo .

După aceea, fiecărei părți care participă la partajarea secretului i se dă o parte din secret împreună cu un număr . În plus, toate părțile sunt informate cu privire la gradul polinomului și dimensiunea câmpului . Coeficienții aleatori și secretul în sine sunt „uitați” [3] .

Restaurarea secretului

Acum, orice participant, cunoscând coordonatele diferitelor puncte ale polinomului, va putea restabili polinomul și toți coeficienții săi, inclusiv ultimul dintre ei - secretul partajat [3] .

O caracteristică a schemei este că probabilitatea dezvăluirii secretului în cazul acțiunilor arbitrare este estimată ca . Adică, ca urmare a interpolării prin punct, orice element al câmpului cu probabilitate egală poate fi un secret [2] . În același timp, o încercare de a enumera toate umbrele posibile nu va permite atacatorilor să obțină informații suplimentare despre secret.

Reconstructia rectilinie a coeficientilor unui polinom prin solutia unui sistem de ecuatii poate fi inlocuita cu calculul polinomului de interpolare Lagrange (de unde si una dintre denumirile metodei). Formula polinomială va arăta astfel [3] :

unde  sunt coordonatele punctelor polinomului. Toate operațiile se execută și în câmpul final [3] .

Proprietăți

Avantajele acestei scheme de partajare secretă includ [1] :

  1. Ideal: fără redundanță — dimensiunea fiecărei părți a secretului este egală cu dimensiunea secretului.
  2. Scalabilitate: în condiții de schemă, numărul deținătorilor de acțiuni secrete poate crește în continuare până la , unde este dimensiunea câmpului în care se efectuează calculele. În acest caz, numărul de acțiuni necesare pentru obținerea secretului va rămâne neschimbat.
  3. Dinamic: Puteți schimba periodic polinomul utilizat și recalcula umbrele păstrând secretul (membru liber) neschimbat. În acest caz, probabilitatea de încălcare a securității prin scurgeri de umbre va scădea, deoarece pentru a obține un secret, aveți nevoie de umbre obținute pe o versiune a polinomului.
  4. Flexibilitate: în cazurile în care laturile nu sunt egale, schema permite ca acest lucru să fie luat în considerare prin emiterea mai multor umbre pe o parte deodată. De exemplu, codul de lansare al unei rachete balistice poate fi împărțit în funcție de schemă, astfel încât doar trei generali care se adună să poată lansa racheta, sau un președinte, căruia i s-au dat trei umbre deodată la separarea secretului.

Dezavantaje [4] :

  1. Dealer nesigur: În mod implicit, schema presupune că cel care generează și distribuie umbrele este de încredere, ceea ce nu este întotdeauna adevărat.
  2. Nu există nicio verificare a corectitudinii umbrelor laturilor: partea care participă la împărțire nu poate spune cu certitudine că umbra sa este autentică - atunci când se înlocuiește în polinomul original, se obține egalitatea corectă.

Utilizare

Această schemă și-a găsit aplicație în modulele criptografice hardware, unde este utilizată pentru autorizarea multi-utilizator într- o infrastructură cu cheie publică [5] .

De asemenea, schema este utilizată în steganografia digitală pentru transmiterea sub acoperire a informațiilor în imagini digitale [6] [7] [8] [9] , pentru a contracara atacurile prin canale terțe la implementarea algoritmului AES [10] .

În plus, schema Shamir poate fi utilizată pentru a aplica un filigran digital în timpul transmisiei video digitale [11] și pentru a genera o cheie criptografică personală utilizată în sistemele de autentificare biometrică [12] .

Exemplu

Vă permite să împărtășiți secretul „11” între 5 părți. În acest caz, oricare 3 părți ar trebui să poată restabili acest secret. Adică, este necesară implementarea - schema de prag [3] .

Să luăm un număr prim . Să construim un polinom de grad :

În acest polinom  , acesta este secretul partajat, iar coeficienții rămași 7 și 8 sunt niște numere aleatorii care vor trebui „uitate” după finalizarea procedurii de partajare a secretelor.

Acum calculăm coordonatele a 5 puncte diferite:

După aceea, cheile (împreună cu numărul lor, numărul și gradul polinomului ) sunt distribuite părților. Coeficienții aleatori și secretul în sine sunt „uitați”.

Acum oricare 3 participanți vor putea recupera polinomul și toți coeficienții acestuia, inclusiv ultimul, secretul partajat. De exemplu, pentru a recupera un polinom în trei părți , vor trebui să rezolve sistemul:

Evident, cu un număr mai mic de secrete cunoscute, se vor obține mai puține ecuații și sistemul nu va putea fi rezolvat (chiar prin enumerarea exhaustivă a soluțiilor).

Să construim polinomul de interpolare Lagrange :


Obținem polinomul original:

Ultimul coeficient al polinomului -  - este secretul [3] .

Vezi și

Note

  1. 1 2 3 Shamir A. Cum să împărtășești un secret  // Commun . ACM - [New York] : Association for Computing Machinery , 1979. - Vol. 22, Iss. 11. - P. 612-613. — ISSN 0001-0782doi:10.1145/359168.359176
  2. 1 2 Chmora A.L. Criptografia aplicată modernă. - Ed. a II-a, șters .. - M . : Helios ARV, 2002. - S. 123-124. — 256 p. — ISBN 5-85438-046-3 .
  3. 1 2 3 4 5 6 7 8 9 Schneier B. 23.2 Algoritmi de partajare a secretelor. Schema polinoamelor de interpolare Lagrange // Criptografie aplicată. Protocoale, algoritmi, cod sursă în limbaj C = Criptografie aplicată. Protocoale, algoritmi și cod sursă în C. - M. : Triumf, 2002. - S. 588-589. — 816 p. - 3000 de exemplare.  - ISBN 5-89392-055-4 .
  4. Dawson E. , Donovan D. The breadth of Shamir's secret-sharing scheme  (engleză) // Computers & Security - Elsevier BV , 1994. - Vol. 13, Iss. 1, 69-78. — ISSN 0167-4048 ; 1872-6208 - doi:10.1016/0167-4048(94)90097-3
  5. P. Luo, A. Yu-Lun Lin, Z. Wang, M. Karpovsky. Implementarea hardware a Secure Shamir's Secret Sharing Scheme  //  HASE '14 Proceedings of the 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering : Proceeding. - Washington, DC, SUA: IEEE Computer Society, 2014. - P. 193-200. — ISSN 978-1-4799-3466-9 . - doi : 10.1109/HASE.2014.34 .
  6. Chia-Chun Wu, Shang-Juh Kao, Wen-Chung Kuo, Min-Shiang Hwang. Partajare reversibilă a imaginilor secrete pe baza schemei lui Shamir  //  IIH-MSP '09 Proceedings of the 2009 Fifth International Conference on Intelligent Information Ascunderea și Multimedia Signal Processing: Proceeding. - Washington, DC, SUA: IEEE Computer Society, 2009. - P. 1014-1017. - ISBN 978-0-7695-3762-7 . - doi : 10.1109/IIH-MSP.2009.158 .
  7. Ulutas M. , Ulutaş G. , Nabiyev V. V. Medical image security and EPR hiding using Shamir's secret sharing scheme  (en engleză) // J. Syst. Software - Elsevier BV , 2011. - Vol. 84, Iss. 3. - P. 341-353. — ISSN 0164-1212 ; 1873-1228 - doi:10.1016/J.JSS.2010.11.928
  8. S. Salim, S. Suresh, R. Gokul, Reshma S. Application of Shamir Secret Sharing Scheme for Secret Data Hiding and Authentication  //  International Journal of Advanced Research in Computer Science & Technology : Journal. - 2014. - Vol. 2, nr. 2 . - P. 220-224. — ISSN 2347-8446 .
  9. Che-Wei Lee, Wen-Hsiang Tsai. O metodă de ascundere a datelor bazată pe partajarea informațiilor prin imagini PNG pentru aplicații de autentificare a imaginilor color și încorporare a metadatelor  //  Procesare semnal : Jurnal. - Amsterdam, Țările de Jos: Elsevier North-Holland, Inc., 2013. - Vol. 93, nr. 7 . - P. 2010-2025. — ISSN 0165-1684 . - doi : 10.1016/j.sigpro.2013.01.009 .
  10. Goubin L. , Martinelli A. Protecting AES with Shamir's Secret Sharing Scheme  // Cryptographic Hardware and Embedded Systems - CHES 2011 : 13th International Workshop, Nara, Japonia, 28 septembrie - 1 octombrie 2011, Proceedings / B. Preneel , T. Takagi - Berlin , Heidelberg , New York, NY , Londra [etc.] : Springer Science+Business Media , 2011. - P. 79-94. — 524 p. - ( Note de curs în Informatică ; Vol. 6917) - ISBN 978-3-642-23950-2 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/978-3-642-23951-9_6
  11. Xiao S. , Ling H. , Zou F. , Lu Z. Secret Sharing Based Video Watermark Algorithm for Multiuser  // Digital Watermarking : 7th International Workshop , IWDW 2008, Busan, Korea, 10-12 noiembrie 2008 , Selected Papers / H. J. Kim , S. Katzenbeisser , A. T. S. Ho - Berlin , Heidelberg , New York, NY , Londra [etc.] : Springer Berlin Heidelberg , 2009. - P. 303-312. — 472 p. - ( Note de curs în Informatică ; Vol. 5450) - ISBN 978-3-642-04437-3 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/978-3-642-04438-0_26
  12. A. Teoh, D. Ngo, A. Goh. Generare personalizată de chei criptografice bazată pe FaceHashing  //  Calculatoare și securitate : Jurnal. - Elsevier Advanced Technology Publications Oxford, 2004. - Vol. 23, nr. 7 . - P. 606-614. — ISSN 0167-4048 . - doi : 10.1016/j.cose.2004.06.002 .

Literatură

Link -uri

ssss: O implementare a schemei de partajare a secretelor lui Shamir cu o demonstrație interactivă.