McEliece-féle titkosító rendszer
A kriptográfiában a McEliece-féle titkosító rendszer, egy aszimmetrikus titkosító algoritmus, melyet Robert McEliece, amerikai matematikus fejlesztett ki 1978-ban.[1]
Ez volt az első olyan algoritmus, ahol a titkosítási folyamatban véletlen-számokat használtak. Az algoritmus soha nem keltett különös figyelmet a titkosítással foglalkozó közösségben, de ez a módszer “jelölt” lehet a ‘post-kvantum titkosítási’ módszerek között, mivel immunis támadásokra, a Shor-algoritmust felhasználva, és – még általánosabban – mellékosztály állapotokat használ Fourier mintavétellel.[2]
Egy közelmúltban nyilvánosságra került tanulmány szerint a kvantumszámítógépek alkalmazásakor a titkosító kulcsok mérete megnégyszereződik.[3] Az algoritmus az P-hard [4]). elméleten alapul. A magán kulcs leírására egy hibajavító kódot választottak, mely elég hatékony dekódolási algoritmusként ismert, és képes a hibákat kijavítani.
Az eredeti algoritmus a bináris Goppa kódokat használja; ezeket könnyű dekódolni a Patterson-féle algoritmus miatt.[5] A nyilvános kulcs a magán kulcsból származtatható azzal, hogy elrejtik a kódot, mint általános lineáris kód. Ezért generátor mátrix permutálásával, két véletlenszerűen kiválasztott invertált és mátrix-szal.
Számos titkosító rendszer létezik, különféle kódokkal. A legtöbb nem biztonságos; strukturális dekódolással könnyen feltörhető.
A McEliece, a Goppa kóddal ellenáll a kriptoanalízisnek. A következőkben ismertetjük a támadást és annak kivédését.[6]
A McEliece-féle titkosító rendszernek van néhány előnye, például az RSA-hoz képest. A titkosítás és a titkosítás feloldása gyorsabb, és a kulcs méretének növelésekor a biztonság még gyorsabban nő.
Sokáig azt gondolták, hogy a McEliece-féle titkosító rendszer nem használható digitális aláírásra. Azonban a Niederreiter sémára épülő aláírás megvalósítható, mely a McEliece duális változata.
A McEliece-féle titkosító rendszer fő hátránya az, hogy a nyilvános és a magán kulcsok is nagy mátrixok. A nyilvános kulcs 512 kilobit hosszú. Ez azért van így, mert a gyakorlatban ritkán használják. Van egy kivétel, a Freenet-féle entrópia alkalmazás.[7]
Eljárás definiálása
[szerkesztés]A McEliece három algoritmust tartalmaz: egy probabilista kulcs generáló algoritmust, mely létrehozza a nyilvános-, és a magán kulcsokat, a probabilisztikus titkosító algoritmust, és a determinisztikus titkosítást feloldó algoritmust. Minden - McEliece-t alkalmazó - használónak vannak biztonsági paraméterei: .
Kulcs generálás
[szerkesztés]1. Vera kiválaszt egy bináris -lineáris kódot, mely képes a hibákat javítani. Ez lehet egy hatékony dekódoló algoritmus, és generál egy generátor mátrixot,.
2. Vera kiválaszt egy véletlenszerű bináris nem szinguláris mátrixot.
3. Vera kiválaszt egy véletlenszerű , permutációmátrixot.
4. Vera kiszámolja a mátrixot: .
5. Vera nyilvános kulcsa: ; magán kulcsa: .
Üzenet kódolása
[szerkesztés]Tegyük fel, hogy Sándor küld egy m üzenetet Verának, kinek a nyilvános kulcsa: .
1. Sándor kódolja az m üzenetetet, mint egy hosszúságú bináris stringet,
2. Sándor kiszámolja a vektort,
3. Sándor generál egy véletlenszerű -bites vektort, , mely tartalmazza a -t,
4. Sándor kiszámolja a titkos szöveget, mint .
Üzenet megfejtése
[szerkesztés]megérkezésekor, Vera a következő lépéseket teszi:
1. Vera kiszámolja a inverzét (azaz: ),
2. Vera kiszámolja a ,
3. Vera dekódoló algoritmust használ a kódra,hogy dekódolja a - ,
4. Vera kiszámolja: .
Az üzenet megfejtésének bizonyítása
[szerkesztés]Megjegyezzük, hogy , és egy permutációs mátrix, így súlyozása többnyire .
A Goppa kód, ki tudja javítani a hibákat, és az szó -től -re van, azért a korrekt kód szó: megkapható. Az inverzével szorozva, adódik , mely a megfejtett üzenet.
Kulcs méretek
[szerkesztés]McEliece eredetileg a következő biztonsági paramétereket javasolta: , mely 524*(1024-524) = 262,000 bites nyilvános kulcsot eredményez.[1]
Egy későbbi analízis azt ajánlja, hogy legyen a paraméterek nagysága, 80 bitre, ha standard algebrai dekódolást használunk, vagy , ha lista dekódolást alkalmazunk a Goppa kódra, mely megnöveli a nyilvános kulcsot 520,047 és 460,647 bitre, megfelelően.[6]
Támadások
[szerkesztés]Egy sikeres ellenséges támadás, ismerve a nyilvános kulcsot, de a magán kulcsot nem, eredményezheti a szöveg kikövetkeztetését a titkos írásból . Az ilyen kísérletek nem működnek.
Ez a fejezet tárgyalja az irodalomból ismert támadási stratégiákat a McEliece rendszer ellen.
A nyers erő módszer
[szerkesztés]A támadó esetleg kitalálhatja, mi a , és képes alkalmazni a Patterson algoritmust.[5]
Ez nem valószínű n és t nagy értékeire, mivel túl sok lehetőség van a , és -kre.
Egy olyan támadási stratégia, mely nem igényli a -t, az “információ készlet dekódolása” koncepcióra épülhet.
McEliece megemlít egy egyszerű támadási formát: ki kell választani k-t az n koordinátából véletlenszerűen abban a reményben, hogy egy k sem hibás (azaz, a kiválasztott vektor koordinátái közül egy sem 1 bites), és kalkulálja az m-t.
Azonban, ha a k, n, és t paramétereket gondosan választották, akkor annak a valószínűsége, hogy nem lesz hiba ebben a k elemű halmazban: , és így ez elhanyagolható.
Információ készlet dekódolás
[szerkesztés]Az ‘információ készlet dekódolás’ algoritmus a leghatékonyabb támadási módszer a McEliece-, és a Niederreiter-féle titkosítási rendszerek ellen.
Számos forma ismert.
Egy hatékony eljárás az, amely a minimális, és maximális súlyozású kódszóra épül.[8] 2008-ban Bernstein, Lange és Peters[6] leírtak egy praktikus támadási módot a McEliece-féle titkosító rendszer ellen.[9] Mivel a támadás zavarbaejtően párhuzamos (nincs szükség a csomópontok közötti kommunikációra), végrehajtható egy számítógép klaszteren néhány nap alatt.
Irodalom
[szerkesztés]- R. J. McEliece: "A Public-Key Cryptosystem Based On Algebraic Coding Theory". (hely nélkül): DSN Progress Report. 1978. 42–44. o.
- Handbook of Applied Cryptography. (hely nélkül): CRC Press
- Buttyán Levente - Vajda István: Kriptográfia és alkalmazásai. (hely nélkül): TYPOTEX ELEKTRONIKUS KIADÓ KFT. 2005. 42–44. o. ISBN 9789639548138 . 1996. ISBN 0849385237
- http://www.sciencedaily.com/releases/2008/10/081028132303.htm
- http://www.technologyreview.com/blog/arxiv/25629/ Archiválva 2011. április 16-i dátummal a Wayback Machine-ben
Kapcsolódó szócikkek
[szerkesztés]- A kriptográfia története
- Szimmetrikus kulcsú rejtjelezés
- Nyilvános kulcsú rejtjelezés
- Véletlenszám generálás
- Szteganográfia
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a McEliece cryptosystem című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
[szerkesztés]- ↑ a b See (R. J. McEliece 1978)
- ↑ H. Dinh, C. Moore, A. Russell (2010. augusztus 17.). „The McEliece Cryptosystem Resists Quantum Fourier Sampling Attacks”.
- ↑ Daniel J. Bernstein (2009. szeptember 23.). „Grover vs. McEliece”.
- ↑ (1978) „On the Inherent Intractability of Certain Coding Problems”. IEEE Transactions on Information Theory IT-24, 203–207. o.
- ↑ a b N. J. Patterson (1975). „The algebraic decoding of Goppa codes”. IEEE Transactions on Information Theory IT-21, 384–386. o.
- ↑ a b c (2008. augusztus 8.) „Attacking and defending the McEliece cryptosystem”. Proc. 2nd International Workshop on Post-Quantum Cryptography 5299, 31–46. o. DOI:10.1007/978-3-540-88403-3_3.
- ↑ „1978 Cryptosystem Resists Quantum Attack”, 2010. augusztus 18.. [2011. április 16-i dátummal az eredetiből archiválva] (Hozzáférés: 2012. augusztus 29.)
- ↑ (1998) „Cryptanalysis of the Original McEliece Cryptosystem”. Advances in Cryptology — ASIACRYPT’98 1514, 187–199. o. DOI:10.1007/3-540-49649-1.
- ↑ Jacques Stern (1989). „A method for finding codewords of small weight”. Coding Theory and Applications 388, 106–113. o, Kiadó: Springer Verlag. DOI:10.1007/BFb0019850.