Debreceni Egyetem Informatikai Kar

ECC alap´uelektronikus szavaz´asis´ema

Varga P´eter

2008

T´emavezet˝o: Dr. Peth˝oAttila egyetemi tan´ar Ez´utonszeretn´ek k¨osz¨onetetmondani t´emavezet˝omnek,Dr. Peth˝o Attila tan´ar´urnaka szakmai ir´any´ıt´as´a´ert,´eshogy lehet˝os´eget biztos´ıtottdolgozatom elk´esz´ıt´es´ehez. K¨osz¨on¨oma rengeteg t¨urel- met, ´esa hasznos tan´acsokat,amik n´elk¨ulez a dolgozat nem j¨ohet- ett volna l´etre. Tartalomjegyz´ek

1. Bevezet´es 3

2. Alapfogalmak 5 2.1. Hossz´uWeierstraß norm´alforma...... 5 2.2. Tate ´ert´ekek ...... 5 2.3. Elliptikus g¨orbe ...... 6 2.4. R¨ovidWeierstraß norm´alforma ...... 6 2.5. G¨orb´ekekvivalenci´aja ...... 9 2.6. M˝uveletek elliptikus g¨orb´eken ...... 10

3. V´egestest felett ´ertelmezettelliptikus g¨orb´ek 12 3.1. Hasse-t´etel ...... 12 3.2. Diszkr´etElliptikus Logaritmus Probl´ema...... 12 3.3. A Diszkr´etElliptikus Logaritmus Probl´emamegold´asa. . . . 13 3.3.1. Pr´ob´algat´asm´odszere ...... 13 3.3.2. D. Shank ”baby-step giant-step” algoritmusa . . . . . 13

4. ECC - Elliptikus g¨orb´eken alapul´otitkos´ıt´asis´ema 14

5. Zero-knowledge proofs - Atl´atsz´obizony´ıt´asok´ 16 5.1. Logikai kifejez´esbizony´ıt´asa...... 16 5.2. Diszkr´etelliptikus logaritmus ismeret´enekbizony´ıt´asa . . . . 18

6. Szavaz´asielj´ar´as,k¨ovetelm´enyek 19 6.1. Szavaz´as...... 19 6.2. Szavaz´asit´em´ak ...... 19 6.3. Szerepl˝ok ...... 19 6.3.1. Szavaz´ok ...... 19 6.3.2. B´ır´ak(Bizotts´agitagok) ...... 20 6.4. Szavazat ...... 20

1 6.5. Ki´ert´ekel´es ...... 20 6.6. Szavaz´asielj´ar´as ...... 20 6.7. K¨ovetelm´enyek ...... 20 6.7.1. V´alaszthat´os´ag ...... 20 6.7.2. Anonimit´as ...... 20 6.7.3. Titkoss´ag ...... 20 6.7.4. Bizony´ıthat´os´ag...... 21 6.8. Szavaz´asis´ema ...... 21

7. K´et-kimenet˝uszavaz´asis´ema 22 7.1. Kezd˝o´allapot ...... 22 7.2. Szavaz´as...... 22 7.3. Szavazatok ¨osszesz´aml´al´asa ...... 23

8. T¨obb-kimenet˝uszavaz´asis´ema 25 8.1. Kezd˝o´allapot ...... 25 8.2. Szavaz´as...... 26 8.3. Szavazatok ¨osszesz´aml´al´asa ...... 26

9. Altal´anosszavaz´asis´ema´ 28 9.1. Kezd˝o´allapot ...... 28 9.2. Szavaz´as...... 29 9.3. Szavazatok ¨osszesz´aml´al´asa ...... 29

10.Implement´aci´o 31

11.F¨uggel´ek- T¨ort´eneti´attekint´es 33 11.1. Okor´ ...... 34 11.2. K¨oz´epkor ...... 35 11.3. Ujkor´ ...... 36 11.4. A XX. sz´azadels˝ofele ...... 36 11.5. A XX. sz´azadm´asodik fele ...... 38 11.6. XXI. sz´azad...... 41

Irodalomjegyz´ek 42

2 1. fejezet

Bevezet´es

A kriptogr´afia´og¨or¨ogeredet˝usz´o,jelent´ese: titkos´ır´as. Ez a tudom´any az´otafoglalkoztatja az embert, ami´otaa tulajdon, mint fogalom, a bir- tokl´asr´esz´ev´ev´altaz emberis´egnek,azonban t´enyleges kutat´asacsak n´eh´any ´evtizeddelezel˝ottkezd˝od¨ottmeg. R´egebben a nyelvtudom´any t´emak¨or´ebe sorolt´ak, azonban m´ara m´arer˝osenmatematikai ´esinformatikai jelleget kapott. Rejtjelez´essel,titkos´ır´assal,k´odol´assalfoglalkozik, melyek el˝o´all´ıt´asa mellett egy m´asikf˝oc´elazok megfejt´eseis. Az elliptikus g¨orb´eket, mint alge- brai ´esgeometriai elemet ugyan az elm´ult150 ´evben behat´oantanulm´anyozt´ak, azonban kriptogr´afiaiszempontb´olm´egcsak 20 ´eve vizsg´alj´ak˝oket. Jelen dolgozat c´eljaaz elliptikus g¨orb´ek´altalalkotott kriptorendszer (r¨ovi- den: ECC) alkalmaz´asaelektronikus szavaz´astmegval´os´ıt´oprotokollok eset´en.

A m´asodik fejezetben alapfogalmakkal ismerkedhet¨unkmeg, melyek seg´ıts´eget ny´ujtanaka dolgozat l´enyeg´enekmeg´ert´es´eben. A f˝oc´elaz elliptikus g¨orbe, mint fogalom megismer´ese,meg´ert´ese. A harmadik fejezet ´atvezet˝onektekinthet˝oa m´asodik fejezetben megismert elliptikus g¨orb´ek,´es ezek kriptogr´afiaialkalmaz´asak¨oz¨ott.Ez a fejezet v´eges testek felett ´ertelmezettelliptikus g¨orb´ekkel foglalkozik, bevezeti a Hasse- t´etelt,valamint a Diszkr´etElliptikus Logaritmus Probl´em´at,amely lehet˝ov´e teszi az ECC, mint kriptorendszer alkalmaz´as´at. A negyedik fejezetb˝olmegtudhatjuk, hogyan is m˝uk¨odikez a kriptorendszer, milyen param´etereivannak az elj´ar´asnak. Az ¨ot¨odikfejezet ´ugynevezett ´atl´atsz´obizony´ıt´asokkal foglalkozik, amelyek seg´ıts´eg´evel ´ugybizony´ıthatjuk egy titkos adat ismeret´et, hogy ek¨ozben semmilyen inform´aci´otnem adunk ki az adatr´ol. Ilyen elj´ar´asokelenged- hetetlenek egy elektronikus szavaz´asirendszer implement´al´as´ahoz.

3 A hatodik fejezet a szavaz´asielj´ar´asalapfogalmait t´argyalja, valamint azt, hogy milyen k¨ovetelm´enyeknek kell teljes¨ulniegy ilyen rendszer m˝uk¨od´ese sor´an. A hetedik, nyolcadik ´eskilencedik fejezet elliptikus g¨orbe alap´uelektronikus szavaz´asis´em´akat t´argyal. A hetedik fejezetben egy egyszer˝ubbszavaz´asi s´em´atismerhet¨unkmeg, melynek seg´ıts´eg´evel meg´erthetj¨ukezen elj´ar´asok menet´et. A nyolcadik ´eskilencedik fejezetekben ennek a s´em´anakaz ´altal´anos´ıt´asait olvashatjuk. A tizedik fejezet az implement´aci´oval foglalkozik, le´ırja,hogyan siker¨ulta kilencedik fejezetben t´argyalt s´em´atmegval´os´ıtani.

4 2. fejezet

Alapfogalmak

Ebben a fejezetben megismerked¨unkazokkal az alapfogalmakkal, amelyek ismerete elengedhetetlen a v´egestestek feletti elliptikus g¨orb´eken alapul´o titkos´ıt´asielj´ar´asmeg´ert´es´ehez.

2.1. Defin´ıci´o(Hossz´uWeierstraß norm´alforma)[1]

Legyen 2 3 2 E: Y + a1XY + a3Y = X + a2X + a4X + a6 egy K test felett ´ertelmezettegyenl˝os´eg,ahol a1, a2, a3, a4, a6,X,Y ∈ K. Ekkor azt mondjuk, hogy E hossz´uWeierstraß norm´alform´abanvan.

2.2. Defin´ıci´o(Tate ´ert´ekek)[1]

Legyen E egy a1, a2, a3, a4, a6 egy¨utthat´okkal megadott hossz´uWeierstraß norm´alform´abanl´ev˝oegyenl˝os´eg.Ekkor E Tate ´ert´ekeinek nevezz¨uka k¨ovetkez˝oket:

2 b2 := a1 + 4a2,

b4 := 2a4 + a1a3, 2 b6 := a3 + 4a6, 2 2 2 b8 := a1a6 + 4a2a6 − a1a3a4 + a2a3 − a4, 2 c4 := b2 − 24b4, 3 c6 := −b2 + 36b2b4 − 21b6.

5 A diszkrimin´ans:

2 3 3 ∆ := −b2b8 − 8b4 − 27b6 + 9b2b4b6.

´esa j-invari´ans: c3 j := 4 . ∆

2.3. Defin´ıci´o(Elliptikus g¨orbe)[1]

Legyenek a1, a2, a3, a4, a6,X,Y ∈ K. Azon (x, y) ∈ K pontok halmaz´anak, melyekre 2 3 2 Y + a1XY + a3Y = X + a2X + a4X + a6 teljes¨ul´esaz {O} halmaznak az uni´oj´athossz´uWeierstraß norm´alform´aban megadott elliptikus g¨orb´eneknevezz¨uk.

2.4. Defin´ıci´o(R¨ovidWeierstraß norm´alforma)[1]

Legyen 2 3 Y = X + a4X + a6 egy K test felett ´ertelmezett egyenlet, ahol a4, a6,X,Y ∈ K. Ekkor azt mondjuk, hogy ez az egyenlet r¨ovidWeierstraß norm´alform´abanvan.

Hossz´uWeierstraß norm´alform´abanmegadott elliptikus g¨orb´ekrea k¨ovetkez˝o oszt´alyoz´astvezetj¨ukbe:  Az elliptikus g¨orbe regul´arisakkor ´escsak akkor, ha ∆ 6= 0. Egy´ebk´ent szingul´arispontosan egy szingul´arisponttal (a pontban a g¨orbe mindk´et v´altoz´oszerinti deriv´altja0). P´eld´aula k¨ovetkez˝ok´etg¨orbe regul´aris:

6 (a)

2.1. ´abra. y2 = x3 − 5x + 3

(a)

2.2. ´abra. y2 = x3 − 2x + 3

7 Ezen g¨orb´ekdiszkrimin´ansaia val´ossz´amhalmazfelett ´ertelmezve ∆ = −257, illetve ∆ = 211.  Az elliptikus g¨orb´enekcsom´opontja (node) van, akkor ´escsak akkor, ha ∆ = 0 ´es c4 6= 0. P´eld´aul:Ezen g¨orb´ere: D = 0, c4 = 144 ´escsom´opontja (szingul´arispon-

(a)

2.3. ´abra. y2 = x3 − 3x + 2 tja): (x, y) = (1, 0).

 Az elliptikus g¨orb´enekfordul´opontja (cusp) van, akkor ´escsak akkor, ha ∆ = 0 ´es c4 = 0. P´eld´aul:

8 (a)

2.4. ´abra. y2 = x3

Ezen g¨orb´ere: D = 0, c4 = 0 ´esfordul´opontja (szingul´arispontja): (x, y) = (0, 0).

2.5. Defin´ıci´o(G¨orb´ekekvivalenci´aja)[1]

Azt mondjuk, hogy az E ´es F ugyanazon test felett ´ertelmezettelliptikus g¨orb´ekegym´assalekvivalensek, ha egym´asba´atvihet˝okv´egessok m´ert´ektart´o line´aristranszform´aci´oalkalmaz´as´aval. Ez egy ekvivalencia rel´aci´oaz ugyana- zon test felett ´ertelmezett g¨orb´ekre,ami oszt´alyoz´asthoz l´etrea test felett ´ertelmezettelliptikus g¨orb´ekhalmaz´an.

T´etel[1]

Ha a K test karakterisztik´aja > 3, akkor b´armelyhossz´uWeierstraß norm´alform´abanl´ev˝oegyenlettel megadott elliptikus g¨orb´ehezmegadhat´o egy vele ekvivalens r¨ovidWeierstraß norm´alform´abanl´ev˝oegyenlettel megadott elliptikus g¨orbe.

9 Bizony´ıt´as: A bizony´ıt´askonstrukt´ıv. Induljunk ki a hossz´uWeierstraß norm´alform´aj´u egyenletek ´altal´anosalakj´ab´ol: 2 3 2 E: Y + a1XY + a3Y = X + a2X + a4X + a6 Uj´ v´altoz´okbevezet´es´evel kapjuk a k¨ovetkez˝oket: a a Y 0 = Y + 1 X + 3 2 2 4a + a2 X0 = X + 2 1 12 Ezzel az egyenlet a k¨ovetkez˝oalakba jut: a a (4a + a2)2 a2 (4a + a2)3 Y 02 = X03 + (a + 1 3 − 2 1 )X0 + (a + 3 − 2 1 ) 4 4 48 6 4 1728 2.6. Defin´ıci´o(M˝uveletek elliptikus g¨orb´eken)[1]

Az E 2 3 Y = X + a4X + a6 r¨ovidWeierstraß norm´alform´abanl´ev˝oegyenlettel megadott elliptikus g¨orb´en m˝uveleteket lehet defini´alnia k¨ovetkez˝ok´eppen: Pontok ¨osszead´asa: Legyenek P = (x1, y1),Q = (x2, y2),R = (x3, y3) ∈ E az elliptikus g¨orbe pontjai. Azt mondjuk, hogy P + Q = R, ha a k¨ovetkez˝ok k¨oz¨ulaz egyik teljes¨ul:  x1 = x2 ´es y1 = −y2 ´es R = O  P = O ´es Q = R vagy Q = O ´es P = R 2  x3 = λ − x1 − x2 ´es y3 = λ(x1 − x3) − y1 ´es  y2−y1 , ha P 6= Q  x2−x1 λ = 3x2+a 1 4 , ha P = Q  2y1 Pontok skal´arszorosa: A P pont γ ∈ Z+ skal´arszoros´anazt a Q pontot ´ertj¨uk,melyre γ X Q = P i=1 Azaz a P pontot γ-szor ¨onmag´ahozadva Q-t kapjuk. Jele: [γ]P

10 T´etel[1]

Egy E elliptikus g¨orbe az el˝oz˝odefin´ıci´obanmegadott m˝uveletre Abel- csoportot alkot.

11 3. fejezet

V´egestest felett ´ertelmezett elliptikus g¨orb´ek

Eddig ´altal´anosanbesz´elt¨unkaz elliptikus g¨orb´ekr˝ol.Most ´attekintj¨ukazt, mit mondhatunk az elliptikus g¨orb´ekr˝ol,ha speci´alisancsak v´egestestek felett vizsg´aljuk˝oket.

Legyen K v´egestest, ´eslegyen E K felett ´ertelmezettelliptikus g¨orbe. Ekkor az E elliptikus g¨orbe v´egesAbel-csoportot alkot, mely vagy ciklikus, vagy k´etciklikus csoport direkt szorzata.

Ekkor

3.1. Hasse-t´etel[1]

Legyen E elliptikus g¨orbe Kq v´egestest felett. Ekkor √ |#E − (q + 1)| ≤ 2 q, ahol #E az E elemeinek sz´am´atjelenti.

3.2. Defin´ıci´o(Diszkr´etElliptikus Logaritmus Probl´ema)[1]

Legyen G az E elliptikus g¨orbe ´altalalkotott ciklikus csoport, rendje m = ord(G). Legyen adott g, h ∈ G, h = [l]g, 0 ≤ l ≤ m. Diszkr´etElliptikus Logaritmus Probl´em´anaknevezz¨ukazt, amikor g, h, m ismeret´eben meg kell hat´aroznunk az l ´ert´eket.

12 Ma nem ismert olyan m´odszer,mellyel mindez polinomi´alisid˝oben kisz´amolhat´o, a leggyorsabb ismert algoritmus bonyolults´agaszubexponenci´alis.

3.3. A Diszkr´etElliptikus Logaritmus Probl´ema megold´asa[1]

A Diszkr´etLogaritmus Probl´emamegoldhat´oabban az esetben, ha tudjuk, hogy a v´egeredm´eny egy bizonyos tartom´anyba esik, amely egy viszonylag kev´eselemsz´am´uhalmaz. Legyenek ezek a halmazbeli ´ert´ekek: 0, 1, ..., p−1.

3.3.1. Pr´ob´algat´asm´odszere Kisz´amoljuk[i]g-t minden i = 0, 1, ..., p − 1-re, am´ıg h = [i]g nem teljes¨ul, ahol p szigor´uankisebb, mint m. Maximum p esetet kell v´egigpr´ob´alni.

3.3.2. D. Shank ”baby-step giant-step” algoritmusa Legyen adott egy o < p sz´am.Sz´am´ıtsukki, ´est´aroljuk BS[j] = h + [−j]g = [l − j]g 0 ≤ j < o-re, valamint sz´am´ıtsukki a GS[k] = [k · o]g p pontokat k = 0 ≤ k < [ o ]-ra ´eshasonl´ıtsuk¨ossze a k´etponthalmazt. Ha van olyan j ´es k, melyekre BS[j] = GS[k], az azt jelenti, hogy [l − j]g = [k · o]g ⇒ [l − j − ko]g = {O} ⇒ l = j + k · o. ´Igy megkaptuk i ´ert´ek´et. A legk¨olts´egesebb m˝uvelet az algoritmusban a pont¨osszead´as,ezeknek a sz´ama: p o2 + p o + [ ] ≈ . o o Ez o egy f¨uggv´enye, melyben p param´eter.Mivel p > 0, ez´ertez a f¨uggv´eny egy hiperbola, melynek csak a pozit´ıv´ag´atvizsg´aljuk,mert o > 0. Ennek az ´agnakminimuma lesz, ha a deriv´altz´erus ´ert´eket vesz fel. o2 + p f(o) = , o 2 0 o − p f (o) = 2 . √ o √ Mivel a deriv´altf¨uggv´eny o = p esetben lesz nulla, ´ıgyc´elszer˝u o-t p-nek v´alasztani.

13 4. fejezet

ECC - Elliptikus g¨orb´eken alapul´otitkos´ıt´asis´ema[1]

A bevezet˝ot´etelek´esdefin´ıci´okut´ann´ezz¨ukmeg, hogyan haszn´alhat´oakaz elliptikus g¨orb´ekelektronikus ¨uzenetektitkos´ıt´as´ara.

A Diszkr´etElliptikus Logaritmus Probl´em´atkihaszn´alva fel´ep´ıthet˝oegy elliptikus g¨orb´eket alkalmaz´otitkos´ıt´asialgoritmus. Legyen A (Alice) az a szem´ely, aki titkos csatorn´anszeretne inform´aci´otmegosztani B-vel (Bob). E (Eve) a ”t´amad´o”,aki ezt az ¨uzenetetszeretn´efelt¨orni. Legyen az ´atk¨uldend˝o¨uzenet m darab karakter. B v´alasztegy E(Kq) v´egeselliptikus g¨orb´et(|E(Kq)| = r) , ennek egy G ∈ E(Kq) gener´atorelem´et,valamint egy 0 ≤ n < r titkos kulcsot, ´es nyilv´anoss´agrahozza E(Kq)-t, G-t ´es[n]G-t. A lek´epezi az ´atk¨uldend˝o¨uzeneteta k¨ovetkez˝ok´eppen:

Az ¨uzenetetr´eszekrebontja sz´et(2 · [log q] bitekre) ´esminden egyes r´eszhez 2 meghat´arozzaa hozz´atartoz´o Pi ∈ Kq, 0 ≤ i ≤ m − 1 pontot, ´ugy, hogy az ¨uzenetetk´etr´eszrev´agja, ´esaz ¨uzenetels˝ofele lesz a pont x koordin´at´aja, az ¨uzenet m´asodik fele pedig az y. Gener´alegy k ∈ Z v´eletlen´ert´eket, majd l´etrehozzaa ([k]G, Pi + [k]([n]G)) p´arokat, ahol a + jel itt nem az elliptikus g¨orb´eken t¨ort´en˝opont¨osszead´ast jelenti, hiszen Pi nem felt´etlen¨ulvan rajta a g¨orb´en.Ez az ¨osszead´as koordin´at´ank´enti ¨osszead´astjel¨ol.Az elk´esz¨ult¨uzenetet´atk¨uldi B-nek. B tudja olvasni az ¨uzenetet,mivel ismeri n-t, ´ıgyki tudja sz´amolni[nk]G-t, ezt koordin´at´ank´ent kivonva az ¨uzenetm´asodik fel´eb˝olmegkapja Pi-t.

14 E nem tudja olvasni, mivel sem n-t, sem k-t nem ismeri, ´ıgynem tudja [nk]G-t meghat´arozni.

15 5. fejezet

Zero-knowledge proofs - Atl´atsz´obizony´ıt´asok´

Ebben a fejezetben k´etolyan bizony´ıt´asi elj´ar´astismertet¨unk,melyek fela- data kett˝os:

- a vizsg´al´oszem´elymegbizonyosodjon arr´ol,hogy egy m´asikszem´elyt´enylegesen olyan adatot titkos´ıtott,amely egy bizonyos krit´eriumnakmegfelel.

- a bizony´ıt´onakne kelljen semmilyen t´enyleges inform´aci´otel´arulnia a titkos´ıtottadatr´ol.

5.1. Logikai kifejez´esbizony´ıt´asa

Ebben a r´eszben egy olyan protokollt t´argyalunk, amely azt bizony´ıtja,hogy egy L ¨osszetett kvantormentes logikai kifejez´es´ert´eke igaz, oly m´odon,hogy a bizony´ıt´one ´aruljonel semmit a predik´atumok´ert´ek´er˝ol. L-ben szerepl˝ominden egyes predik´atumk´etdiszkr´etelliptikus logaritmikus kifejez´esegyenl˝os´eg´etvizsg´alja. Mind a bizony´ıt´o,mind a vizsg´al´oismeri a diszkr´etlogaritmikus kifejez´eseket, viszont a vizsg´al´onem ismeri ezek ´ert´ek´et,ennek kisz´amol´asadiszkr´etelliptikus logaritmus probl´ema,ez´ert nem tudja, hogy egyenl˝oeke a kifejez´esek. Hozzuk L-et konjunkt´ıvnorm´alform´ara.Ekkor L ´ert´eke akkor lesz igaz, ha

16 minden egyes elemi diszjunkci´o´ert´eke igaz. Legyen egy ilyen diszjunkci´o:

n _ loggi hi = logGi Hi. i=1 A bizony´ıt´omegmutatja, hogy ˝oismeri a diszkr´etelliptikus logaritmusok eredm´eny´et,´eshogy a fenti kifejez´esigaz, ´ugy, hogy a vizsg´al´one jusson semmilyen inform´aci´ohoz,ami seg´ıthetn´ea diszkr´etelliptikus logaritmusok kisz´amol´as´aban.A k¨ovetkez˝oalgoritmust haszn´alja: Legyenek t = a diszjunkci´obanazon predik´atumnaka sorsz´ama,amely igaz ´ert´eket vesz fel v = a t. predik´atumban szerepl˝ologaritmikus kifejez´esek´ert´eke (a predik´atum igaz volta miatt ez a k´etlogaritmus megegyezik) A bizony´ıt´olegener´alja a d ´es r random vektorokat, ´eskisz´amoljaa k¨ovetkez˝oket:

n d ∈ Zp ,

n r ∈ Zp , a, b ∈ En n dimenzi´ospontvektorok, ahol

ai = [di]hi + [ri]gi,

bi = [di]Hi + [ri]Gi,

w = v · dt + rt.

Elk¨uldiaz a ´es b vektorokat a vizsg´al´onak. A vizsg´al´ogener´alegy c ∈ Zp sz´amot,majd ezt k¨uldivissza. A bizony´ıt´ofel¨ul´ırjaa dt ´esaz rt ´ert´ekeket a k¨ovetkez˝okkel: X dt = c − dj, j6=t

rt = w − v · dt, majd elk¨uldia d ´es r vektorokat a vizsg´al´onak.A vizsg´al´omegn´ezi,hogy

n X c = dj, j=1

ai = [di]hi + [ri]gi,

bi = [di]Hi + [ri]Gi,

17 egyenl˝os´egekteljes¨ulneke. Ha igen, akkor a bizony´ıt´obizony´ıtotta´all´ıt´as´at, mivel j 6= t-re dj ´es rj ´ert´ekei v´altozatlanok,´ıgya vizsg´al´o´altal kisz´am´ıtott 0 0 ´ert´ekek megegyeznek aj-vel ´es bj-vel. Ha j = t, akkor dt ´es rt jel¨olje dt ´es rt ´uj´ert´ek´et.A vizsg´al´o´altalsz´am´ıtott´ert´ek:

0 0 0 0 0 at = [dt]ht + [rt]gt = [v · dt]gt + [w − v · dt]gt = [w]gt

= [v · dt + rt]gt = [dt][v]gt + [rt]gt = [dt]ht + [rt]gt = gt. bt-re az ´all´ıt´ashasonl´ok´eppen bizony´ıthat´o.

5.2. Diszkr´etelliptikus logaritmus ismeret´enekbi- zony´ıt´asa

Adott egy L = logg G = logh H diszkr´etelliptikus logaritmikus egyenlet. Mind a bizony´ıt´o,mind a vizsg´al´oismeri a g, G, h, H pontokat, de L-et csak a bizony´ıt´oismeri. Ezt az ismeretet szeretn´ebizony´ıtani,oly m´odon,hogy a vizsg´al´one jusson semmilyen inform´aci´ohoz,ami seg´ıthetn´ea diszkr´etlogaritmus kisz´amol´as´aban. A k¨ovetkez˝oalgoritmust haszn´alja:

A bizony´ıt´ogener´alegy v´eletlensz´amot ω ∈ Zp, kisz´amolja(a, b) = ([ω]g, [ω]h) pontokat, kisz´amolja c = Hash(a||b||G||H)-t, ahol Hash egy biztons´agos hash-f¨uggv´eny. Meghat´arozzaaz r = ω + L · c ´ert´eket, ´es c-t ´es r-t k¨uldi el a vizsg´al´onak.A vizsg´al´okisz´amolja H([r]g − [c]G||[r]h − [c]H||G||H)-t, ´esmegn´ezi,hogy ez egyenl˝oe c-vel. Ha igen, akkor a vizsg´al´obiztos lehet benne, hogy a bizony´ıt´oismeri a logaritmus eredm´eny´et.

18 6. fejezet

Szavaz´asielj´ar´as´esa vele szemben t´amasztott k¨ovetelm´enyek[2]

Tekints¨uk´at,milyen alapfogalmai ´eskrit´eriumaivannak ´altal´abanegy szavaz´asi elj´ar´asnak.

6.1. Szavaz´as

Szavaz´asnaknevezz¨ukazt a folyamatot, amikor egy k¨oz¨oss´eg minden egyes tagja el˝oremegadott k´erd´esekr˝ol,t´em´akr´old¨ont.

6.2. Szavaz´asit´em´ak

Azon k´erd´esk¨or¨ok,amelyekben a k¨oz¨oss´egtagjainak d¨ont´estkell hoznia. Minden egyes t´em´ahozel˝oremegadott v´alaszlehet˝os´egekvannak megfogal- mazva.

6.3. Szerepl˝ok

6.3.1. Szavaz´ok Azok, akik a szavaz´assor´anjogosultak szavazni.

19 6.3.2. B´ır´ak(Bizotts´agi tagok) Azon szem´elyek, akik a szavaz´astisztas´ag´atbiztos´ıtj´ak.

6.4. Szavazat

Egy szavaz´oegy t´em´abanadott v´alasza. Eleme kell legyen az el˝oremegadott v´alaszlehet˝os´egekhalmaz´anak.Minden szavaz´ominden k´erd´esben csak egy v´alasztadhat.

6.5. Ki´ert´ekel´es

Az a folyamat, amikor a b´ır´aka szavazatokat ¨osszesz´aml´alj´ak,´eseld¨ontik, hogy az egyes t´em´akbanmi az, amit a legt¨obben v´alasztottak,ezt nevezz¨uk az adott t´em´abant¨ort´en˝oszavaz´aseredm´eny´enek.

6.6. Szavaz´asielj´ar´as

A szavaz´as,´esa ki´ert´ekel´esegy¨uttesfolyamat´atszavaz´asielj´ar´asnakh´ıvjuk.

6.7. K¨ovetelm´enyek

6.7.1. V´alaszthat´os´ag Csak azon szem´elyek szavazhassanak, akik jogosultak r´a,valamint ˝okis minden t´em´abancsak egyszer szavazhassanak.

6.7.2. Anonimit´as Egyik leadott szavazatr´olse lehessen visszak¨ovetni a szavaz´oszem´ely´et.

6.7.3. Titkoss´ag A b´ır´akb´armelyval´odir´eszcsoportja semmit se tudjon mondani a v´alaszt´ok szavazatair´ol.

20 6.7.4. Bizony´ıthat´os´ag B´arki(ak´ark´ıv¨ul´all´ois) b´armikor tudja bizony´ıtani,hogy egy adott v´alaszt´o helyes szavazatot adott e le, ´esezt a bizony´ıt´astelv´egezve csak annyi in- form´aci´ohozjusson, hogy a szavaz´ashelyes volt e, semmit ne tudjon meg arr´ol,hogy az adott v´alaszt´omit v´alasztott.

6.8. Szavaz´asis´ema

Olyan folyamatle´ır´as, amely tartalmazza a szavaz´asmenet´eta k¨ovetelm´enyeknek megfelel˝oen.

21 7. fejezet

K´et-kimenet˝uszavaz´asi s´ema[2]

Ebben a r´eszben egy olyan szavaz´asis´em´att´argyalunk, melyben a szavaz´ok k´etlehet˝os´egk¨oz¨uld¨ontik el, hogy melyiket v´alasztj´ak,majd ezeket ´atadj´ak a bizotts´agtagjainak oly m´odon,hogy azok ne tudj´akmeg, hogy egy adott szavaz´omit v´alasztott.

7.1. Kezd˝o´allapot

Legyen E elliptikus g¨orbe Zp felett. Legyenek g, G ∈ E az E elliptikus g¨orbe gener´atorelemei.A bizotts´ag t bizotts´agitagb´ol´all,minden egyes tagj´anak van egy nyilv´anoskulcsa (a g¨orbe egy-egy pontja): hj = [zj]g, ahol zj titkos kulcsa a j. bizotts´ag-tagnak.

7.2. Szavaz´as

Az i. szavaz´oszavazata legyen: vi ∈ {0, 1} ´esv´alasztmell´eegy si ∈ Zp random ´ert´eket, ´esnyilv´anoss´agrahozza az Ui = [si + vi]g pontot. A titok- megoszt´asm´odszer´evel a [si]g pontot megosztja a bizotts´agtagjai k¨ozt: Titokmegoszt´asm´odszere: Minden egyes szavaz´ov´alasztegy Zp felett ´ertelmezett t − 1-edfok´urandom polinomot:

t−1 X i pi(x) = αi,kx k=0

22 ahol αi,0 = si ´es αi,1, . . . , αi,t−1 ∈ Zp.

A polinomot csak ˝otudja, senki m´as.Nyilv´anoss´agrahozza a Ci,k = [αi,k]G, 0 ≤ k ≤ t−1 pontokat, valamint megosztja a Hi,j = [pi(j)]hj pontokat. Ezen fel¨ulmegmutatja, hogy a megosztott titok konzisztens, kisz´amolva a

t t−1 X k X k Xi,j = [j ]Ci,k = [ αi,kj ]G k=0 k=0 pontot, ´atl´atsz´obizony´ıt´assaligazolja, hogy logG Xi,j = loghj Hi,j . Megmutatja, hogy vi ∈ {0, 1} szint´en´atl´atsz´obizony´ıt´assalbizony´ıtva a _ logGC0 = loggUi logG(G + C0) = loggUi

C0 = [si]G logikai kifejez´est. Ezzel azt akarjuk bizony´ıtani, hogy a szavaz´ohelyes szavazatot adott-e le. Itt a vizsg´al´oszem´elyb´arkilehet, a bizony´ıt´oaz a szavaz´o,akinek a szavazat´atvizsg´alj´ak.

7.3. Szavazatok ¨osszesz´aml´al´asa

Felt´eve, hogy a szavaz´okhelyesen szavaztak (ezt minden esetben tudt´ak bizony´ıtani),az ¨osszesz´aml´al´asa k¨ovetkez˝ok´eppen t¨ort´enik: Minden egyes bizotts´agbeli tag kisz´amoljaa k¨ovetkez˝o´ert´eket:

∗ X X X Hj = Hi,j = [pi(j)]hj = [ pi(j)]hj. i i i Ezt dek´odolj´aka k¨ovetkez˝ok´eppen:

n ∗ ∗ X Sj = [1/zj]Hj = [ pi(j)]g. i=1 Ezek m´egcsak a megosztott r´esz-titkok, maguk a szavazatok Lagrange interpol´aci´oval megkaphat´ok:

X ∗ X X [λj,A]Sj = [λj,A]( [pi(j)]g) j∈A j∈A i X X = [ pi(j)λj,A]g j∈A i

23 X X = [ pi(0)]g = [ si]g, i i ahol A a bizotts´agtagjainak halmaza, λj,A pedig

X l λ = . j,A l − j l∈A−{j} P P P Ha m´armegvan [ i si]g , kisz´amolva a i Ui - t, hozz´aadva ehhez [ i si]g P P pont inverz´etkapjuk a [ i vi]g = [T ]g - t, ahonnan T = i vi kisz´amolhat´o a 3.3. fejezetben t´argyalt algoritmusok egyik´evel, mivel T viszonylag kicsi ´ert´ek(ha a vil´agonminden ember szavaz, akkor is maximum 233 szavazat ´erkezik).

24 8. fejezet

T¨obb-kimenet˝uszavaz´asi s´ema

Ebben a r´eszben t´argyalt szavaz´asis´em´abanm´art¨obblehet˝os´egk¨oz¨ul d¨onthet a v´alaszt´o.

8.1. Kezd˝o´allapot

Legyen E elliptikus g¨orbe Zp felett. Legyenek g, G ∈ E az E elliptikus g¨orbe gener´atorelemei.A bizotts´ag t bizotts´agitagb´ol´all,minden egyes tagj´anak van egy nyilv´anoskulcsa (a g¨orbe egy-egy pontja): hj = [zj]g, ahol zj titkos kulcsa a j. bizotts´ag-tagnak. T¨obb-kimenet˝uszavaz´aseset´enabban az esetben, ha mindenki csak egyet v´alaszthata szavazati jel¨oltekk¨oz¨ul, minden egyes jel¨olth¨ozl´etrekell hozni egy 0 − 1-ekb˝ol´all´o y − 1 dimenzi´os vektort, ahol y a jel¨olteksz´ama.Pl.:

J0 := (0, 0, 0, 0,..., 0),

J1 := (1, 0, 0, 0,..., 0),

J2 := (0, 1, 0, 0,..., 0),

J3 := (0, 0, 1, 0,..., 0), ...

Jy−1 := (0, 0, 0, 0,..., 1).

25 8.2. Szavaz´as

Az i. szavaz´oszavazat´ahozrendelt vektor l. tagja legyen: vi,l ∈ {0, 1} ´esv´alasztmell´eegy si,l ∈ Zp random ´ert´eket, ´esnyilv´anoss´agrahozza az Ui,l = [si,l + vi,l]g pontokat. A titokmegoszt´asm´odszer´evel a [si,l]g pontokat megosztja a bizotts´agtagjai k¨oz¨ott: Titokmegoszt´asm´odszere: Minden egyes szavaz´ov´alaszt y − 1 Zp felett ´ertelmezett t − 1-edfok´urandom polinomot: t−1 X i pi,l(x) = αi,k,lx , k=0 ahol αi,0,l = si,l ´es αi,1,l, . . . , αi,t−1,l ∈ Zp, l = 1 . . . y − 1.

A polinomokat csak ˝otudja, senki m´as. Nyilv´anoss´agrahozza a Ci,k,l = [αi,k,l]G, 0 ≤ k ≤ t − 1 pontokat, valamint megosztja a Hi,j,l = [pi,l(j)]hj pontokat. Ezen fel¨ul megmutatja, hogy a megosztott titok konzisztens, kisz´amolva a t−1 t−1 X k X k Xi,j,l = [j ]Ci,k,l = [ αi,k,lj ]G, l = 1 . . . y − 1 k=0 k=0 pontot, ´atl´atsz´obizony´ıt´assaligazolja, hogy logG Xi,j,l = loghj Hi,j,l . Megmutatja, hogy vi,l ∈ {0, 1} szint´en´atl´atsz´obizony´ıt´assalbizony´ıtva a _ logG C0,l = logg Ui logG(G + C0,l) = logg Ui

C0,l = [si,l]G, l = 1 . . . y − 1 logikai kifejez´est.Ezen k´ıv¨ul ad egy ´atl´atsz´obizony´ıt´asta y−1 ^ _ (logG C0,q = logg Ui logG(G + C0,q) = logg Ui) q=1 logikai kifejez´esre.

8.3. Szavazatok ¨osszesz´aml´al´asa

Felt´eve, hogy a szavaz´okhelyesen szavaztak (ezt minden esetben tudt´ak bizony´ıtani),az ¨osszesz´aml´al´asa k¨ovetkez˝ok´eppen t¨ort´enik: Minden egyes bizotts´agbeli tag kisz´amolja a k¨ovetkez˝o´ert´eket: ∗ X X X Hj,l = Hi,j,l = [pi,l(j)]hj = [ pi,l(j)]hj. i i i

26 Ezt dek´odolj´aka k¨ovetkez˝ok´eppen:

n ∗ ∗ X Sj,l = [1/zj]Hj,l = [ pi,l(j)]g, l = 1 . . . y − 1. i=1 Ezek m´egcsak a megosztott r´esz-titkok, maguk a szavazatok Lagrange interpol´aci´oval megkaphat´ok:

X ∗ X X [λj,A]Sj,l = [λj,A]( [pi,l(j)]g) j∈A j∈A i X X = [ pi,l(j)λj,A]g j∈A i X X = [ pi,l(0)]g = [ si,l]g, i i ahol A a bizotts´agtagjainak halmaza, λj,A pedig

X l λ = . j,A l − j l∈A−{j} P P P Ha m´armegvan [ i si,l]g , kisz´amolva a i Ui,l - t, hozz´aadva ehhez [ i si,l]g P P pont inverz´etkapjuk a [ i vi,l]g = [Tl]g - t, ahonnan Tl = i vi,l, l = 1 . . . y − 1 kisz´amolhat´oa 3.3. fejezetben t´argyalt algoritmusok egyik´evel, mivel a Tl-k viszonylag kicsi ´ert´ekek (ha a vil´agonminden ember szavaz, akkor is maximum 233 szavazat ´erkezik). T1,T2,...,Ty−1 ´ert´ekeket kapunk,amikb˝olmegkaphat´oka jel¨oltekreleadott szavazatok sz´amai: X J0 = n − T1 − T2 − T3 − ... − Ty−1 X J1 = T1 X J2 = T2 X J3 = T3 ... X Jy−1 = Ty−1. Ez egy egyenletrendszer, melynek megold´asailesznek az egyes jel¨oltekre leadott szavazatok sz´amai.

27 9. fejezet

Altal´anos´ szavaz´asis´ema

Ebben a r´eszben egy olyan v´alaszt´asis´em´atn´ez¨unkmeg, amely b´armilyen k¨ovetelm´enyt k´epes kiel´eg´ıteni. Lehets´eges,hogy t¨obbt´em´abankell d¨ont´esthozni egy v´alaszt´asalkalm´aval, minden t´em´abanlehet t¨obbv´alaszt´asilehet˝os´eg,´esak´araz is lehets´eges, hogy egy t´em´anbel¨ult¨obbv´alasztis megenged¨unk. Ezeket az ig´enyeket kontroll´alnikell, bizony´ıt´astkell adni arra, hogy egy adott v´alaszt´oezen krit´eriumoknakmegfelel˝oenszavazott, ´erv´enyes szavazatot adott le.

9.1. Kezd˝o´allapot

Legyen E elliptikus g¨orbe Zp felett. Legyenek g, G ∈ E az E elliptikus g¨orbe gener´atorelemei. A bizotts´ag t bizotts´agitagb´ol´all,minden egyes tagj´anakvan egy nyilv´anoskulcsa (a g¨orbe egy-egy pontja): hj = [zj]g, ahol zj titkos kulcsa a j. bizotts´ag-tagnak. T¨obb´ert´ek˝uszavaz´aseset´ena v´alaszt´oszavazata, miut´ana szavaz´asmegt¨ort´ent, egy y dimenzi´os J vektor lesz, ahol minden egyes ´ert´ekegy 0, 1 halmazbeli elem, minden ilyen ´ert´ek azt mutatja, hogy egy adott t´em´abanegy adott v´alaszta v´alaszt´oigennek, vagy nemnek jel¨olte. Pl.:

J := (1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0,..., 0, 1).

Legyen Φ a J bitjeinek egy logikai kifejez´ese,amely igaz, ha a szavaz´o helyesen szavazott, hamis, ha nem szavazott helyesen.

28 9.2. Szavaz´as

Az i. szavaz´oszavazat´ahozrendelt vektor l. tagja legyen: vi,l ∈ {0, 1} ´esv´alasztmell´eegy si,l ∈ Zp random ´ert´eket, ´esnyilv´anoss´agrahozza az Ui,l = [si,l + vi,l]g pontokat. A titokmegoszt´asm´odszer´evel a [si,l]g pontokat megosztja a bizotts´agtagjai k¨oz¨ott: Titokmegoszt´asm´odszere: Minden egyes szavaz´ov´alaszt y darab Zp felett ´ertelmezett t − 1-edfok´urandom polinomot:

t−1 X i pi,l(x) = αi,k,lx , k=0 ahol αi,0,l = si,l ´es αi,1,l, . . . , αi,t−1,l ∈ Zp, l = 1 . . . y.

A polinomokat csak ˝otudja, senki m´as. Nyilv´anoss´agrahozza a Ci,k,l = [αi,k,l]G, 0 ≤ k ≤ t − 1 pontokat, valamint megosztja a Hi,j,l = [pi,l(j)]hj pontokat. Ezen fel¨ul megmutatja, hogy a megosztott titok konzisztens, kisz´amolva a

t−1 t−1 X k X k Xi,j,l = [j ]Ci,k,l = [ αi,k,lj ]G, l = 1 . . . y k=0 k=0 pontot, ´atl´atsz´obizony´ıt´assaligazolja, hogy logG Xi,j,l = loghj Hi,j,l . Megmutatja, hogy vi,l ∈ {0, 1} szint´en´atl´atsz´obizony´ıt´assalbizony´ıtva a _ logG C0,l = logg Ui logG(G + C0,l) = logg Ui

C0,l = [si,l]G, l = 1 . . . y logikai kifejez´est. Ezen fel¨ulad egy ´atl´atsz´obizony´ıt´ast Φ logikai kifejez´esre,melyben a J vek- tor bitjei helyett az ezekhez tartoz´odiszkr´etelliptikus logaritmikus kifejez´es szerepel.

9.3. Szavazatok ¨osszesz´aml´al´asa

Felt´eve, hogy a szavaz´okhelyesen szavaztak (ezt minden esetben tudt´ak bizony´ıtani),az ¨osszesz´aml´al´asa k¨ovetkez˝ok´eppen t¨ort´enik: Minden egyes bizotts´agbeli tag kisz´amoljaa k¨ovetkez˝o´ert´eket:

∗ X X X Hj,l = Hi,j,l = [pi,l(j)]hj = [ pi,l(j)]hj. i i i

29 Ezt dek´odolj´aka k¨ovetkez˝ok´eppen:

n ∗ ∗ X Sj,l = [1/zj]Hj,l = [ pi,l(j)]g, l = 1 . . . y. i=1 Ezek m´egcsak a megosztott r´esz-titkok, maguk a szavazatok Lagrange interpol´aci´oval megkaphat´ok:

X ∗ X X [λj,A]Sj,l = [λj,A]( [pi,l(j)]g) j∈A j∈A i X X = [ pi,l(j)λj,A]g j∈A i X X = [ pi,l(0)]g = [ si,l]g, i i ahol A a bizotts´agtagjainak halmaza, λj,A pedig

X l λ = . j,A l − j l∈A−{j} P P P Ha m´armegvan [ i si,l]g , kisz´amolva a i Ui,l - t, hozz´aadva ehhez [ i si,l]g P P pont inverz´etkapjuk a [ i vi,l]g = [Tl]g - t, ahonnan Tl = i vi,l, l = 1 . . . y − 1 kisz´amolhat´oa 3.3. fejezetben t´argyalt algoritmusok egyik´evel, mivel a Tl-k viszonylag kicsi ´ert´ekek (ha a vil´agonminden ember szavaz, akkor is maximum 233 szavazat ´erkezik). T1,T2,...,Ty ´ert´ekeket kapunk, ahol Ti a szavazatok i. bitjeinek ¨osszegei, azaz az ezt a v´alaszt´asilehet˝os´egetigennel megjel¨ol˝oksz´ama.Ebb˝ola nem szavazatok sz´ama n − Ti kifejez´esekkel megkaphat´ok.

30 10. fejezet

Implement´aci´o

Ezen szavaz´asielj´ar´asprogramoz´asa´estesztel´esesor´anegy 2410 GHz ´orajel˝u, 768 MB RAM-mal rendelkez˝osz´am´ıt´og´epet haszn´altam,Microsoft Win- dows XP oper´aci´osrendszerrel, Microsoft Visual Studio.NET programoz´asi k¨ornyezetben. Ma a biztons´agosnaktartott kulcs m´eret160 , amin a program dolgozik, egy 512 bites pr´ımrend˝utest feletti elliptikus g¨orbe, teh´ata kulcs m´eret 512 bites. A gener´atorpontb´olegy tetsz˝olegespont kisz´am´ıt´asa´atlagosan7 m´asodpercet vett ig´enybe. Mind az elliptikus g¨orb´et,mind a hozz´atartoz´o gener´atorelemet a program gener´alta. A program le´ır´asa:

A szerver m˝uk¨od´ese: A felhaszn´al´okat h´aromszerepk¨orbe sorolja: - Adminisztr´ator: Egyetlen ilyen felhaszn´al´ovan, aki l´etrehozni,szerkeszteni, t¨or¨olnitud szavaz´asokat, felhaszn´al´okat. - Bizotts´agitag: A szavaz´asielj´ar´assor´anazon felhaszn´al´okszerepk¨ore,akik a szavaz´astisztas´ag´a´ertfelel˝osek. Ok˝ nem szavazhatnak. - Szavaz´o: A legt¨obbfelhaszn´al´oszerepk¨ore,azon szem´elyek, akik a szavaz´as sor´anlehet˝os´egetkaphatnak a szavaz´asra.Ha valaki regisztr´aljamag´ata sz- erveren, automatikusan ebbe a szerepk¨orbe ker¨ul.

T¨obbszavaz´astis tud kezelni egyszerre, ind´ıt´asut´anbet¨oltia konfigur´aci´os ´allom´anyb´ola m´egel nem kezd˝od¨ott,a m´arbefejez˝od¨ott´esaz ´eppen foly´o szavaz´asokat. A m´egel nem kezd˝od¨ottszavaz´asokrabizotts´agitag szerepk¨orrelrendelkez˝o felhaszn´al´okkijel¨ol´es´etaz adminisztr´atorv´egzi.

31 Az aktu´alisanfut´oszavaz´asokeset´enolyan szavaz´oszerepk¨orrelrendelkez˝o felhaszn´al´okszavazatait v´arja, akik jogosultak az adott szavaz´asonval´o r´eszv´etelre. A befejez˝od¨ottszavaz´asokv´egeredm´enye publikus, b´armelyszerepk¨orrelren- delkez˝ofelhaszn´al´ol´athatja.a konfigur´aci´osf´ajlonk´ıv¨ul tal´alhat´om´egegy, a titkos´ıt´ashozhaszn´altelliptikus g¨orb´ettartalmaz´of´ajl,valamint minden egyes felhaszn´al´ohoztal´alhat´oegy f´ajl,ami a publikus kulcs´attartalmazza.

A kliens m˝uk¨od´ese: Ind´ıt´askor v´egign´ezi a kliens sz´am´ıt´og´epen tal´alhat´omeghajt´okat, ´es megkeresi az azonos´ıt´ashozsz¨uks´egesf´ajlt, amely a felhaszn´al´opriv´atkulcs´at tartalmazza. Azonos´ıt´askor a szerver egy nonce-ot (number used once) gener´al,amit a kliensnek al´akell ´ırnia a priv´atkulcs´aval. Ha a szerver a kapott ´ert´eket a publikus kulccsal visszafejtve visszakapja a nonce-ot, akkor beengedi a felhaszn´al´ot.A felhaszn´al´oa saj´atszerepk¨or´eheztartoz´o lehet˝os´egeket tudja csak v´egrehajtani, ´esegy szavaz´oegy szavaz´asokracsak akkor tud szavazni, ha a szavaz´as´eppen aktu´alis,a felhaszn´al´ojogosult a szavaz´asra,´esm´egnem szavazott rajta.

A titkos´ıt´oelliptikus g¨orbe:

Y 2 = X3 +62204016469502529315760645008447860034863667544040963189 779267148839702997292187813899474370951777231326451029407288025049 99299221432237085314049345650446X +646325764776609121325998605334 037460383499796838109492830267296437008905281232384548227943691463 4898145692360012715258246401278605381381185898512313940447 modulo:

892254957471672565324653856793696453649175356471440947537878848531 030087670111923713610107520597185123839748762545723284427978873392 2205434632380099202349 gener´atorelem:

(17287357412245071090319476176464457715971989135707802963217679185 217655097377041268251001079323540818124632568420110971600779271427 02985142168399396683653, 471529701205068290859674830426727636633720 954941069890459108738962939461496288725419347264928758240557635671 7313545859993148524646884110648860296322345259)

32 11. fejezet

F¨uggel´ek- T¨ort´eneti ´attekint´es[7]

Most tekints¨uk´at,milyen v´altoz´asokon ment kereszt¨ula kriptogr´afiaaz em- beris´egt¨ort´enelmesor´an. A teljess´egig´enye n´elk¨ulfelsoroljuk a fontosabb esem´enyeket, melyeknek k¨osz¨onhet˝oena kriptogr´afiaeljutott mai arculat´ahoz. Seg´ıts´eg´evel ´atl´athatjukezen dolgozat el˝ozm´enyeit, c´elkit˝uz´eseit.

33 11.1. Okor´ ie. 3500 k¨or¨ul A sum´erokelkezdt´ekhaszn´alniaz ´ek´ır´ast,az egyiptomiakn´alpedig kialakultak a hieroglif´ak.

ie. 1500 k¨or¨ul A f˝on´ıciaiakl´etrehozt´akaz ´ab´ec´et.

ie. 600-500 H´eber tud´osokegyszer˝umonoalfabetikus rejtjeleket szerkesztettek (p´eld´aulaz Atbash).

ie. 400 k¨or¨ul H´erodotosz feljegyezte, hogy egy palat´abl´anl´ev˝o¨uzenetetviasszal lefedve siker¨ulteljuttatni Perzsi´ab´olG¨or¨ogorsz´agba(szteganogr´afia). L¨uszandroszsp´artaihadvez´era szk¨utal´eszalag r´ev´enkapott inform´aci´okat ie. 404-ben a perzs´akv´arhat´ot´amad´as´ar´ol.Szk¨utal´e m´odszeraz els˝oismert katonai rejtjelez˝om´odszer.Egy sz´ıjat vagy szalagot egy szab´alyos soksz¨ogalap´uhas´abra,p´alc´aracsavart´akfel, majd erre a p´alcatengely´enekir´any´abanfel´ırt´akaz sz¨oveget. Letekerve a sz´ıj csak bet˝uk´ertelmetlen sorozata mindaddig, m´ıga c´ımzettfel nem tekeri egy ugyanolyan ´atm´er˝oj˝ur´udra.

ie. 50 k¨or¨ul R´omairejtjelek, mint p´eld´aula Caesar-rejtjel.

34 11.2. K¨oz´epkor

800-as ´evek A Kor´ansz¨oveg´enektanulm´anyoz´asak¨ozben arab tud´osok a gyakoris´agelemz´esm´odszer´etkifejlesztve megfejtettek monoalfabetikus helyettes´ıt´esselrejtjelezett ¨uzeneteket.

1450-1520 L´etrej¨otta Voynich k´ezirat,egy ismeretlen bet˝ukkel ´esnyelven ´ırtk¨onyv, melynek tartalm´atmind a mai napig nem siker¨ultmegfejteni.[5]

1466 Leon Battista Alberti elk´esz´ıtetteaz els˝o´altalunkis ismert polialfabetikus rejtjelet, melyhez egy dek´oder-k´esz¨ul´eket is feltal´alt.

1499 Johannes Trithemius meg´ırtaa kriptogr´afi´aval ´esszteganogr´afi´aval foglalkoz´oh´ıresk¨onyv´et.

1553 Giovan Batista Belaso a La cifra del. Sig. Giovan Batista Belaso c´ım˝u k¨onyv´eben le´ırtaa k´es˝obbVigene‘re-rejtjelnek elnevezett m´odszert.

1585 Blaise de Vigene‘re ´ujrafelfedezte ´esk¨ozz´etettea Belaso f´ele rejtjelez´esegy kicsit er˝osebbv´altozat´at.

1586 Kriptoanal´ızisseg´ıts´eg´evel bizony´ıtottar´aa Babington-¨osszeesk¨uv´es r´esztvev˝oireb˝un¨oss´eg¨uket Sir Francis Walsingh, I. Erzs´ebet angol kir´alyn˝o´allamminisztere.

1645 k¨or¨ul Megjelent John Wilkins Mercury c´ım˝uangol nyelv˝uk¨onyve a kriptogr´afi´ar´ol.

35 11.3. Ujkor´

1793 Claude Chappe l´etrehoztaaz els˝onagyt´avols´ag´uszemafor jelz´eseket haszn´al´okommunik´aci´osvonalat.

1795 Thomas Jefferson megalkotta a Jefferson korongok rejtjelez˝oszerkezetet ´esm´odszert,mely azonban csak akkor v´altismertt´eBazerie Cilinderek n´even, amikor egy ´evsz´azadm´ulva Etienne Bazeries ´ujrafelfedezte.

1809-14 A F´elszigetih´abor´ualatt George Scovell, Wellington vez´erkar´anakegyik tisztje kapta a feladatot, hogy megfejtse a franci´akrejtjelezett ¨uzeneteit.

1832 L´etrehozt´akaz elektrom´agnesestelegr´afot.

1837 Samuel Morse megtervezte ´esszabadalmaztatta az elektromos telegr´afot, megalkotta a Morze k´odot.

1854 Charles Wheatstone feltal´altaa digrafikus Playfair-rejtjelet. Charles Babbage megfejtette az addig felt¨orhetetlennektartott Vigene‘re-rejtjelet.

1883 Auguste Kerckhoffs meg´ırtaLa Cryptographie militare (A katonai titkos´ır´as)c´ım˝utanulm´any´at.

1885 Nyilv´anoss´agraker¨ultek a Beale-pap´ırok,melyek kriptogr´afusok´es kincsvad´aszok nemzed´ekeit k´esztette fejt¨or´esre.

1890-es ´evek T¨obben egym´ast´olf¨uggetlen¨ulfeltal´alt´aka szikrat´av´ır´ot, vagy ahogy k´es˝obbelnevezt´ek,a r´adi´ot.

11.4. A XX. sz´azadels˝ofele

A vil´agh´abor´uk,majd a hidegh´abor´uval´os´aggalgondolath´abor´utind´ıtottel a harcol´ofelek titkos´ıt´assalfoglalkoz´oszakemberei k¨oz¨ott,amely ´ori´asilend¨uletet adott a matematika ´esaz informatika fejl˝od´es´enek.

36 1915 k¨or¨ul William Friedman a matematikai statisztika m´odszereithaszn´alta fel a kriptoanal´ızisben (kappa-teszt stb.).

1917 Gilbert Vernam feltal´altaa t´avg´ep´ır´oelv´enalapul´o,a kulcsot lyukasztott t´av´ır´oszalagform´aj´abant´arol´orejtjelez˝og´epet, majd Joseph Mauborgne-nel egy¨uttaz egyszeri kulcsos m´odszert. Az angol rejtjelfejt˝okdek´odolt´aka n´emet k¨ul¨ugyminiszternek, Zimmermann-nak a mexik´oieln¨okh¨ozint´ezett t´avirat´at,amelynek k¨ovetkezt´eben az Amerikai Egyes¨ult Allamok´ bel´epett az I. vil´agh´abor´uba.

1919 Arthur Scherbius feltal´alta´esszabadalmaztatta az els˝oforg´o kever˝ot´arcs´akra ´ep¨ul˝orejtjelez˝og´epet, melyet k´es˝obbEnigm´anak neveztek el. Vele gyakorlatilag egyid˝oben h´aromm´asikfeltal´al´o is hasonl´og´epet ´ep´ıtett:Alexander Koch, Arvid Damm ´esEdward Hebern.

1931 Megjelent Herbert O. Yardley Az amerikai fekete szoba c´ım˝u k¨onyve, ami az ´altalavezetett, 1913 ´es1929 k¨oz¨ottm˝uk¨od˝o szervezet (MI-8) tev´ekenys´eg´er˝olsz´olt.

1932 A lengyel Marian Rejewski felt¨oria n´emethadsereg Enigm´aval k´odolt¨uzeneteit.

1940 Az amerikai hadsereg k´odfejt˝or´eszlege(SIS) felt¨ortea jap´anok Purple elnevez´es˝ug´ep´eneka k´odj´at. Alan Turing megtervezte az elektromechanikus Turing-bomb´at, melyekkel az Allami´ Rejtjelez˝o´esRejtjelfejt˝oIskola bombakezel˝oin´eh´any ´oraalatt k´epesek voltak az Enigma naponta v´altoz´oalapbe´all´ıt´asait´esk´odjaitfelt¨orni.

1941 december A JN-25-¨osjap´ank´odhirtelen megv´altoztat´asar´ev´ena jap´an csendes-´oce´aniflotta meglepte ´eselpuszt´ıtottaa Pearl Harborban ´allom´asoz´oamerika hadihaj´okat, az USA bel´epett a II. vil´agh´abor´uba.

37 1942 Az amerikai hadsereg navah´oindi´anokat k´epezett ki r´adi´osnak, akik anyanyelv¨uk¨ontov´abb´ıtott´aka k´odszavakkal tark´ıtott ¨uzeneteket. Az amerikaiak megfejtett´eka JN-25 ´ujverzi´oj´at,ami jelent˝os szerepet j´atszotta fordul´opontot jelent˝oMidway-i csata megnyer´es´eben.

1943 Max Newman, Wynn-Williams, ´esa GSCS-beli csapatuk befejezte a Heath Robinson elnevez´es˝uspeci´alisk´odt¨or˝og´epet. A Bletchley Parkban dolgoz´oThomas Flowers a n´emetLorenz k´od (SZ42) felt¨or´es´erel´etrehoztaa Colossus nev˝ug´epet, amely tekinthet˝oa legels˝oprogramozhat´osz´am´ıt´og´epnek.

1946 A Venona projekt els˝osikeres bet¨or´esea magasszint˝uszovjet diplom´aciaih´ırszerz´esadatforgalm´aba.

1948 Megjelent A kommunik´aci´omatematikai elm´elete (Mathematical Theory of Communication) c´ım˝umunk´aja,mely az inform´aci´oelm´eletlegalapvet˝obbt¨orv´enyeit tartalmazta.

11.5. A XX. sz´azadm´asodik fele

Megjelentek a nagy teljes´ıtm´eny˝usz´am´ıt´og´epek, ami tov´abbil¨ok´estadott a kriptogr´afi´anak,mivel seg´ıts´eg¨ukkelbonyolult ´esa hagyom´anyosm´odszerekkel fejthetetlennek t˝un˝ok´odokatlehetett felt¨orni´esel˝o´all´ıtani. A XX. sz´azadm´asodik fel´eben a kriptogr´afiatudom´anyaszorosan ¨ossze- fon´odotta sz´am´ıt´astechnika fejl˝od´es´evel,az internet- ´esmobilkommunik´aci´o ´altalalkalmazott adattitkos´ıt´asialgoritmusokkal.

38 1952 Megalap´ıtott´akaz Amerikai Egyes¨ult Allamok´ korm´any´anakkriptol´ogiai szervezet´et,a Nemzetbiztons´agi Ugyn¨oks´eget(NSA).¨

1957 Az NSA l´etrehoztaa TSEC/KW-26, ROMULUS k´odnev˝utitkos´ıt´asi rendszert, melyet az USA, majd k´es˝obba NATO orsz´agokis haszn´altak. (Ez v´altottafel az olyan r´egebbiforg´ot´arcs´asvagy elektromechanikus rendszereket, mint a SIGABA ´esaz angol 5-UCO.)

1964 Megjelent David Kahn K´odfelt¨or˝ok(The Codebreakers) c´ım˝uk¨onyve, amely el˝osz¨orfoglalkozott a k´odokfejl˝od´es´evel.

1968 John Anthony Walker inform´aci´okat adott el a Szovjetuni´onaka KL-7, ADONIS k´odnev˝uforg´ot´arcs´ask´odg´epr˝ol.(Walker csak 1985-ben bukott le, a KL-7-et azut´annem haszn´alt´ak.)

1969 R´akapcsolt´akaz internet el˝odj´eneksz´am´ıt´o,IP-alap´uARPANET h´al´ozatra az els˝oszervert.

1974 Horst Feistel, az IBM kriptogr´afusal´etrehoztaa Feistel f´ele ´altal´anosh´al´ozatiblokk k´odol´oelj´ar´ast.

1976 Az IBM ´altalkifejlesztett ´espublik´altDES (Data Encryption Standard) lett az Egyes¨ult Allamok´ hivatalos Sz¨ovets´egiInform´aci´osSzabv´anya. Megjelent Whitfield Diffie ´esMartin Hellman Uj´ ir´anyzatok a kriptogr´afi´aban(New Directions in Cryptography) c´ım˝uk¨onyve, mely egy radik´alisan´uj,az ´ugynevezett kulcs cser´enalapul´okriptogr´afia fogalm´atvezette be.

1977 Ron Rivest, Adi Shamir ´esLen Adleman kifejlesztett´ek az RSA elj´ar´ast.

1981 Richard Feynman elm´eletben megtervezte a kvantum sz´am´ıt´og´epet.

1987 Neal Koblitz javaslatot tett az elliptikus g¨orb´ekkriptogr´afi´aban val´oalkalmaz´as´ara.[3]

1986 A korm´anyzati ´esv´allalatikompj´uterekkel szembeni egyre sokasod´o t´amad´asok´esbet¨or´esi k´ıs´erletekut´anaz Egyes¨ult Allamok´ Kongresszusa elfogadta a Computer Fraud and Abuse Act (Sz´am´ıt´og´eppel elk¨ovetett csal´as´esvissza´el´es)t¨orv´enyt, amely b˝uncselekm´enynek nyilv´an´ıtottaa sz´am´ıt´og´epes rendszerekbe val´o illet´ektelenbehatol´ast. 39 1988 Kifejlesztett´ekaz els˝ooptikai chipet.

1989 Tim Berners-Lee ´esRobert Cailliau a CERN-ben l´etrehoztaa k´es˝obbiVil´agh´al´oprotot´ıpus´at.

1991 Phil R. Zimmermann nyilv´anoss´atette az ´altalakifejlesztett PGP nev˝upublikus kulcs´utitkos´ıt´asiprogramot, amely a legelterjedtebb e-mail titkos´ıt´oszoftver lett a vil´agon.Az RSA Laborat´oriumelind´ıtottaaz RSA Faktoriz´aci´osVersenyt, hogy b´ator´ıtsaa kutat´ast a sz´am´ıt´og´epes sz´amelm´elet´esa nagy sz´amok faktoriz´aci´oj´anakgyakorlati neh´ezs´egeiter´en.

1994 Megjelent Bruce Schneier Alkalmazott kriptogr´afia (Applied Cryptography) c´ım˝um˝uve. A Netscape kibocs´atottaa Secure Sockets Layer (SSL) titkos´ıt´oprotokolj´at. Peter Shor kigondolt egy algoritmust, amely alapj´ana kvantum sz´am´ıt´og´epek k´epesek meghat´arozninagy sz´amokfaktoriz´aci´oj´at. (Ez volt az els˝oolyan ´erdekes probl´ema,ahol a kvantum sz´am´ıt´og´epek jelent˝ossebess´egn¨oveked´esselkecsegtettek, ´esez nagyban n¨ovelte az ir´antuk val´o´erdekl˝od´est,f˝olega kriptogr´afusokk¨or´eben.) A r´egebben v´edett,de nem szabadalmaztatott RC4 titkos´ıt´o algoritmust k¨ozz´etett´ekaz interneten.

1995 Az NSA kiadta a SHA1 hash algoritmust, mint az ´altaluk kifejlesztett Digit´alisAl´a´ır´asSzabv´any (Digital Signature Standard) r´esz´et.

1997 Kiadt´akaz OpenPGP specifik´aci´oj´at. Az Usenet k¨ozz´etettea Ciphersaber nev˝uszimmetrikus kulcs´u titkos´ıt´oelj´ar´ast,mely olyan egyszer˝uvolt, hogy algoritmus´at eml´ekezetb˝olrekonstru´alnilehetett.

1999 okt´ober Megjelent a DeCSS sz´am´ıt´og´epes program, mely k´epes volt felt¨ornia CSS (Content-Scrambling System) k´odol´as´uvideo DVD tartalmakat.

40 11.6. XXI. sz´azad 2000 Az Egyes¨ult Allamok´ korm´anya enyh´ıtetta kriptogr´afiaexportj´ara vonatkoz´okorl´atoz´as´an. Az RSA Security Inc. n´eh´any nappal a szabadalom lej´artael˝ott publikuss´atette az ´altalukhaszn´altRSA algoritmust. (Ez, az export tilalom enyh´ıt´es´evel egy¨uttled¨ont¨otteaz utols´okorl´atot is a szoftverek vil´agh´al´osdisztrib´uci´ojael˝ott.) Az angol nyomoz´oier˝okszab´alyoz´as´ar´olsz´ol´ot¨orv´eny (Regulation of Investigatory Powers Act) k¨otelezmindenkit arra, hogy hivatalos k´er´es eset´enkiszolg´altassa kriptogr´afiaikulcsait az arra jogosult szem´elynek. Elindult az eur´opaiNESSIE (New European Schemes for Signatures, Integrity and Encryption) ´esa jap´anCRYPTREC elnevez´es˝uprojekt, melynek c´eljaa biztons´agostitkos´ıt´asalapjainak meghat´aroz´asavolt. (Mindkett˝o2003-ban fejez˝od¨ottbe.)

2001 Az amerikai Nemzeti Szabv´any¨ugyi´esTechnol´ogiai Int´ezet(National Institute for Standards and Technology) ¨ot´evig tart´oelemz´esut´ana belga Rijndael algoritmust v´alasztottaaz Egyes¨ult Allamok´ ´ujhivatalos titkos´ıt´asiszabv´any´aul,neve AES (Advanced Encryption Standard).

2002 10000 sz´am´ıt´og´eppel 540 nap alatt siker¨ultfelt¨orniegy 109 bites pr´ımtest feletti elliptikus g¨orb´enalapul´otitkos´ıt´asis´em´at.[8]

2004 2600 sz´am´ıt´og´eppel 17 h´onapalatt siker¨ultfelt¨orniegy 109 bites kett˝ohatv´any rend˝utest feletti elliptikus g¨orb´enalapul´otitkos´ıt´asis´em´at.[9]

2005 amerikai FBI ¨ugyn¨ok¨okbebizony´ıtott´ak,hogy k´epesek felt¨ornia WEP (Wired Equivalent Privacy), r´adi´osh´al´ozatoktitkos´ıt´asi elj´ar´as´at mindenki ´altalel´erhet˝oeszk¨oz¨okseg´ıts´eg´evel.

2007 Szabadon let¨olthet˝ov´ev´alik egy, a sziv´arv´anyt´abla-m´odszertalkalmaz´o szoftver, amely az oper´aci´osrendszerb˝olkib´any´aszott´esegy adatb´azissal¨osszevetett, eddig biztons´agosnakhitt jelszavakat m´asodpercek alatt felt¨ori. 2008 Ma az RSA-nak, a legelterjedtebb aszimmetrikus titkos´ıt´asis´em´anaka biztons´agoskulcshossza 1024 bit, m´ıgaz ECC eset´eben ez a m´eret csak 160 bit.

41 Irodalomjegyz´ek

[1] Susanne Schmitt, Horst G. Zimmer: Elliptic Curves - A Computational Approach, de Gruyter Studies in Mathematics, (2003) [2] Zuzana Rjaskov´a: Electronic Voting Shemes, Department of Computer Science Faculty of Mathematics, Physics and Informatics - Comenius University, Bratislava (2002) [3] Neal Koblitz, Elliptic curves cryptosystems, Math. Comp. 48(177): 203- 209 (1987) [4] Nagy P., Nyilv´anoskulcs´utitkos´ıt´asok(Public Cryptosystems). Diploma Work, University of Debrecen (2000) [5] Voynich, Wilfrid Michael: A Preliminary Sketch of the History of the Roger Bacon Manuscript, Transactions of the College of Physi- cians of Philadelphia 3(43): 415-430 (1921) [6] Johannes Trithemius: Steganographie: Ars per occultam Scripturam animi sui voluntatem absentibus aperiendi certu (Written: 1500. First printed edition: Frankfurt, 1606) [7] Wikip´edia- Kriptogr´afia,A kriptogr´afiat¨ort´enete-

http://hu.wikipedia.org/wiki/Kriptogr%C3%A1fia [8] Certicom Announces Elliptic Curve Cryptosystem Challenge Winner for ECC over prime field -

http://www.certicom.com/index.php?action=company,press_archive&view=121 [9] Certicom Announces Elliptic Curve Cryptography Challenge Winner for ECC over binary field -

http://www.certicom.com/index.php?action=company,press_archive&view=307

42