SZAKDOLGOZAT
-
Upload
zoli-tordai -
Category
Documents
-
view
155 -
download
2
description
Transcript of SZAKDOLGOZAT
SZAKDOLGOZAT
Dancs Gergő
Debrecen
2012
Debreceni Egyetem
Informatikai Kar
Post-Kvantum kriptográfia
A Kriptográfia helyzete a kvantumszámítógépek megjelenése után
Témavezető:
Huszti Andrea
egyetemi adjunktus
Készítette:
Dancs Gergő
Gazdaságinformatikus Szak
Debrecen
2012
3
Tartalomjegyzék
1. Bevezetés ......................................................................................................................................... 4
1.1. A Kriptográfiáról általában: ............................................................................................................. 6
2. Számítógépes titkosítási módszerek: ................................................................................................... 9
2.1. AES, a szimmetrikus módszer képviselője ................................................................................ 10
2.2. Az RSA, valamint az aszimmetrikus titkosítás .......................................................................... 12
3. Kvantuminformatikai alapok............................................................................................................. 17
3.1. Fizikai Háttér: ............................................................................................................................. 20
3.2. Shor Algoritmus ......................................................................................................................... 23
3.3. A jövő kihívása: ......................................................................................................................... 25
4. Post- Kvantum kriptográfia ............................................................................................................... 26
4.1 Kvantum kriptográfia és Post- Kvantum Kriptográfia ................................................................ 27
4.2. Hash alapú digitális aláírásos titkosítás ...................................................................................... 29
4.3. McEliece titkosítási módszer ..................................................................................................... 34
5. Összefoglalás ..................................................................................................................................... 37
6. Irodalomjegyzék ................................................................................................................................ 38
7. Ábrajegyzék ...................................................................................................................................... 39
8. Köszönetnyilvánítás .......................................................................................................................... 40
4
1. Bevezetés
Bizonyára mindannyian emlékszünk gyermekkorunkból a kódfejtő gyűrűkre vagy a
filmekben látott titkos, misztikus kódokra, melyek megfejthetetlennek és egyszerűen
varázslatosnak tűnhettek számunkra, azonban a titkosítás különböző formái és szükségessége
évezredekre nyúlnak vissza. Több történetíró feljegyezte, hogy már az ókori görögök és
rómaiak is használtak titkosítási módszereket. Különösen háborúk folyamán volt fontos, hogy
az ellenség ne szerezhessen tudomást bizonyos információkról. Ekkor megengedhetetlen volt,
hogy a hadsereg tervei kitudódjanak. Az ekkor használt módszerek az egy ábécés rejtjelezések
(monoalfabetikus) voltak, mint például a Caesar titkosítás. ami a nyílt szöveg minden
betűjéhez hozzárendel egy másik, megadott távolságban lévő betűt. A kulcs ilyenkor a
hozzárendelés szabálya. Ez a módszer az úgynevezett helyettesítéses titkosításokhoz tartozik.
Egy eltérő módszer, az átrendezéses kódolások (permutációs) egyik példája. Ebben az
üzenet betűit egy bizonyos szabály alapján összekeverik, így az avatatlanok számára
érthetetlenné téve. Rövid üzeneteknél, talán ez triviálisnak vagy könnyen megoldhatónak
tűnik, de hosszú szövegeknél meglepően bonyolulttá és nehézzé teheti a megfejtést. Ez után a
kriptológia hosszú ideig nem fejlődött, szinte változatlan formában ezeket a módszereket
használva maradt fent. Mígnem a néhány tudós, már tudományos igénnyel fordult a
kriptográfia felé. Új módszerek alakultak ki, több abc és alternatíva bevonásával.
A XX. század fordulójára már mechanikus szerkezetek, titkosító gépek segítettek a
rejtjelezésben. A kriptográfia igazán jelentőssé viszont a világháborúk során vált, ahol ezek a
szerkezetek óriási szereppel bírtak. Gondoljunk csak a német Enigmára, vagy bármely
titkosító gépre, amelyeknek feltörhetetlenségébe vetett, sokszor téves hit komoly áldozatokat
hozott. A világháború után már egy másik indíttatásból folyt tovább a kutatás. Shannon 1948-
ban publikálta klasszikus cikkét, amely az információelmélet alapjait jelenti, és ez alapján a
kriptográfiai alkalmazások megbízhatósága tudományosan magyarázható. Ezzel jött a
felismerés, hogy a már sokszor használt ábécés titkosítások a természetes szövegben, és így a
kriptoszövegben is előforduló betűk statisztikai tulajdonságai, gyakoriságai miatt feltörhetők.
A következő lépést a produkciós titkosítók jelentették Ez két vagy több eltérő elvi rejtjelezést,
így pl. keverést és helyettesítést végez el a nyílt szövegen, és ez jó választással valóban
nehezebben feltörhető kriptoszöveget eredményez. A produkciós eszközök a mai napig élnek,
és bonyolult feladatot adnak a kriptoanalízis számára. A számítógépek megjelenése eddig
5
nem ismert nagyságrendű számítási kapacitást hozott magával, és ezzel véglegesen beindult a
kriptográfia gyors fejlődése. Megjelent a felhasználók között immár az üzleti világ is,
amelynek bizonyos területei szintén igényelték a biztonságos kommunikációt vagy
adattárolást. Manapság bár a háborúk nem jelentősek, az információ, mint erőforrás hihetetlen
jelentőséggel bír. Személyes adataink, bankszámlánk PIN- kódjának védelme természetesnek
hangozhat számunkra, de ennél sokkal több információ van, melyeket mások hasznosíthatnak
ellenünk. Csupán egy példa, Amerikában 2 rivális textilipari cég harcában az volt a döntő,
hogy az egyik fél megszerezte a másik szállítmányozási adatait, így hozzájutva a megrendelők
címéhez és telefonszámaihoz. Ezáltal kedvezőbb ajánlatokkal bombázva őket sikeresen
kiszorította riválisát. Az információ hatalom, ezért védelme nagyon fontos.
Talán azt gondoljuk, hogy:
„Miért pont én érdekelnék valakit?” vagy,
„Ha valaki fel akarja törni úgy is feltöri.” esetleg
„Nincs semmilyen fontos adatom vagy információm.”
Azonban ezek téves megállapítások, talán valami ami most nem tűnik fontosnak, vagy épp
valami olyan dolog amiről nem gondolnánk hogy számít kerülhet mások birtokába amit ők
még is hasznosítani tudnak. Ezért amekkora összeget, erőfeszítést mi az adataink védelmére
fordíthatunk, a többszörösét talán mások adataink megszerzésére szánják. Abban az esetben
ha nem teszünk semmit adataink védelmében, annak a többszöröse is semmi, szóval a támadó
mindenféle erőfeszítés nélkül, könnyedén megszerzi amit akar. Kriptográfiában arra
törekszünk, hogy ellehetetlenítsük a támadó számára az adatok megszerzését vagy
felhasználását. Oly módon, hogy ha ez még is megoldható, akkor is nagy erőforrásokat, vagy
rengeteg időt igényeljen.
A számítógépes titkosítás a 70-es években kezdett elterjedni, ugyanakkor ezek az
eljárások, mint függvények feltörése nagymértékben a számítási kapacitástól függ, hisz
maguk az eljárások ismertek, „egy titkosítás biztonságosságát a kulcsainak minősége
határozza meg”. A nagy kvantumszámítógépek megjelenésével eddig sohasem látott számítási
kapacitást érhetünk el. El kell rugaszkodnunk a filmektől és gyermeki felfogásunktól, hogy
jobban megérthessük ezeket a dolgokat, hiszen ahogy mi nőttünk, úgy nőtt, fejlődött a
kriptográfia tudományága is.
Éppen ezért tartom fontosnak az ismertetését.
6
Dolgozatomban a titkosítás legmodernebb változatát a számítógépes titkosítási
módszereket fogom bemutatni. Kitérve olyan elemekre, amikkel eddig nem, vagy nem túl
részletesen találkozhattunk tankönyvekben.
Dolgozatom főbb indítatása a jelenleg használt rendszerek ismertetése, rövid
áttekintése valamint a kvantumszámítógépek ezekre gyakorolt hatásának ismertetése lesz, és
esetleges „kvantum biztos” titkosító módszerek bemutatása. Mindenesetre legfőbb kérdésünk:
A kriptográfia végét jelenti a kvantumszámítógépek elterjedése?
1.1. A Kriptográfiáról általában:
Az adat továbbítást valahogy így tudnánk szemléltetni.
Itt Alice üzenetet küld Bobnak egy csatornán keresztül, mindenféle titkosítás nélkül
(plain text), azonban kettejük közé beékelődve, a betolakodó könnyedén lehallgathatja a
beszélgetésüket, ezért van szükségünk biztonságos kommunikációra.
Ez alapján, Alice nem eredeti formájában küldi el az üzenetét, hanem a Titkosító
segítségével a nyílt szövegből titkos üzenetet (cyphered text) készít. Majd ezt tovább küldve
először Bob visszafejtőjének, ami a titkos üzenetet visszaalakítja nyílt szöveggé. Még ha a
betolakodó meg is tudná szerezni az üzenetet, a kód megfejtése nélkül nem ér semmit vele.
Alice Bob
Alice Bob Titkosító Visszafejtő
1. ábra: Adat továbbítás nyílt módon
2. ábra: Adat továbbítás titkosítással
7
Jelöljük a nyílt üzenetek halmazát M-el, a titkosított üzenetek halmazát C-vel. A titkosítás
bevezet még egy további paramétert, a kulcsot, a kulcsok halmazát, jelöljük K-val. Egy
leképezést kapunk, ami így fog kinézni:
E: M x K→C és D: C x K→M,
ahol az x a halmazok direkt szorzatát jelenti.
A módszer csak akkor működik, ha csak Alice és Bob vannak tisztában a kulccsal,
vagy a kódoló eljárással ugyanis mind a kódolás és mind a visszafejtés ugyanazzal a kulccsal
történik, amennyiben biztonságosan el tudják juttatni egymásnak kettejük esetében ez
megoldható, viszont több ember között ez problémát okozhat, mivel minden félnek különböző
kulcsra van szüksége vagy képesek lennének egymás üzeneteinek megfejtésére.
Egy érdekes dolgot szeretnék Reinhard Wobst: Cryptology Unlocked[1] című
könyvéből idézni:
„Ten years later, I further developed this algorithm, studied it to the
best of my knowledge, and published it in the German UNIX Magazine. The
lively readers’ response took me by surprise.
Unfortunately, this algorithm was insecure.”
Talán így elsőre nem tűnik érthetőnek, mégis miért olyan érdekes ez az idézet számunkra,
ugyanakkor nagy jelentőséggel bír. Ahogy már említettem, a titkosító és a visszafejtő, a kulcs
és egy algoritmus segítségével készíti a titkos szöveget vagy fejti vissza nyílt szöveggé.
Azonban bár a szerző bomba biztos volt benne, hogy algoritmusa tökéletes, a végén
bebizonyosodott ennek ellenkezője. Manapság a kriptográfiában nem bombabiztos, vagy
biztonságos eljárásokról, algoritmusokról és módszerekről beszélünk, csupán eljárásokról,
aminek még nem ismert a feltörési módja. Legalábbis polinominális (belátható) időn belül.
De akkor min alapul adataink biztonsága?
Nem máson, mint a használt kulcsokon, és ezek kiválasztásán. Ahogy az első példában
említettem, kizárólag Bobnak és Alicenak szabad tisztában lennie a kulccsal és a kódoló
eljárással. De akkor hogy is van ez? A szerző éppen azt mondta, hogy az ő „biztonságos
algoritmusa híbás volt.” Így a kulcsok fontossága nyilvánvaló, Bobnak és Alice-nek
óvatosnak kell lennie mikor kulcsukat egyeztetik, több felhasználónál még inkább és
ugyanazon kulcsok használata megengedhetetlen.
8
Az algoritmusok tartalmazhatnak fel nem ismert hibákat, esetleges hátsó ajtókat, ami még jó
kulcsok használatával is problémákhoz vezetnek, ennek eredményeképp, egy titkosítás
erőssége sosem függhet az algoritmus titkosságán. Ha az algoritmust mindenkitől titokban
kellene tartani, meg sem lehetne oldani, hogy széles körben felhasználható legyen. Ráadásul
az algoritmus biztonsága legegyszerűbben a gyakorlatban vizsgálható. minél több ember, több
különböző kulccsal több különböző szöveget titkosítva a hibák felbukkanásának is nagyobb a
valószínűsége.
Egyéb elvárások is léteznek a titkosítási függvénnyel szemben, az elérhetőséget
leszámítva. Ezen kívül tetszőleges m üzenetnél és tetszőleges k kulcs segítségével gyorsan
végezze a kódolást és c üzenet esetében tetszőleges k visszafejtő kulcs segítségével gyorsan
végezze a visszafejtést. Valamint a kódolt üzenet és az eljárás ismeretében, se határozhassuk
meg a nyílt szöveget a visszafejtő kulcs nélkül. Az ilyen függvényeket, egyirányú
függvénynek vagy „one way function”-nak szokás nevezni, bármilyen inputra képesek
kiszámolni az outputot, azonban a beleépített csapó ajtó (trapdoor) miatt, nem vagy nehezen
invertálhatóak. Az output és a függvény ismeretében sem adhatjuk meg az inputot. A trapdoor
nem más, mint a kulcs, aminek ismeretében viszont megadható az input.
A kriptográfia számára ezek a tulajdonságai nagyon fontossá teszik, ez teszi lehetővé adatok
titkosítását és visszafejthetőségét, megalapozva az aszimmetrikus titkosítást.
Egy példa az egyirányú függvényekre. Képzeljük el, hogy egy étlapot tartunk a
kezünkben. Az étlapon szereplő fogások abc sorrendben vannak rendezve. A keresett étel
nevének ismeretében, könnyedén meghatározhatjuk az árat. Ugyanakkor, ha csupán az árat
ismerjük, akkor végig kell néznünk a teljes étlapot. Bár ez csak számunkra teszi kissé
nehézkesebbé és hosszabbá a böngészést, a csapóajtó funkciók megtalálása nem ilyen
egyszerű. Valójában, több verzióról, amire a tudósok gondolták, kiderült hogy téves. Jelenleg
néhány egyéb mellett, az RSA és a Rabin titkosítás számít jó egy-irányú függvénynek.
A nyílt szöveget többféleképp titkosít hatjuk, lehet a teljes szöveget (stream chipher)
vagy feloszthatjuk a szöveget több részre (blokkra) és blokkonként külön-külön kódolva
küldjük tovább. Az egyik ilyen blokkonkénti kódolás lesz az AES és az RSA. De erről majd a
későbbiekben.
9
2. Számítógépes titkosítási módszerek:
A háttér és az alapok megismerése után, térjünk át a következő részre. Ha az eljárás
megfelel a fent említett elvárásoknak, a kulcsával való viszonya alapján két további csoportra
oszthatjuk. Az egyik a szimmetrikus a másik pedig az aszimmetrikus rendszer.
A szimmetrikus (vagy egykulcsú) rendszerben egy kulcs van, ugyan azt a kulcsot
használja mind Alice és mind Bob, hogy titkosítsanak és visszafejtsenek. Ez nagyon
egyszerűvé és gyorssá teszi kettejük kommunikációját. Azonban mivel mind ketten ugyanazt
a kulcsot használják, bármelyikükét megszerezve bárki megfejthetné a titkosított üzeneteiket,
vagy megszemélyesíthetné őket és fabrikált üzeneteket küldhetne a nevükben. Éppen ezért
fontos a kulcsok biztonsága. És itt nem csupán technikai, de emberi veszélyforrásról is
beszélünk. Ha kulcsunkat elérhetővé tesszük, felelőtlenül tároljuk, mások könnyedén
megszerezhetik. Szóval mindig ügyeljünk a biztonságra. A szimmetrikus titkosítási rendszert
zárt kulcsos rendszernek is nevezik, mert a kulcsokat elzárva, titokban kell tartani vagy a
teljes rendszer megbukik.
Két formája van, a blokktitkosítás és a folyamatos titkosítás.
A blokktitkosító egy
Transzformáció, ami az n bites nyílt blokkot és a k bites kulcsot az n bites rejtett blokkba
transzformálja, E invertálható, különben a rejtett blokkból nem tudnánk visszaállítani a nyílt
blokkot.[2]
Ezzel szemben az aszimmetrikus (két kulcsos) rendszerben, ahogy a neve is sugallja,
mind Alice és mind Bob rendelkezik 2 saját kulccsal, az egyiket a titkosításra a másikat a
visszafejtésre használják. Ezt a rendszert nevezik Public Key Crytography-nak, azaz
nyilvános kulcsos kriptográfiának is. A már említett trapdoor funkció miatt, egyik kulcsukat
bárkivel megoszthatják, csupán arra kell ügyelniük, hogy a másik biztonságban legyen.
Nyilvános kulcsukat használva bárki (persze csak ha Alice vagy Bob biztonságosnak tartja
őket) küldhet nekik titkos üzeneteket, amit ők a titkos kulcsukkal fejthetnek vissza.
10
Számítógépes titkosításban ezt a két módszert fejlesztették tovább, hozták létre
digitálisan alkalmazható verziót, tesztelték majd kezdték alkalmazni egyes módszerekben,
ámbár kijelenthetjük, hogy a tesztelés még folyamatosan zajlik a használatban.
2.1. AES, a szimmetrikus módszer képviselője
Elsőként az AES, vagy másképp Advanced Encryption Standard. ismertetném, ami
még nagyon fontos lesz számunkra a továbbiakban. Még mielőtt a DES1-t 1998-ban feltörték
volna a tudósok belátták, hogy ideje kezd leáldozni, ezért egy újabb amerikai alapvető kódoló
rendszerre volt szükség a megnövekedett igények miatt. Bár amerikai standardnak szánták, a
világ minden tájáról érkeztek az algoritmusok, amiknek egy sor követelménynek kellett
megfelelnie. A követelmények szigorúsága nem meglepő, az új kriptorendszernek hosszú
ideig kell megfelelnie. A követelmények a NIST részéről[1]:
- Szimmetrikus, blokkonkénti algoritmusnak kell lennie
- Az algoritmusnak képesnek kell lennie legalább 128 bites blokkok kezelésére
valamint 128, 192 és 256 bites kulcsok használatára.
- Felhasználásának széleskörűnek kell lennie, mint szoftveres, mint hardveres módon.
- Minden jelenpillanatban ismert kriptoanalitika módszernek ellen kell állnia.
- Különösen ellenállónak kell lennie energia felhasználást és az algoritmus futási idejét
vizsgáló támadásoknak.
- Kitűnően kell működnie mind szoftveresen, mind hardver eszközökön.
- Legyen meg a lehetősége a smartcard-okban való alkalmazásának is. (Kis memória
igény és rövid kódhossz)
- Az algoritmusnak mindenki számára elérhetőnek kell lennie.
1 DES vagy Data Encryption Standard, egy az AES előtt használt titkosítási módszer, 1977-től alkalmazták,
később háromszorosára növelték a kulcsméretét biztonsági okokból. Manapság 3DES vagy TDES néven van
használatban. Lásd részletesebben:
Reinhard Wobst: Cryptology Unlocked John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester,
West Sussex, PO19 8SQ, England. 2007. 143. p. Deep Crack
11
Hosszas vizsgálatok és elemzés valamint számos konferencia után 5 lehetséges jelölt maradt.
Mind eleget tett az elvárásoknak, szóval ekkor a további lehetőségeket és előnyöket vették
számításba. Végül az algoritmus rugalmasságát és felhasználóságát is számba véve 2 belga
2kriptográfus munkáját választották ki. Így lett az USA-nak, (ahol pár éve az algoritmusokat
még fegyverekként tartották számon) külföldi eredetű nemzetbiztonsági adatokon is használt
titkosítási rendszere. Melyet máig is használnak.
Magának az algoritmusnak csak egy rövid leírását ismertetem. A konkrét működés valamint
feltörésével kapcsolatos próbálkozások és aggályok megtalálhatóak Reinhard Wobst[1] vagy
Virasztó Tamás[3] könyvében.
Helyettesítéseket és lineáris transzformációkat ötvöző módszer, 4 egymástól független
transzformációkból építi fel a körfüggvényeit, amiket rétegeknek is nevezünk.
A rétegek a következők:
- Lineáris keverő rétegek:
Ezeket, mint mátrixokat képzeljük el, szám szerint kettő. P-dobozként a körök között
mozgó adatok keveredésért felelős. A MixColumns oszlopszinten, míg a ShiftRows
sorszinten dolgozik.
- Nem lineáris réteg:
Feladata egy nemlineáris invertáló S-doboz alkalmazásával hogy megszüntessen
minden lehetséges linearitást. Működése hasonló a Caesar titkosításhoz. Az S-doboz
bájtjait szótárszerűen helyettesíti más bájtokkal. a Réteg neve SubBytes.
- A kulcsfüggő réteg:
A réteg feladata a körművelet kulcsfüggővé tétele egy XOR művelettel. A réteg neve,
AddRoundKey
2 Daemen és Rijemn által 2000-ben.
12
A körkulcsok készítése gyors, az algoritmus megvalósítása párhuzamosítható. Ez jobb
teljesítményt nyújt még gyengébb eszközökön is. Ha magát a kulcs méretét tekintjük, 256
bites kulcshossz már a kvantum számítógépek ellen tett lépest mutatja és ezért is fontos
számunkra a napjainkban is. Mint az egyik jelenleg is „kvantum biztos” algoritmus.
2.2. Az RSA, valamint az aszimmetrikus titkosítás
Ahogy korábban említettem, az aszimmetrikus titkosítás alapja, hogy a titkosító és a
visszafejtő kulcs nem azonos, sőt egyiket a másikból kiszámítani nehézkes. Az RSA a
faktorizáció nehézségére épül. Olyan algoritmus, ami képes lenne ezt polinomiális időn belül
végrehajtani nem ismert. Ehhez hasonló, nehéz probléma a diszkrét logaritmus is. Ezáltal a
titkosító kulcs nyilvánosságra hozható.3 Ebben az esetben Alice Bob nyilvános kulcsát
használva titkosítja üzenetét, majd miután elküldte Bobnak, Bob azt megkapva saját titkos
kulcsával visszafejti azt, megkapva Alice eredeti üzenetét.
Ennek az a hatalmas előnye, hogy nincs szükség előzetes biztonságos (akár személyes akár
titkos csatorna létrehozásával) kulcsserére a felek között. Azonban gondoskodni kell a
nyilvános kulcsok hitelességéről. Azaz Alice-nek meg kell tudnia, hogy a nyilvános kulcs
amit használni próbál, valóban Bobhoz tartozik és Bobnak biztosnak kell lennie[3] hogy az
üzenetet Alice küldte. Erre is szolgáltat megoldást ez a módszer:
1, Először is Alice megírja az üzenetét, majd a saját titkos kulcsával aláírja.
2, Azután Bob nyilvános kulcsával titkosítja a kapott üzenetet, ezáltal biztosítva, hogy
csak Bob képes kibontani.
3, Bob a küldemény kézhezvétele után a saját titkos kulcsával és a megfejtő
algoritmussal kibontja a csomagot.
4, A kapott eredményt ilyen formában, még nem tudja kiolvasni, mert azt Alice
titkosította, szóval Alice nyilvános kulcsát használva megfejti.
5. Alice biztos lehet benne, hogy Bob kapja meg az üzenetet, mert a 3. lépéshez
szükséges kulcsot csak ő ismeri.
3 Diffie, Hellman és Merkle tette ezt a javaslatot, Diffie-Helman kulcscsere, a nyilvános titkosítás alapjának
tekinthető, először 1976-ban hoztak nyilvánosságra ilyen kriptográfiai eljárást
13
6. Bob pedig biztos lehet Alice személyében, mert a 4. lépésben történő művelet csak
akkor lehetséges, ha az üzenetet Alice titkos kulcsával titkosították, különben nem működne
Alice nyilvános kulcsa.4.
Egy titkosítás során a nyilvános kulcsunkkal csomagolják be a nekünk szánt üzenetet, amit
majd a titkos kulcsunkkal fejthetünk meg, és ha szeretnénk aláírásunkkal igazolni az általunk
küldött üzenetet, akkor a titkos kulcsunkkal csomagoljuk be, amit a címzett a nyilvános
kulcsunkkal fejt meg. A szimmetrikus módszerrel ellentétben, itt n partner esetén nem
kulcsot kell kezelni, hanem mindössze n darabot. És ezeknek a kulcsoknak a
továbbításához nincs szükség titkos csatornára, akár nyilvánosan is publikálhatóak,
telefonkönyv vagy adatbázis szerűen. Mindaddig, amíg igazolható a kulcsok és a hozzájuk
tatozó személyek hitelessége.
Az RSA
Napjaink legismertebb aszimmetrikus titkosító eljárása. Nevét a 3 kifejlesztő tudós
nevének kezdőbetűiből kapta, Rivest, Shamir, Adleman. Munkájukat 1977-ben hozták
nyilvánosságra. Az RSA egy blokkonkénti titkosító eljárás ahol a kód titkossága a rendkívül
nagy prímszámok szorzatán és az ebből létrejövő még nagyobb szám prímtényezős
felbontásának (faktorizálásának) nehézségén alapul.
Az RSA algoritmus 3 részből áll, a kulcsválasztás, a kódolás és a dekódolás algoritmusából.
Hogy megértsük miért olyan nehéz ez, szükségünk lesz pár matematikai képlet és tétel
ismertetésére.
Először is a kis Fermat-tétel.5
A kis Fermat-tétel azt állítja, hogy ha p prímszám és nem osztója a egésznek, akkor
osztható p-vel.
4 Egy nyilvános kulccsal csak az az üzenet oldható meg, amit hozzátartozó a titkos kulccsal titkosítottak.
5 Részletes levezetése és bizonyítása megtalálható: Virasztó Tamás: Titkosítás és Adatrejtés, NetAcademia Kft.
Budapest, 2004. 299. p.
14
Képlettel:
Ha megszorozzuk a-val a következő egyenletet kapjuk:
Ha egy a számot p hatványra emeljük, majd az eredményt elosztjuk p-vel megkapjuk az
eredeti a számot maradékként.
Azonban ha a p nagyobb mint az a, a maradékos osztás eredménye nem az a-lesz hanem az
a-val megegyező maradék osztályba tartozó szám.
Egy példa:
39> 17 szóval a kitevő bontása után, tovább osztjuk, 39 maradékosan osztva 17-el az
eredmény 5.
Második tételünk nem más, mint a kis Fermat tétel általánosított formája, amit Euler
fogalmazott meg.
ha a és n relatív prímek.6
Függvényt Euler függvénynek 7is nevezzük, és miért fontos a számunkra?
Mert minden n természetes számhoz, a nála kisebb, hozzá relatív prím természetes
számok számát rendeli. Valamint ezt a kitevőt (némi átalakítás után 2]) e és d szorzatára, így
lehetővé téve a titkosítás több felhasználós alkalmazását.
Ezen kívül még szükségünk van, egy n modulusra, ami lehetőleg egy jó nagy szám és
relatív prím minden szóba jöhető (a <n) a- hoz.
6 Relatív prím: Azt jelenti, hogy két számnak nincs más közös osztója 1-et leszámítva.
7 Részletes levezetése megtalálható: Virasztó Tamás: Titkosítás és Adatrejtés, NetAcademia Kft. Budapest,
2004. 300. p.
15
A kulcsválasztás:
A kulcsválasztáshoz az előbb leírt képletek mellett még bevezetünk pár dolgot.
p és q különböző természetes prímszámok és a szorzatuk a modulus vagyis n. Ekkor
az n-nél kisebb n-hez relatív prím természetes számok.
Az n-nél kisebb n-hez relatív természetes prímszámok
számok száma.
Ezt az értéket a p és q ismeretében könnyű kiszámolni. Legyen most e egy –nél
kisebb relatív prím természetes szám. Ebben az esetben pontosan egy olyan
természetes szám létezik amire igaz, hogy .
mod m jelenti az a természetes szám maradékát m-mel osztva.
A nyilvános kulcs az (e,n) számpár, míg a titkos kulcs a d lesz.
A p-t és a q-t meg kell semmisítenünk vagy elrejtenünk, mert rajtuk múlik a titkosítás
biztonsága. Az RSA elleni támadásokban ezt a p-t és a q-t próbálják faktorizációval
meghatározni.
A titkosítás folyamata:
Először is az üzenetünket számokká alakítjuk (mondjuk ASCII kóddá) majd ezeket számok
sorozatává, vagyis blokkokká tagoljuk, minden blokknak kisebbnek kell lennie, mint n-nek.
Ezután az m számokat kódolva az
Képlettel előállítjuk az M rejtjelezett üzenetünket, amit az
képlettel fejthetünk vissza.
Az RSA biztonsága a paramétereken múlik. Nagyon fontos a prímek kiválasztása.
Ezáltal megkülönböztetünk Weak (gyenge) és Strong (erős) prímeket. p és q nem lehet
egymáshoz közel, ugyanis az leegyszerűsítené a faktorizálásukat és a Fermat tétel gyorsan
16
megtalálná őket. Jelenleg az RSA biztonsága a d kiszámításának nehézségén múlik, amit az
-ból kaphatunk meg. Napjainkban az 1024-2048 bitnél nagyobb méretű modulusok
mondhatóak biztonságosnak. És mivel e és d egy szorzat, vagyis tetszőlegesen felcserélhető
az RSA alkalmas digitális aláírások készítésére is.
Azonban, az RSA nem mondható biztonságosnak a kvantum számítógépekkel
szemben. Egyik legnagyobb gyengesége a mostani erősségében rejlik, ami a faktorizáció.
Erre bővebben kitérünk majd a Shor algoritmussal foglalkozó részben. De ez
rendkívül jól példázza a kriptográfia sokoldalúságát és változékonyságát. Amit egyik nap még
előnynek, a biztonság elősegítőjének hittünk, könnyen súlyos hátránnyá fajulhat. Ez teszi
olyan érdekessé a tudományágat.
Mindenesetre, ezzel befejeztük a jelenleg legnépszerűbb módszerek felvázolását, és
most áttérünk a kvantuminformatikára. Hasonlóan itt is az alapok felvázolásával kezdve.
17
3. Kvantuminformatikai alapok
A kvantumfizika és az informatika találkozása Richard Feynman amerikai fizikus
ötletének köszönhető, a 80-as évek végén. Arra jött rá, hogy bizonyos kvantummechanikai
hatásokat képtelenség normál számítógépeken szimulálni. Egy fizikai rendszernek
mindenképpen van információtartalma, azonban a klasszikus információelmélet
törvényszerűségei nem igazak ebben a mikroszkopikus világban.
A megfigyelések minél közelebb kerülnek az atomi, subatomi szinthez, a jelenségek csupán a
kvantum fizikai jelenségekkel magyarázhatóak meg.
Benenti, Casati és Strini (2004) szerint 2 nagy ágra oszthatjuk fel a kvantuminformatikát. Az
egyik a kvantumszámítás (quantum computing) a másik pedig a kvantumkriptográfia
(quantum cryptografy). A kvantumszámításhoz tartoznak a kvantumszámítógépekkel és a
qubitekkel kapcsolatos dolgok, míg a másikba a kvantumkriptográfia és a kvantum
teleportáció.
A kvantumszámítógépek olyan számító eszközök, amik kvantummechanikai jelenségeket
használnak a számításaikhoz, az adatok ábrázolásához és a strukturálásához. Addig amíg erre
képesek, teljesen lényegtelen a felépítésük, gyakorlatilag bármi lehet kvantumszámítógép, pár
atomtól kezdve a mellettünk léve csésze kávén át. Azon alapszik, hogy a normál számítógép
bitjei helyett, itt úgynevezett kvantum bitekkel (qubit) végezzük a számításokat. A quibitek
megvan az a tulajdonsága, hogy a bitek 1-es vagy 0-s állapotaival szemben egyszerre több
állapotot is felvehetnek, lehetnek 0, 1 és valószínűségi alapú kvantum szuperpozíciós
állapotot. Így természetüket hullámként célszerű leírni. Ezáltal erősen kötődik a valószínűség
számításhoz.
„Tekintsünk egy klasszikus számítógépet, amelyik egy 3 bites regisztert kezel. A regiszter
bitjei minden időpillanatban meghatározott állapotban vannak, mint például 101. Egy
kvantum számítógépben viszont a qubiteket a klasszikusan megengedett állapotok
szuperpozíciójával adhatjuk meg. A regisztert valójában egy hullámfüggvény írja le:
3. ábra: 3 qubites regiszter
18
ahol az a, b, c,…, h együtthatók komplex számok, amelyeknek amplitúdó négyzete annak
valószínűségét adja meg, hogy a méréssel a qubitet az egyes állapotokba tartozónak mérjük.
Például, annak a valószínűsége, hogy a regisztert a 010 állapotban találjuk. Mivel ezek
komplex számok, a számok fázisai egymással konstruktív vagy destruktív módon
interferálnak; ez a kvantum algoritmusok nagyon fontos tulajdonsága.”8[11]
A kvantumszámítás menete pedig, így írható le, „a qubit regiszterek tartalmát 8-dimenziós
komplex vektornak tekinthetjük. Egy kvantum számítógép algoritmusnak ezt a vektort (a
kvantum számítógép kivitelétől függő) meghatározott módon el kell látnia kezdőértékkel. Ezt
a vektort az algoritmus minden egyes lépésében úgy kell módosítani, hogy megszorozzuk egy
unitér mátrixszal. A mátrixot az eszköz fizikai felépítése határozza meg. A mátrix unitér volta
biztosítja, hogy a mátrix invertálható, azaz minden egyes lépés visszafordítható. Az
algoritmus befejeződése után a regiszterben tárolt 8-dimenziós komplex vektort valamiféle
kvantumos méréssel ki kell olvasnunk a qubit regiszterből. A kvantummechanika törvényei
szerint azonban ennek a mérésnek az eredménye egy 3-bites véletlen string lesz (és ráadásul a
tárolt állapot is megsemmisül). Ezt a véletlen bitstringet használhatjuk egy függvényérték
kiszámítására, mivel (az alapelvből következően) a mért kimenő bitstring valószínűségi
eloszlásának nagyobb értékei a függvény helyes értéke körül csúcsosodnak. A kvantum
számítógép ismételt futtatásával és a kimenet ismételt megmérésével meghatározhatjuk a
nagy valószínűséggel helyes eredményt, olyan módon, hogy a lekérdezett kimeneti
eredmények közül a gyakoribbat fogadjuk el.”[11]
A qubitek klasszikus ábrázolása olyan részecskékkel történik, amik forgó állapottal
rendelkeznek. A forgás közben vesznek fel 1-es (fent) vagy 0-s (lent) állapotot vagy a két
állapot közöttit.
4. ábra: Quibit grafikus modellje
8 Idézet a Wikipédia Kvantum számítógép fejezetéből,
URL: http://en.wikipedia.org/wiki/Quantum_computer
19
Most térjünk át a kvantumkriptográfiára. A kvantumkriptográfiát 2 részre osztanám, az
egyik a kvantum kriptográfia és a másik a kvantum kriptoanalitika. Ahogyan a normál
kriptográfiában már megfigyeltük, egyikük célja az adatok titkosítása, míg a másiké azok
feltörése. A kvantumszámítógép, mint a kriptoanalitika szuperfegyvere még távol áll a
mindennapi felhasználástól, de a kvantum kriptográfia képviselői már igyekeznek bomba
vagyis kvantum biztos megoldások kifejlesztésével. Először is a kvantumtitkosítás a
kvantumok tulajdonságai miatt, már-már bomba biztos megoldást jelent. Ezt Schrödinger
macskájával fogom szemléltetni.
5. ábra: Schrödinger macskája.
A példa szerint, egy macskát behelyezek egy átláthatatlan és teljesen szigetelt dobozba, majd
rázárom azt. Ezáltal képtelen leszek meghatározni a macska jelenlegi állapotát.
A doboz tartalmaz egy radioaktív sugárzó anyagot, ami 50%-os valószínűséggel percenként
kibocsát egy alfa részecskét, amit egy számláló érzékel. Ha alfa részecske érkezik, akkor a
számláló kinyit egy szelepet, ami kémiai mérget juttat a dobozba ez által megölve a macskát.
A macska szuperpozíciós állapotban van, ugyanis anélkül hogy kinyitnánk, a dobozt nem
tudjuk eldönteni, hogy a macska él vagy halott az 50%-os valószínűség miatt. De amint
kinyitottuk ezzel megszüntetve a szuperpozíciós állapotot, a macska tényleg meghal vagy
tényleg életben marad. Ez nem más, mint egy kvantum rendszer szimulálása.
20
Ugyan ez igaz a kvantumtitkosításra is. Ha az adatokhoz hozzá nyulunk, mérni próbáljuk, a
kvantum részecskék állapota megváltozik. Erről Bob és Alice egy gyors egyeztetés után
meggyőződhet, és ebben az esetben egyszerűen eldobják a nem biztonságos kulcsot, és egy
újat választanak.
A kulcscsere is máshogy zajlik, mint a normális kriptorendszerekben. Ennek a menetét,
szabályait kulcscsere protokollokban írták le. Több ismert is van, de a leghíresebb a BB84-es
protokoll, amiről a későbbiekben még beszélek.
A kvantuminformatika még jelentős problémákkal küzd, a megvalósítása még nagyon
nehézkes, még nem sikerült olyan kvantum rendszert létrehozni ami elég nagy lett volna
bonyolultabb számítások végzésére.
A legmodernebb rendszer jelen pillanatban a 21 faktorizálására képes.
Szóval a kvantumanalitikai vizsgálatok jelen pillanatban még csak gondolati szinten és
becslésekben folynak, Shor algoritmusára alapozva, amit a későbbiekben ugyan csak
részletesen ismertetek.
3.1. Fizikai Háttér:
Mint korábban a kvantum kriptográfiánál már leírtam, a kvantum kriptográfia biztonságágát
leginkább Heisenberg-féle határozatlansági reláció szavatolta.
(Heisenberg-féle határozatlansági reláció. Ez azt állítja, hogy nem tudjuk egy részecske
bizonyos megfigyelhető változóit egyszerre tetszőleges pontossággal megmérni azonos
pillanatban, még elvileg sem; például nem mérhető meg egyszerre pontosan egy részecske
térbeli helye és impulzusa. )
Vagyis ez történt egészen a közelmúltig. Ugyanis a 2012-es fizikai nobel-díj nyertese nem
más, mint két neves kutató, a francia Serge Haroche és az amerikai David J. Wineland.
Kutatásuk megváltoztathatja az eddigi kvantumkriptográfiáról kapcsolatos ismereteinket.
21
A National Geographic egyik cikkéből származik az alábbi idézet:
„A bizottság indoklása szerint a két tudós "a kvantumfizikai kísérletezés új korszakát nyitotta
meg azzal, hogy demonstrálta az egyedi kvantumrészecskék - azok tönkretétele nélküli -
közvetlen megfigyelhetőségét". Munkájuk új típusú, szupergyors, kvantumfizikán alapuló
számítógép megépítéséhez vezethet el.
A kvantumszámítógép talán ebben a században változtatja meg olyan radikálisan mindennapi
életünket, ahogyan a klasszikus komputer tette az elmúlt században - áll a Királyi Akadémia
közleményében.
A 68 éves Serge Haroche, a Collége de France (1530-ban alapított felsőoktatási és kutatási
intézmény) professzora és a szintén 68 éves David J. Wineland, az amerikai Országos
Szabványügyi és Technológiai Intézet (NIST) fizikusa egymástól függetlenül talált és
fejlesztett ki módszereket az egyedi részecskék mérésére és manipulálására úgy, hogy közben
sikerült megőrizniük azok kvantummechanikai természetét, eddig hozzáférhetetlennek vélt
módszerekkel - olvasható a nobelprize.org honlapon.
A fény vagy az anyag különálló részecskéire a klasszikus fizika törvényei nem alkalmazhatók,
helyüket átveszi a kvantumfizika. Az egyedi részecskéket nehéz elkülöníteni környezetüktől,
ha viszont kapcsolatba lépnek a külvilággal, azonnal elveszítik titokzatos
kvantumtulajdonságaikat, ezért a kutatók csak gondolatkísérleteket tudtak folytatni velük
kapcsolatban.
Haroche és Wineland kutatócsoportja olyan laboratóriumi módszereket fejlesztett ki,
melyekkel sikerült mérniük és kontrollálniuk igen törékeny kvantumállapotokat, amikről
korábban azt hitték, hogy közvetlen megfigyelésük lehetetlen.
Mindkét díjazott a fény és az anyag közti alapvető kölcsönhatásokat tanulmányozó
kvantumoptika területén dolgozik, ez a terület az 1980-as évek óta figyelemreméltó fejlődésen
ment át. Áttörést jelentő módszereik lehetővé tették, hogy ezen a kutatási területen megtegyék
az első lépéseket egy szupergyors, kvantumfizikán alapuló számítógép megépítése felé.
Kroó Norbert fizikus, akadémikus, a Magyar Tudományos Akadémia korábbi alelnökének
ismertetése szerint a kvantumrendszer sok minden lehet. "Lehet egy atom, vagy annak egy
22
elemi része, de lehet egy bonyolult molekula is. Régen azt mondták, hogy a mikro- és a
nanovilág tartozik a kvantumrendszerekhez, de most egyre inkább látjuk, hogy ez felfelé is
terjedhet. Én azt találtam, hogy kvantummechanikai tulajdonságokkal rendelkeznek például a
felületi plazmonok is (a fém felületén lévő vezetési elektronoknak a lézerfény segítségével
gerjesztett hullámszerű mozgása), amikor billió elektron (tíz a tizenkettediken) mozog. A
kvantummechanikának vannak olyan érdekes dolgai, hogy két kvantumrendszer képes
összekapcsolódni egymással, mégpedig akkor is, ha nagyon messze, akár egy kilométerre is
vannak egymástól. Ha az egyik rendszerrel történik valami, és össze vannak kapcsolva, akkor
a másikon is lehet látni. Ezen alapul a kvantum alapú információtovábbítás
(kvantumkriptográfia). Ez a kapcsolat nemcsak térben igaz, hanem időben is. Ez egészen
különleges tulajdonsága a kvantummechanikának. Hogyha egy kvantumrendszerhez
hozzányúlnak, tehát mérünk, széttörik a kvantummechanikai állapotot. Ez az érzékenység a
kvantummechanika egyik alapelvéből, az úgynevezett Heisenberg-féle határozatlansági
relációból (elvből) következik, miszerint nem lehet egy részecske bizonyos megfigyelhető
változóit egyszerre tetszőleges pontossággal megmérni azonos pillanatban, még elvileg sem.
Például nem mérhető meg egyszerre pontosan egy részecske térbeli helye és impulzusa. Ezen
a nehézségen már át lehet lépni, a Nobel-díjasok által kidolgozott technika segítségével, tehát
meg tudom mondani, hogy hol van a részecske és hogyan mozog" - fejtegette az akadémikus.
Haroche és Wineland unikális kísérleti technikájával viszont úgy lehet mérni, hogy nem törik
szét a kvantummechanikai rendszer. Ezt egy "alkalmasan megválasztott" lézerrel
megvilágítanak, majd megnézik a "választ”. Ez a válasz lehet fényválasz, ami tartalmazza a
kvantumrendszer információit, anélkül, hogy a rendszer elvesztette volna a
kvantumtulajdonságait – mondta Kroó Norbert akadémikus”[10]
Ezzel a Heisenberg-féle határozatlansági reláció megdőlni látszik. Azonban az Ionok
csapdába ejtésének kvantumszámítógépekben való felhasználása még várat magára.
Mindemellett ez egy hatalmas lépést jelent a kvantumszámítógépek valamint szuperpontos
optikai órák létrehozásához.
A két tudós kutatása megtalálható az interneten, a kísérletek részletes elemzésével együtt.[9]
23
3.2. Shor Algoritmus
Nevét Peter Shor amerikai matematikus után kapta, 1994-ben. Bár 1980-ban már
történtek felfedezések arra vonatkozóan, hogy az informatika és a kvantum fizika kapcsolatba
hozható, megállapították hogy bizonyos kvantum fizikai jelenségek nem szimulálhatóak
normális számítógépeken szimulálni, ezzel a tudósok nem tudtak mit kezdeni. Egészen 1994-
ig mikor Shor megalkotta az első kvantum algoritmust, ami meghozta az áttörést.
Shor algoritmusa kvantumszámítógépeken fut és egész számok faktorizálására képes. Egy N
egész szám megadása után, megadja N prím tényezőit.
Shor algoritmusával a faktorizáció polinomiális időn belül megoldható, a megadott szám
méretétől függően9 az időigénye:
Ami sokkal gyorsabb, mint a ma ismert legjobb algoritmusok, amik sub-exponenciális idő
alatt végzik el a faktorizációt:
Ezáltal, ha képesek vagyunk megfelelő számú qubitet kezelő kvantumszámítógépek
létrehozására, nagy számok (1024 bit méretű) faktorizálása nagymértékben lecsökken. Így a
nyilvános kulcsú és a számok prímtényezős felbontásának nehézségén alapuló, mint például
az RSA, feltörhetővé válna.
2001-óta több kísérlet történt Shor algoritmusának demonstrálására, a legutóbbi 2012-es
kísérletekben sikeresen felbontották először a 15-öt 3 és 5 szorzatára, majd a 21-es 3 és 7
szorzatára. Ami a világ jelenlegi legnagyobb kvantumszámítógéppel faktorizált száma.
Az algoritmus működése több lépésből áll, de az egyszerűség kedvéért bontsunk fel 2 részre,
egy számunkra fontosabb szempont alapján.
9 log N jelenti az input méretét, az algoritmus futási ideje az input méretétől polinomiálisan függ
24
Az első rész, amit hagyományos számítógépeken is végezhetünk. A másik értelem szerűen
amit nem. Most pedig mennyünk bele részletesebben.
Az algoritmus menete, N input megadása után:
1. Elsőként lefuttatunk egy prímtesztet N-re. Ha N prím akkor véget ér az algoritmus,
ha nem továbblépünk a kettes lépésre.
2. Ha N páros, akkor van nem-triviális felbontása, ha nem akkor továbblépünk a 3.
lépésre.
3. Megkeresem, hogy mely s egésznek a hatványa N. Ha van ilyen, akkor ezzel N-et
szorzatra bontjuk. Ha viszont nincs ilyen, akkor N nem lehet prímhatvány, az 1. lépés miatt
pedig nem lehet prímszám, ezért legalább 2 prímtényezőjének lenni kell, továbbmegyünk a 4.
lépésre.
4. Választunk véletlenszerűen egy m számot. Legyen , ha, akkor
egy nem triviális felbontás. Ha , akkor futtatjuk az 5. lépést.
5. Az 5. lépés, amit nem hajthatunk végre hagyományos számítógépekkel, ebben rejlik
az algoritmus sebesség növekedése. Úgy is nevezzük, hogy Fourier transzformáció. P számot
keressük ami nem más, mint m rendje. . Ez kizárólag kvantum számítógéppel
számolható ki polinomiális időben. Ha ezzel végeztünk, akkor tovább lépünk a 6. lépéshez.
6. Vesszük a kapott P számunkat, ha páros és (
) (
) ,
akkor (
) (
) egy nem triviális felbontás. Amennyiben a
feltétel nem teljesül, visszatérünk a 3. lépéshez.
Ennyit tehát a Shor algoritmus működési elvéről, részletes elemzése megtalálható SAMUEL
J. LOMONACO előadásában.[6]
A Shor algoritmus mellett röviden ki szeretnék térni a támadásmódokra is. Ahogyan
említettem, A Shor algoritmus egy kvantum algoritmus, azaz kvantum rendszerre
megfeleltetett algoritmus. Egy titkosítást több féle kép támadhatunk. Az egyik az
25
algoritmikustámadás. A másik pedig mikor az erőforrásainkat kihasználva úgynevezett
nyerserő10
támadást indítunk. Ezt a két fogalmat egy valós példával úgy tudnám szemléltetni,
mint 2 embert, akik be szeretnének menni egy zárt ajtón. Az egyén aki a az algoritmikus
támadást követi, megpróbálná kikövetkeztetni, kilogikázni merre lehet a kulcs. Talán a
lábtörlő alatt, talán egy hasadékba csúsztatva. Míg a nyers erőt képviselő egyén szimplán
berúgná az ajtót. Ha nem megy elsőre, akkor addig rugdosná, amíg be nem törik. A brute-
force támadás is valami ilyesmi, nem neveznénk praktikusnak, azonban bizonyos esetekben
célravezető. Egyik nagy előnye hogy univerzálisan használható rengeteg különböző titkosítás
ellen. Habár a számítógépek világában nem egy ajtó rugdosásáról van szó, inkább millió és
millió lehetséges kulcs behelyettesítéséről. Míg meg nem találjuk a megfelelőt.
3.3. A jövő kihívása:
Jelen állapotukban a kvantumszámítógépek még nagyon kezdetlegesek, ahogy
korábban írtam a legnagyobb szám mait eddig faktorizálni tudtak a 21 volt.
Ez még távol áll az RSA minimális11
512 vagy 1024 bit méretű kulcsaitól, szóval a kutatások
és a feltételezések továbbra is folynak, azonban rengeteg a jövővel kapcsolatos feltevést,
valamint lehetséges ellenlépést találhatunk Daniel J. Bernstein, Johannes Buchmann és Erik
Dahmen könyvében.[4]
Talán 10 vagy 20 év múlva, de a kvantumszámítógépek megjelenése elképzelhető, és
feltehetőleg akkor hatást fognak gyakorolni a 21. századra, mint hagyományos társaik tették a
20. században. A számítási kapacitás megnövekedése gyökeres változást fog hozni mint a
meglévő problémák megoldásában, mint segítségünkre lesz új, a mai eszközökkel
elképzelhetetlen még bonyolultabb matematikai kísérletek véghezvitelében.
A kvantumszámítógépek megjelenése fenyegetést jelent a jelenlegi titkosítási rendszerek
biztonságára, hogy miért és hogy ez ellen mit tehetünk, azzal dolgozatom következő, egyben
utolsó fejezetében fogok kitérni.
10
nyerserő: Angol forrásokban Brute-force-ként ismert 11
minimlisan javasolt, ezeknél nagyobb értékek ajánlottak (2048-3072-4096)
26
4. Post- Kvantum kriptográfia
Ahogy már megalapítottuk, a kvantumszámítógépek megjelenésével, az algoritmusok
mostani állapotukban, mint mondjuk az RSA feltörhetőek lesznek, mondjuk egy 4000 bit
hosszú RSA kulcs sikerrel ellenállhat nagy normál számítógépeknek, de nem állhat ellen nagy
kvantum számítógépeknek. Ezért szükségünk van a post-kvantum kriptográfiára. Vagyis a
kvantumszámítógépeknek is ellenálló kriptográfiára. Hiszen a faktorizáción és a diszkrét
logaritmuson alapuló rendszerek feltörhetőek Sor-algoritmusával. Szóval a 2006-os PQCrypto
Conferency óta ez foglalkoztatja a tudósokat. Alternatívák, mint a McElice titkosítás egy
400000012
bites kulccsal hihetően ellenállnak majd bármilyen mai számítógépnek és még a
nagy kvantum számítógépeknek is. Valamint a szimmetrikus algoritmusok [4] a kulcs méret
növelésével és különböző Hash-alapú rendszerek is képesek ellenállni [5] a kvantum
számítógépeknek. Szóval miért most, miért nem később kezdtünk el megoldást keresni?
A nagy kvantumszámítógépek elkészüléséig még talán 40-50 év is eltelhet, azonban nem
várhatunk addig. Fontos az előzetes tervezés valamint az előrelátás a kriptográfiában, talán 50
év, de talán sokkal rövidebb és mielőtt egy új alternatív megoldást bevethetnénk hosszas
próbálgatás és kutatásnak kell eltelnie.
Három fő okunk van a korai kutatásra:
1, Időre van szükségünk a Post-kvantum kriptográfia13
hatékonyságának javítására.
2, Időre van szükségünk, hogy felépítsük a bizalmat az emberekben a PKK rendszerek
irányában.
3, Időre van szükségünk, hogy fejlesszük a PKK rendszerek felhasználhatóságát.
Amíg ezeket nem tettük meg, addig nem állunk készen a PKK rendszerek használatára.
Abban az esetben, ha végül mégsem készülnek elég nagy kvantum számítógépek, vagy valaki
egy teljesen új nézőpontból egy más, sokkal biztonságosabb módszert fejlesz ki, akkor az idő
amit a kód alapú, Hash alapú, a vektor alapú vagy a többváltozós kriptográfia kutatásával
végzünk, elfecsérelt lesz. De ha netán még is, és még is szükségünk lesz ezekre a
rendszerekre, akkor az értékes kutató időt vesztegetjük. És az idő hiánya elhamarkodást okoz,
az elhamarkodás pedig hibát szül. Ami végzetes lehet bizonyos adatok kitudódása mellett.
12
Első látásra abszurdnak tűnhet a kulcs méret, azonban, hogy miért ilyen nagy, arra majd még kitérek 13
A továbbiakban a Post-kvantum Kriptográfiát PKK-val fogom rövidíteni a magyar kifejezés kezdőbetűinek
mozaik szavával.
27
4.1 Kvantum kriptográfia és Post- Kvantum Kriptográfia
Először is egy lényeges dolgot szeretnénk tisztázni, a Kvantum kriptográfia és a PKK
két teljesen különálló kutatási ág. A két módszer között semmilyen kapcsolat nincs, még mint
alternatívákról sem beszélhetünk róluk.
Hogy miért van ez? Természetesen, mert a két módszer teljesen más dolgokon alapul.
A kvantum kriptográfia különböző kvantum jelenségeket és kvantum tulajdonságokat használ
a titkosításra, mint például a szuperpozíció vagy a Heisenberg-féle határozatlansági reláció.
A polarizált fotonokkal való kvantum kommunikációban az adatok, kulcsok továbbításánál
figyelembe veszi a szállítási közeget, ezáltal két részre bontva. Csupán megjegyzem, a közeg
nagyon fontos a kvantum kommunikációban, még hozzá az okból, hogy az adatokat polarizált
fotonok (mint qubitek) szállítják, az egész rendszer ezen alapul. Amennyiben nem megfelelő
a közeg, vagy nem megoldható a fotonok polarizáció változásának megakadályozása, az
adatok elvesznek, mindenféle behatoló nélkül, csupán mert más részecskékkel érintkeztek.
A gyakorlatban 2 közeg vált jelentőssé, a levegő valamint az optikai kábel. Azonban jelen
pillanatban még mind 2 módszernek határt szab a távolság. Ugyan is a fotonok
polarizáltságának megváltozása mellett még el is nyelődhetnek. Szóval a kvantum
kriptográfia még a felhasznált hardverben is nagymértékben különbözik a mostani
számítógépeken és a közeljövőben megjelenő számítógépeken alkalmazható kriptográfiától.
Egy teljesen új hardverre lenne szükség, ámbár már több kulcscsere protokoll létezik (BB84),
ezek még kísérleti fázisban járnak, azonban voltak jelentős sikerek.
DARPA (Defence Advanced Research Projects Agency) kutatói sikeresen előállították az első
kvantum hálózatot, ami nem csupán pont – pont összeköttetést biztosított, de bővíthető is volt.
Először csak a fejlesztési központ állt összeköttetésben a Harvard egyetemmel, de mára már
több nagy amerikai egyetem is csatlakozott hozzá, és sikeresen leszorították a kulcscsere
hibahatárát 3%-ra. Azaz BB84 protokoll esetén minden 1000 elküldött kulcshoz 970 célba is
ér.
28
Térjünk is át a Post-kvantum kriptográfiára.
A post-kvantum kriptográfiában jelenleg 4 különböző megközelítésre fokuszálnak. Ezek
közül egyre sem tudták alkalmazni Shor algoritmusát.
Az első a Hash alapú titkosítás. Legismertebb példája Merkle Hash alapú nyílvános kulcsú
digitális aláírás rendszere (1979), ami Lamport és Diffie egyszeri aláírás rendszerén alapul.
A második a kód alapú kriptográfia egyik példája a McEliece-féle titkosító rendszer, egy
aszimmetrikus titkosító algoritmus, melyet Robert McEliece, amerikai matematikus fejlesztett
ki 1978-ban.
A harmadik a Lattice alapú titkosítás, melynek legismertebb példája a Hoffstein – Pipher –
Silverman “NTRU” nyilvános kulcsú rendszer 1998-ban. Maga rendszer alapvetően egy n-
dimenziós térben elhelyezkedő vektorokra és a közöttük lévő összefüggésekre épít, mint
például a legrövidebb vektor problémája.
A negyedik megközelítés a többváltozós másodfokú egyenleteken alapulegyik példája a HFE
amit Matsumoto és Imai elképzelése (1996) alapján.[4]
A továbbiakban a Hash alapú és a McEliece titkosító rendszert szeretném bemutatni.
29
4.2. Hash alapú digitális aláírásos titkosítás
A digitális aláírás mindig is fontos szerepet játszott az internet és az IT alkalmazások
biztonságossá tételében. A digitális aláírások biztosítják a hitelességet valamint a
letagadhatatlanságot, létezésük nagyon fontos számunkra. A jelenleg digitális aláírás
készítésére használt algoritmusok az RSA, a DES és az ECDSA. Azonban ezek nem kvantum
biztosak. A Hash14
alapú digitális aláírás erre a problémára adhat nekünk megoldást. Ameddig
az ütközés a kódok között elkerülhető, addig ez a módszer biztonságos, és valamint az
ütközések elkerülése alapvető feltétele volt eddig is a digitális aláírások készítésének. 15
Ez a
minimális követelménye egy módszernek, amivel több dokumentumunkat is aláírhatjuk egy
privát kulcsunkkal.
A Hash fákat Ralph Merkle fedezte fel 1979-ben, eredetileg arra tervezték hogy hatékonyan
kezelhessünk több Lamport egyszeri aláírást.16
, aminek fontossága még nyilvánvalóbb. A
biztonságos egyszeri aláírás készítéséhez egy egy-irányú függvényre 17
van szükségünk, ami
garantálja hogy nem lesz visszafejthető. Azonban egy komoly hátránya van az egyszeri
aláírásoknak. Ahogyan a nevük is tükrözi, egy kulcs pár, a titkos és az igazoló (nyilvános)
kulcs csak egy dokumentumon használható fel, utána el kell dobnunk. Azonban Merkle ötlete
alapján a Hash-fákat használva nincs szükség minden egyes adat csomag vagy dokumentum
hitelesítésére, ezeket faszerűen csoportosíthatjuk, így csupán a root vagy a top hash
igazolására van szükség.
14
Hash függvény: egy bemeneti adatsorozatból állít elő egy a bemenet méretétől független, fix méretű, nagyon
nagy valószínűséggel egyedi adatsorozatot. 15
Ha két különböző dokumentumot nem írhatunk alá ugyanazzal a digitális aláírással, két különböző feladónál a
digitális aláírás nem lehet reprodukálható, vagy az algoritmus nem biztonságos 16
Lamport and Diffie One-time signatures, a továbbiakban az LDOTS vagy LD-OTS rövidítést fogom
használni. 17
lásd, a Kriptográfiából általában részben.
30
Egy kicsit részletesebben.
6. ábra: Hash-fa
Ahogy már mondtam a Hash fa egy hashek-ből álló fa, ahol a levelek az adatcsomagok,
fölöttük található a szülőjük, esetleg azok szülői és így tovább míg el nem érünk a legfelső
elemhez, ami a Top Hash vagy root Hash. Mielőtt elfogadnánk bármilyen adat csomagot,
először megszerezzük a Top Hash-t egy megbízható forrásból. Ez után az általunk fogadott
Hash-fát ellenőrizzük a Top Hash-el. Nincs szükség az egész fa vizsgálatára, elég ha az adott
ágat, ahogy a kép is ábrázolja visszavezetjük.
Először is ismertetem a Lamport aláírás rendszert.
A Lamport aláírás vagy a Lamport egyszeri aláírás módszer, egy digitális aláírás
készítési mód, egy gyakorlatilag bármilyen kriptográfiailag biztonságos egy-irányú függvényt
használva. Bár a kvantumszámítógépek megjelenése veszélyezteti a szintén one-way function
RSA-t, a hash alapú Lamport aláírások elég nagy hash függvénnyel sikeresen ellenállhatnak
ezeknek. Azonban a hátrányuk, hogy egy aláírás csak egy üzenet aláírására használható. Erre
szolgálnak megoldást a Hash-fák.
Példa a Lamport aláírás működésére:
Egy Lamport nyilvános és titkos kulcs létrehozásához, szükségünk van pár dologra.
Először is szükség van valamilyen biztonságos véletlen szám generátorra és egy 256 bites
hash függvényre.
31
A titkos kulcs létrehozásához a véletlen szám generátorral legenerálunk 256 szám párt,
512 egyenként 256 bites szám. Ez lesz az 16 Kbites titkos kulcsunk. A nyilvános kulcs
létrehozásához hasheljük, az 512 véletlen számot, ezzel 512 hash-t készítve, amik szintén
egyenként 256 bitesek.
Az aláírás készítése:
Amikor el akarjuk készíteni az aláírást, készítenünk kell egy 256 bites check sum,
(hash sum, ellenörző összeg vagy nevezik még kivonatnak is) értéket. Ezután ennek az
ellenőrző összegnek minden egyes bitjéhez hozzárendelünk a titkos kulcsból 1-1 bitet.
Méghozzá oly módon, hogy ha a kivonat éppen vizsgált bitje 0, akkor az elsőt a számpárból,
ha 1 akkor a másodikat a számpárból. Ez által kapunk 256 véletlen számot, 8 kbit méretben
amit hozzácsatolunk az üzenethez, aláírásként.
Az aláírás ellenőrzése:
Amikor ellenőrizni szeretnénk valaki aláírását, ahhoz először nekünk is készítenünk
kell egy 256 bites kivonatot az üzenetből. Ezután megint ennek a kivonatnak a bitjeit vesszük
sorra és rendelünk hozzá 1-1 számot, az aláírás küldőjének a nyilvános kulcsából. Ugyan úgy
mint aláírás készítésnél, csak nem a saját titkosunkból, hanem a küldő nyilvános
számpárjaiból. Közben, vesszük a küldő véletlen számokból álló aláírását és ezeket a
számokat hasheljük. Ezután összevetjük ezt a 256 hash-t a kivonattal a nyílvános kulcsból
összeállított értékekkel, ha megegyeznek, akkor az aláírás rendben van.
Ennek van egy matematikai vonatkoztatása is, amit megtalálhatunk az interneten.[12]
Merkle aláírás rendszer működése: [13]
A Merkle aláírás rendszer egy a Hash-fákon és az LDOTS-on alapuló digitális aláírás.
Mint már említettem Ralph Merkle fejlesztette ki a 79-ben alternatív módszernek az RSA
mellé. Azonban az akkori időben még az RSA megbízhatóbbnak és könnyebben
kivitelezhetőnk tűnt, így veszített ellene. Azonban ahogy a kutatások tovább folytak, több
dolog is megváltozott, leegyszerűsödött és új felfedezéseket is tettek, ezáltal megváltoztak a
körülmények a 70-es évek végéhez képest. Az egyik megváltozott körülmény például a
kvantumszámítógépek fejlesztésében elért eredmények, ami arra sarkalta a kutatókat hogy
többet foglalkozzanak ennek a módszernek a fejlesztésével, ugyanis az RSA-val ellentétben
32
ez kvantum biztosnak mondható. Most ismertetem a rendszer működését, ami a
kulcsgenerálásból, az aláírás készítéséből valamint az aláírás ellenőrzéséből áll.
Kulcsgenerálás:
A merkle aláírás rendszer egy meghatározott számú üzenet aláírására képes egy nyilvános
pub kulcs mellett. A lehetséges üzenetek számának fixnek kell lennie, így felírhatjuk a
számukat alakban.
Első lépésként a pub kulcs létrehozásához egyszeri aláírás nyílt kulcsok és titkos
kulcsainak létrehozására van szükség. Minden egyes nyilvános kulcshoz egy ,
Hash értéket adunk. A értékekből épül fel a hash-fa.
Az a fa egy csomópontja, ahol i jelöli a csomópont szintjét. A szint a csomópont levéltől
való távolsága, a leveleket 0. szinttel jelöljük, míg a root az n szinten van.
Az azonos szinten lévő csomópontokat balról jobbra számozzuk, tehát az i színt legelső
csomópontja.
A Merkle fában a értékek a bináris fa leveleinek a Hash értékei, az ezek fölött álló
csomópontok, vagyis szülők pedig a 2 levél/gyermek Hash értékének a láncolata.
és
Ilyen módon felépül a levelet és csomóponttal rendelkező fánk, az
pedig a Merkle aláírás rendszer pub nyilvános kulcsa.
Aláírás Generálás:
Hogy aláírjunk egy M üzenetet a Merkle aláírás rendszerrel, először is az M üzenetet egy
egyszeri aláírás rendszerrel látjuk el, az egyik nyílt és titkos kulcspárt használva ezzel
készítve egy aláírást. Az egyszeri nyilvános kulcsnak megfelelő levél a .
A Hash fában a root és az utat nevezzük A-nak. A út darab csomópontot tartozik.
a levél és a fa gyökere. Hogy kiszámítsuk az A
utat, szükségünk van minden csomópont gyerekére. Tudjuk, hogy az
gyereke, hogy kiszámíthassuk szülőjét és tovább haladhassunk az A úton, szükségünk
van testvérére. Ezt nevezzük -nek. Így megadhatjuk, hogy ,
33
mivel n darab csomópont kell az A útban lévő összes csomópont
kiszámításhoz, ezeket kiszámoljuk és alakban elmentjük.
Ezek a csomópontok és az egyszeri sig’ aláírása az M üzenetnek,
alkotják a Merkle aláírási rendszert.
Aláírás ellenőrzése:
Bob ismeri a nyilvános pub kulcsot, az M üzenetet és az aláírást:
Először Bob meggyőződik róla hogy a sig’ az
valóban az M üzenethez tartozó aláírás. Ha a valódi, akkor kiszámolja az az
egyszeri aláírás nyilvános kulcsának hashelésével. esetén csomópontjai az
A úton módon számolható ki, és ha megegyezik a nyilvános pub
kulccsal az aláírás érvényes.
Egy példa a hitelesítési útvonalra:
7. ábra: Hitelesítési útvonal a Merkle fában
És most térjünk rá, miért is biztonságos ez a módszer a kvantumszámítógépekkel szemben.
Ebben segítségünkre lesz Luis Carlos Coronado García tanulmánya[7], vagy a teljes
bizonyítás megtalálható a Post-quantum cryptography című könyvben.[4]
34
Goldwasser vezette be a kiválasztott üzenetes támadás fogalmát. Azonban amíg a Merkle fa,
ütközés ellenálló és mesterségesen nem reprodukálható képes ellenállni ennek a támadási
formának.
4.3. McEliece titkosítási módszer
1978-ban elsőként került bemutatásra egy véletlen számokon és kódokon alapuló
aszimmetrikus titkosítási módszer, ami egy hibajavító függvényt használ a titkos kulcs
leírására. A tudós neve, akitől a módszer is a nevét köszönheti Robert McEliece volt.
A titkos kulcs egy nem csökkenthető, véletlenszerű bináris Goppa kód, ami t hibát képes
kijavítani, míg a nyilvános kulcs ennek a kódnak a véletlenszerűen permutált véletlenszerű
generátor mátrixa. A titkos szöveg egy hibákat tartalmazó kódszó, amiket kizárólag a Goppa
kód segítségével javíthatunk. Az elmúlt 30 évben semmilyen törési kísérlet nem jelentett
fenyegetést erre a módszerre. Még a kvantum számítógépek sem. Rengeteg előnnyel bír,
kezdve a titkosítás és a visszafejtés gyorsaságával, azonban a kulcsok nagy mérete hátrányos.
Azonban jelenleg is hasznosítják, méghozzá a Freenet-ben.
Ismertessük az eljárást részletesebben.[8] Először is három algoritmusból áll, a valószínűségi
kulcsgeneráló algoritmus, ami a nyilvános és a titkos kulcsokat hozza létre, a valószínűségi
titkosító algoritmusból és végül a determinisztikus titkosítást feloldó algoritmusból. A
McEliece felhasználóknak van három biztonsági paramétere:
A kulcs generálás:
1. Először is Alice kiválaszt egy bináris (n,k) lineáris kódot, C kódot, ami t
hibát képes kijavítani. Ez lehet egy hatékony visszafejtő algoritmus, amivel
generál egy generátor mátrixot, amit jelöljünk G-vel.
2. Alice kiválaszt egy véletlenszerű bináris és nem szingurális S mátrixot.
3. Alice kiválaszt egy véletlenszerű permutációs P mátrixot.
4. Alice kiszámítja a mátrixot,
5. Alice nyilvános kulcsa a , magán kulcsa pedig az .
35
Az üzenet titkosítása:
Bob szeretne küldeni egy m üzenetet Alice-nek, Alice nyilvános kulcsát használva.
1. Először is Bob kódolja az m üzenetet, mint egy k hosszúságú bináris sztringet.
2. A következő lépésben Bob kiszámít egy vektort, és generál egy
véletlenszerű n-bites z vektort ami tartalmazza a t-hibát.
3. Az utolsó lépésben pedig, Bob az eddigiek segítségével Bob kiszámolja a titkos
szöveget, mint .
Az üzenet megfejtése:
Miután Alice megkapta a c titkos szöveget, a következő teendői vannak a szöveg elolvasása
érdekében.
1. Először kiszámolja a P mátrix inverzét, azaz a -et.
2. Alice kiszámolja a
3. Alice használja a C kód visszafejtő algoritmusát, hogy visszafejtse -t, alakba.
4. Alice megkapja az eredeti üzenetet, -et elvégezve.
Az üzenet megfejtésének bizonyítása:
Megjegyezzük, hogy amiben a P egy
permutációs mátrix így súlya legtöbb esetben t.
A G Goppa kód legfeljebb t hibát tud javítani, és az mSG szó legfeljebb t távolságra van
-től. Azaz a helyes kódszó adódik. Az S inverzével megszorozva,
ami a nyílt szöveg.
Az legszembetűnőbb hátránya a McEliece rendszernek a kulcsok mérete.
Ahogyan már korábban említettem, minden a titkosítást használó félnek van 3 paramétere. Az
n, a k és a t. Ezekből számoljuk a kulcsokat. A kulcsok mátrixok, mivel biztonság érdekében a
36
három paraméternek nagy számoknak kell lennie ezért nagy mátrixokat eredményeznek. A
titkosítás erőssége, egyenesen arányos a kulcsmérettel, minél nagyobb kulcsokat használunk,
annál nehezebb feltörni, ebből az okból, kvantumszámítógépek ellen, megnégyszerezik a
kulcs méretet. Viszont ez jelentősen limitálja a felhasználhatóságát. Jelen pillanatban még
nem sok rendszer képes kezelni egy ennyire megnövekedett kulcs méretet.
Egy példa, ha standard algebrai titkosítást használunk, n = 2048, k = 1751, t = 27
paraméterek nagysága 80 bit esetén a nyilvános kulcsot 520.047 bitre növeli.
Megkísérelt támadások:
Mivel a titkosítás algebrai és a kódoláson alapul, a titkos szöveg visszafejtése pusztán a
nyilvános kulcs ismeretében lehetetlen.
Egyéb támadási módok történtek, az egyik a nyers erő módszer. Amennyiben képesek
lennének megszerezni a G mátrixot, és erre alkalmaznák a Patterson algoritmust, még mindig
komoly problémába ütköznének, n és k konkrét értékének ismerete nélkül, túl sok lehetséges
G, S és P mátrix jöhet létre, szóval csupán a G ismeretében nem indíthatunk, sikeres támadást.
Lehetséges megoldás még, egy véletlenszerű k kiválasztása az n koordinátákból és m
kalkulálása. Azonban ha jól választottuk ki a k, n és t paramétereket, akkor annak
valószínűsége, hogy a kiválasztott z vektor koordinátái közül egy sem hibás (egy sem 1 bites)
nagyon kicsi. Valószínűsége: (
) (
)
Van egy támadás mód ami nem igényli a G-t. Ezt bővebben kifejti Bernstein, Lange és Peters
[14]. Ez a módszer a maximális és minimális súlyozású kódszavakra épül, azt akarja
bizonyítani, hogy a McEliece feltörhető 1400 nap alatt, a támadás jelenleg is folyamatban18
van.
A jelenlegi kísérlettől eltekintve, kijelenthetjük, hogy bár felhasználása limitált, de a
McEliece biztonságos, és a megfelelő paraméterek és kulcs méret kiválasztásával, kvantum
biztos.
18
A támadás paraméterei megtalálhatóak a: http://eprint.iacr.org/2008/318 oldalon.
37
5. Összefoglalás
Az első fejezetben bemutattuk a titkosítást általánosságban, valamint az alapokat.
Azután a második fejezetben áttértünk ezek számítógépes megvalósítására, kitérve ennek két
ágának, a szimmetrikusnak és az aszimmetrikusnak egy-egy képviselőjére, az AES-re és az
RSA-ra. Mindkét módszert jelenleg is használják, ugyanakkor dolgozatomban rámutattam,
hogy az RSA esetében ez nem maradhat sokáig így. A kvantuminformatika alapjainak
vázolásával igyekeztem elősegíteni, hogy egy a kvantumszámítógépekről alkotott kép
kialakítását, mielőtt rátértem volna a kvantum kriptográfia részletesebb bemutatására.
Megismerhettünk a post-kvantum és a kvantum kriptográfia különbségeit is, valamint a
közelmúltban bekövetkezett változásokat is. A Shor algoritmus megismerésével tisztában
lehetünk, mégis miért kell az RSA-nál biztonságosabb titkosítást kialakítani, melyre példák is
találhatóak a 4. fejezetben. Megismertük a Merkle fákat, azok felépítését, működéi elvét,
példát is láthattunk rájuk és említést tettünk a feltörésükre tett kísérletről is. Ez után a
McEliece titkosítási rendszer következett, ami kódelméleti alapokra helyezte a titkosítást, egy
új és érdekes alternatívát bemutatva a hibajavító kódok alkalmazására. Részletesen kitértünk a
rendszer működésére, a jelenlegi problémáira és említést tettünk a jelenlegi alkalmazásáról is.
Azonban, dolgozatom fő irányvonala egy kérdés volt,
A kriptográfia végét jelenti a kvantumszámítógépek elterjedése?
Erre nehezen adható egyértelmű válasz. Igen, az RSA végét jelenti majd, talán a jelenlegi
kriptográfia végét igen, de teljesen semmi kép. Ahogy a kriptoanalitika folyamatosan fejlődik,
jobb módszereket talál, még gyorsabb rendszereket, erősebb eszközöket vet be, úgy a
kriptográfia sem hagyja magát. Igyekszik nem csupán lépést tartani, hanem mindig egy-két
lépéssel előtte járni. A Merkle-fákat már napjainkban is hasznosítják, a McEliece módszer is
folyamatosan fejlődik, és a PQCryptoconference 2006-tól kezdve minden éven ülésezik, hogy
megoldást találjanak a problémákra.
38
6. Irodalomjegyzék
[1] Reinhard Wobst: Cryptology Unlocked John Wiley & Sons Ltd, The Atrium, Southern
Gate, Chichester, West Sussex, PO19 8SQ, England. 2007
[2] Butyán Levente –Vajda István: Kriptográfia és alkalmazása, Typotex Elektronikus kiadó,
2004.
[3] Virasztó Tamás: Titkosítás és Adatrejtés, NetAcademia Kft. Budapest, 2004.
[4] Daniel J. Bernstein, Johannes Buchmann, Erik Dahmen (editors). Post-quantum
cryptography. Springer, ISBN 978-3-540-88701-0, Berlin, 2008
[5] Daniel J. Bernstein (2010-03-03). Grover vs. McEliece
[6] Daniel J. Bernstein (2009-05-17). Cost analysis of hash collisions: Will quantum
computers make SHARCS obsolete?
[7] SAMUEL J. LOMONACO, JR., "A LECTURE ON SHOR'S QUANTUM FACTORING
ALGORITHM VERSION 1.1", 2000
[8] Luis Carlos Coronado García: On the security and the efficiency of the Merkle signature
scheme, Hochschulstr. 10, D-64289, Darmstadt. Germany, 2005
[9] Fizikai Nobel-díj 2012, National Geographic, www.ng.hu. 2012. november 10.
URL: http://www.ng.hu/Tudomany/2012/10/fizikai_nobeldij__2012_
[10] Advanced physicsprize 2012, www.nobelprize.org, 2012. november 10.
URL: http://www.nobelprize.org/nobel_prizes/physics/laureates/2012/press.html
[11] Kvantumszámítógép, www.wikipedia.com, 2012. november 10.
URL: http://en.wikipedia.org/wiki/Quantum_computer
[12] www.wikipedia.com, 2012. november 10.
URL: http://en.wikipedia.org/wiki/Lamport_signature
[13] Merkle signature scheme, www.wikipedia.com 2012. november 16.
URL: http://en.wikipedia.org/wiki/Merkle_signature_scheme
[14] McEliece cryptosystem, www.wikipédia.com, 2012. november 20
URL: http://en.wikipedia.org/wiki/McEliece_cryptosystem
[15] „Attacking and defending the McEliece cryptosystem”. Proc. 2nd International
Workshop on Post-Quantum Cryptography 5299, 31–46. o
39
7. Ábrajegyzék
1. ábra: Adat továbbítás nyílt csatornán ............................................................................. 6.
2. ábra: Adat továbbítás titkosítással .................................................................................. 6.
3. ábra: 3 qubites regiszter ................................................................................................ 16.
4. ábra: Quibit grafikus modellje ...................................................................................... 17.
5. ábra: Schrödinger macskája. ......................................................................................... 18.
6. ábra: Hash-fa................................................................................................................. 29.
7. ábra: Hitelesítési útvonal a Merkle fában ..................................................................... 32
40
8. Köszönetnyilvánítás
Ez úton szeretnék köszönetet mondani témavezetőmnek, Dr. Huszti Andreának, a téma
választásában nyújtott segítségért, a források kiválasztásában nyújtott segítségért és
türelméért. Előadásait mindig is inspirálónak találtam, segített az alapok elsajátításában, amik
nélkül az anyag megértése lehetetlen lett volna.