Elliptic Curve Digital Signature Algorithm használata a Bitcoin világában

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Elliptic Curve Digital Signature Algorithm használata a Bitcoin világában"

Átírás

1 Elliptic Curve Digital Signature Algorithm használata a Bitcoin világában Dunai Alexandra Matematika BSc Szakdolgozat Témavezet Villányi Viktória Adjunktus Operációkutatási Tanszék Eötvös Loránd Tudományegyetem Természettudományi Kar Budapest, 2017

2 Köszönetnyilvánítás Ezúton szeretnék köszönetet mondani témavezet mnek, Villányi Viktóriának, a sok segítségért és türelemért, illetve a sok konzultációért, a témáért és a hasznos tanácsokért. Hálával tartozom még családomnak, akik egyetemi éveim alatt mindvégig mellettem álltak.

3 Tartalomjegyzék 1. Bevezetés 2 2. Bitcoin Mértékegysége Bányászata Wallet (Pénztárca) Bitcoin gazdasága Bitcoin biztonsága Bitcoin el nyei és hátrányai Blokkok és blokkláncok Blokkok struktúrája A blokk fejléce Tranzakciók A blokkok beazonosítása Elliptikus görbék és az ECC M veletek geometriai és algebrai megközelítése Ellentett Két különböz pont összeadása Egy pont kétszerese Elliptikus görbék véges test felett Diszkrét logaritmus A digitális aláírás A digitális aláírás felépítése Az Elgamal Digitális aláírás algoritmusa A kulcs generálása Az aláírás és a verikáció Egy példa egyszer számokkal A rövid életciklusú kulcs többszöri használata III

4 TARTALOMJEGYZÉK Digitális Aláírás séma (DSA) A kulcs generálása Az aláírás és a verikáció Egy példa egyszer számokkal Az elliptikus görbéken alapuló digitális aláírási algoritmus és használata a bitcoin világában Az Elliptic Curve Digital Signature Algorithm Kulcsgenerálás Az aláírás A verikáció Egy példa egyszer számokkal Az ECDSA és a bitcoin találkozása A DSA és ECDSA elleni támadások Összefoglalás 28 Irodalomjegyzék 28

5 1. fejezet Bevezetés A digitális zet eszköz, egy olyan internet alapú zet eszköz, amely hasonló tulajdonságokkal rendelkezik mint a zikai zet eszközök, például a papír valuta vagy érme, viszont azonnali tranzakciós és limit nélküli átruházási lehet séget biztosít. A kriptovaluta egy olyan valuta fajta amely kriptográát használ a tranzakciók biztosítására és az új valuta egységek létrehozására. 2

6 2. fejezet Bitcoin A Bitcoin lényegében egy, most már nyílt forráskódú digitális zet eszköz. Ez az els olyan decentralizált peer-to-peer rendszer amely m ködését nem felügyeli semmilyen pénzügyi szervezet. A Bitcoin az els implementációja Wei Dei kriptovaluta ötletének, amelynek lényege, hogy a kriptográa irányítsa a létrehozását és tranzakcióit egy központi felügyelet helyett. Feltalálója egy ismeretlen programozó vagy programozói csoport akik Satoshi Nakamoto név alatt futnak. A Bitcoint október 30-án mutatták be el ször egy zárt kriptográai listának, viszont csak 2009-ben lett nyílt forráskódú rendszer. A rendszer lényege, hogy a Bitcoin hálózat egy nyilvános lajstromot oszt meg, amelyet blokk láncnak hívnak. Ez tartalmazza az összes valaha végbement tranzakciót úgy, hogy a felhasználók számítógépeit használja fel a tranzakciók validációjához Mértékegysége A bitcoin rendszer mértékegysége a bitcoin, jelei: BTC, XBT vagy Kicsi bitcoin bet. Milibitcoin (mbtc), microbitcon (µbtc) illetve satoshi ami a legkisebb mértékegysége ennek a pénznemnek : bitcoin Bányászata A bitcoin bányászat alapja, a számítási kapacitás felhasználása a bitcoin tranzakciók feldolgozására. A bányászok a bitcoinban használt Block chain konzisztenciájáról és teljességér l gondoskodnak. A bitcoin bányászathoz egy softwaret kell futtatni specializált hardwaren. A bányászatra használt számítógépeknek nagyon er s videokártyával kell rendelkezniük, legalább 1000 watt teljesítmény táppal, illetve olyan alaplappal, amelynek legalább három videokártya foglalata van. A program várja a beérkez tranzakciókat a peer-to-peer hálózaton keresztül, és megcsinálja az elvárt matematikai feladatokat (Hash-cash proof-of-work feladatokat 1 ), hogy feldolgozza és meger sítse ezeket 1 3

7 2. FEJEZET. BITCOIN 4 a megkapott tranzakciókat. Ezen feladatok elvégzéséért a bányászok pénzt kapnak, amelyeket a felhasználó zet a tranzakciók gyorsabb feldolgozásáért. Ahhoz, hogy az új tranzakció biztosítva legyen, egy blokkban kell legyenek a matematikai proof-of-work-kel. Ezek a proof-ok nagyon nehezen generálhatóak, mert kézzel megoldhatatlanok, mivel több milliárd kalkuláció elvégzése szükséges hozzá másodpercenként. A bányászok ezeket a számításokat elvégzik, miel tt a blokkjaikat elfogadja a hálózat és miel tt bármilyen zetést kapnának érte. Minél több bányász lesz a hálózatban, automatikusan állítódik a feladatok nehézsége a hálózat által, azért hogy egy blokk megszerzési ideje átlagosan 10 perc maradjon. Ezek a feladatok, habár nehezen megoldhatóak, könnyen leellen rizhet ek. A proof-of-work rendszer úgy lett megtervezve, hogy kötelezze a blokkokat hogy kronológikus sorrendben álljanak a blokk listában. Ez az oka annak, hogy szinte lehetetlen visszafordítani egy már megtörtént tranzakciót, mivel ez az összes, a módosítást követ blokkokban lev proof-of-work újrakiszámítását követeli meg Wallet (Pénztárca) A bitcoin wallet, vagy magyarul pénztárca a tranzakciókhoz szükséges információkat tartalmazza. Neve megtéveszt, mert nem a tényleges bitcoinokat tárolja - azok a blokk láncban lev tranzakciós lajstromból nem elválaszthatóak - hanem inkább egy digitális személyi igazolványként funkcionál. A bitcoin egy nyílt kulcsú titkosítást használ, amelyben két titkosítási kulcs van, egy titkos és egy nyílt kulcs. Ezeket mind a bitcoin pénztárcánk tárolja. Többfajta pénztárca létezik. Sotfware wallets amelyek hozzákapcsolódnak a hálózathoz ahol megengedik bitcoinjaink elköltését, és tartalmazzák a digitális adatainkat amelyek ezen tranzakciók létrejöttéhez szükségek Bitcoin gazdasága Pénzt a bitcoin bányászok a tranzakciók feldolgozásáért szerezhetnek, illetve a hálózat biztonságossá tételéért speciális hardware használatával. A Bitcoin protocol úgy lett megtervezve, hogy egy új bitcoint a hálózat csak x id közönként tudjon létrehozni. Ett l válik ez egy nagyon versenyszer üzletté, mivel minél több bányász van a hálózatban, annál nehezebb új bitcoint szerezni, azaz sokkal kevesebb lesz az egy f re jutó haszon. Az új bitcoinok létrehozása egy csökken és el relátható ráta szerint történik. A létrehozható bitcoinok száma minden évben megfelez dik, addig a pillanatig amíg pontosan 21 millió bitcoin lesz a piacon. A bitcoinnak meg van minden tulajdonsága, amely t egy pénznemé teszi, viszont inkább matematikai alapokon nyugszik, mint természeti alapokon, mint például az arany és az ezüst. A bitcoinok árát, mint minden más piacon, a kereslet és a kínálat határozza meg. Amikor a bitcoinok iránti kereslet megn, akkor az áruk megemelkedik, amikor a kereslet csökken, akkor az áruk is.

8 2. FEJEZET. BITCOIN Bitcoin biztonsága A Bitcoin által használt protocol és kriptográa nagyon megbízható. A legnagyobb kockázatot a felhasználói hiba okozza. A bitcoin pénztárcákat tároló leok amelyek a szükséges privát kulcsot tartalmazzák könnyen kitörölhet ek, elveszíthet ek illetve ellophatóak Bitcoin el nyei és hátrányai A bitcoinnak nagyon sok el nye van. Az év akármelyik napján lehet bitcoint küldeni és fogadni a világ bármelyik pontján. A tulajdonosnak teljes irányítása van a pénze felett, nincsen sem banki, sem bármilyen bürokráciai szerv, amely a pénzét felügyeli. Ezen kívül a bitcoin fogadásnál nincsen semmiféle díj, ilyen díjakat csak akkor kell zetni, ha gyorsabban szeretnénk meger sítést a tranzakció végbemenésér l. Ahogy el nye, úgy hátránya is van a Bitcoinnak. Nagyon sok ember még nem is tud a Bitcoin létezésér l, és sok helyen nem fogadják el ezt a fajta zetési módot. Egy másik nagy hátránya, hogy a bitcoin még fejl dés alatt áll, azaz nagyon sok új alkalmazást és szolgáltatást még csak most fejlesztenek ki.

9 3. fejezet Blokkok és blokkláncok A blocklánc adat struktúra egy olyan rendezett lista, amelyben a tranzakció blokkok visszafele vannak linkelve. Ezek az adatok egy fájl-ban vagy akár adatbázisban is tárolhatóak. Például a Bitcoin Core kliens a Google LevelDB adatbázisát használja a blockchainek meta-adatjai tárolására. Minden block visszafele van linkelve, azaz a láncban a közvetlenül el tte létrejött blockra mutat, amelyet szül vagy parent blokknak hívnak. Ezek az adatok a blokkok fejlécében kerülnek tárolásra. Ha szeretnénk megváltoztatni a listában egy el z elemet, emiatt a linkelés miatt, az összes többi utána lev blokk is megváltozik. Ez hatalmas számítási kapacitást igényel minél régebbi blokkot szeretnénk megváltoztatni, amely nagyon fontos biztonsági szempont. Ha vizualizálni szeretnénk ezeket a blokkokat, akkor függ leges, egység méret kockákat képzelhetnénk el, amelyben minden kocka egy blokk. Ekkor értelmezhet vé válik a lista magassága amely az legels létrejött blokk és az aktuális blokk távolsága. A blokkok beazonosítása egy SHA256 hash-el történik, amely a blokk fejlécében található Blokkok struktúrája A bitcoinban használt blokkok egy fejléccel kezd dnek, melyet egy tranzakciós lista követ. Minden blokk tartalmazza az el tte végbement tranzakciók listáját. Egy nehezen megoldható számtani feladat is van benne, amely minden blokkban különbözik és új blokk nem vihet fel a listába a megfelel válasz nélkül. Jelen pillanatban blokk van a rendszerben, és nincs megkötés a maximális blokkok számáról, még ha az összes bitcoin létre is jönne, a tranzakciók miatt a blokkok száma egészen addig n ni fog, amíg bitcoinnal kereskedik valaki A blokk fejléce A fejléc mindig 80 byte hosszú, amely három f metadata halmazból áll. Az els rész tartalmazza a szül blokkra mutató értéket, amely biztosítja, hogy a soron következ blokk a listában. A második rész olyan adatokat tartalmaz, amely leginkább a bányászati versenyben fontosak. A harmadik 6

10 3. FEJEZET. BLOKKOK ÉS BLOKKLÁNCOK 7 halmaz a merkle gyökér, amely egy olyan adat struktúra, amely a blokkban tárolt tranzakciókat tartalmazza. Ezekb l az információkból a következ képpen épül fel maga a fejléc: A blokk verzió száma, amely megmutatja hogy melyik validációs szabályokat kell használni, ez összesen 4 byte hosszú. Az el z blokk fejlécének hash-e, amely azért fontos, hogy ne lehessen visszamen leg változtatni a blokkokon. Ha a lista valamely korábbi elemét szeretnék változtatni, akkor emiatt a 32 byte-os tárolt hash függvény miatt az összes utána következ blokkot is meg kell változtatni, ezzel kizárva a visszaéléseket. A Merkle gyökér hash-t, amely szintén 32 byte-nyi helyet foglal el. Ez az összes blokkban lev tranzakciók hash-éb l számolódik ki, így biztosítva azt, hogy ne lehessen a tartalmat úgy megváltoztatni, hogy ne változzon meg a hash kód a fejlécben. Unix Epoch id (4 byte), amely megadja hogy a bányász mikor kezdte el hash-elni a fejlécet. Ennek nagyobbnak kell lennie, mint az el z 11 blokk mediánja. nbits(4 byte), az az enkódolt szám, amelynél a hash nagyobb vagy egyenl nek kell legyen. nonce (4 byte), egy tetsz leges szám, amelyet a bányászok változtatnak meg a fejléc hashében, hogy az nbits dekódolt számánál kisebb legyen. A blokk legnagyobb része a tranzakciós lista, általában 250 byte nagyságú, és több mint 500 tranzakciót tárol. Egy teljes blokk 1000-szer nagyobb, mint maga a blokk fejléce Tranzakciók Egy tranzakció alatt egy Bitcoin mennyiség átvitelét értjük, ami ki van közvetítve a hálózatba, amelyet utána blokkokba foglalnak. Egy tranzakció tipikusan az el z tranzakciós kimeneteket összef zi az új tranzakciós bemenetekkel, és minden bemen Bitcoin értéket dedikálja az új kimenetekhez. Ezek a tranzakciók nem titkosítottak, tehát egészen az els tranzakciókig végig nézhet k egy hex editor segítségével. A tranzakciók a következ struktúrát követik: Version no. (4 byte) Ez a verziószám. In-counter 1-9 byte - a bemenetek száma List-of-inputs a bemenetek összessége Out-counter 1-9 byte a kimenetek száma List-of-outputs A kimenetek összessége Lock time 4 byte Azt az id pontot jelöli amikor a tranzakció véglegessé válik.

11 3. FEJEZET. BLOKKOK ÉS BLOKKLÁNCOK 8 A következ példában láthatjuk, hogy hogy is néz ki egy bitcoin tranzakció: Az input ebben a tranzakcióban 50 BTCt importál az fd58ee tranzakcióból. Az output ezután, ezt az 50 BTC-t egy adott Bitcoin címre fogja áthelyezni. Mint láthatjuk, a tranzakció két f részböl áll: Az Input az el z tranzakcióhoz egy referencia. Egy tranzakció több inputot is tartalmazhat. Ilyenkor az input értékek összeadódnak, és az új tranzakció outputja fogja ket felhasználni. A previoustx a el z tranzakció hash-e. Az Index a hivatkozott tranzakció egy bizonyos outputja. A scriptsig a script els része, ami összesen két részb l áll: az aláírásból és a publikus kulcsból. A publikus kulcsnak meg kell egyeznie az outputban lev script hashe-vel. A publikus kulcs az aláírás verikációjához szükséges. A második része az ECDSA aláírás hash értéke. Ez, a publikus kulccsal együtt bebizonyítja, hogy a kérdéses Bitcoin cím tulajdonosa hozta létre a tranzakciót. Az Output lényegében a bitcoin küldéséhez szükséges információkat tartalmazza. A Value az átküldött pénz értékét jelenti. A ScriptPubkey a script második része A blokkok beazonosítása A blokk els dleges azonosítója a blokk hash, ami egy kriptográa hash, amelyet a blokk fejlécéb l kapunk, miután kétszer lefutattuk rajta az SHA256 algoritmust. A blokk hash ténylegesen nem tartozik a blokk adat struktúrájába, tehát nincsen elküldve a hálózaton, illetve nincs eltárolva a blokk lánc más részén sem. A blokk hash minden csomóponton ki van számítva, viszont eltárolható bizonyos adatbázisokban, mert ez megkönnyíti az indexelést, ezzel könnyebbé és gyorsabbá teszi a blokk el keresését az adattároló lemezr l. A blokk beazonosításának egy másik módja a blokk magassága. Ez azt jelzi, hogy az adott blokk éppen melyik eleme a láncnak. A láncolt lista els elemének, a genesis blokknak a magassága 0. A blokk lánc, amely 2009-ben került megalkotásra, 2014-re már blokk magassággal rendelkezett. A genesis blokk egy reprezentációja: 2 GetHash() = 0x d6689c085ae165831e934763ae46a2a6c172b3f1b60a8ce26f hashmerkleroot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b txnew.vin[0].scriptsig = x736B6E F F6C E6F F206B6E E6F20726F6C6C65636E F6E614A2F D txnew.vout[0].nvalue =

12 3. FEJEZET. BLOKKOK ÉS BLOKKLÁNCOK 9 txnew.vout[0].scriptpubkey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE5045 5F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F FEB0FD8A6704 OP_CHECKSIG block.nversion = 1 block.ntime = block.nbits = 0x1d00 block.nnonce = CBlock (hash= d6, ver=1, hashprevblock= , hashmerkleroot=4a5e1e, ntime= , nbits=1d00, nnonce= , vtx=1) CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nlocktime=0) CTxIn(COutPoint(000000, -1), coinbase 04001d d f4a616e2f e63656c6c6f72206f6e e6b206f f6e c6f f e6b73) CTxOut(nValue= , scriptpubkey=0x5f1df16b2b704c8a578d0b) vmerkletree: 4a5e1e

13 4. fejezet Elliptikus görbék és az ECC Ahhoz, hogy megértsük az Elliptic Curve Digital Signature Algoritmust (ECDSA) elengedhetetlen hogy megismerkedjünk az elliptikus görbe fogalmával. Az ECC (angolul Elliptic Curve Cryptosystem) egy nyilvános kulcsú kriptográai rendszer, amelyet manapság egyre gyakrabban használnak egyre több helyen. Az elliptikus görbéket csak kb 15 éve kezdték el kriptográai szempontból vizsgálni. Ez az elliptikus görbéken alapuló rendszer a gyors m ködésének, kis tárigényének, kisebb tanúsítvány méretének és kisebb kulcsméretének köszönheti népszer ségét. ECC modulus AES RSA modulus RSA:ECC : : : : : 1 A táblázatban 1 látható a két legismertebb nyílt kulcsú titkosítási algoritmus, illetve az ECC. Közelebbi vizsgálat során észrevehet, hogy az ECC kulcsmérete, amely ugyanakkora biztonságot nyújt, mint a másik két algoritmus, lényegesen kisebb, mint a többi. Az elliptikus görbékre a 17. század végén gyeltek fel a tudósok, amikor olyan zikai problémát szerettek volna megoldani/modellezni, amelyek komoly geometriai tudást igényeltek Deníció. Legyen K egy olyan test, melynek a karakterisztikája nem kett, és nem három, és legyen y 2 = x 3 + ax + b olyan harmadfokú polinom, melynek nincsenek többszörös gyökei. Egy K test feletti elliptikus görbe egy olyan P (x, y) pontok halmaza ahol x, y K koordináták kielégítik az el bbi egyenletet, 1 Virasztó, Tamás: Titkosítás és adatrejtés, NetAcademia Kft.,

14 4. FEJEZET. ELLIPTIKUS GÖRBÉK ÉS AZ ECC Y 2 = X 3 +X+1 10 Y 2 = X 3-10*X ábra. Elliptikus görbe D = ábra. Elliptikus görbe D = Y 2 = X 3 10 Y 2 = X 3-3X ábra. Elliptikus görbe D = 0 és a = ábra. Elliptikus görbe D = 0 és a 0 és a görbéhez hozzá tartozik egy úgynevezett O-val jelölt "végtelen távoli pont". görbék ezen formáját Weierstrass formulának hívják. 2 Az elliptikus Deníció. Az fenti elliptikus görbe diszkriminánsán a D = 16(4a 3 +27b 2 ) kifejezést értjük. Az egyszer ség és ábrázolhatóság kedvéért, tegyük fel hogy K valós számtest. A diszkrimináns értéke az alábbi módon változtatja a görbe alakját: D 0 akkor az elliptikus görbe nem szinguláris. Ilyenkor lehet D < 0 illetve D > 0. D = 0 és a = 0 a szinguláris pontban egy érint van, a görbe csúcsként végz dik. D = 0 és a 0 egy szinguláris pont van, más néven csomópont, amelybe 2 különböz érint t lehet húzni, és a görbe elmetszi saját magát. Kriptográai szempontból csak és kizárólag olyan görbékkel foglalkozunk melyek nem rendelkeznek szingularitással, azaz D 0. 2 Liptai, Kálmán: Kriptográa, Eszterházi Károly F iskola, 2011

15 4. FEJEZET. ELLIPTIKUS GÖRBÉK ÉS AZ ECC M veletek geometriai és algebrai megközelítése Ellentett Egy P (x, y) pont ellentettje az az R pont, amely a P (x, y) pont x tengelyre tükrözött képe, ami szintén rajta van a görbén. Algebrailag kifejezve : x R = x P és y R = y P Két különböz pont összeadása Legyen P és Q két különböz pont a görbén, és R = P + Q. A két pont összeadásának geometriai módja a következ : Kössük össze egy egyenessel a P és Q pontokat. hosszabbítsuk meg ezt az egyenest, amíg nem metszi a görbét egy harmadik ponton. Ezt a pontot nevezzük el R -nek. Tükrözzük R -t az x tengelyre. Ez a pont is rajta lesz az elliptikus görbénken. Ez lesz R, amely P és Q pontok összege. Az összeget az alábbi módon írhatjuk fel: Legyen P = (x P, y P ) és Q = (x Q, y Q ). következ módon áll el : Ekkor R a s = (y P y Q )/(x P x Q ) x R = s 2 x P x Q és y R = s x P s x Q y P Egy pont kétszerese Legyen a pontunk P. A 2P meghatározása hasonló módon történik mint a két különböz pont összeadása, annyi különbséggel, hogy nem két pontot kötünk össze, hanem a P pont érint jét húzzuk be. Ez az érint metszeni fogja valahol a görbét, és ennek a metszéspontnak az x-tengelyre tükrözött képe lesz a 2P pont. Algebrai módon a következ képpen írható fel: x R = s 2 2x P mod p és y R = s(x P x R ) y P mod p Megjegyzés. Ha a kiválasztott pont az x-tengelyen helyezkedik el, akkor deníció szerint a pont kétszerese a végtelenben van. Ennek jelölése: E = O 3E = E + 2E = E 4E = E + 3E = E + E = O 3 Virasztó, Tamás: Titkosítás és adatrejtés, NetAcademia Kft., 2004

16 4. FEJEZET. ELLIPTIKUS GÖRBÉK ÉS AZ ECC Elliptikus görbék véges test felett Legyen F q egy véges test. Ezentúl vizsgáljuk az E elliptikus görbéket ezen test felett. Láthatjuk, hogy az ilyen elliptikus görbének maximum 2q + 1 pontja lehet: 2q darab (x, y) pont és a végtelen pont. Továbbá tudjuk azt is, hogy minden lehetséges x értékhez maximum kett x érték tartozhat. F q felett bizonyos algoritmusok segítenek megállapítani, hogy pontosan hány pontja van a görbénknek, mint például a schoof algoritmus, illetve, Hasse tétele nagyon jó alsó, és fels becslést ad rá Tétel. Legyen N az F q pontok száma az F q véges test feletti E elliptikus görbén. Ekkor (N (q + 1)) 2 q. Innent l a már megismert görbénkkel a Z q véges test felett fogunk számolni a moduláris aritmetika szabályai szerint: y 2 x 3 + ax + b(modp) ahol p prím szám. A pontokra legyenek a következ feltételek érvényesek: 0 x p 1 és 0 y p 1 (4a b 2 ) 0(modp) Az test közötti áttérés mellett nagyon fontos érvek szólnak. A moduláris aritmetika csak egész számokkal dolgozik, sokkal gyorsabb és pontosabb így a számítás mint a valós számok halmazával. A moduláris görbének véges számú pontja van, a pontok száma biztosan 0 és p 1 közé esik. Vegyük a p = 9, a = 1, b = 0 görbét. Ábrázoljuk az xy síkon: Mint látjuk, nem kapunk ugyanolyan "folytonos" görbét mint amikor valós számok teste felett ábrázoltuk a görbénket. Az elliptikus görbe pontjainak halmaza a következ : (0, 0),(0, 3),(0, 6),(2, 1),(2, 8),(5, 2),(5, 7),(8, 4),(8, 5) A görbének 9 pontja van, ebb l egy az origóban helyezkedik el. A pontok ránézésre véletlenszer en helyezkednek el a síkon, de ha közelebbr l megnézzük, az y = 4.5 egyenesre szimmetrikusak

17 4. FEJEZET. ELLIPTIKUS GÖRBÉK ÉS AZ ECC 14 (kivéve a (0, 0) pontot) és minden x értékhez 2 darab y érték tartozik Megjegyzés. Az olyan görbéket, amelyeknek a pontjainak száma megegyezik a modulusként használt prím számmal (mint a példánkban) tilos használni kriptográai szempontból, mivel hatékonyan támadható Megjegyzés. A m veletek algebrai módon ugyanúgy végezhet ek el, mint véges test felett, csak mod p-vel számolunk Diszkrét logaritmus A nyilvános kulcsú kriptorendszerek alapja mindig egy olyan probléma, amelynél a megfejtéshez szükséges id nagyon hosszú. Az elliptikus görbén alapuló kriptorendszereknek is egy ilyen probléma adja meg az alapját: A Elliptic Curve Discrete Logarithm Problem (ECDLP) Deníció. Legyen E egy Z p véges test feletti elliptikus görbe és R egy pont a görbén. Ekkor az E-n értelmezett diszkrét logaritmusos problémáról beszélünk, ha adott egy Q E pont és keressük azt az n természetes számot, melyre nr = Q egyenl ség teljesül. Ebben az esetben n diszkrét logaritmusa Q-nak. 4 Azon rendszerek, amelyek az ECDLP-n alapulnak, leginkább kulcscserél vagy aláíró rendszerek, mert ez a módszer alkalmatlan a gyors titkosításra. 4 Liptai, Kálmán: Kriptográa, Eszterházi Károly F iskola, 2011

18 5. fejezet A digitális aláírás A digitális aláírás feladata az aláíró személyazonosságának tanúsítása, és annak biztosítása, hogy az általa aláírt üzenetet nem változtatták meg az aláírás megtörténte után. Míg egy hagyományos aláírás kis gyakorlással másolható és máshova átvihet, addig a digitális aláírást nem lehet áthelyezni másik dokumentumra. Ennek oka, hogy a digitális aláírás függ a dokumentum akkori tartalmától, amikor a feladó hitelesítette a dokumentumot aláírásával. Fontos különbség még, hogy a digitális aláírás nem zikailag, hanem logikailag kapcsolódik, az aláírt dokumentumhoz. Nagyon fontos kiemelni, hogy mivel a digitális aláírás a dokumentum egészéhez kapcsolódik, így ha azon változás megy végbe az aláírás után, az ellen rzésnél rögtön kiderül, hogy hamisítva lett a dokumentumunk. A digitális aláírásunk akkor és csak akkor hamisítható, ha a titkos kulcsunkat a hamisító valamilyen módon megszerzi. A digitális aláírásoknak technológia függetlennek kell lennie, azaz akármilyen platformon kreáljuk meg az aláírást, azt bármilyen másik eszköz használatával le kell tudjuk ellen rizni. Nagyon fontos hogy könnyen létrehozható és könnyen ellen rizhet legyen, viszont ne lehessen hamisítani, sem letagadni az aláírást. Az aláírásnak valamilyen módon hitelesítenie kell az aláíró személyét és a dokumentum tartalmát is. Ezen okok miatt lett nagyon elterjedt a digitális aláírás a hitelesítést igényl informatikai területek világában A digitális aláírás felépítése A digitális aláírásnak két elengedhetetlen része van, az aláírás és az ellen rzés. Az aláírás funkciója el állítani az adott üzenethez tartozó aláírást, amely általában tartalmazza a dátumot, az aláírás id pontját, és egyéb fontos, az aláíróra vonatkozó adatokat. Az ellen rzés az üzenet és az aláírás kapcsolatát vizsgálja az aláíróra nézve. Ez az ellen rzés általában logikai: igaz, ha az üzenet és az aláírás összetartozik, és hamis, ha nem. A digitális aláírás egyszer en összefoglalva a következ képpen néz ki. Legyen m (message) az üzenet és s (signature) az aláírás. Ha az aláíró szeretné eljuttatni az m üzenetet az 's' aláírással a célszemélynek, akkor a következ képpen jár el: 15

19 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS Az aláíró kiszámolja valamilyen módon az 's' értékét 2. Az 'm' és az 's' értékpárt továbbítja a célszemélynek. A két érték külön-külön nem hordoz értékes információt, csak ha a célszemélynek mindkét érték rendelkezésre áll. A célszemély a következ képpen tudja ellen rizni az aláírás validitását: 1. A dokumentumot aláíró személyhez tartozó ellen rz függvénnyel megvizsgálja az ' m' és az 's' értékpárt. 2. Ha az ellen rzés kimenete igaz, azaz az 's' és az 'm' összetartozik, akkor elfogadja az aláírást. A digitális aláírás nyílt kulcsos kriptorendszert használ, azaz az aláíró és az ellen rz algoritmusok nyilvánosak, az ellen rzéshez publikus kulcs tartozik, az aláírónak pedig titkos kulcsa van. A következ alfejezetekben megismerkedünk az Elgamal digitális aláírás sémával, a Digital Signature Algorithmmel (DSA), amely az Elgamal egy olyan továbbfejlesztése amely sokkal jobban elterjedt mint el dje, illetve az Elliptic Curve Digital Signature Algorithmmel az utána lev fejezetben, amely a DSA egy olyan verziója, amely elliptikus görbéken alapul. Ahhoz hogy megértsük hogyan m ködik az ECDSA, elengedhetetlen hogy megismerjük, hogy melyik algoritmusokból ered Az Elgamal Digitális aláírás algoritmusa Az Elgamal digitális aláírás sémának az alapja a diszkrét logaritmus problémán alapul A kulcs generálása Az Elgamal digitális aláírás kulcsgenerálása a következ módon történik: 1. Válasszunk egy nagy p prím számot. 2. Válasszunk egy α Z p számot. 3. Válasszunk egy random számot d 2, 3,..., p Számítsuk ki β = α p mod p. Ekkor a publikus kulcsunk a k pub = (p, α, β) lesz, a titkos kulcsunk pedig k pr = d Az aláírás és a verikáció Az aláírás a következ képpen néz ki: sig kpr (m, k E ) = (r, s) ahol az m az üzenetünk. Az r és s egész számokat a következ képpen számítjuk ki: 1. Választunk egy random rövid életciklusú kulcsot (k E ), hogy k E 0, 1, 2,..., p 2 és (k E, p 1) = 1.

20 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS Kiszámoljuk az aláírás paramétereit: r α k E mod p, s (m d r)k 1 E mod p 1 A verikáció a ver kpub (m(r, s))-el történik, amely a publikus kulcsot, az aláírást és az üzenetet használja a következ módon: Legyen t β r r s mod p. Abban az esetben, ha t α m mod p, akkor az aláírás érvényes, tehát elfogadjuk, viszont ha t α m tehát elutasítjuk. Tehát a fogadó akkor fogadja el az aláírást, ha a β r r s α m mod p, akkor az aláírás érvénytelen, mod p feltétel teljesül. Bizonyítás. A bizonyításban megmutatjuk, hogy a verikációs folyamat hogyan jut el az igaz ágba, hogy ha a verikátor a megfelel nyílt kulcsot és üzenetet használja a hozzá tartozó r és s paraméterekkel. Tudjuk, hogy β = α d és r = α k E. Ekkor t β r r s (α d ) r (α k E ) s mod p α dr+k Es mod p. Ha az aláírásunk valid, akkor a következ nek kell teljesülnie: t α m α dr+k Es mod p. A kis-fermat tétel alapján tudjuk hogy ez ekvivalens azzal, hogy ha a kitev k egyenl k modulo p 1-re Amelyb l következik: m dr + k E s mod p 1. s (x d r)k 1 E mod p Egy példa egyszer számokkal Végezzük el a lépéseket a bemutatott Elgamal digitális aláírás sémánál! 1. p = α = 2 3. d = 7 4. β = α d 5 Ekkor a publikus kulcsunk a következ lesz: (p, α, β) = (41, 2, 5).

21 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS 18 Legyen az üzenetünk m = 42, és k E = 9. Ne felejtsük el, hogy ezeket a számokat ugy választjuk, hogy (40, 9) = 1. Ekkor r = α k E mod 41, s = ( ) 9 38 mod 40. A verikációnál használt üzenet, aláírás és publikus kulcs : (x(r, s)) = (42(20, 38)) A verikáció a következ képpen néz ki: t = mod 41, α m mod 41, t α m. Azaz az aláírás valid, elfogadjuk A rövid életciklusú kulcs többszöri használata A digitális aláírás biztonságossága nagyban függ a diszkrét logaritmus problémától. Ha a támadónk tud diszkrét logaritmusokat számolni, meg tudja szerezni a privát kulcsunkat és a rövid életciklusú kulcsunkat is. Egy nagyon fontos kikötése a kulcsoknak, hogy a prím szám, amit felhasználunk legalább 1024; bit hosszú legyenek. Ha egy rövid életciklusú kulcsot többször használunk, akkor a támadó nagyon könnyen ki tudja számítani a privát kulcsunkat. Tegyük fel, hogy két üzenetet küldünk (x, (r, s)) alakban. Ha a két üzenet aláírásánál ugyanazt a k E kulcsot használjuk, akkor látszódni fog hogy a két r érték megegyezik, mert ugyanaz a felépítésük: r 1 = r 2 = α k E. Ezután a következ két egyenletet fel tudjuk írni: s 1 (m 1 d r)k 1 E mod p 1, s 2 (m 2 d r)k 1 E mod p 1. Ez egy két ismeretlenes egyenletrendszer, ahol az egyik ismeretlen a rövid életciklusú kulcs, a másik viszont a privát kulcsunk. Ha mindkét egyenletet megszorozzuk k E -vel, akkor egy könnyen megoldható lineáris egyenletrendszerré válik: s 1 s 2 (x 1 x 2 ) k 1 E mod p 1, k E x1 x2 s 1 s 2 mod p 1. Ebb l már behelyettesítéssel ki is számolható a kulcsunk Digitális Aláírás séma (DSA) Az Elgamal aláírási sémát alig használják a gyakorlatban, helyette inkább a sokkal népszer bb variánsát a Digital Signature Algorithm-t (DSA). A f el nyei közé tartozik, hogy az aláírás csak 320 bit hosszú, és azok a támadások amik hamisítani tudják az Elgamal sémával generált aláírást, azok itt hatástalanok.

22 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS A kulcs generálása Ahhoz hogy megértsük a DSA algoritmust, deniálnunk kell a ciklikus csoportokat Deníció. Egy G csoportot ciklikusnak nevezünk, ha egy alkalmas g elemének az egész kitev j hatványaiból áll Deníció. Legyen G csoport és g G. A g elem rendje a g különböz hatványainak a száma. A g elem rendjének jele o(g). 2 A DSA alapja az, hogy van két ciklikus csoportunk. Az egyik a Z p ciklikus csoport, amelynek rendjének hossza 1024 bit hosszú. A másik csoport egy 160 bites alcsoportja Z p -nek. Ez egy sokkal rövidebb aláírást eredményez mint a másik algoritmus. 1. Generáljunk egy p prímet, úgy hogy < p < Keressünk p 1-nek egy prím osztóját, legyen ez q, úgy hogy < q < Ha nincs megfelel q, akkor generálunk egy másik p prímet. 4. Keressünk egy α-t, amelyre teljesül hogy ord(α) = q 5. Válasszunk egy d random egészet 0 < d < q 6. Számoljuk ki : β α d mod p. Ekkor a kulcsaink a következ ek: k pub = (p, q, α, β), k pr = (d) Az aláírás és a verikáció Úgyanúgy mint az Elgamal aláírás sémánál, a DSA aláírás és két egész számból áll; r és s-b l. Mivel mindkét paraméter 160 bit hosszú, ezért az aláírás teljes hossza 320 bit. 1. Válasszunk egy random egész számot, ez lesz a rövid életciklusú kulcs (k E ) és legyen 0 < k E < q. 2. Számítsuk ki az r (α k E mod p) mod q. 3. Számítsuk ki az s (SHA(m) + d r)k 1 E mod q. Egyb l látszik, hogy ez az aláírási mód sokkal összetettebb mint az Elgamalban megismert aláírás. Az aláíráshoz szükséges az, hogy az m üzenetünket hasheljük az SHA családból származó hash függvénnyel. 1 Kiss Emil - Bevezetés az algebrába 2 Kiss Emil - Bevezetés az algebrába

23 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS Számítsuk ki az w s 1 mod q segédváltozót. 2. Számísuk ki az u 1 w SHA(x) mod q segédváltozót. 3. Számítsuk ki az u 2 w r mod q segédváltozót. 4. Legyen v (α u1 β u2 ) mod q. A verikáció a ver kpub (x, (r, s)) használatával a következ képpen történik: Ha v r mod q, akkor az aláírás valid, és elfogadjuk. Ha v r mod q, akkor az aláírás invalid, azaz elutasítjuk az aláírást. Az aláírás valódiságának verikációjának bizonyítása sokat segíthet abban hogy megértsük jobban ezen folyamat m ködését. Bizonyítás. Ebben a bizonyításban, megmutatjuk, hogy az (r, s) aláírás kielégíti a v r mod q feltételt. Az s egyenletéb l indulunk ki: s (SHA(x) + d r)k 1 E mod q. Az egyenletet beszorozva k 1 E -vel és s 1 -el, a következ egyenletet kapjuk: k 1 E s 1 SHA(x) + d s 1 r mod q. Felhasználva az u 1 q SHA(x) mod q és az u 2 w r mod q segédváltozókat: k 1 E u 1 + d u 2 mod q. Ekkor, ha modulo p-vel egyszer sítünk, és α-adik hatványra emelünk: Mivel β α d, ezért: α k 1 E mod p α u1+du2 mod p. Ezt modulo q-ra egyszer sítve: α k 1 E mod p α u1 β u2 mod p. Tudjuk, hogy (α k 1 E mod p) mod q (α u1 β u2 mod p) mod q. Ezt behelyettesítve kapjuk, hogy: r (α k 1 E 0 mod p) mod q és v (α u1 β u2 ) mod q. r v mod q.

24 5. FEJEZET. A DIGITÁLIS ALÁÍRÁS Egy példa egyszer számokkal Végezzük el a lépéseket a bemutatott DSA sémánál! 1. p = q = 5 3. α = 3 4. d = 4 5. β = α d 40 mod 41 A publikus kulcsunk a következ lesz: (p, q, α, β) = (41, 5, 3, 40), és a titkos kulcsunk k pr = (4). Legyen az üzenetünk hashelt értéke SHA(m) = 22, és k E = 2. Ekkor r = α k E (3 2 mod 41) mod 5 4 mod 5, s = ( ) 3 mod 5, s 4 mod 5. A verikáció a következ képpen néz ki: w 4 mod 5, u 1 3 mod 5, u 2 1 mod 5, v ( mod 41) mod 5, v r mod 5, 4 4 mod 5.

25 6. fejezet Az elliptikus görbéken alapuló digitális aláírási algoritmus és használata a bitcoin világában Az el z fejezetben láthattuk, hogy az elliptikus görbék alapú kriptográai rendszereknek nagyon sok pozitívuma van a nem elliptikus görbéken alapuló rendszerekkel szemben, mint például az Elliptic Curve Cryptosystem elleni támadások hiánya. Mint láthattuk, az ECC bit hosszúságban nyújt olyan biztonságot mint az RSA biten. Ez ugye rövidebb számítási id ket és kisebb méreteket eredményez. Az ECDSA lépései nagyon hasonlóak az el z ekben megismert DSA algoritmusához, viszont az alapul szolgáló diszkrét logaritmus probléma egy elliptikus görbék csoportjára lett konstruálva. Ebb l kifolyólag a számítás, amelyet az ECDSA aláíráshoz használunk, teljesen eltér a DSA során megismertekkel. Az ECDSA olyan elliptikus görbéket használ amelyek Z p prím test felett vannak, illetve Galois testek (2 m ) felett. Gyakorlatban inkább a Z p prím test felett deniált görbéket használják Az Elliptic Curve Digital Signature Algorithm Most ismerkedjünk meg az Elliptic Curve Digital Signature Algorithmmel általánosan, majd a bitcoinban testre szabottan Kulcsgenerálás Az ECDSA digitális aláírás kulcsgenerálása a következ módon történik: 1. Használjunk egy E elliptikus görbét amelynek modulusa p, együtthatói a és b, illetve A olyan pontja, amely olyan ciklikus csoportot generál, melynek rendje q. 2. Válasszunk egy d random egészet: 0 < d < q. 22

26 6. FEJEZET. AZ ECDSA ÉS HASZNÁLATA A BITCOIN VILÁGÁBAN Számítsuk ki B = d A. Ekkor a kulcsaink a következ ek lesznek: k pub = (p, a, b, q, A, B), k pr = (d) Az aláírás Ugyanúgy mint a DSA, az ECDSA aláírása is az (r, s) egészekb l áll. Az r és s-et felhasználva, az m üzenethez tartozó aláírást a következ módon számolhatjuk ki. 1. Válasszunk egy k E egész számot, hogy 0 < k E < q, amely a random rövid életkciklusú kulcsunk lesz. 2. Számítsuk ki R = k E A 3. Legyen r = x R 4. Számítsuk ki az s (h(m) + d r) k 1 E mod q. A harmadik lépésben az R x-koordinátája hozzá lett rendelve az r változóhoz. Az m üzenet a h(m) hash függvénnyel hashelve lett, hogy ki tudjuk s-t számolni. A lehashelt üzenet hosszának legalább olyan nagyságúnak kell lennie, mint a választott q szám A verikáció 1. Számítsuk ki a w s 1 mod q segádváltozót. 2. Számítsuk ki az u 1 w h(m) mod q segédváltozót. 3. Számítsuk ki az u 2 w r mod q segédváltozót. 4. Számítsuk ki P = u 1 A + u 2 B. 5. A ver pub (x, (r, s)) Verikációja a következ képpen néz ki: Ha x P r mod q, az aláírás valid, és elfogadjuk. Ha x P r mod q, az aláírás invalid, azaz elutasítjuk. Az m P itt a P pont x-koordinátájára vonatkozik. Tehát, aki verikálja, akkor és csak akkor fogadja el az (r, s) aláírást, ha P pont x koordinátája ugyanannyi maradékot ad q-val osztva, mint r. Ahhoz hogy jobban megértsük az algoritmus m ködését, nézzük meg a verikáció bizonyítását Ugyanúgy mint az el z két algoritmusnál, megmutatjuk, hogy (r, s) kielégíti az r m P mod q verikációs feltételt.

27 6. FEJEZET. AZ ECDSA ÉS HASZNÁLATA A BITCOIN VILÁGÁBAN 24 Bizonyítás. Tudjuk, hogy: s (h(m) + d r) k E1 mod q. Átszorozva s 1 -el és k E -el, a következ t kapjuk: k E s 1 h(m) + d s 1 r mod q. Felhasználva, hogy u 1 w h(m) mod q és u 2 q r mod q s 1 r, akkor kapjuk, hogy k E u 1 + d u 2 mod q. Mivel A q rend ciklikus csoportot generál, ezért mindkét oldalt megszorozhatjuk A-val: k E A (u 1 + du 2 )A. Tudjuk, hogy a csoport m velet asszociatív, ezért: k E A u 1 A + du 2 A. A B = da egyenl séget felhasználva: k E = u 1 A + u 2 B. Ez pontosan az a feltétel, amelyet leellen rzünk a verikációnál, azaz megnézzük, hogy a P = u 1 A + u 2 B és az R = k E A maradékosan megegyeznek modulo q Egy példa egyszer számokkal Végezzük el a lépéseket a bemutatott ECDSA sémánál! Legyen az E elliptikus görbénk a bitcoin rendszerében használt y 2 = x p = q = a = 0 4. b = 7 5. A = (3, 1) 6. d = 2 7. B = d A = (6, 2)

28 6. FEJEZET. AZ ECDSA ÉS HASZNÁLATA A BITCOIN VILÁGÁBAN 25 A publikus kulcsunk a következ lesz: (p, q, a, b, A, B) = (11, 11, 0, 7, (3, 1), (6, 2)), és a titkos kulcsunk k pr = (2). Legyen az üzenetünk hashelt értéke SHA(m) = 22, és k E = 3. Az aláírásunk a következ képpen néz ki: R = 3 (3, 1) = (9, 3), r 9text, s ( ) 4 mod 11text, s 6 mod 11text. A verikáció a következ képpen néz ki: w 2 mod 11, u mod 11, u mod 11, P (6, 2) (42, 14) (9, 3) mod 11, P r mod 11, 9 9 mod Az ECDSA és a bitcoin találkozása Egy adott protokoll, ahogy a bitcoin is, el re meghatározza az elliptikus görbe és a véges test paramétereit. Ezek x értékek, melyet minden felhasználó használ. Ezekbe a paraméterekbe beletartoznak az elliptikus görbe egyenlete, a test prím modulusa, és az alappont, amit el z ekben A-val jelöltünk, ami a görbére esik. Az alappont rangja nincs el re meghatározva, de a többi paraméter egy függvénye. Minden ECDSA-t használó rendszer hatalmas paramétereket használ, ezen múlik a rendszer biztonságossága, mivel így nagyon nehéz ezeket feltörni. A bitcoin a következ el re megadott paraméterekkel dolgozik: p = = , melynek hexadecimális értéke: F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F EF F F F F C2F a = 0, b = 7 A = (2, ), amely hexadecimális számrendszerben: 0279BE667EF 9DCBBAC55A06295CE870 B07029BF CDB2DCE28D959F 2815B16F

29 6. FEJEZET. AZ ECDSA ÉS HASZNÁLATA A BITCOIN VILÁGÁBAN 26 q = , melynek hexadecimális értéke : F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F EBAAEDCE6AF 48A03BBF D25E8CD A tranzakció aláírása az ECDSA-val egy nagyon komplikált folyamat, amely két részre bontható: az aláíratlan tranzakcióra és az aláírt tranzakcióra. A "nyers" tranzakció a már megismert inputokat tartalmazza (mint például az el z tranzakció hashet és indexét). Az aláírás folyamata az el z ekben megismert algoritmus alapján történik, a bemutatott paraméterekkel ábra. A digitális aláírás folyamata 1. El ször titkos és nyilvános kulcsot generálunk, majd az aláíratlan adatra kétszer lefuttatjuk a SHA256-os hash függvényt. Ezek után legeneráljuk az aláírást, a már kétszer hashelt tranzakcióra. A végleges scriptsig az aláírás hosszát, az aláírás egy byte hosszú típusát, és a titkos és publikus kulcsok hosszát fogja tartalmazni. A verikáció nagyon egyszer az aláírás folyamatához képest, lényegében az ECDSA algoritmusnál megismert verikációs folyamattal történik A DSA és ECDSA elleni támadások Minden rendszer igyekszik a legbiztonságosabb módszereket illetve algoritmusokat használni, hogy elkerülje az t érhet támadásokat. Viszont nincs olyan rendszer amely támadhatatlan. Az ECDSAnál használt pont választásánál az A pont y koordinátáját nem használjuk fel. Ekkor létezik még egy pont a görbén, amely ugyanazzal az x 1 koordinátával rendelkezik, mint az eredetileg választott pontunk. Ha k E -t kicseréljük k E mod q -ra, ugyanazt az r értéket fogjuk kapni. Ekkor s mod q-t használva akármelyik (r, s) aláírás pár lecserélhet egy (r, s mod q) amely az ellen rzéskor szintén valid aláírás lesz. Tehát így egy véletlenszer rövid életciklusú kulccsal, két különböz dokumentumot írhatunk alá. Szintén biztonsági problémát jelenthet a DSA algoritmusnál a pseudorandom generátor, amellyel a k E értéket generáljuk. Ebben a sémában ez a k E érték egy egyszer 160 bites pseudorandom számnak a q szerint vett modulusa. Meggyelések alapján, az ilyen módon generált k kétszer olyan valószín séggel esik a [0, q] halmazba, mint azon kívül, így, az aláírásnál használt titkos kulcs elég jól approximálható. Másik gyengesége a DSA és ECDSA rendszernek a p és q változók megválasztásánál fordulhat el. Ha egy random q változót a következ alakban állítjuk el : 1 D i W ang.pdf

30 6. FEJEZET. AZ ECDSA ÉS HASZNÁLATA A BITCOIN VILÁGÁBAN 27 q = SHA(m 1 ) SHA(m 2 ) úgy, hogy prím szám legyen, illetve, ha ehhez a q-hoz keresünk olyan p = aq + 1 számot, amely szintén prím, akkor az m 2 üzenet aláírását meg tudjuk hamisítani az m 1 -es üzenetnél használt aláírással. A verikátori oldalon ért támadás lényege, hogy a verikátor számítógépének a memóriájában megváltoztatjuk az α értékét. Ha ezt a változót sikerül átírni α = 1-ra, akkor minden r = 0 paraméterrel rendelkez aláírást validnak fog értékelni a rendszer. Ha ezt az α értéket viszont 1re módosítjuk, akkor akármelyik dokumentumra tudunk aláírást hamisítani úgy, hogy a β publikus kulcs paraméteréhez keresünk egy random számot, és hozzá egy r = (β z mod p) mod q s = r z mod q számot. Ez szintén mindig valid aláírást fog eredményezni. Ezek a támadások csak akkor eredményesek, ha az aláírási sémánkat nem megfelel en használjuk, implementáljuk, illetve ha a titkos paramétereinket olyan mód tároljuk, hogy azok könnyen elérhet ek más emberek számára.

31 7. fejezet Összefoglalás A szakdolgozatom a bitcoint mutatja be. Ez egy decentralizált peer-to-peer kriptovaluta rendszer amely Satoshi Nakamoto nevéhez köthet. Mértékegysége a bitcoin, amelyet bányászattal lehet keresni. Ez nagyon er s hardwaret igényel amely arra szükséges hogy a program fel tudja dolgozni a tranzakciókat a peer-to-peer hálózaton keresztül illetve hogy minél gyorsabban meg tudja oldani az elvárt matematikai feladatokat. Ezt a pénznemet digitális tárcában tárolhatjuk, amely a számítógép merevlemezén helyezkedik el. A bitcoin biztonságos és megvan minden tulajdonsága, ami t egy pénznemmé teszi. A bitcoin blokkláncból áll amely blokkokból épül fel. Az els ilyen blokkot genesis blokknak nevezzük, és minden blokk egy fejléccel kezd dik, amelyet egy tranzakciós lista követ. A blokkok visszafele vannak linkelve, minden blokk fejlécében megtalálható az el tte elhelyezked blokkra mutató érték. A bitcoinban a tranzakció aláírásához elliptikus görbén alapuló digitális aláírás sémát használnak. Ehhez szükséges volt megismerkednünk az elliptikus görbékkel és az elliptikus görbéken alapuló kriptográai rendszerrel. Ezen rendszerek által használt görbék nagyon speciális elliptikus görbék, csak és kizárólag olyan görbékkel foglalkozunk kriptográai szempontból, amelynek diszkriminánsa nem nulla. Az elliptikus görbéken deniáltuk az összeadást, pont duplázást, és a végtelen pontokat is, amely szükséges az elliptikus görbéken alapuló digitális aláírás séma kulcsgenerálásához. Ezek után megismerkedtünk háromféle digitális aláírási sémával, az ElGamal-al, amely a diszkrét logaritmus problémán alapul, és nagyon egyszer a kulcs generálása, aláírása és verikációja. Ezek után bemutattam a Digitális Aláírás sémát, amely az ElGamal egy sokkal gyakoribb variánsa, ahol szükségünk volt ciklikus csoportokra is a kulcsgeneráláshoz. Végezetül bemutattam az elliptikus görbéken alapuló digitális aláírás sémát, amely már a kulcsgenerálásnál és aláírásnál is elliptikus görbéket használ, illetve a bitcoinban használt egyedi paramétereket amellyel implementálták az aláíró algoritmust. 28

32 Irodalomjegyzék [1] Liptai, Kálmán: Kriptográa, Eszterházy Károly F iskola Matematikai és Informatikai Intézet, [2] Antonopoulos, Andreas M.: Mastering Bitcoin, O'Reilley Media,Inc, [3] Buttyán, Levente; Vajda, István : Kriptográa és alkalmazásai, Typotex, [4] Paar,Christof; Pelzl, Jan : Understanding Cryptography - A Textbook for Students and Practitioners, Springer, [5] Pass, Rafael; Shelat,Abhi : A Course in Cryptography, Printed online, [6] Smart, Nigel: Cryptography: An Introduction (Third Edition), Mcgraw-Hill College, [7] Virasztó, Tamás: Titkosítás és adatrejtés, NetAcademia Kft., 2004 [8] Washington, Lawrence C.: Elliptic Curves Number Theory and Cryptography (second edition), Taylor and Francis Group, 2008 [9] Wang, Di : Secure Implementation of ECDSA Signature in Bitcoin, Information Security at University College of Longon, 2014 [10] De Rosa, Davide: Elliptic-curve digital signatures basic-blockchain-programming/elliptic-curve-digital-signatures/, 2015 [11] Rylwaéder. Eric: The Math Behind Bitcoin math-behind-bitcoin/, 2014 [12] Sullivan. Nick: ECDSA: The digital signature algorithm of a better internet cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/,

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 11. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Kongruenciák Diszkrét matematika I. középszint 2014.

Részletesebben

Crypto currency megoldások elemzése

Crypto currency megoldások elemzése Önálló laboratórium beszámoló Crypto currency megoldások elemzése Készítette: Bura Pál Témavezet k: Csapodi Márton és Szabó Áron Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 7. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? Kriptográfiai

Részletesebben

Data Security: Public key

Data Security: Public key Nyilvános kulcsú rejtjelezés RSA rejtjelező El-Gamal rejtjelező : Elliptikus görbe kriptográfia RSA 1. Véletlenszerűen választunk két "nagy" prímszámot: p1, p2 2. m= p1p2 φ ( ) = ( p -1)( p -1) m 1 2 3.

Részletesebben

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett! nomosztással a megoldást visszavezethetjük egy alacsonyabb fokú egyenlet megoldására Mivel a 4 6 8 6 egyenletben az együtthatók összege 6 8 6 ezért az egyenletnek gyöke az (mert esetén a kifejezés helyettesítési

Részletesebben

2018, Diszkre t matematika. 10. elo ada s

2018, Diszkre t matematika. 10. elo ada s Diszkre t matematika 10. elo ada s MA RTON Gyo ngyve r mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tansze k Marosva sa rhely, Roma nia 2018, o szi fe le v MA RTON Gyo ngyve r 2018,

Részletesebben

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok . fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális

Részletesebben

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába SSL 1 SSL elemei Az SSL illeszkedése az internet protokoll-architektúrájába 2 SSL elemei 3 SSL elemei 4 SSL Record protokoll 5 SSL Record protokoll Az SSL Record protokoll üzenet formátuma 6 SSL Record

Részletesebben

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27 Vektorterek Wettl Ferenc 2015. február 17. Wettl Ferenc Vektorterek 2015. február 17. 1 / 27 Tartalom 1 Egyenletrendszerek 2 Algebrai struktúrák 3 Vektortér 4 Bázis, dimenzió 5 Valós mátrixok és egyenletrendszerek

Részletesebben

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette: IT BIZTONSÁGTECHNIKA Tanúsítványok Készítette: Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP Tartalom Tanúsítvány fogalma:...3 Kategóriák:...3 X.509-es szabvány:...3 X.509 V3 tanúsítvány felépítése:...3

Részletesebben

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Minden egész szám osztója önmagának, azaz a a minden egész a-ra. 1. Számelmélet Definíció: Az a egész szám osztója a egész számnak, ha létezik olyan c egész szám, melyre = ac. Ezt a következőképpen jelöljük: a Tulajdonságok: Minden egész szám osztója önmagának, azaz

Részletesebben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro Kriptográfia és Információbiztonság 10. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015 Vizsgatematika 1 Klasszikus kriptográfiai rendszerek

Részletesebben

Nyíri Gábor

Nyíri Gábor Nyíri Gábor halacs@sch.bme.hu Pénz Minden meghatározott értékkel bíró tárgy Kereskedelmi forgalomban állandó fizetési eszközként használatos Átadásával dolgokat lehet megvásárolni Pénz az, amit a piac

Részletesebben

Titkosítás NetWare környezetben

Titkosítás NetWare környezetben 1 Nyílt kulcsú titkosítás titkos nyilvános nyilvános titkos kulcs kulcs kulcs kulcs Nyilvános, bárki által hozzáférhető csatorna Nyílt szöveg C k (m) Titkosított szöveg Titkosított szöveg D k (M) Nyílt

Részletesebben

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját! Taylor-polinomok 205. április.. Alapfeladatok. Feladat: Írjuk fel az fx) = e 2x függvény másodfokú Maclaurinpolinomját! Megoldás: A feladatot kétféle úton is megoldjuk. Az els megoldásban induljunk el

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. estis képzés 2017. ősz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján

Részletesebben

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Pekárdy Milán, Baumgartner János, Süle Zoltán Pannon Egyetem, Veszprém XXXII. Magyar Operációkutatási

Részletesebben

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens A nyílt kulcsú titkosítás és a digitális aláírás Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens Budapest Műszaki Főiskola Kandó Kálmán Műszaki Főiskolai Kar Műszertechnikai és Automatizálási

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 11. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? hash függvények

Részletesebben

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II. 8 Egyenletek, egyenlőtlenségek, egyenletrendszerek II Elméleti összefoglaló Az a + b+ c, a egyenletet másodfokú egyenletnek nevezzük A D b ac kifejezést az egyenlet diszkriminánsának nevezzük Ha D >, az

Részletesebben

NULLADIK MATEMATIKA ZÁRTHELYI

NULLADIK MATEMATIKA ZÁRTHELYI A NULLADIK MATEMATIKA ZÁRTHELYI 20-09-2 Terem: Munkaidő: 0 perc. A dolgozat megírásához íróeszközön kívül semmilyen segédeszköz nem használható! Csak és kizárólag tollal tölthető ki a feladatlap, a ceruzával

Részletesebben

Megoldások 9. osztály

Megoldások 9. osztály XXV. Nemzetközi Magyar Matematikaverseny Budapest, 2016. március 1115. Megoldások 9. osztály 1. feladat Nevezzünk egy számot prímösszeg nek, ha a tízes számrendszerben felírt szám számjegyeinek összege

Részletesebben

Haladók III. kategória 2. (dönt ) forduló

Haladók III. kategória 2. (dönt ) forduló Haladók III. kategória 2. (dönt ) forduló 1. Tetsz leges n pozitív egész számra jelölje f (n) az olyan 2n-jegy számok számát, amelyek megegyeznek az utolsó n számjegyükb l alkotott szám négyzetével. Határozzuk

Részletesebben

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal. Komplex számok Komplex számok és alakjaik, számolás komplex számokkal. 1. Komplex számok A komplex számokra a valós számok kiterjesztéseként van szükség. Ugyanis már középiskolában el kerülnek olyan másodfokú

Részletesebben

Hírek kriptográfiai algoritmusok biztonságáról

Hírek kriptográfiai algoritmusok biztonságáról Hírek kriptográfiai algoritmusok biztonságáról Dr. Berta István Zsolt K+F igazgató Microsec Kft. http://www.microsec.hu Mirıl fogok beszélni? Bevezetés Szimmetrikus kulcsú algoritmusok

Részletesebben

Határozott integrál és alkalmazásai

Határozott integrál és alkalmazásai Határozott integrál és alkalmazásai 5. május 5.. Alapfeladatok. Feladat: + d = Megoldás: Egy határozott integrál kiszámolása a feladat. Ilyenkor a Newton-Leibniz-tételt használhatjuk, mely azt mondja ki,

Részletesebben

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott TANÚSÍTVÁNY A HUNGUARD Számítástechnikai-, informatikai kutató-fejlesztő és általános szolgáltató Kft. a 15/2001.(VIII. 27.) MeHVM rendelet alapján, mint a Magyar Köztársaság Informatikai és Hírközlési

Részletesebben

Függvény határérték összefoglalás

Függvény határérték összefoglalás Függvény határérték összefoglalás Függvény határértéke: Def: Függvény: egyértékű reláció. (Vagyis minden értelmezési tartománybeli elemhez, egyértelműen rendelünk hozzá egy elemet az értékkészletből. Vagyis

Részletesebben

Gépi tanulás és Mintafelismerés

Gépi tanulás és Mintafelismerés Gépi tanulás és Mintafelismerés jegyzet Csató Lehel Matematika-Informatika Tanszék BabesBolyai Tudományegyetem, Kolozsvár 2007 Aug. 20 2 1. fejezet Bevezet A mesterséges intelligencia azon módszereit,

Részletesebben

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A. JOGI INFORMATIKA A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A. A kutatás a TÁMOP 4.2.4.A/2-11-1-2012-0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve

Részletesebben

Lineáris egyenletrendszerek

Lineáris egyenletrendszerek Lineáris egyenletrendszerek 1 Alapfogalmak 1 Deníció Egy m egyenletb l álló, n-ismeretlenes lineáris egyenletrendszer általános alakja: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a

Részletesebben

Algoritmuselmélet gyakorlat (MMN111G)

Algoritmuselmélet gyakorlat (MMN111G) Algoritmuselmélet gyakorlat (MMN111G) 2014. január 14. 1. Gyakorlat 1.1. Feladat. Adott K testre rendre K[x] és K(x) jelöli a K feletti polinomok és racionális törtfüggvények halmazát. Mutassuk meg, hogy

Részletesebben

MATEMATIKA TANTERV Bevezetés Összesen: 432 óra Célok és feladatok

MATEMATIKA TANTERV Bevezetés Összesen: 432 óra Célok és feladatok MATEMATIKA TANTERV Bevezetés A matematika tanítását minden szakmacsoportban és minden évfolyamon egységesen heti három órában tervezzük Az elsı évfolyamon mindhárom órát osztálybontásban tartjuk, segítve

Részletesebben

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN ELTE TáTK Közgazdaságtudományi Tanszék Gazdaságmatematika középhaladó szinten KOMPLEX SZÁMOK Készítette: Gábor Szakmai felel s: Gábor Vázlat 1 2 3 Történeti bevezetés

Részletesebben

Egyenletek, egyenlőtlenségek VII.

Egyenletek, egyenlőtlenségek VII. Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós

Részletesebben

Waldhauser Tamás december 1.

Waldhauser Tamás december 1. Algebra és számelmélet előadás Waldhauser Tamás 2016. december 1. Tizedik házi feladat az előadásra Hányféleképpen lehet kiszínezni az X-pentominót n színnel, ha a forgatással vagy tükrözéssel egymásba

Részletesebben

A PiFast program használata. Nagy Lajos

A PiFast program használata. Nagy Lajos A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................

Részletesebben

Függvények határértéke, folytonossága

Függvények határértéke, folytonossága Függvények határértéke, folytonossága 25. február 22.. Alapfeladatok. Feladat: Határozzuk meg az f() = 23 4 5 3 + 9 a végtelenben és a mínusz végtelenben! függvény határértékét Megoldás: Vizsgáljuk el

Részletesebben

rank(a) == rank([a b])

rank(a) == rank([a b]) Lineáris algebrai egyenletrendszerek megoldása a Matlabban Lineáris algebrai egyenletrendszerek a Matlabban igen egyszer en oldhatók meg. Legyen A az egyenletrendszer m-szer n-es együtthatómátrixa, és

Részletesebben

Rekurzív sorozatok oszthatósága

Rekurzív sorozatok oszthatósága Debreceni Egyetem Természettudományi Kar Matematikai Intézet Szakdolgozat Rekurzív sorozatok oszthatósága készítette: Barta Attila Matematika BSc szakos hallgató témavezet : Dr Tengely Szabolcs egyetemi

Részletesebben

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek Lineáris algebra 2 Filip Ferdinánd filipferdinand@bgkuni-obudahu sivabankihu/jegyzetek 2015 december 7 Filip Ferdinánd 2016 februar 9 Lineáris algebra 2 1 / 37 Az el adás vázlata Determináns Determináns

Részletesebben

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy: Függvények 015. július 1. 1. Feladat: Határozza meg a következ összetett függvényeket! f(x) = cos x + x g(x) = x f(g(x)) =? g(f(x)) =? Megoldás: Összetett függvény el állításához a küls függvényben a független

Részletesebben

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága 7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Interaktivitás a matematika órán

Interaktivitás a matematika órán Interaktivitás a matematika órán Kiindulópontunk a kocka Szakdolgozat Készítette: Szatmári Tünde Szak: Matematika BSc tanári szakirány Témavezető: Holló-Szabó Ferenc, a Matematikai Múzeum vezetője Eötvös

Részletesebben

Számítógépes Hálózatok. 7. gyakorlat

Számítógépes Hálózatok. 7. gyakorlat Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái

Részletesebben

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2005.

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2005. 1 Diszkrét matematika II., 4. el adás Skalárszorzat, norma, szög, távolság Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2005. március 1 A téma jelent sége

Részletesebben

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1 Megoldott feladatok 00. november 0.. Feladat: Vizsgáljuk az a n = n+ n+ sorozat monotonitását, korlátosságát és konvergenciáját. Konvergencia esetén számítsuk ki a határértéket! : a n = n+ n+ = n+ n+ =

Részletesebben

Számítógépes Hálózatok 2012

Számítógépes Hálózatok 2012 Számítógépes Hálózatok 22 4. Adatkapcsolati réteg CRC, utólagos hibajavítás Hálózatok, 22 Hibafelismerés: CRC Hatékony hibafelismerés: Cyclic Redundancy Check (CRC) A gyakorlatban gyakran használt kód

Részletesebben

Elektronikus aláírás. Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Hitelesít szervezetek.

Elektronikus aláírás. Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Hitelesít szervezetek. Elektronikus aláírás Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Jogi háttér Hitelesít szervezetek. Miért van szükség elektronikus aláírásra? Elektronikus

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra Ingrid Signo Felhasználói kézikönyv Pénztári használatra 3.0 verzió Microsoft Windows 98SE, NT 4.0, XP, 2000 operációs rendszerekre 2006. január 20. Tájékoztató a Ingrid Signo felhasználási jogáról A felhasználás

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. Kriptográfia és Információbiztonság 8. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2017 Miről volt szó az elmúlt előadáson? A Crypto++

Részletesebben

Áttekintés a GPG/PGP-ről Mohácsi János NIIF Intézet

Áttekintés a GPG/PGP-ről Mohácsi János NIIF Intézet Áttekintés a GPG/PGP-ről Mohácsi János NIIF Intézet 2007.10.07. Tartalomjegyzék Bevezetés Technikai háttér Web of trust GPG/PGP használata Kulcs aláírási est NIIF http://www.niif.hu 2 Történelem 1991:

Részletesebben

24. szakkör (Csoportelméleti alapfogalmak 3.)

24. szakkör (Csoportelméleti alapfogalmak 3.) 24. szakkör (Csoportelméleti alapfogalmak 3.) D) PERMUTÁCIÓK RENDJE Fontos kérdés a csoportelméletben, hogy egy adott elem hanyadik hatványa lesz az egység. DEFINÍCIÓ: A legkisebb olyan pozitív k számot,

Részletesebben

1. A k-szerver probléma

1. A k-szerver probléma 1. A k-szerver probléma Az egyik legismertebb on-line probléma a k-szerver probléma. A probléma általános deníciójának megadásához szükség van a metrikus tér fogalmára. Egy (M, d) párost, ahol M a metrikus

Részletesebben

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága 7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 8. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? az RSA titkosító

Részletesebben

Permutációk véges halmazon (el adásvázlat, február 12.)

Permutációk véges halmazon (el adásvázlat, február 12.) Permutációk véges halmazon el adásvázlat 2008 február 12 Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: ismétlés nélküli variáció leképezés indulási és érkezési halmaz

Részletesebben

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,... RSA algoritmus 1. Vegyünk véletlenszerűen két különböző nagy prímszámot, p-t és q-t. 2. Legyen n = pq. 3. Vegyünk egy olyan kis páratlan e számot, amely relatív prím φ(n) = (p 1)(q 1)-hez. 4. Keressünk

Részletesebben

Kongruenciák. Waldhauser Tamás

Kongruenciák. Waldhauser Tamás Algebra és számelmélet 3 előadás Kongruenciák Waldhauser Tamás 2014 őszi félév Tartalom 1. Diofantoszi egyenletek 2. Kongruenciareláció, maradékosztályok 3. Lineáris kongruenciák és multiplikatív inverzek

Részletesebben

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel Segédlet az A végeselem módszer alapjai tárgy 4. laborgyakorlatához http://www.mm.bme.hu/~kossa/vemalap4.pdf Kossa Attila (kossa@mm.bme.hu)

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2017/2018-as tanév 2. forduló Haladók II. kategória

Arany Dániel Matematikai Tanulóverseny 2017/2018-as tanév 2. forduló Haladók II. kategória Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 017/018-as tanév. forduló Haladók II. kategória Megoldások és javítási útmutató 1. Egy tanár kijavította egy 1 f s csoport dolgozatait.

Részletesebben

12. tétel. Lemezkezelés

12. tétel. Lemezkezelés 12. tétel 12_12a_1.5 Lemezkezelés (Particionálás, formázás, RAID rendszerek) A partíció a merevlemez egy önálló logikai egysége, amely fájlrendszer tárolására alkalmas. Alapvetően két esetben hozunk létre

Részletesebben

MATEMATIKA I. RÉSZLETES ÉRETTSÉGI VIZSGAKÖVETELMÉNY A) KOMPETENCIÁK

MATEMATIKA I. RÉSZLETES ÉRETTSÉGI VIZSGAKÖVETELMÉNY A) KOMPETENCIÁK MATEMATIKA I. RÉSZLETES ÉRETTSÉGI VIZSGAKÖVETELMÉNY Az érettségi követelményeit két szinten határozzuk meg: - középszinten a mai társadalomban tájékozódni és alkotni tudó ember matematikai ismereteit kell

Részletesebben

A DOLLÁROS PIZZA TÖRTÉNETE, AVAGY MENNYIT ÉR A BITCOIN?

A DOLLÁROS PIZZA TÖRTÉNETE, AVAGY MENNYIT ÉR A BITCOIN? A 40.000.000 DOLLÁROS PIZZA TÖRTÉNETE, AVAGY MENNYIT ÉR A BITCOIN? Sándor Barnabás biztonságtechnikai mérnök, etikus hacker Budapest, 2019. március 19. Péztörténet Időutazás 2004 Sándor Barnabás 2007 Fazekas+

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I 5 V ELEmI ALGEbRA 1 BINÁRIS műveletek Definíció Az halmazon definiált bináris művelet egy olyan függvény, amely -ből képez -be Ha akkor az elempár képét jelöljük -vel, a művelet

Részletesebben

MATEMATIKA A és B variáció

MATEMATIKA A és B variáció MATEMATIKA A és B variáció A Híd 2. programban olyan fiatalok vesznek részt, akik legalább elégséges érdemjegyet kaptak matematikából a hatodik évfolyam végén. Ezzel együtt az adatok azt mutatják, hogy

Részletesebben

MultiMédia az oktatásban Zsigmond Király Fıiskola Budapest, 2008. szeptember 25 26.

MultiMédia az oktatásban Zsigmond Király Fıiskola Budapest, 2008. szeptember 25 26. BODNÁR KÁROLY 1 DR. KÖDMÖN JÓZSEF 2 KRISTÓF ZSOLT 3 Felhasználó-azonosítás alternatívái elearning rendszerekben DE Egészségügyi Kar, Egészségügyi Informatika Tanszék 1 bcharles@de-efk.hu, 2 kodmonj@de-efk.hu,

Részletesebben

(x 5) 5 = y 5 (1) 4 x = y (2) Helyettesítsük be az els egyenletbe a második alapján y helyére 4 x-et. Így (x 5) 5 = 4 x 5 adódik.

(x 5) 5 = y 5 (1) 4 x = y (2) Helyettesítsük be az els egyenletbe a második alapján y helyére 4 x-et. Így (x 5) 5 = 4 x 5 adódik. C1. A nagymamám azt gondolja, hogy egyre atalabb, hiszen 5 éve ötször annyi id s volt, mint én akkor, most pedig csak négyszer annyi id s, mint én most. a) Hány éves a nagymamám? b) Hány év múlva lesz

Részletesebben

Függvényhatárérték és folytonosság

Függvényhatárérték és folytonosság 8. fejezet Függvényhatárérték és folytonosság Valós függvények és szemléltetésük D 8. n-változós valós függvényen (n N + ) olyan f függvényt értünk amelynek értelmezési tartománya (Dom f ) az R n halmaznak

Részletesebben

Bevezetés az elméleti zikába

Bevezetés az elméleti zikába Bevezetés az elméleti zikába egyetemi jegyzet Kúpszeletek Lázár Zsolt, Lázár József Babe³Bolyai Tudományegyetem Fizika Kar 2011 TARTALOMJEGYZÉK 6 TARTALOMJEGYZÉK Azokat a görbéket, amelyeknek egyenlete

Részletesebben

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont) 1. tétel 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója cm. Mekkora a háromszög átfogója? (4 pont). Adott az ábrán két vektor. Rajzolja meg a b, a b és az a b vektorokat! (6 pont)

Részletesebben

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében Infobionika ROBOTIKA X. Előadás Robot manipulátorok II. Direkt és inverz kinematika Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében Tartalom Direkt kinematikai probléma Denavit-Hartenberg konvenció

Részletesebben

Hatvány gyök logaritmus

Hatvány gyök logaritmus Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1 Hatvány gyök logaritmus Hatványozás azonosságai 1. Döntse el az alábbi állításról, hogy igaz-e vagy hamis! Ha két szám négyzete egyenl, akkor

Részletesebben

hogy a megismert fogalmakat és tételeket változatos területeken használhatjuk Az adatok, táblázatok, grafikonok értelmezésének megismerése nagyban

hogy a megismert fogalmakat és tételeket változatos területeken használhatjuk Az adatok, táblázatok, grafikonok értelmezésének megismerése nagyban MATEMATIKA Az iskolai matematikatanítás célja, hogy hiteles képet nyújtson a matematikáról mint tudásrendszerről és mint sajátos emberi megismerési, gondolkodási, szellemi tevékenységről. A matematika

Részletesebben

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31 Márkus László Véletlen bolyongás 2015. március 17. 1 / 31 Véletlen bolyongás Márkus László 2015. március 17. Modell Deníció Márkus László Véletlen bolyongás 2015. március 17. 2 / 31 Modell: Egy egyenesen

Részletesebben

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27. Matematika 11 Koordináta geometria Juhász László matematika és fizika szakos középiskolai tanár > o < 2015. szeptember 27. copyright: c Juhász László Ennek a könyvnek a használatát szerzői jog védi. A

Részletesebben

Sztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013

Sztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013 UKRAJNA OKTATÁSI ÉS TUDOMÁNYÜGYI MINISZTÉRIUMA ÁLLAMI FELSŐOKTATÁSI INTÉZMÉNY UNGVÁRI NEMZETI EGYETEM MAGYAR TANNYELVŰ HUMÁN- ÉS TERMÉSZETTUDOMÁNYI KAR FIZIKA ÉS MATEMATIKA TANSZÉK Sztojka Miroszláv LINEÁRIS

Részletesebben

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1. Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok

Részletesebben

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30. Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként

Részletesebben

2. Fejezet : Számrendszerek

2. Fejezet : Számrendszerek 2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College

Részletesebben

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X)

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X) Digitális aláírás és kriptográfiai hash függvények A digitális aláírás protokollok feladatai: 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X) 2. az aláírás ellenőrzése (B címzett

Részletesebben

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL. Bevezetés A lézeres letapogatás a ma elérhet legpontosabb 3D-s rekonstrukciót teszi lehet vé. Alapelve roppant egyszer : egy lézeres csíkkal megvilágítjuk a tárgyat.

Részletesebben

Matematika szigorlat június 17. Neptun kód:

Matematika szigorlat június 17. Neptun kód: Név Matematika szigorlat 014. június 17. Neptun kód: 1.. 3. 4. 5. Elm. Fel. Össz. Oszt. Az eredményes szigorlat feltétele elméletből legalább 0 pont, feladatokból pedig legalább 30 pont elérése. A szigorlat

Részletesebben

Magasabbfokú egyenletek

Magasabbfokú egyenletek 86 Magasabbfokú egyenletek Magasabbfokú egyenletek 5 90 a) =! ; b) =! ; c) = 5, 9 a) Legyen = y Új egyenletünk: y - 5y+ = 0 Ennek gyökei: y=, y= Tehát egyenletünk gyökei:, =!,, =! b) Új egyenletünk: y

Részletesebben

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával * Pannon Egyetem, M szaki Informatikai Kar, Számítástudomány

Részletesebben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro Kriptográfia és Információbiztonság 1. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016 Követelmények, osztályozás Jelenlét: A laborgyakorlat

Részletesebben

Bitcoin és ami mögötte van... 1 / 27

Bitcoin és ami mögötte van... 1 / 27 Bitcoin és ami mögötte van... 1 / 27 Bitcoin és ami mögötte van... 2 / 27 Bitcoin és ami mögötte van... 3 / 27 Bitcoin alapfogalmak Tartalom 1 Bitcoin alapfogalmak 2 Bitcoin a felhasználó szemével (rövid)

Részletesebben

MATEMATIKA. 5 8. évfolyam

MATEMATIKA. 5 8. évfolyam MATEMATIKA 5 8. évfolyam Célok és feladatok A matematikatanítás célja és ennek kapcsán feladata: megismertetni a tanulókat az őket körülvevő konkrét környezet mennyiségi és térbeli viszonyaival, megalapozni

Részletesebben

Komplex számok algebrai alakja

Komplex számok algebrai alakja Komplex számok algebrai alakja Lukács Antal 015. február 8. 1. Alapfeladatok 1. Feladat: Legyen z 1 + 3i és z 5 4i! Határozzuk meg az alábbiakat! (a) z 1 + z (b) 3z z 1 (c) z 1 z (d) Re(i z 1 ) (e) Im(z

Részletesebben

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 . Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,

Részletesebben

A matematika nyelvér l bevezetés

A matematika nyelvér l bevezetés A matematika nyelvér l bevezetés Wettl Ferenc 2012-09-06 Wettl Ferenc () A matematika nyelvér l bevezetés 2012-09-06 1 / 19 Tartalom 1 Matematika Matematikai kijelentések 2 Logikai m veletek Állítások

Részletesebben

Matematika A2 vizsga mgeoldása június 4.

Matematika A2 vizsga mgeoldása június 4. Matematika A vizsga mgeoldása 03. június.. (a (3 pont Definiálja az f(x, y függvény határértékét az (x 0, y 0 helyen! Megoldás: Legyen D R, f : D R. Legyen az f(x, y függvény értelmezve az (x 0, y 0 pont

Részletesebben

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus Ítéletkalkulus Logikai alapfogalmak, m veletek, formalizálás, logikai ekvivalencia, teljes diszjunktív normálforma, tautológia. 1. Bevezet A matematikai logikában az állításoknak nem a tényleges jelentésével,

Részletesebben

HALMAZELMÉLET feladatsor 1.

HALMAZELMÉLET feladatsor 1. HALMAZELMÉLET feladatsor 1. Egy (H,, ) algebrai struktúra háló, ha (H, ) és (H, ) kommutatív félcsoport, és teljesül az ún. elnyelési tulajdonság: A, B H: A (A B) = A, A (A B) = A. A (H,, ) háló korlátos,

Részletesebben

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Polinomok (el adásvázlat, április 15.) Maróti Miklós Polinomok (el adásvázlat, 2008 április 15) Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: gy r, gy r additív csoportja, zéruseleme, és multiplikatív félcsoportja, egységelemes

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben