Nakasha-Stern kryptosystem

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 10. oktober 2019; checks kræver 4 redigeringer .

Nakasha-  Stern kryptosystem er en offentlig nøgle kryptografisk algoritme baseret på beregningskompleksiteten af ​​det diskrete logaritmeproblem . I modsætning til RSA er den homomorf med hensyn til addition og subtraktion, ikke multiplikation .

Udviklet af David Nakache og Jacques Stern i 1998 [1] i to versioner: deterministisk og probabilistisk. Det er en forbedring af Benalo-skemaet [2]  - forfatterne var i stand til at bygge et probabilistisk homomorfisk kryptosystem med semantisk sikkerhed og signifikant reducere forholdet mellem størrelsen af ​​chifferteksten og størrelsen af ​​klarteksten .

Der er en implementering (python3) af nøglegenererings-, krypterings- og dekrypteringsalgoritmer [3] .

Sammenligning med RSA

Ligheder

Forskelle

Beskrivelse af den deterministiske variant af kryptosystemet

Generelt kan en deterministisk version af Nakasha-Stern-kryptosystemet beskrives som følger: lad være  en B-glat (B er lille - normalt et 10-bit tal), et ulige, kvadratfrit tal, og lad være  et RSA tal (normalt menes at  være mindst 768-bit tal) sådan at dividere og er coprime med , hvor er Euler-funktionen . Lad derefter bestille . Så danner det tredobbelte af tal en privat nøgle. En besked mindre end er krypteret som . Dekryptering er baseret på brugen af ​​prime divisorer af tallet [1] .

Nøglegenerering

Derefter dannes den offentlige nøgle af en tripel af tal . Og lukket - [1]

Efterhånden som antallet vokser, bliver nøglegenerering en meget tidskrævende operation, fordi tallet a skal være i et passende interval og derudover opfylde primalitetstestene sammen med tallet . For at omgå denne vanskelighed foreslår forfatterne først at generere primtal og derefter ved at vælge hjælpeprimtal opnå lighed og , hvor er primtal [1] .

Kryptering

Kryptering består af en enkelt eksponentieringsoperation modulo : en besked mindre end , krypteres som . Og her bliver de ikke brugt på nogen måde . [en]

Dekryptering

Dekrypteringen er baseret på den kinesiske restsætning . Lad være  prime divisorer . Algoritmen beregner og dekrypterer derefter meddelelsen m ved hjælp af den kinesiske restsætning [1] .

For at finde m i givet chifferteksten , beregner algoritmen , hvilket er nøjagtigt . Dette følger af følgende beregninger - her : . Ved at sammenligne dette resultat med alle mulige potenser af , kan man finde værdien af ​​. Mere formelt er dekrypteringsfunktionen repræsenteret af pseudokode [1] :

for = 1 til :

for = 0 til  - 1:

hvis :


= KinesiskPåmindelse( , )

Eksempel

Nøglegenerering til

[cm. "Beskrivelse af en deterministisk variant af et kryptosystem"]

indeholder
i=1 i=2 i=3 i=4 i=5 i=6
j = 0 en en en en en en
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

Kryptering

Dekryptering

Brug derefter tabellen ovenfor:

og ved den kinesiske restsætning får vi: [1]

Beskrivelse af den probabilistiske variant af kryptosystemet

En probabilistisk variant af et kryptosystem er en forbedring af tidligere sandsynlige kryptosystemer (for eksempel Benalo-kryptosystemet).

Tidligere kryptosystemer havde en meget væsentlig ulempe: at kryptere et lille sæt data (for eksempel stemmer 0, 1 ved elektronisk afstemning), er deterministiske kryptosystemer, såsom RSA, ikke egnede [1] , fordi det til dekryptering vil være nok til at sammenligne chifferteksten med de krypterede elementer i sættet . Denne egenskab ved kryptosystemer - manglende evne til at skelne chiffertekster af forskellige elementer i sættet S, kaldes semantisk sikkerhed [5] . Men med en kombination af homomorfi og semantisk styrke begyndte tidligere kryptosystemer at generere omkring en kilobyte chiffertekst for at kryptere klarteksten i nogle få bits [1] . I Nakasha-Stern-kryptosystemet er forholdet mellem størrelsen af ​​chifferteksten og størrelsen af ​​klarteksten, ud over at have egenskaberne homomorfi, semantisk styrke, nøjagtigt lig med . Forfatterne oplyser, at det er sikkert at tage [1] .

Nøglegenerering

Derefter dannes den offentlige nøgle af en tripel af tal . Og lukket - [1]

Kryptering

Probabilistisk kryptering minder meget om deterministisk kryptering . "Beskrivelse af en deterministisk variant af et kryptosystem"] . Nemlig, lad være et tilfældigt valgt positivt tal fra ringen af ​​rester modulo : . Derefter skrives algoritmen som [1]

Dekryptering

Dekryptering i den probabilistiske version af algoritmen af ​​D. Nakache og J. Stern forbliver uændret i sammenligning med den deterministiske version [se. "Beskrivelse af en deterministisk variant af et kryptosystem"] . Effekten af ​​at gange med i kryptering tages i betragtning, når vi hæver chifferteksten til magten . Lad os lave nogle beregninger for at bekræfte dette.

Lad være  prime divisorer . Algoritmen beregner og dekrypterer derefter meddelelsen ved hjælp af den kinesiske restsætning.

For at finde , givet chifferteksten , beregner algoritmen , hvilket er nøjagtigt . Dette følger af følgende beregninger:

Ved at sammenligne dette resultat med alle mulige potenser af , kan man finde værdien [1]

Ansøgning

I det fremherskende flertal af anvendelsesområder for Nakasha-Stern-kryptosystemet bruges egenskaben for homomorfi af dette kryptosystem med hensyn til addition og subtraktion [6] [2] :

Angreb

Alment kendte angreb på dette kryptosystem er ikke dokumenteret. Forfatterne opfordrer selv til at arbejde med at bryde kryptosystemet. Den originale artikel tilbød [1] $768 til en person, der kunne dechifrere chifferteksten og udgive kryptoanalysemetoden . Nedenfor er dataene for denne opgave.

= 13370fe62d81fde356d1842fd7e5fc1ae5b9b449

bdd00866597e61af4fb0d939283b04d3bb73f91f

0d9d61eb0014690e567ab89aa8df4a9164cd4c63

6df80806c7cdceda5cfda97bf7c42cc702512a49

dd196c8746c0e2f36ca2aee21d4a36a 16


= 0b9cf6a789959ed4f36b701a5065154f7f4f1517

6d731b4897875d26a9e244415e111479050894ba7

c532ada1903c63a84ef7edc29c208a8ddd3fb5f7

d43727b730f20d8e12c17cd5cf9ab4358147cb62

a9fb887bf15204e444ba6ade6132743 16


= 1459b9617b8a9df6bd54341307f1256dafa241bd

65b96ed14078e80dc6116001b83c5f88c7bbcb0b

db237daac2e76df5b415d089baa0fd078516e60e

2cdda7c26b858777604c5fbd19f0711bc75ce00a

5c37e2790b0d9d0ff9625c5ab9c7511d 16

Her ( — er dannet af de første primtal, bortset fra 2) [1] .

Links

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Jacques, Stern. Et nyt offentlig nøglekryptosystem baseret på højere rester   // ACM . - 1998. - S. 59–66 . Arkiveret fra originalen den 6. december 2006.
  2. ↑ 1 2 3 A.I. Troubey. Homomorf kryptering: Cloud Computing Security og andre applikationer (gennemgang)  (russisk)  // Informatik. - 2015. - Januar. Arkiveret fra originalen den 26. november 2018.
  3. Implementering af kryptering, dekryptering, nøglegenereringsalgoritmer i Nakashe-Stern-kryptosystemet . Hentet 16. december 2018. Arkiveret fra originalen 28. december 2020.
  4. Thomas W. Cusick. En sammenligning af RSA og Naccache-Stern public-key kryptosystem  //  Security Protocols. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1997. — S. 111–116 . — ISBN 9783540624943 , 9783540680475 . - doi : 10.1007/3-540-62494-5_10 . Arkiveret fra originalen den 2. december 2018.
  5. S. Goldwasser, S. Micali. Probabilistisk kryptering  (engelsk)  // JCSS. - 1984. - April. - S. 270-299 .
  6. En kort oversigt over homomorfe kryptosystem og deres applikationer // International Journal of Computer Applications. – 2015.
  7. R. L. Rivest, L. Adleman, M. L. Dertouzos. Om databanker og privatlivshomomorfier // Fundamenter for sikker beregning.
  8. W. Diffie, M. Hellman. Nye retninger i kryptografi // IEEE Trans. inf. teori.
  9. J. Alwen [et al.] Om forholdet mellem funktionel kryptering, sløring og fuldt homomorf kryptering // Cryptography and Coding – 14th IMA Intern. Conf., IMACC-2013..
  10. JD Cohen Benaloh. Verificable Secret-Ballot Elections  (engelsk)  // Yale University: Ph-D afhandling. - 1988.
  11. B. Pfitzmann, M. Schunter. Asymmetrisk fingeraftryk  (engelsk)  // Spinger-Verlag. - 1996. - S. 84-95 .
  12. Konstruktion af et sikkert indholdsafhængigt vandmærkeskema ved hjælp af homomorfisk kryptering.
  13. O. Goldreich, S. Micali, A. Wigderson. Beviser, der ikke giver andet end deres gyldighed og en metode til kryptografisk  protokoldesign . - 1986. - S. 174-187 .
  14. G. Brassard, D. Chaum, C. Crepeau. Minimum diskussionsbevis for viden  // JCSS. - 1988. Arkiveret den 27. september 2011.