Niederreiterin salausjärjestelmä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 16. maaliskuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .

Niederreiterin  salausjärjestelmä on julkisen avaimen salausjärjestelmä , joka perustuu algebrallisen koodauksen teoriaan ja jonka Harald Niederreiter kehitti vuonna 1986 [1] . Toisin kuin McEliece-salausjärjestelmä , Niederreiter-salausjärjestelmä käyttää koodintarkistusmatriisia . Niederreiter-salausjärjestelmä mahdollistaa digitaalisten allekirjoitusten luomisen ja on ehdokas postkvanttisalaukseen , koska se kestää Shor-algoritmia käyttäviä hyökkäyksiä .

Niederreiterin salausjärjestelmässä käytetty algoritmi perustuu kokonaisten lineaaristen koodien dekoodauksen vaikeuteen .

Huolimatta siitä, että tämä kryptojärjestelmä on hakkeroitu, jotkin sen modifikaatiot ovat edelleen kryptonkestäviä [2]

Toimintaalgoritmi

Avaimen luominen

  1. Alice valitsee virheenkorjauskoodin Galois -kentän päälle . Tällä koodilla on oltava tehokas dekoodausalgoritmi [3] .
  2. Alice luo koodintarkistusmatriisin .
  3. Alice valitsee satunnaisen ei- degeneroituneen matriisin kentän ja jonkin permutaatiomatriisin sijaan [3] .
  4. Alice laskee matriisin
  5. Liisa julkinen avain on . Yksityinen avain on asetettu .

Viestin salaus

Tässä tapauksessa viestit ovat kaikki vektoreita, joiden koordinaatit kentästä , jonka paino on enintään . Viestit ovat siis kaikki mahdollisia virheitä, jotka valittu koodi pystyy korjaamaan [2] . Oletetaan, että Bob haluaa lähettää viestin Alicelle, jonka julkinen avain on .

  1. Bob esittää viestinsä binaarisena sekvenssinä , jonka pituus ei ylitä .
  2. Bob laskee salatekstin kaavalla: . Siten Niederreiterin salausjärjestelmän salateksti on meluisan salausvirhevektorin syndrooma [2] .

Viestin dekoodaus

Saatuaan viestin Alice tekee seuraavaa:

  1. Alice laskee . Huomaa, että koska permutaatiomatriisi  on , paino on sama kuin paino eikä ylitä , ja siksi dekoodausalgoritmi voi löytää oireyhtymää vastaavan virhevektorin [3] .
  2. Alice käyttää nopeaa dekoodausalgoritmia koodin löytämiseen [3] .
  3. Alice laskee viestin .

Alkuperäinen kryptojärjestelmä ja sen muutokset

Alkuperäisessä kryptojärjestelmässä Niederreiter ehdotti Reed-Solomon-koodien käyttöä eikä käyttänyt permutaatiomatriisia . Tällainen järjestelmä osoittautui kuitenkin epävakaaksi, ja Sidelnikov ja Shestakov hakkeroivat sen vuonna 1992 [4] . Kirjoittajat ovat osoittaneet, että julkisesta avaimesta on mahdollista arvata yksityisen avaimen rakenne ja valita sellaiset matriisit ja , että . Sen jälkeen järjestelmän kryptografisen vahvuuden lisäämiseksi ehdotettiin permutaatiomatriisin käyttöä . Lisäksi järjestelmään ilmestyi erilaisia ​​muutoksia, esimerkiksi:

Järjestelmän edut ja haitat

Edut

Haitat

Alla olevassa taulukossa on useita McEliece-, Niederreiter- ja RSA-salausjärjestelmien parametreja, jotka osoittavat selkeästi niiden edut ja haitat [6] .

McEliece n = 1024, k = 524, t = 101 binäärikoodi Niederreiterin salausjärjestelmä n = 1024, k = 524, t = 101 binäärikoodi RSA 1024-bittiset moduulit e=17
Julkisen avaimen koko tavuissa 67072 32750 256
Bittien määrä hyödyllistä tietoa 512 276 1024
Binäärioperaatioiden määrä salausta varten 514 viisikymmentä 2402
Binäärioperaatioiden määrä salauksen purkamista varten 5140 7863 738112

Niederreiter- ja McEliece-järjestelmän salaussuojauksen vastaavuus

Kuten alkuperäisessä Sidelnikov-järjestelmää käsittelevässä artikkelissa [7] käy ilmi , Niederreiter-järjestelmää vastaan ​​hyökkääminen voidaan polynomiaalisesti pelkistää McEliece-järjestelmän hyökkäämiseksi ja päinvastoin.

Olkoon syndrooma tiedossa . Sitten voimme laskea vektorin jollain sellaisella, että . Vektoria käsitellään salatekstinä McEliece-järjestelmässä. Jos löydetään McEliece-järjestelmälle monimutkainen kryptografinen hyökkäys , eli algoritmi vektorin laskemiseksi , joka on salainen tieto tässä järjestelmässä, voidaan esittää vektori , joka on salaisuus Niederreiter-järjestelmälle. kuin . Siten määritelmän monimutkaisuus on sama kuin määritelmän monimutkaisuus .

Jos tunnetaan Niederreiter-järjestelmän monimutkainen kryptohyökkäys , on mahdollista laskea vektorit ja vektorit salatekstinä käyttämällä vektoria .

Digitaalisen allekirjoituksen rakentaminen

Vuonna 2001 Nicolas Courtois, Matthew Finiaz ja Nicolas Sandrier osoittivat [8] , että Niederreiterin salausjärjestelmää voidaan käyttää sähköisen allekirjoituksen luomiseen .

Viestin allekirjoitus

Olkoon  Niederreiterin salausjärjestelmän julkinen avain lineaarista koodia käyttäen. Allekirjoittaaksesi asiakirjan sinun on:

  1. Valitse hash-funktio , joka antaa merkkejä ulostulossa. Siten tietyn hash-funktion tulos voidaan esittää oireyhtymänä ja yrittää dekoodata;
  2. Laske hash ;
  3. Jokaiselle laskelma ;
  4. Etsi pienin luku , jolla oireyhtymä on mahdollista purkaa. Olkoon  oireyhtymän dekoodauksen tulos ;
  5. Asiakirjan allekirjoitus on pari .

Allekirjoituksen vahvistus

  1. Laske ;
  2. Laske ;
  3. Vertaa ja : jos ne täsmäävät, allekirjoitus on oikea.

Esimerkki järjestelmän toiminnasta

Olkoon Reed-Solomon-koodi Galois-kentän yli konstruoitu modulo redusoitumaton polynomi valitaan koodaamaan generoivalla polynomilla

Sitten koodin generoiva matriisi on:

Koodin tarkistusmatriisi:

Huomaa, että tämän koodin etäisyys eli korjattavien virheiden määrä .

Avaimen luominen

Olkoon matriisi valittu . Sitten sen käänteismatriisi

Valitaan permutaatiomatriisi

Tässä tapauksessa järjestelmän julkinen avain on matriisi:

Salaus

Esitetään valittu viesti painovektorina 2.

Salattu viesti:

Salauksen purku

Hyväksytty vektori

Sitä varten laskemme dekoodattavan oireyhtymän

Dekoodaamme Reed-Solomon-dekoodausalgoritmin avulla .

Hanki vektori

Sitten lasketaan alkuperäinen vektori

Katso myös

Muistiinpanot

  1. Niederreiter H. Knapsack-tyyppiset salausjärjestelmät ja algebrallinen koodausteoria  (englanti) // Control and Information Theory -ongelmat - 1986. - Vol. 15, Iss. 2. - s. 159-166.
  2. 1 2 3 4 Samokhina M. A. Niederreiterin salausjärjestelmän modifikaatiot, niiden turvallisuus ja käytännön sovellukset // Moskovan fysiikan ja tekniikan instituutin julkaisut - 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. Muokattu Niederreiter-tyyppinen GPT-salausjärjestelmä, joka perustuu pelkistettäviin  arvokoodeihin // Des . Koodit Cryptogr. — Springer US , Springer Science+Business Media , 2014. — Voi. 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. Yleistettyihin Reed-Solomon -koodeihin perustuvasta salausjärjestelmästä // Discrete Math. matematiikka. - 1992. - Vol. 4, numero. 3. - S. 57-63. — ISSN 2305-3143 ; 0234-0860
  5. Gabidulin E. M. Teoria koodeista, joilla on maksimiarvoetäisyys // Probl. tiedon siirto - 1985. - T. 21, no. 1. - S. 3-16.
  6. 1 2 3 Canteaut A. , Sendrier N. Alkuperäisen McEliece-salausjärjestelmän kryptaanalyysi  // Advances in Cryptology - ASIACRYPT 1998 : Kansainvälinen konferenssi kryptologian ja tietoturvan teoriasta ja sovelluksista, Peking, Kiina, 18.-22.10., 19. Proceedings - Berlin : Springer Berlin Heidelberg , 1998. - P. 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. Avoin salaus perustuu Reed-Muller-binäärikoodeihin // Diskr. matematiikka. - 1994. - V. 4, numero. 3. - S. 191-207. — ISSN 2305-3143 ; 0234-0860
  8. Courtois N. , Finiasz M. , Sendrier N. Kuinka saavuttaa McEliece-pohjainen digitaalinen allekirjoitusjärjestelmä  // Advances in Cryptology - ASIACRYPT 2001 : 7. kansainvälinen konferenssi kryptologian ja tietoturvan teoriasta ja soveltamisesta, Gold Coast, Australia, 9.- 13. joulukuuta 2001, Proceedings / C. Boyd - Lontoo : Springer Science + Business Media , 2001. - P. 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

Kirjallisuus