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
- Alice valitsee virheenkorjauskoodin Galois -kentän päälle . Tällä koodilla on oltava tehokas dekoodausalgoritmi [3] .
![(n,k)](https://wikimedia.org/api/rest_v1/media/math/render/svg/47f4659640cd0bb3ab77e4d61a81328ca4dd8a85)
![GF(q)](https://wikimedia.org/api/rest_v1/media/math/render/svg/7632e02672649089c63c998757aa3afc0782a0f3)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
- Alice luo koodintarkistusmatriisin .
![(nk)\kertaa n](https://wikimedia.org/api/rest_v1/media/math/render/svg/81d0ce9df55fbd0d24d52ac92f007cb08147ab87)
![H](https://wikimedia.org/api/rest_v1/media/math/render/svg/75a9edddcca2f782014371f75dca39d7e13a9c1b)
![C](https://wikimedia.org/api/rest_v1/media/math/render/svg/4fc55753007cd3c18576f7933f6f089196732029)
- Alice valitsee satunnaisen ei- degeneroituneen matriisin kentän ja jonkin permutaatiomatriisin sijaan [3] .
![S](https://wikimedia.org/api/rest_v1/media/math/render/svg/4611d85173cd3b508e67077d4a1252c9c05abca2)
![GF(q)](https://wikimedia.org/api/rest_v1/media/math/render/svg/7632e02672649089c63c998757aa3afc0782a0f3)
![n\ kertaa n](https://wikimedia.org/api/rest_v1/media/math/render/svg/59d2b4cb72e304526cf5b5887147729ea259da78)
![P](https://wikimedia.org/api/rest_v1/media/math/render/svg/b4dc73bf40314945ff376bd363916a738548d40a)
- Alice laskee matriisin
![(nk)\kertaa n](https://wikimedia.org/api/rest_v1/media/math/render/svg/81d0ce9df55fbd0d24d52ac92f007cb08147ab87)
![H_{pub}=SHP](https://wikimedia.org/api/rest_v1/media/math/render/svg/1ef8b82182fd950c50244e4269d68c42bc4e4f8d)
- Liisa julkinen avain on . Yksityinen avain on asetettu .
![(H_{pub},t)](https://wikimedia.org/api/rest_v1/media/math/render/svg/531999fec39f24d3c424af05f17f81b2251a2458)
![{\näyttötyyli (S^{-1},H,P^{-1})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d2f9fc87aa03e78c65603181302203b3bdfbb4fb)
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 .
![n-](https://wikimedia.org/api/rest_v1/media/math/render/svg/2d64b24ac9a5c67ef8e3ae80f109ce6e325d8464)
![GF(q)](https://wikimedia.org/api/rest_v1/media/math/render/svg/7632e02672649089c63c998757aa3afc0782a0f3)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![(H_{pub},t)](https://wikimedia.org/api/rest_v1/media/math/render/svg/531999fec39f24d3c424af05f17f81b2251a2458)
- Bob esittää viestinsä binaarisena sekvenssinä , jonka pituus ei ylitä .
![m](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![n](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
- Bob laskee salatekstin kaavalla: . Siten Niederreiterin salausjärjestelmän salateksti on meluisan salausvirhevektorin syndrooma [2] .
![c=mH_{pub}^{T}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fa3994121107112f2bb24a0c06e33992118053b4)
Viestin dekoodaus
Saatuaan viestin Alice tekee seuraavaa:
![c](https://wikimedia.org/api/rest_v1/media/math/render/svg/86a67b81c2de995bd608d5b2df50cd8cd7d92455)
- Alice laskee . Huomaa, että koska permutaatiomatriisi on , paino on sama kuin paino eikä ylitä , ja siksi dekoodausalgoritmi voi löytää oireyhtymää vastaavan virhevektorin [3] .
![s=c{(S^{T})}^{-1}=mP^{T}H^{T}S^{T}(S^{T})^{-1}=(mP^{ T})H^{T}={\hattu {m}}H^{T}](https://wikimedia.org/api/rest_v1/media/math/render/svg/79f6d45fcbcfcf98d3efb3fa9f0ab9e94a0b8ffc)
![P](https://wikimedia.org/api/rest_v1/media/math/render/svg/b4dc73bf40314945ff376bd363916a738548d40a)
![{\hattu {m}}=(mP^{T})](https://wikimedia.org/api/rest_v1/media/math/render/svg/4af614dbe8f8070add2f6423b748f7a51be9b049)
![m](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![C](https://wikimedia.org/api/rest_v1/media/math/render/svg/4fc55753007cd3c18576f7933f6f089196732029)
![s](https://wikimedia.org/api/rest_v1/media/math/render/svg/01d131dfd7673938b947072a13a9744fe997e632)
- Alice käyttää nopeaa dekoodausalgoritmia koodin löytämiseen [3] .
![C](https://wikimedia.org/api/rest_v1/media/math/render/svg/4fc55753007cd3c18576f7933f6f089196732029)
![{\hattu {m}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/77fc4c073191a04fba1078804a3505285a84fdb7)
- Alice laskee viestin .
![{\hat {m}}P^{-1}=mPP^{-1}=m](https://wikimedia.org/api/rest_v1/media/math/render/svg/c140018b19cc3da72e24dad2d79a322d0a5b277d)
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:
![P](https://wikimedia.org/api/rest_v1/media/math/render/svg/b4dc73bf40314945ff376bd363916a738548d40a)
![{\hattu {H}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6bb06de5217295d7fbdbf68fb9c5309a513fc99e)
![{\hattu {S}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/84040a3e50cb11792bdb6cfaac286b46476e3447)
![H_{pub}={\hattu {S}}{\hattu {H}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/01a0573f84195253f83f86454e15a4ee88b040c1)
![P](https://wikimedia.org/api/rest_v1/media/math/render/svg/b4dc73bf40314945ff376bd363916a738548d40a)
- käyttämällä erilaisia mittareita kuin klassista Hammingia , esimerkiksi sijoitus [5] : esimerkki tästä on modifioitu GPT-järjestelmä [3]
- käyttämällä koodeja, joilla on tietyt ominaisuudet. Joten Goppa-koodeihin perustuvat modifikaatiot ovat edelleen kryptonkestäviä [2] .
Järjestelmän edut ja haitat
Edut
- Toisin kuin McEliece, Niederreiterin salausjärjestelmä ei käytä satunnaisia parametreja. Näin ollen saman tekstin salauksen tulos on sama. Tämä tosiasia mahdollistaa Niederreiter-järjestelmän, ei McEliecen, käytön digitaalisen allekirjoituksen luomiseen .
- Julkisen avaimen koko on Niederreiterin salausjärjestelmässä useita kertoja pienempi kuin McEliecessa [6] .
![{\displaystyle {\frac {n}{nk}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/278b36eccaaa1d01371fdac6da9f3da7b1c14755)
- RSA :han verrattuna salausnopeus on noin 50 kertaa nopeampi ja salauksen purkunopeus 100 kertaa nopeampi [6] .
Haitat
- Satunnaisen viestin salaamiseksi algoritmi, jolla muunnetaan -aarivektoriksi, jonka paino on enintään .
![q](https://wikimedia.org/api/rest_v1/media/math/render/svg/06809d64fa7c817ffc7e323f85997f783dbdf71d)
![n](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
- Avaimen koko on suurempi kuin klassisissa julkisen avaimen salausjärjestelmissä ( RSA , ElGamal Scheme , GOST R 34.10-2012 ).
- Salatekstin koko on paljon suurempi kuin salatun viestin koko (jos koon sanoma käännetään pituusvektoriksi ja salataan, saadaan koon salateksti , joka on vähintään 2 kertaa suurempi kuin ).
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
![n](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![nk](https://wikimedia.org/api/rest_v1/media/math/render/svg/b98e1d6a69bccd09a4b9b69bdf03a08c1706c8c1)
![t](https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560)
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 .
![c=eD](https://wikimedia.org/api/rest_v1/media/math/render/svg/f3525787dddd4160c7875a3c525bbf1da83d9f53)
![b=aE+e](https://wikimedia.org/api/rest_v1/media/math/render/svg/24b8727c7b1ff4a8c99895f72fb481fbacf6b604)
![a](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
![c = bD](https://wikimedia.org/api/rest_v1/media/math/render/svg/4004cac8f416094a072bf2b72def9b283f3608af)
![b](https://wikimedia.org/api/rest_v1/media/math/render/svg/f11423fbb2e967f986e36804a8ae4271734917c3)
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
![a](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
![e](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd253103f0876afc68ebead27a5aa9867d927467)
![e=aE+b](https://wikimedia.org/api/rest_v1/media/math/render/svg/ba727885545d38b88907324bb29395c07fdb2ca3)
![e](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd253103f0876afc68ebead27a5aa9867d927467)
![a](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
Jos tunnetaan Niederreiter-järjestelmän monimutkainen kryptohyökkäys , on mahdollista laskea vektorit ja vektorit salatekstinä käyttämällä vektoria .
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
![(aE+e)D^{T}=eD^{T}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4f2cd4623fa46f55175d624a2c54abb1443b7e00)
![e](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd253103f0876afc68ebead27a5aa9867d927467)
![a](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
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:
![H_{pub}](https://wikimedia.org/api/rest_v1/media/math/render/svg/644dfff5ec6e4068cca7260d1048611bcc4b294d)
![(n, k, d)](https://wikimedia.org/api/rest_v1/media/math/render/svg/229f720765328aebd8e83ddb7ee2eb7c45006e63)
![D](https://wikimedia.org/api/rest_v1/media/math/render/svg/f34a0c600395e5d4345287e21fb26efd386990e6)
- Valitse hash-funktio , joka antaa merkkejä ulostulossa. Siten tietyn hash-funktion tulos voidaan esittää oireyhtymänä ja yrittää dekoodata;
![h()](https://wikimedia.org/api/rest_v1/media/math/render/svg/992946ab39fbae54bdf55bfa775e9a19d97205e2)
![nk](https://wikimedia.org/api/rest_v1/media/math/render/svg/b98e1d6a69bccd09a4b9b69bdf03a08c1706c8c1)
- Laske hash ;
![s=h(D)](https://wikimedia.org/api/rest_v1/media/math/render/svg/c4796bfd04439cd8c9b22d75cf37efc92f58db88)
- Jokaiselle laskelma ;
![i=0,1,2,...](https://wikimedia.org/api/rest_v1/media/math/render/svg/a3c9f5498bc4d20b8b01b0656c3d5ad97872b4da)
![{\displaystyle s_{i}=h(s|i)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d8041786363919e90ea47df9628ba7f74b2b2b30)
- Etsi pienin luku , jolla oireyhtymä on mahdollista purkaa. Olkoon oireyhtymän dekoodauksen tulos ;
![olen mukana}](https://wikimedia.org/api/rest_v1/media/math/render/svg/431b3deeaba01a00a4a3924cbcca992c54d09471)
![s_{i_{min}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e94aa89ef7ada117d2078489c1f55d9904e564f0)
![z](https://wikimedia.org/api/rest_v1/media/math/render/svg/bf368e72c009decd9b6686ee84a375632e11de98)
![s_{i_{min}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e94aa89ef7ada117d2078489c1f55d9904e564f0)
- Asiakirjan allekirjoitus on pari .
![D](https://wikimedia.org/api/rest_v1/media/math/render/svg/f34a0c600395e5d4345287e21fb26efd386990e6)
![(z,i_{min})](https://wikimedia.org/api/rest_v1/media/math/render/svg/627dd8b9714b3a0db87abd3ef7d071c76f5f2389)
Allekirjoituksen vahvistus
- Laske ;
![s_{1}=zH_{pub}^{T}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5887c11797fa95dd5cda9898ff21c3c1736f2ee6)
- Laske ;
![s_{2}=h(t(D)|i_{min})](https://wikimedia.org/api/rest_v1/media/math/render/svg/792f47bfd5a0daef4655eb69a8e6b868ee52f94e)
- Vertaa ja : jos ne täsmäävät, allekirjoitus on oikea.
![s_{1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/eb8baad278d51283e0ef3c99898d583cf2c8a8fd)
![s_{2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4b9a7acc0ae8f54da4b7f4eef2c777d44faecd4)
Esimerkki järjestelmän toiminnasta
Olkoon Reed-Solomon-koodi Galois-kentän yli konstruoitu modulo redusoitumaton polynomi valitaan koodaamaan generoivalla polynomilla![(7.3)](https://wikimedia.org/api/rest_v1/media/math/render/svg/e4bb89b1f9834b5c423914ef68176df1642b7eb6)
![x^{3}+x+1](https://wikimedia.org/api/rest_v1/media/math/render/svg/257a6ad55e616cb50142b1801f80eb9395c93a03)
Sitten koodin generoiva matriisi on:
Koodin tarkistusmatriisi:
Huomaa, että tämän koodin etäisyys eli korjattavien virheiden määrä .
![d = n-k + 1 = 5](https://wikimedia.org/api/rest_v1/media/math/render/svg/fdbf7e48531d7886c2b00a3dd8444be584c086eb)
![t = (d-1)/2 = 2](https://wikimedia.org/api/rest_v1/media/math/render/svg/0272bfa7906ed5a23c4674bca32620b4ce311fa5)
Avaimen luominen
Olkoon matriisi valittu
. Sitten sen
käänteismatriisi![{\displaystyle S={\begin{pmatrix}4&1&3&5\\7&1&5&2\\2&6&5&4\\1&7&2&1\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d53dad2983c3c6c0548b51ae95c014f789acbdc0)
Valitaan permutaatiomatriisi
Tässä tapauksessa järjestelmän julkinen avain on matriisi:
Salaus
Esitetään
valittu viesti painovektorina
2.![{\displaystyle m={\begin{pmatrix}0&2&0&0&0&5&0\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5d7690dd42b7d8abbdf5d65945eb846cd18064d8)
Salattu viesti:
Salauksen purku
Hyväksytty vektori
Sitä varten laskemme dekoodattavan oireyhtymän
Dekoodaamme Reed-Solomon-dekoodausalgoritmin avulla .
![s](https://wikimedia.org/api/rest_v1/media/math/render/svg/01d131dfd7673938b947072a13a9744fe997e632)
Hanki vektori
Sitten lasketaan alkuperäinen vektori
Katso myös
Muistiinpanot
- ↑ Niederreiter H. Knapsack-tyyppiset salausjärjestelmät ja algebrallinen koodausteoria (englanti) // Control and Information Theory -ongelmat - 1986. - Vol. 15, Iss. 2. - s. 159-166.
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ Gabidulin E. M. Teoria koodeista, joilla on maksimiarvoetäisyys // Probl. tiedon siirto - 1985. - T. 21, no. 1. - S. 3-16.
- ↑ 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
- ↑ 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
- ↑ 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
- Wieschebrink C. GRS-alikoodeihin perustuvan Niederreiterin julkisen avainjärjestelmän kryptaanalyysi // Post -Quantum Cryptography : Third International Workshop, PQCrypto 2010, Darmstadt, Saksa, 25.-28.5.2010. Proceedings / N. Sendrier Berlin - Heidelberg Springer Berlin , 2010. - s. 61-72. - ( Lecture Notes in Computer Science ; Vol. 6061) - ISBN 978-3-642-12928-5 - ISSN 0302-9743 ; 1611-3349 - doi:10.1007/978-3-642-12929-2
- Solovieva F. I. , Los A. V. , Mogilnykh I. Yu. II Kryptologia // Kokoelma koodausteorian, kryptologian ja tiedonpakkauksen ongelmia - Novosibirsk : NGU , 2013. - P. 41-49. -100 s. — ISBN 978-5-4437-0184-4
- Schneier B. Sovellettu kryptografia. Protokollat, algoritmit, lähdekoodi C-kielellä = Applied Cryptography. Protokollat, algoritmit ja lähdekoodi julkaisussa C. - M. : Triumph, 2002. - 816 s. - 3000 kappaletta. - ISBN 5-89392-055-4 .