Niederreiter 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 16. marts 2019; checks kræver 3 redigeringer .

Niederreiter  -kryptosystemet er et offentlig -nøgle -kryptosystem baseret på teorien om algebraisk kodning , udviklet i 1986 af Harald Niederreiter [1] . I modsætning til McEliece-kryptosystemet bruger Niederreiter -kryptosystemet en kodekontrolmatrix . Niederreiter-kryptosystemet tillader oprettelse af digitale signaturer og er en kandidat til post-kvantekryptografi , da det er modstandsdygtigt over for angreb ved hjælp af Shor-algoritmen .

Algoritmen, der bruges i Niederreiter-kryptosystemet, er baseret på vanskeligheden ved at afkode komplette lineære koder .

På trods af at dette kryptosystem er blevet hacket, forbliver nogle af dets modifikationer krypto -resistente [2]

Operationsalgoritme

Nøglegenerering

  1. Alice vælger en fejlkorrigerende kode frem for Galois-feltet . Denne kode skal have en effektiv afkodningsalgoritme [3] .
  2. Alice genererer en kodekontrolmatrix .
  3. Alice vælger en tilfældig ikke-degenereret matrix frem for feltet og en eller anden permutationsmatrix [3] .
  4. Alice beregner matrixen
  5. Alices offentlige nøgle er . Den private nøgle er sættet .

Beskedkryptering

I dette tilfælde er meddelelser alle vektorer med koordinater fra feltet med en vægt, der ikke overstiger . Meddelelser er således alle mulige fejl, som den valgte kode er i stand til at rette [2] . Antag, at Bob vil sende en besked til Alice, hvis offentlige nøgle er .

  1. Bob præsenterer sit budskab som en binær sekvens af længde , med en vægt, der ikke overstiger .
  2. Bob beregner chifferteksten ved hjælp af formlen: . Således er chifferteksten i Niederreiters kryptosystem det støjende krypterede fejlvektorsyndrom [ 2] .

Meddelelsesafkodning

Efter at have modtaget beskeden gør Alice følgende:

  1. Alice beregner . Bemærk, at da permutationsmatricen er  , falder vægten sammen med vægten og ikke overstiger , og derfor kan afkodningsalgoritmen for finde fejlvektoren svarende til syndromet [3] .
  2. Alice bruger en hurtig afkodningsalgoritme til at finde koden [3] .
  3. Alice beregner beskeden .

Det originale kryptosystem og dets modifikationer

I det originale kryptosystem foreslog Niederreiter at bruge Reed-Solomon-koder og brugte ikke en permutationsmatrix . Et sådant system viste sig dog at være ustabilt og blev hacket af Sidelnikov og Shestakov i 1992 [4] . Forfatterne har vist, at det er muligt at gætte strukturen af ​​den private nøgle fra den offentlige nøgle og vælge sådanne matricer og , at . Derefter blev det foreslået at bruge en permutationsmatrix for at øge systemets kryptografiske styrke . Derudover dukkede forskellige ændringer af systemet op, for eksempel:

Fordele og ulemper ved systemet

Fordele

Ulemper

Tabellen nedenfor viser forskellige parametre for McEliece, Niederreiter og RSA kryptosystemer, der tydeligt viser deres fordele og ulemper [6] .

McEliece n=1024, k=524, t=101 binær kode Niederreiter kryptosystem n=1024, k=524, t=101 binær kode RSA 1024-bit moduler e=17
Offentlig nøglestørrelse i bytes 67072 32750 256
Antal bits brugbar information 512 276 1024
Antal binære operationer til kryptering 514 halvtreds 2402
Antal binære operationer til dekryptering 5140 7863 738112

Ækvivalens af kryptografisk sikkerhed for Niederreiter-systemet og McEliece-systemet

Som vist i det originale papir om Sidelnikov-systemet [7] kan angreb på Niederreiter-systemet polynomielt reduceres til at angribe McEliece-systemet og omvendt.

Lad syndromet være kendt . Så kan vi beregne en vektor med nogle sådan, at . Vektoren vil blive behandlet som en chiffertekst i McEliece-systemet. Hvis der findes et kryptografisk angreb med kompleksitet for McEliece-systemet, det vil sige en algoritme til beregning af vektoren , som er hemmelig information i dette system, er kendt, så kan vektoren , som er en hemmelighed for Niederreiter-systemet, repræsenteres som . Således er kompleksiteten af ​​definitionen den samme som kompleksiteten af ​​definitionen af ​​.

Hvis et kryptoangreb med kompleksitet for Niederreiter-systemet er kendt, så er det muligt, ved at bruge vektoren som chiffertekst , at beregne vektorerne og .

Opbygning af en digital signatur

I 2001 viste Nicolas Courtois, Matthew Finiaz og Nicolas Sandrier [8] , at Niederreiter-kryptosystemet kan bruges til at skabe en elektronisk signatur .

Meddelelsessignatur

Lad være  den offentlige nøgle til Niederreiter-kryptosystemet ved hjælp af en -lineær kode. For at underskrive et dokument skal du:

  1. Vælg en hash-funktion , der giver tegn ved udgangen. Resultatet af en given hashfunktion kan således repræsenteres som et syndrom og forsøges afkodet;
  2. Beregn hash ;
  3. For hver beregn ;
  4. Find det mindste tal , således at syndromet vil være muligt at afkode. Lad være  resultatet af afkodning af syndromet ;
  5. Dokumentets underskrift er et par .

Signaturbekræftelse

  1. Beregn ;
  2. Beregn ;
  3. Sammenlign og : hvis de matcher, er signaturen korrekt.

Et eksempel på hvordan systemet fungerer

Lad Reed-Solomon-koden over Galois-feltet konstrueret modulo det irreducible polynomium vælges til kodning med det genererende polynomium

Så er den genererende matrix for koden:

Kodekontrolmatrix:

Bemærk, at afstanden til denne kode , det vil sige antallet af korrigerbare fejl .

Nøglegenerering

Lad matrixen vælges . Så dens omvendte matrix

Lad en permutationsmatrix vælges

I dette tilfælde vil systemets offentlige nøgle være matrixen:

Kryptering

Lad den valgte meddelelse blive repræsenteret som en vægtvektor på 2.

Krypteret besked:

Dechifrering

Accepteret vektor

Til det beregner vi det afkodbare syndrom

Ved at bruge Reed-Solomon afkodningsalgoritmen afkoder vi .

Få en vektor

Derefter beregner vi den oprindelige vektor

Se også

Noter

  1. Niederreiter H. Kryptosystemer og algebraisk kodningsteori  (engelsk) // Problems of Control and Information Theory - 1986. - Vol. 15, Iss. 2. - S. 159-166.
  2. 1 2 3 4 Samokhina M. A. Ændringer af Niederreiter-kryptosystemet, deres sikkerhed og praktiske anvendelser // Proceedings of the Moscow Institute of Physics and Technology - M. : 2009. - V. 1, no. 2. - S. 121-127. — ISSN 2072-6759
  3. 1 2 3 4 5 Khan E. , Gabidulin E. , Honary B. , Ahmed H. Modificeret Niederreiter-type af GPT-kryptosystem baseret på reducerbare  rangkoder // Des . Koder Cryptogr. — Springer US , Springer Science+Business Media , 2014. — Vol. 70, Iss. 1. - S. 231-239. — ISSN 0925-1022 ; 1573-7586 - doi:10.1007/S10623-012-9757-4
  4. Sidelnikov V. M. , Shestakov S. O. Om et krypteringssystem baseret på generaliserede Reed–Solomon-koder // Diskret matematik. matematik. - 1992. - Bind 4, udgave. 3. - S. 57-63. — ISSN 2305-3143 ; 0234-0860
  5. Gabidulin E. M. Teori om koder med maksimal rangdistance // Probl. overførsel af information - 1985. - T. 21, no. 1. - S. 3-16.
  6. 1 2 3 Canteaut A. , Sendrier N. Cryptanalysis of the Original McEliece Cryptosystem  // Advances in Cryptology - ASIACRYPT 1998 : International Conference on the Theory and Applications of Cryptology and Information Security, Beijing, Kina, 18.- 22. oktober 1998, Proceedings - Berlin : Springer Berlin Heidelberg , 1998. - S. 187-199. - ( Lecture Notes in Computer Science ; Vol. 1514) - ISBN 978-3-540-65109-3 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-49649-1_16
  7. Sidelnikov V. M. Åben kryptering baseret på binære Reed-Muller-koder // Diskr. matematik. - 1994. - V. 4, udgave. 3. - S. 191-207. — ISSN 2305-3143 ; 0234-0860
  8. Courtois N. , Finiasz M. , Sendrier N. How to Achieve a McEliece-Based Digital Signature Scheme  // Advances in Cryptology - ASIACRYPT 2001 : 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australien, December 9-13, 2001, Proceedings / C. Boyd - London : Springer Science + Business Media , 2001. - S. 157-174. - ( Lecture Notes in Computer Science ; Vol. 2248) - ISBN 978-3-540-42987-6 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-45682-1

Litteratur