Nakasha-Stern kryptosystem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 10 oktober 2019; kontroller kräver 4 redigeringar .

Nakasha- Stern - kryptosystemet är en kryptografisk algoritm med offentlig nyckel baserad på beräkningskomplexiteten hos  det diskreta logaritmproblemet . Till skillnad från RSA är den homomorf med avseende på addition och subtraktion, inte multiplikation .

Utvecklad av David Nakache och Jacques Stern 1998 [1] i två versioner: deterministisk och probabilistisk. Det är en förbättring av Benalo-schemat [2]  - författarna kunde bygga ett probabilistiskt homomorft kryptosystem med semantisk säkerhet och avsevärt minska förhållandet mellan storleken på chiffertexten och storleken på klartexten .

Det finns en implementering (python3) av nyckelgenererings-, krypterings- och dekrypteringsalgoritmer [3] .

Jämförelse med RSA

Likheter

Skillnader

Beskrivning av den deterministiska varianten av kryptosystemet

I allmänhet kan en deterministisk version av Nakasha-Stern-kryptosystemet beskrivas på följande sätt: låt vara  ett B-slät (B är litet - vanligtvis ett 10-bitars tal), ett udda, kvadratfritt tal, och låt vara  ett RSA nummer (Tänks vanligen  vara minst 768-bitars tal) så att delar och är coprime med , där är Euler-funktionen . Låt sedan beställa . Sedan bildar trippeln av siffror en privat nyckel. Ett meddelande mindre än är krypterat som . Dekryptering är baserad på användningen av primtalsdelare för talet [1] .

Nyckelgenerering

Sedan bildas den publika nyckeln av en trippel av siffror . Och stängd - [1]

När antalet växer blir nyckelgenerering en mycket tidskrävande operation, eftersom siffran a måste ligga inom ett lämpligt intervall och dessutom uppfylla primalitetstesten tillsammans med numret . För att kringgå denna svårighet, föreslår författarna att först generera primtal och sedan, genom att välja hjälpprimtal , uppnå jämlikhet och , där är primtal [1] .

Kryptering

Kryptering består av en enda exponentieringsoperation modulo : ett meddelande som är mindre än , krypteras som . Och här används de inte på något sätt . [ett]

Dekryptering

Dekrypteringen är baserad på den kinesiska restsatsen . Låt vara  primtalare . Algoritmen beräknar och dekrypterar sedan meddelandet m med hjälp av den kinesiska restsatsen [1] .

För att hitta m i givet chiffertexten , beräknar algoritmen , vilket är exakt . Detta följer av följande beräkningar - här : . Genom att jämföra detta resultat med alla möjliga krafter av , kan man hitta värdet av . Mer formellt representeras dekrypteringsfunktionen av pseudokod [1] :

för = 1 till :

för = 0 till  - 1:

om :


= ChineseReminder( , )

Exempel

Nyckelgenerering för

[centimeter. "Beskrivning av en deterministisk variant av ett kryptosystem"]

innehåller
i=1 i=2 i=3 i=4 i=5 i=6
j = 0 ett ett ett ett ett ett
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

Använd sedan tabellen ovan:

och av den kinesiska restsatsen får vi: [1]

Beskrivning av den probabilistiska varianten av kryptosystemet

En probabilistisk variant av ett kryptosystem är en förbättring av tidigare probabilistiska kryptosystem (till exempel Benalo-kryptosystemet).

Tidigare kryptosystem hade en mycket betydande nackdel: för att kryptera en liten uppsättning data (till exempel rösterna 0, 1 vid elektronisk röstning) är deterministiska kryptosystem, såsom RSA, inte lämpliga [1] , eftersom det för dekryptering kommer att räcka för att jämför chiffertexten med de krypterade elementen i uppsättningen . Denna egenskap hos kryptosystem - oförmågan att särskilja chiffertexter av olika element i mängden S, kallas semantisk säkerhet [5] . Men med en kombination av homomorfism och semantisk styrka började tidigare kryptosystem generera ungefär en kilobyte chiffertext för att kryptera klartexten i några bitar [1] . I Nakasha-Stern-kryptosystemet, förutom att ha egenskaperna homomorfism, semantisk styrka, är förhållandet mellan storleken på chiffertexten och storleken på klartexten exakt lika med . Författarna uppger att det är säkert att ta [1] .

Nyckelgenerering

Sedan bildas den publika nyckeln av en trippel av siffror . Och stängd - [1]

Kryptering

Probabilistisk kryptering är mycket lik deterministisk kryptering . "Beskrivning av en deterministisk variant av ett kryptosystem"] . Låt oss nämligen vara ett slumpmässigt valt positivt tal från ringen av rester modulo : . Då skrivs algoritmen som [1]

Dekryptering

Dekryptering i den probabilistiska versionen av algoritmen av D. Nakache och J. Stern förblir oförändrad i jämförelse med den deterministiska versionen [se. "Beskrivning av en deterministisk variant av ett kryptosystem"] . Effekten av att multiplicera med kryptering tas med i beräkningen när vi höjer chiffertexten till makten . Låt oss göra några beräkningar för att verifiera detta.

Låt vara  primtalare . Algoritmen beräknar och dekrypterar sedan meddelandet med den kinesiska restsatsen.

För att hitta , med tanke på chiffertexten , beräknar algoritmen , vilket är exakt . Detta följer av följande beräkningar:

Genom att jämföra detta resultat med alla möjliga potenser av , kan man hitta värdet [1]

Applikation

I den rådande majoriteten av tillämpningsområden för Nakasha-Stern-kryptosystemet används egenskapen homomorfism för detta kryptosystem med avseende på addition och subtraktion [6] [2] :

Attacker

Allmänt kända attacker på detta kryptosystem är inte dokumenterade. Författarna själva uppmuntrar arbetet med att bryta kryptosystemet. Den ursprungliga artikeln erbjöd [1] $768 till någon som kunde dechiffrera chiffertexten och publicera kryptoanalysmetoden . Nedan finns uppgifterna för denna uppgift.

= 13370fe62d81fde356d1842fd7e5fc1ae5b9b449

bdd00866597e61af4fb0d939283b04d3bb73f91f

0d9d61eb0014690e567ab89aa8df4a9164cd4c63

6df80806c7cdceda5cfda97bf7c42cc702512a49

dd196c8746c0e2f36ca2aee21d4a36a 16


= 0b9cf6a789959ed4f36b701a5065154f7f4f1517

6d731b4897875d26a9e244415e111479050894ba7

c532ada1903c63a84ef7edc29c208a8ddd3fb5f7

d43727b730f20d8e12c17cd5cf9ab4358147cb62

a9fb887bf15204e444ba6ade6132743 16


= 1459b9617b8a9df6bd54341307f1256dafa241bd

65b96ed14078e80dc6116001b83c5f88c7bbcb0b

db237daac2e76df5b415d089baa0fd078516e60e

2cdda7c26b858777604c5fbd19f0711bc75ce00a

5c37e2790b0d9d0ff9625c5ab9c7511d 16

Här ( — bildas från de första primtal, förutom 2) [1] .

Länkar

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Jacques, Stern. Ett nytt kryptosystem med offentlig nyckel baserat på högre rester   // ACM . - 1998. - S. 59–66 . Arkiverad från originalet den 6 december 2006.
  2. ↑ 1 2 3 A.I. Troubey. Homomorphic Encryption: Cloud Computing Security and Other Applications (Review)  (ryska)  // Informatik. - 2015. - Januari. Arkiverad från originalet den 26 november 2018.
  3. Implementering av kryptering, dekryptering, nyckelgenereringsalgoritmer i Nakashe-Stern-kryptosystemet . Hämtad 16 december 2018. Arkiverad från originalet 28 december 2020.
  4. Thomas W. Cusick. En jämförelse mellan RSA och 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 . Arkiverad från originalet den 2 december 2018.
  5. S. Goldwasser, S. Micali. Probabilistisk kryptering  (engelska)  // JCSS. - 1984. - April. - S. 270-299 .
  6. En kort översikt av homomorfiska kryptosystem och deras tillämpningar // International Journal of Computer Applications. — 2015.
  7. R. L. Rivest, L. Adleman, M. L. Dertouzos. Om databanker och integritetshomomorfismer // Grunderna för säker beräkning.
  8. W. Diffie, M. Hellman. Nya riktningar inom kryptografi // IEEE Trans. inf. teori.
  9. J. Alwen [et al.] Om förhållandet mellan funktionell kryptering, obfuskation och fullständigt homomorf kryptering // Kryptografi och kodning – 14:e IMA Intern. Conf., IMACC-2013..
  10. JD Cohen Benaloh. Verifierbara hemliga val  (engelska)  // Yale University: Ph-D avhandling. — 1988.
  11. B. Pfitzmann, M. Schunter. Asymmetrisk fingeravtryck  (engelska)  // Spinger-Verlag. - 1996. - S. 84-95 .
  12. Konstruera säkert innehållsberoende vattenmärkningsschema med hjälp av homomorfisk kryptering.
  13. O. Goldreich, S. Micali, A. Wigderson. Bevis som inte ger något annat än deras giltighet och en metod för kryptografisk  protokolldesign . - 1986. - S. 174-187 .
  14. G. Brassard, D. Chaum, C. Crepeau. Minsta diskussionsbevis för kunskap  // JCSS. - 1988. Arkiverad 27 september 2011.