Niederreiter kriptorendszer

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. március 16-án felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

A Niederreiter kriptorendszer  egy nyilvános kulcsú titkosítási rendszer, amely az algebrai kódolás elméletén alapul , és 1986-ban fejlesztette ki Harald Niederreiter [1] . A McEliece kriptorendszerrel ellentétben a Niederreiter kriptorendszer kódellenőrző mátrixot használ . A Niederreiter kriptorendszer lehetővé teszi a digitális aláírások létrehozását, és alkalmas a posztkvantum kriptográfiára , mivel ellenáll a Shor algoritmussal szembeni támadásoknak .

A Niederreiter kriptorendszerben használt algoritmus a teljes lineáris kódok dekódolásának nehézségén alapul .

Annak ellenére, hogy ezt a kriptorendszert feltörték, néhány módosítása továbbra is kripto -ellenálló [2]

Műveleti algoritmus

Kulcsgenerálás

  1. Alice választ egy hibajavító kódot a Galois mező helyett . Ennek a kódnak hatékony dekódoló algoritmussal kell rendelkeznie [3] .
  2. Alice létrehoz egy kódellenőrző mátrixot .
  3. Alice egy véletlenszerű , nem degenerált mátrixot választ a mező és néhány permutációs mátrix helyett [3] .
  4. Alice kiszámítja a mátrixot
  5. Alice nyilvános kulcsa . A privát kulcs a készlet .

Üzenettitkosítás

Ebben az esetben az üzenetek a mező koordinátáival rendelkező vektorok, amelyek súlya nem haladja meg a . Így az üzenetek mind olyan lehetséges hibák, amelyeket a kiválasztott kód képes kijavítani [2] . Tegyük fel, hogy Bob üzenetet akar küldeni Alice-nek, akinek a nyilvános kulcsa .

  1. Bob üzenetét bináris hosszúságú sorozatként mutatja be , amelynek súlya nem haladja meg a .
  2. Bob a rejtjelezett szöveget a következő képlet segítségével számítja ki: . Így a Niederreiter kriptorendszerben a rejtjelezett szöveg a zajos rejtjelezett hibavektor szindróma [2] .

Üzenet dekódolás

Miután megkapta az üzenetet , Alice a következőket teszi:

  1. Alice kiszámolja . Figyeljük meg, hogy mivel a permutációs mátrix , a súly egybeesik a súllyal és nem haladja meg a  -t , ezért a dekódoló algoritmus meg tudja találni a szindrómának megfelelő hibavektort [3] .
  2. Alice egy gyors dekódoló algoritmust használ a kód megtalálásához [3] .
  3. Alice kiszámolja az üzenetet .

Az eredeti kriptorendszer és annak módosításai

Az eredeti kriptorendszerben Niederreiter Reed-Solomon kódok használatát javasolta, és nem használt permutációs mátrixot . Egy ilyen rendszer azonban instabilnak bizonyult, és Szidelnyikov és Sesztakov feltörte 1992-ben [4] . A szerzők megmutatták, hogy a nyilvános kulcsból kitalálható a privát kulcs szerkezete, és kiválasztható olyan mátrix és , hogy . Ezt követően a rendszer kriptográfiai erősségének növelése érdekében permutációs mátrix használatát javasolták . Ezenkívül a rendszer különféle módosításai jelentek meg, például:

A rendszer előnyei és hátrányai

Előnyök

Hátrányok

Az alábbi táblázat különböző paramétereket mutat be a McEliece, Niederreiter és RSA kriptorendszerekhez, világosan bemutatva azok előnyeit és hátrányait [6] .

McEliece n=1024, k=524, t=101 bináris kód Niederreiter kriptorendszer n=1024, k=524, t=101 bináris kód RSA 1024 bites modulok e=17
Nyilvános kulcs mérete bájtokban 67072 32750 256
Bitek száma hasznos információ 512 276 1024
Bináris műveletek száma titkosításhoz 514 ötven 2402
Bináris műveletek száma a visszafejtéshez 5140 7863 738112

A Niederreiter rendszer és a McEliece rendszer kriptográfiai biztonságának egyenértékűsége

Amint azt a Szidelnyikov-rendszerről szóló eredeti cikk [7] mutatja , a Niederreiter-rendszer támadása polinomiálisan redukálható a McEliece- rendszer megtámadására és fordítva.

Legyen ismert a szindróma . Ekkor kiszámolhatunk egy vektort olyasmivel , hogy . A vektort titkosított szövegként kezeli a McEliece rendszer. Ha a McEliece rendszer számára bonyolult kriptográfiai támadást találunk, azaz ismerjük a vektor kiszámítására szolgáló algoritmust , amely titkos információ ebben a rendszerben, akkor a vektor , amely a Niederreiter rendszer titkossága , ábrázolható. mint . Így a definíció összetettsége megegyezik a definíció összetettségével .

Ha ismert a Niederreiter rendszer bonyolultságú kriptotámadása , akkor a vektort titkosított szövegként használva ki lehet számítani a és vektorokat .

Digitális aláírás felépítése

2001-ben Nicolas Courtois, Matthew Finiaz és Nicolas Sandrier megmutatta [8] , hogy a Niederreiter kriptorendszer használható elektronikus aláírás létrehozására .

Üzenet aláírása

Legyen  a Niederreiter kriptorendszer nyilvános kulcsa egy -lineáris kód használatával. Egy dokumentum aláírásához a következőket kell tennie:

  1. Válasszon egy hash függvényt , amely karaktereket ad a kimeneten. Így egy adott hash függvény eredménye szindrómaként ábrázolható és megkísérelhető dekódolni;
  2. Hash kiszámítása ;
  3. Minden egyes számításhoz ;
  4. Keresse meg a legkisebb számot , amely lehetővé teszi a szindróma dekódolását. Legyen  a szindróma dekódolásának eredménye ;
  5. A dokumentum aláírása egy pár .

Aláírás ellenőrzése

  1. Számíts ;
  2. Számíts ;
  3. Hasonlítsa össze és : ha egyezik, az aláírás helyes.

Példa a rendszer működésére

Legyen a Reed-Solomon kód a modulo szerkesztett Galois-mező felett az irreducibilis polinom a generáló polinommal való kódoláshoz

Ezután a kód generáló mátrixa a következő:

Kódellenőrző mátrix:

Vegye figyelembe, hogy a kód távolsága , azaz a javítható hibák száma .

Kulcsgenerálás

Legyen a mátrix kiválasztva . Aztán az inverz mátrixa

Válasszunk egy permutációs mátrixot

Ebben az esetben a rendszer nyilvános kulcsa a mátrix lesz:

Titkosítás

Legyen a kiválasztott üzenet 2 súlyvektora .

Titkosított üzenet:

Megfejtés

Elfogadott vektor

Ehhez kiszámítjuk a dekódolható szindrómát

A Reed-Solomon dekódoló algoritmus segítségével dekódoljuk .

Szerezz vektort

Ezután kiszámítjuk az eredeti vektort

Lásd még

Jegyzetek

  1. Niederreiter H. Hátizsák-típusú kriptorendszerek és algebrai kódoláselmélet  (angol) // Control and Information Theory problémák - 1986. - Vol. 15, Iss. 2. - P. 159-166.
  2. 1 2 3 4 Samokhina M. A. A Niederreiter kriptorendszer módosításai, azok biztonsága és gyakorlati alkalmazása // 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. A redukálható rangkódokon alapuló Niederreiter típusú GPT kriptorendszer módosított  // Des . Kódok Cryptogr. — Springer US , Springer Science+Business Media , 2014. — Vol. 70, Iss. 1. - P. 231-239. — ISSN 0925-1022 ; 1573-7586 - doi:10.1007/S10623-012-9757-4
  4. Sidelnikov V. M. , Shestakov S. O. Egy általánosított Reed–Solomon kódokon alapuló titkosítási rendszerről // Discrete Math. matematika. - 1992. - 4. évf., szám. 3. - S. 57-63. — ISSN 2305-3143 ; 0234-0860
  5. Gabidulin E. M. Maximális rangtávolságú kódok elmélete // Probl. információ továbbítása - 1985. - T. 21. sz. 1. - S. 3-16.
  6. 1 2 3 Canteaut A. , Sendrier N. Az eredeti McEliece kriptorendszer kriptoanalízise  // Advances in Cryptology - ASIACRYPT 1998 : International Conference on the Theory and Applications of Cryptology and Information Security, Peking, Kína, október 18-22, 1998. Proceedings - Berlin : Springer Berlin Heidelberg , 1998. - P. 187-199. - ( Számítástechnikai előadások jegyzetei ; 1514. kötet) - ISBN 978-3-540-65109-3 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-49649-1_16
  7. Sidelnikov V. M. Nyílt titkosítás bináris Reed-Muller kódokon // Diskr. matematika. - 1994. - V. 4. szám. 3. - S. 191-207. — ISSN 2305-3143 ; 0234-0860
  8. Courtois N. , Finiasz M. , Sendrier N. Hogyan érjünk el McEliece-alapú digitális aláírási rendszert  // Advances in Cryptology - ASIACRYPT 2001 : 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Ausztrália, 2001. december 9-13., Proceedings / C. Boyd - London : Springer Science + Business Media , 2001. - P. 157-174. - ( Számítástechnikai előadások jegyzetei ; 2248. kötet) - ISBN 978-3-540-42987-6 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/3-540-45682-1

Irodalom