Criptosistemul Nakasha-Stern

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 10 octombrie 2019; verificările necesită 4 modificări .

Criptosistemul Nakasha -  Stern este un algoritm criptografic cu cheie publică bazat pe complexitatea computațională a problemei logaritmului discret . Spre deosebire de RSA , este omomorfă în ceea ce privește adunarea și scăderea, nu înmulțirea .

Dezvoltat de David Nakache și Jacques Stern în 1998 [1] în două versiuni: deterministă și probabilistică. Este o îmbunătățire a schemei Benalo [2]  - autorii au reușit să construiască un criptosistem homomorf probabilist cu securitate semantică și să reducă semnificativ raportul dintre dimensiunea textului cifrat și dimensiunea textului simplu .

Există o implementare (python3) a algoritmilor de generare a cheilor, criptare și decriptare [3] .

Comparație cu RSA

Asemănări

Diferențele

Descrierea variantei deterministe a criptosistemului

În general, o versiune deterministă a criptosistemului Nakasha-Stern poate fi descrisă după cum urmează: să fie  un B-neted (B este mic - de obicei un număr de 10 biți), un număr impar, fără pătrat și să fie  un RSA număr (de obicei considerat a  fi un număr de cel puțin 768 de biți) astfel încât împarte și este coprim cu , unde este funcția Euler . În continuare, lăsați comanda . Apoi triplul numerelor formează o cheie privată. Un mesaj mai mic decât este criptat ca . Decriptarea se bazează pe utilizarea divizorilor primi ai numărului [1] .

Generare cheie

Apoi cheia publică este formată dintr-un triplu de numere . Și închis - [1]

Pe măsură ce numărul crește, generarea cheilor devine o operațiune care necesită foarte mult timp, deoarece numărul a trebuie să fie într-un interval adecvat și, în plus, să satisfacă testele de primalitate împreună cu numărul . Pentru a evita această dificultate, autorii propun să se genereze mai întâi numere prime și apoi, prin selectarea numerelor prime auxiliare , să se obțină egalitatea și , unde sunt prime [1] .

Criptare

Criptarea constă într-o singură operație de exponențiere modulo : un mesaj mai mic decât , este criptat ca . Și aici nu sunt folosite în niciun fel . [unu]

Decriptare

Decriptarea se bazează pe teorema chineză a restului . Fie  divizori primi . Algoritmul calculează și apoi decriptează mesajul m folosind teorema chineză a restului [1] .

Pentru a găsi m i dat textul cifrat , algoritmul calculează , care este exact . Aceasta rezultă din următoarele calcule - aici : . Comparând acest rezultat cu toate puterile posibile ale , se poate găsi valoarea lui . Mai formal, funcția de decriptare este reprezentată de pseudocod [1] :

pentru = 1 la :

pentru = 0 la  - 1:

daca :


=Memento chinezesc( , )

Exemplu

Generare cheie pentru

[cm. „Descrierea unei variante deterministe a unui criptosistem”]

conţine
i=1 i=2 i=3 i=4 i=5 i=6
j = 0 unu unu unu unu unu unu
j = 1 1966 6544 1967 6273 6043 372
j = 2 9560 3339 4968 7876 4792 7757
j = 3 9400 1765 8720 262 3397
j = 4 6488 8651 6291 702
j = 5 2782 4691 677 4586
j = 6 9489 1890 8135
j = 7 8537 6878 3902
j = 8 2312 2571 5930
j = 9 7701 7180 6399
j = 10 8291 9771
j = 11 678 9771
j = 12 609
j = 13 7337
j = 14 6892
j = 15 3370
j = 16 3489

Criptare

Decriptare

Apoi, folosind tabelul de mai sus:

iar prin teorema chineză a restului obținem: [1]

Descrierea variantei probabilistice a criptosistemului

O variantă probabilistică a unui criptosistem este o îmbunătățire față de criptosistemele probabilistice anterioare (de exemplu, criptosistemul Benalo).

Criptosistemele anterioare aveau un dezavantaj foarte semnificativ: pentru a cripta un set mic de date (de exemplu, voturi 0, 1 în votul electronic), criptosistemele deterministe, precum RSA, nu sunt potrivite [1] , deoarece pentru decriptare va fi suficient să compara textul cifrat cu elementele criptate ale setului . Această proprietate a criptosistemelor - incapacitatea de a distinge textele cifrate ale diferitelor elemente ale mulțimii S, se numește securitate semantică [5] . Dar cu o combinație de homomorfism și putere semantică, criptosistemele anterioare au început să genereze aproximativ un kilobyte de text cifrat pentru a cripta textul simplu în câțiva biți [1] . În criptosistemul Nakasha-Stern, pe lângă faptul că are proprietățile homomorfismului, puterea semantică, raportul dintre dimensiunea textului cifrat și dimensiunea textului simplu este exact egal cu . Autorii afirmă că este sigur să luați [1] .

Generare cheie

Apoi cheia publică este formată dintr-un triplu de numere . Și închis - [1]

Criptare

Criptarea probabilistică este foarte asemănătoare cu criptarea deterministă . „Descrierea unei variante deterministe a unui criptosistem”] . Și anume, să fie un număr pozitiv ales aleatoriu din inelul de resturi modulo : . Atunci algoritmul este scris ca [1]

Decriptare

Decriptarea în varianta probabilistică a algoritmului de către D. Nakache și J. Stern rămâne neschimbată în comparație cu versiunea deterministă [vezi. „Descrierea unei variante deterministe a unui criptosistem”] . Efectul înmulțirii prin criptare este luat în considerare atunci când ridicăm textul cifrat la puterea . Să facem câteva calcule pentru a verifica acest lucru.

Fie  divizori primi . Algoritmul calculează și apoi decriptează mesajul folosind teorema chineză a restului.

Pentru a găsi , având în vedere textul cifrat , algoritmul calculează , care este exact . Aceasta rezultă din următoarele calcule:

Comparând acest rezultat cu toate puterile posibile ale , se poate găsi valoarea [1]

Aplicație

În majoritatea domeniilor de aplicare ale criptosistemului Nakasha-Stern, se utilizează proprietatea de homomorfism a acestui criptosistem în ceea ce privește adunarea și scăderea [6] [2] :

Atacurile

Atacurile larg cunoscute asupra acestui criptosistem nu sunt documentate. Autorii înșiși încurajează munca de distrugere a criptosistemului. Articolul original a oferit [1] 768 USD cuiva care ar putea descifra textul cifrat și să publice metoda criptoanalizei . Mai jos sunt datele pentru această sarcină.

= 13370fe62d81fde356d1842fd7e5fc1ae5b9b449

bdd00866597e61af4fb0d939283b04d3bb73f91f

0d9d61eb0014690e567ab89aa8df4a9164cd4c63

6df80806c7cdceda5cfda97bf7c42cc702512a49

dd196c8746c0e2f36ca2aee21d4a36a 16


= 0b9cf6a789959ed4f36b701a5065154f7f4f1517

6d731b4897875d26a9e244415e111479050894ba7

c532ada1903c63a84ef7edc29c208a8ddd3fb5f7

d43727b730f20d8e12c17cd5cf9ab4358147cb62

a9fb887bf15204e444ba6ade6132743 16


= 1459b9617b8a9df6bd54341307f1256dafa241bd

65b96ed14078e80dc6116001b83c5f88c7bbcb0b

db237daac2e76df5b415d089baa0fd078516e60e

2cdda7c26b858777604c5fbd19f0711bc75ce00a

5c37e2790b0d9d0ff9625c5ab9c7511d 16

Aici ( — se formează din primele prime, cu excepția lui 2) [1] .

Link -uri

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Jacques, Stern. Un nou criptosistem cu cheie publică bazat pe reziduuri mai mari   // ACM . - 1998. - P. 59–66 . Arhivat din original pe 6 decembrie 2006.
  2. ↑ 1 2 3 A.I. Troubey. Criptare homomorfă: securitate cloud computing și alte aplicații (recenzie)  (rusă)  // Informatică. - 2015. - ianuarie. Arhivat din original pe 26 noiembrie 2018.
  3. Implementarea algoritmilor de criptare, decriptare, generare de chei în criptosistemul Nakashe-Stern . Preluat la 16 decembrie 2018. Arhivat din original la 28 decembrie 2020.
  4. Thomas W. Cusick. O comparație între RSA și criptosistemul cu cheie publică Naccache-Stern  //  Protocoale de securitate. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1997. — P. 111–116 . — ISBN 9783540624943 , 9783540680475 . - doi : 10.1007/3-540-62494-5_10 . Arhivat din original pe 2 decembrie 2018.
  5. S. Goldwasser, S. Micali. Criptare probabilistică  (engleză)  // JCSS. - 1984. - Aprilie. - P. 270-299 .
  6. O scurtă prezentare a criptosistemului homomorf și a aplicațiilor lor // International Journal of Computer Applications. — 2015.
  7. R. L. Rivest, L. Adleman, M. L. Dertouzos. Despre băncile de date și homomorfismele de confidențialitate // Bazele calculului securizat.
  8. W. Diffie, M. Hellman. Noi direcții în criptografie // IEEE Trans. inf. teorie.
  9. J. Alwen [et al.] Despre relația dintre criptarea funcțională, ofuscarea și criptarea complet homomorfă // Cryptography and Coding – 14th IMA Intern. Conf., IMACC-2013..
  10. JD Cohen Benaloh. Alegeri cu vot secret verificabile  (engleză)  // Universitatea Yale: teză de doctorat. — 1988.
  11. B. Pfitzmann, M. Schunter. Amprentare asimetrică  (engleză)  // Spinger-Verlag. - 1996. - P. 84-95 .
  12. Construirea unei scheme securizate de filigranare dependentă de conținut folosind criptarea homomorfă.
  13. O. Goldreich, S. Micali, A. Wigderson. Dovezi care nu dau nimic altceva decât validitatea lor și o metodologie de  proiectare a protocolului criptografic . - 1986. - P. 174-187 .
  14. G. Brassard, D. Chaum, C. Crepeau. Discuții minime de dovezi de cunoștințe  // JCSS. - 1988. Arhivat la 27 septembrie 2011.