szakdolgozat

40
SZAKDOLGOZAT Dancs Gergő Debrecen 2012

Upload: zoli-tordai

Post on 14-Aug-2015

155 views

Category:

Documents


2 download

DESCRIPTION

SZAKDOLGOZAT

TRANSCRIPT

Page 1: SZAKDOLGOZAT

SZAKDOLGOZAT

Dancs Gergő

Debrecen

2012

Page 2: SZAKDOLGOZAT

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

Page 3: SZAKDOLGOZAT

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

Page 4: SZAKDOLGOZAT

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

Page 5: SZAKDOLGOZAT

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.

Page 6: SZAKDOLGOZAT

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

Page 7: SZAKDOLGOZAT

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.

Page 8: SZAKDOLGOZAT

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.

Page 9: SZAKDOLGOZAT

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.

Page 10: SZAKDOLGOZAT

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

Page 11: SZAKDOLGOZAT

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.

Page 12: SZAKDOLGOZAT

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

Page 13: SZAKDOLGOZAT

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.

Page 14: SZAKDOLGOZAT

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.

Page 15: SZAKDOLGOZAT

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

Page 16: SZAKDOLGOZAT

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.

Page 17: SZAKDOLGOZAT

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

Page 18: SZAKDOLGOZAT

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

Page 19: SZAKDOLGOZAT

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.

Page 20: SZAKDOLGOZAT

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.

Page 21: SZAKDOLGOZAT

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

Page 22: SZAKDOLGOZAT

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]

Page 23: SZAKDOLGOZAT

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

Page 24: SZAKDOLGOZAT

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

Page 25: SZAKDOLGOZAT

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)

Page 26: SZAKDOLGOZAT

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.

Page 27: SZAKDOLGOZAT

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.

Page 28: SZAKDOLGOZAT

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.

Page 29: SZAKDOLGOZAT

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.

Page 30: SZAKDOLGOZAT

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.

Page 31: SZAKDOLGOZAT

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

Page 32: SZAKDOLGOZAT

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 ,

Page 33: SZAKDOLGOZAT

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]

Page 34: SZAKDOLGOZAT

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 .

Page 35: SZAKDOLGOZAT

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

Page 36: SZAKDOLGOZAT

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.

Page 37: SZAKDOLGOZAT

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.

Page 38: SZAKDOLGOZAT

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

Page 39: SZAKDOLGOZAT

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

Page 40: SZAKDOLGOZAT

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.