3. Kriptográfia (Jörg Rothe)
|
|
- Oszkár Halász
- 8 évvel ezelőtt
- Látták:
Átírás
1 3. Kriptográfia (Jörg Rothe) Ebben a fejezetben a kriptográában használatos protokollokat, valamint alapveto problémákat és algoritmusokat mutatunk be. A kriptográában jellemzo egyik alaphelyzetet láthatjuk a 3.1. ábrán. Aliz és Bob híreket cserélnek valamilyen nem biztonságos csatornán, például nyilvános telefonvonalon, vagy két hálózati kapcsolatban lévo számítógép közötti elektronikus posta segítségével. Erik megcsapolja a vezetéket, és lehallgatja a kommunikációt. Mivel Aliz és Bob tudják ezt, a küldeményeiket rejtjelezik. Erik 3.1. ábra. A kriptográában tipikus alaphelyzet. A 3.1. alfejezetben olyan szimmetrikus kriptográai rendszereket mutatunk be, amelyek az illetéktelen rejtjelfejtést hivatottak akadályozni. Szimmetrikusnak akkor nevezünk egy kriptográai rendszert, ha ugyanaz a kulcs használható rejtjelezésre (sifrírozásra) és visszafejtésre (desifrírozásra) is. Vajon hogyan kell Aliznak és Bobnak egy közös kulcsban megegyeznie, ha csupán egy megbízhatatlan csatornán tudnak kommunikálni egymással? Ha például Aliz választ egy kulcsot és rejtjelezi (mondjuk egy szimmetrikus rejtjelrendszerrel), majd elküldi Bobnak, azonnal felmerül a kérdés, milyen kulcsot használjanak ezeknek a kulcsoknak a rejtjelezéséhez. Ez a paradoxnak tuno kérdés amely egy kicsit emlékeztet arra a másikra, hogy vajon a tojás, vagy a tyúk volt-e elobb kulcscsere-problémaként ismert. A kriptográa kezdetétol megoldhatatlannak tartották ezt a problémát. Annál nagyobb volt a meglepetés, amikor Whiteld Diffie és Martin Hellman 1976-ban megoldották. Egy protokollt javasoltak, amelyben Aliz és Bob információkat cserélnek, s ennek segítségével végül ki tudják számítani a közös kulcsukat. Az oket lehallgató Eriknek ugyanakkor fogalma sincs a kulcsukról, még akkor sem, ha az adatcserében résztvevo minden egyes bitet el tudja fogni. A 3.2. alfejezet bemutatja a Diffie Hellman-protokollt.
2 3.1. Alapok 95 A történet némileg ironikus része az, hogy éppen ez a protokoll, amely a szimmetrikus kriptográában oly fontos kulcscsere megoldhatatlannak tartott problémáját megoldotta, egy másik protokoll felfedezése elott egyengette az utat, s ez utóbbiban a megbízhatatlan csatornán történo titkos kulcscsere már semmilyen szerepet nem játszik. Diffie és Hellman 1976-ban megjelent munkájukkal kaput nyitottak a modern nyilvános kulcsú kriptográának, és már két évvel késobb, 1978-ban, Rivest, Shamir és Adleman szélesre tárták ezt a kaput, amikor megalkották jól ismert RSA-rendszerükkel az elso nyilvános kulcsú kriptorendszert. A 3.3. alfejezetben szerepel az RSA-rendszer, valamint egy, az RSA-n alapuló digitális aláírásra vonatkozó protokoll. Egy ilyen protokollal Aliz el tudja látni kézjegyével Bobnak küldött üzeneteit úgy, hogy Bob az üzenet küldojének azonosságát ellenorizni tudja. A digitális aláírások célja annak megakadályozása, hogy Erik Aliz üzenetét meghamisítva úgy tegyen, mintha azt Aliz küldte volna. A Diffie Hellman-protokoll biztonsága azon a feltételezésen alapszik, hogy a diszkrét logaritmus nem számítható ki hatékonyan. A moduláris hatványozás amelynek inverz függvénye a diszkrét logaritmus egy lehetséges egyirányú függvény. Az RSA biztonsága is egy probléma feltételezett nehézségén nyugszik, nevezetesen azon a feltételezésen, hogy nagy számok nem bonthatók hatékonyan prímtényezok szorzatára. A jogos címzett Bob ugyanakkor képes hatékonyan visszafejteni a rejtjelezett üzenetet, miközben egy általa választott szám faktorizációját saját csapóajtó információjaként használja fel. A 3.4. alfejezetben bemutatunk egy Rivest Sherman-protokollt, amelyik az úgynevezett erosen nem invertálható, asszociatív egyirányú függvényeken nyugszik, és a Diffie Hellman-protokollhoz hasonlóan titkos kulcscserére szolgál. Ez a protokoll is módosítható oly módon, hogy digitális aláírás számára használható legyen. Végül a 3.5. alfejezet az interaktív bizonyításrendszerek és a zéró-ismeretu protokollok érdekes területére vezet, amely a kriptográában gyakorlati felhasználásra kerül, nevezetesen a hitelesség problémájának megoldása során. Bemutatunk egy zéró-ismeretu protokollt a grázomorzmus problémára. Másrészt ez a terület a bonyolultságelmélethez is kapcsolódik, és ezért a 4. fejezetben újból elokerül, ismét a grázomorzmus problémával kapcsolatban Alapok A kriptográa évezredek óta létezo muvészet és tudomány, írások és üzenetek titkos anyagba történo olyan rejtjelezésével foglalkozik, amely illetéktelen személyek számára akadályozza a visszafejtést. Ebben az alfejezetben két klasszikus szimmetrikus kriptorendszert mutatunk be, a következo alfejezetekben pedig a manapság használatos legfontosabb protokollok és aszimmetrikus kriptorendszerek közül foglalkozunk néhánnyal. Protokollon két vagy több résztvevo közötti párbeszédet értünk, miközben egy résztvevo lehet egy ember, de lehet egy számítógép is. A kriptográai protokollok szövegek rejtjelezésére szolgálnak, oly módon, hogy a jogosult fogadó képes legyen egyszeruen és hatékonyan visszafejteni a rejtett szöveget. Egy protokoll algoritmusként is felfogható, melyet több résztvevo hajt végre. A kriptoanalízis szintén több évezredes muvészet és tudomány is, amely rejtjelezett üzenetek (illetéktelen) visszafejtésével és a létezo kriptorendszerek feltörésével foglalkozik. A kriptológia ezt a két területet öleli fel, a kriptográát és a kriptoanalízist. Ebben a fejezetben foként olyan kriptograkus algoritmusokra koncentrálunk, amelyek lehetové
3 96 3. Kriptográfia (Jörg Rothe) teszik a biztonságos rejtjelezést. A kriptoanalízis algoritmusait amelyekkel az ember próbálkozik, hogy kriptograkus protokollokat és rendszereket feltörjön, megemlítjük, de nem vizsgáljuk teljes részletességgel Kriptográfia A kriptográa egyik jellemzo alaphelyzete a 3.1. ábrán látható: Aliz és Bob olyan nem biztonságos csatornán kommunikálnak egymással, amelyet Erik lehallgat, és ezért az üzenetüket rejtjelezik egy kriptorendszer segítségével deníció (kriptorendszer). A kriptorendszer egy (P, C, K, E, D) ötös a következo tulajdonságokkal: 1. P, C és K véges halmazok, P a nyílt szöveg tér, C a rejtett szöveg tér és K a kulcstér. P elemeit nyílt szövegnek C elemeit pedig rejtett szövegnek nevezzük. Egy üzenet a nyílt szöveg szimbólumaiból álló szó. 2. E = {E k k K} azoknak az E k : P C függvényeknek a családja, amelyeket a rejtjelezéshez használunk. D = {D k k K} azoknak a D k : C P függvényeknek a családja, amelyeket a visszafejtéshez használunk. 3. Mindegyik e K kulcshoz van egy d K kulcs, melyekre minden p P nyílt szöveg esetén D d (E e (p)) = p. (3.1) Egy kriptorendszerre azt mondjuk, hogy szimmetrikus (vagy titkos kulcsú), ha d = e vagy legalábbis d könnyen kiszámítható e-bol. Egy kriptorendszerre azt mondjuk, hogy aszimmetrikus (vagy nyilvános kulcsú, public-key ), ha d e, és gyakorlatilag nem végezheto el az a feladat, hogy a d kulcsot e-bol kiszámítjuk. Ekkor e-t nyilvános kulcsnak nevezzük, és d az e-hez tartozó titkos kulcs. Néha különbözo kulcstereket használnak a rejtjelezéshez és a visszafejtéshez, ami a fenti deníció megfelelo módosítását vonja maga után. A klasszikus kriptorendszerek bemutatására példaként legyen a Σ = {A, B,..., Z} ábécé a nyílt szöveg tér és ugyanakkor a rejtett szöveg tér is. Abból a célból, hogy a betukkel úgy tudjunk számolni, mintha számok lennének, feleltessük meg Σ-nak Z 26 = {0, 1,..., 25}-öt. A 0 szám tehát az A betunek felel meg, az 1 a B betunek stb. A nyílt szöveg szimbólumainak ez a természetes számokkal való kódolása természetesen nem tartozik hozzá a tényleges rejtjelezéshez, illetve visszafejtéshez. Az üzenetek Σ elemei, ahol Σ a Σ fölötti szavak halmazát jelöli. Ha valamely m Σ üzenet n hosszúságú blokkokra van felosztva, és blokkonként van rejtjelezve ahogyan az sok kriptorendszerben szokásos, akkor m egyes blokkjait Z n 26 elemeiként értelmezhetjük példa. Eltolásos rejtjelezo. Az elso példa egy monoalfabetikus szimmetrikus kriptorendszer. Legyen K = P = C = Z 26. Az eltolásos rejtjel az a rejtett üzenet, amelyben a nyílt szöveg minden jelének az ábécében a k számú betuvel eltolt jel felel meg (modulo 26), ahol k rögzített szám. Az itt szereplo k Z 26 a kulcs. Ha a rejtett szöveg minden jelét ugyanennek a k kulcsnak a felhasználásával visszatoljuk, akkor feltárul elottünk a nyílt szöveg. Az E k rejtjelezo függvényt és a D k visszafejto
4 3.1. Alapok 97 m B U D A P E S T K E L E T P Á R I Z S A c E X G D S H V W N H O H W S D U L C V D 3.2. ábra. Példa a Caesar-rejtjelezovel történo sifrírozásra. függvényt mindegyik k Z 26 kulcs esetén az alábbi módon deniáljuk: E k (m) = (m + k) mod 26 D k (c) = (c k) mod 26, ahol a k-val való összeadást és kivonást jelenként, modulo 26 kell elvégezni. A 3.2. ábrán látható egy magyar m üzenetnek a c kóddal történo rejtjelezése k = 3 esetén. 1 Az eltolással való rejtjelezés ezzel a speciális k = 3 kulccsal Caesar-rejtjelezo néven is ismeretes, mert feltehetoen a római császár ezt használta háborúiban a katonai üzenetek titkosítására. 2 Ez egy nagyon egyszeru helyettesítéses rejtjelezo, amelyikben a nyílt szöveg minden betujét a rejtjel ábécé egy meghatározott betujével helyettesítenek. Mivel a kulcstér nagyon kicsi, az eltolásos rejtjelet igen könnyu feltörni. Ez a rejtjel már arra a támadásra is érzékeny, amelynek során a támadó csupán a rejtett szöveget ismeri (rejtett szöveg u támadás. Ha egyszeruen a 26 lehetséges kulcs mindegyikét végigpróbáljuk, kiderül, hogy melyik kulcs esetén adódik értelmes nyílt szöveg, ha pedig a rejtett szöveg elég hosszú, csak egy megfelelo rejtjelezés adódik. A Caesar-rejtjelezo monoalfabetikus kriptorendszer, mert a nyílt szöveg minden betujének a rejtett szövegben mindig ugyanaz a betu felel meg. Ezzel szemben egy polialfabetikus kriptorendszerben lehetséges, hogy ugyanannak a nyílt szövegbeli szimbólumnak különbözo rejtett szövegbeli szimbólumok felelnek meg, attól függoen, hogy a szöveg melyik helyén állnak. Egy ilyen polialfabetikus kriptorendszert, amelyik az eltolásos rejtjelezésre épül, de jóval nehezebb feltörni, Blaise de Vigenère ( ) francia diplomata javasolt. Rendszere Leon Battista Alberti (szül. 1404) itáliai matematikus, Johannes Trithemius (szül. 1492) német apát és Giovanni Porta (szül. 1535) itáliai természettudós elomunkáira épül. Ez a rejtjelezo úgy muködik, mint az eltolásos rejtjelezo, azzal a különbséggel, hogy a betuk, amelyekkel a nyílt szöveg egy szimbóluma sifrírozva van, most még a szövegbeli helyüknek megfeleloen is változnak példa. Vigenère-rejtjelezo. Ez a szimmetrikus polialfabetikus kriptorendszer egy úgynevezett Vigenère-négyzetet használ (lásd a 3.3. ábrát). Ez egy 26 sorból és 26 oszlopból álló mátrix. Mindegyik sorban az ábécé 26 betuje szerepel, sorról sorra mindig egy pozícióval balra tolva. Ez azt jelenti, hogy az egyes sorok felfoghatók egy-egy eltolásos rejtjelezoként, ahol a kulcsok sorban 0, 1,..., 25. A szimbólum szövegbeli helyétol függ az, hogy a Vigenère-négyzet melyik sorát használja az ember egy nyílt szövegbeli szimbólum rejtésére. Az üzeneteket n állandó hosszúságú blokkra osztjuk és blokkonként rejtjelezzük, vagyis K = P = C = Z n 26. Az n blokkhosszat a rendszer periódusának is nevezik. Egy w szóban az i-edik betut w i -vel jelöljük. 1 Az ékezetes betuk kódja ugyanaz, mint a megfelelo ékezet nélkülieké. A fordító. 2 Történelmi megjegyzés: Gaius Julius Caesar De Bello Gallico címu muvében tudósít arról, hogy a gall háborúban (58 50 Kr.e.) hogyan küldött egy rejtjelezett üzenetet Q. Tullius Ciceronak (a híres szónok testvéröccsének), aki légiójával ostrom alatt volt. Az alkalmazott rendszer monoalfabetikus volt, és a latin betuket göröggel helyettesítette, Caesar írásaiból nem derül ki azonban az, hogy valóban a k = 3 kulcsú eltolásos rejtjelezorol volt-e szó. Ezt az információt késobb Suetonius adta.
5 98 3. Kriptográfia (Jörg Rothe) 0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 3.3. ábra. Vigenère-négyzet: a H nyílt szöveget a T kulccsal rejtjelezve A -t kapunk. Az E k rejtjelezo függvényt és a D k visszafejto függvényt, amelyek mindketten Z n 26 -bol Zn 26 -be képeznek, mindegyik k Z n 26 kulcs esetén a következoképpen deniáljuk: E k (b) = (b + k) mod 26 D k (c) = (c k) mod 26, ahol a k-val való összeadást és kivonást megint jelenként kell elvégezni modulo 26. Ez azt jelenti, hogy a megbeszélt k Z n 26 kulcsot beturol beture a b Zn 26 blokk szimbólumai fölé írjuk. Ha a nyílt szöveg utolsó blokkjának kevesebb szimbóluma van, mint n, akkor a kulcsnak csak annyi jelét használjuk fel, amennyi szükséges. Amikor a nyílt szöveg i-edik b i szimbólumát rejtjelezzük, fölötte a k i kulcsszimbólum áll, és a Vigenère-négyzet k i -edik sorát használjuk eltolásos rejtjelezoként. Válasszuk például az n = 4 blokkhosszat, és a k = TONY kulcsot. A 3.4. ábra egy angol nyelvu m nyílt szöveg rejtjelezését mutatja, amelyik hét blokkból áll, és a c rejtett szövegben a Vigenèrerejtjelezot alkalmaztuk a k kulccsal. A nyílt szöveg elso betujéhez, a H -hoz a T kulcsszimbólumot rendeljük hozzá. A Vigenère-négyzet H -oszlopának és a T -sorának keresztezodésében A található, ez lesz a rejtett szöveg elso szimbóluma, amint azt a 3.3. ábrán láthatjuk.
6 3.1. Alapok 99 k T O N Y T O N Y T O N Y T O N Y T O N Y T O N Y T O N Y m H U N G A R I A N I S A L L G R E E K T O G E R M A N S c A I A E T F V Y G W F Y E Z T P X S X R H U R P F O A Q 3.4. ábra. Példa a Vigenère-rejtjelezot használó sifrírozásra. Még számos további klasszikus kriptorendszer létezik, amelyeket azonban itt nem vizsgálunk meg közelebbrol. Több lehetoség van arra is, hogy a kriptorendszereket jellegük és tulajdonságaik alapján osztályozzuk. A 3.1. deníció megvilágítja a szimmetrikus és az aszimmetrikus kriptorendszerek közötti különbséget. A két bemutatott szimmetrikus rendszer (az eltolásos rejtjelezo és a Vigenère-rejtjelezo) rámutat a monoalfabetikus és a polialfabetikus rendszerek közötti eltérésekre. Mindketto helyettesítéses rejtjelezo. Ezek szembeállíthatók a permutációs rejtjelezokkel (más néven transzpozíciós rejtjelezokkel), amelyeknél a nyílt szöveg betuit nem a rejtjelábécé bizonyos betui helyettesítenek, hanem csupán a szövegbeli helyük változik, egyébként azonban nem változnak meg. Ha blokkonként n periódussal rejtjelezünk és Σ n összes permutációinak halmazát alkalmazzuk kulcstérként, ahol Σ m betus ábécé, akkor m n! különbözo lehetoségünk van arra, hogy egy kulcsot kiválasszunk. Továbbá a blokkrejtjelezot amelyben, mint a Vigenèrerendszer esetén a nyílt szöveget blokkokra osztjuk, blokkonként rejtjelezzük, egybevethetjük a folyamrejtjelekkel, amelyek egy folyamatos kulcsfolyamot hoznak létre. A blokkrejtjelezok különbözo változatait vizsgálhatjuk. Egy fontos típust képviselnek az affin blokkrejtjelezok. Ezeket a következoképpen deniáljuk: az E (A, b) rejtjelezo függvények, és a D (A 1, b) visszafejto függvények Zn m-bol Z n m-be képeznek, és affin leképezések, ami azt jelenti, hogy az alábbi alakúak: E (A, b) ( x) = A x + b mod m, (3.2) D (A 1, b) ( y) = A 1 ( y b) mod m. Itt (A, b) és (A 1, b) a rejtjelezés illetve visszafejtés kulcsai; A (n n)-es mátrix Z m -beli elemekkel. A 1 az A inverz mátrixa; x, y és b mind Z n m-beli vektorok, a muveleteket pedig modulo m végezzük. Nézzünk néhány matematikai kiegészítést (lásd a pontban a 3.2. deníciót is): egy a Z m gyuru fölötti (n n)-es A mátrixnak pontosan akkor van multiplikatív inverze, ha lnko(det A, m) = 1. A inverz mátrixát A 1 = (det A) 1 A adj segítségével deniáljuk, ahol det A az A determinánsa és A adj = (( 1) i+ j det A j,i ) az A adjungált mátrixa. A det A determinánsát rekurzív módon deniáljuk: n = 1 és A = (a) esetén det A = a; n > 1 esetén minden i-re, ahol i {1, 2,..., n}, det A = n j=1 ( 1) i+ j a i, j det A i, j, ahol a i, j az A-nak az (i, j) indexu eleme és az (n 1) (n 1)-es A i, j mátrixokat az A-ból úgy kapjuk, hogy az i-edik sort és a j-edik oszlopot törüljük. Egy mátrix determinánsát hatékonyan ki lehet számítani (lásd a 3-3. feladatot). Példaként megemlítjük, hogy a Vigenère-rejtjelezo affin rejtjelezo, amelynek kulcstere, K = Z n m pontosan m n elemu (lásd a 3.2. példát). Ha (3.2)-ben a b nullvektor, akkor lineáris blokkrejtjelezorol van szó. Erre klasszikus példa a Hill-rejtjelezo, amit 1929-ben Lester Hill talált ki. Ennél a rejtjelezonél a kulcstér az összes olyan (n n)-es Z m -beli elemeket tartalmazó A mátrix, melyre lnko(det A, m) = 1. Emiatt a kulcsként megengedett mátrixok invertálhatók, s az A 1 inverz mátrixszal fejthetjük vissza az A mátrixszal rejtjelezett üzenetet. A Hill-rejtjelezot az E A ( x) = A x mod m rejtjelezo függvénnyel és a D A 1( y) = A y mod m
7 Kriptográfia (Jörg Rothe) visszafejto függvénnyel deniáljuk. Ez a legáltalánosabb lineáris rejtjelezo. A permutációs rejtjelezok szintén lineáris rejtjelezok, és így a Hill-rejtjelezok speciális esetei Kriptoanalízis A kriptoanalízis feladata az, hogy adott kriptorendszereket feltörjön, elsosorban azért, hogy a szükséges kulcsot a visszafejtéshez megállapítsa. Attól függoen, hogy milyen információk állnak a kriptoanalízis rendelkezésére, a támadások több típusát lehet megkülönböztetni, és ezzel a vizsgált kriptorendszer biztonságát, illetve sérülékenységét jellemezni. Az eltolásos rejtjelezovel kapcsolatban már említettük a rejtett szövegu támadást. Ez a leggyengébb formája a támadásnak, és az a kriptorendszer, amelyik ennek a támadásnak sem áll ellen, nem sokat ér. Az affin blokkrejtjelezok, mint például a Vigenère- és a Hill-rejtjelezok érzékenyek az olyan támadásokra, amelyeknél a támadó egy elcsípett rejtjelezett szöveget és a hozzátartozó nyílt szöveget is ismeri (ismert nyílt szöveg u támadás), és ebbol az alkalmazott kulcsra következtetni tud. Még inkább érzékenyek az olyan támadásokra, amelyeknél a támadó saját maga ki tud választani egy nyílt szöveget, és utána látja, hogy milyen rejtett szöveg tartozik hozzá (választott nyílt szöveg u támadás. A negyedik fajta támadás foként az aszimmetrikus kriptorendszerekre hatásos. Az ilyen rejtjelezo kulcs támadás, encryption-key-attacks esetén a támadó csupán a nyilvánosságra hozott kulcsot ismeri, de nem ismer rejtett üzenetet, és egyedül ebbol az információból próbálja meghatározni a titkos kulcsot. A különbség az, hogy a támadónak van ideje számításokat végezni, a többi támadás esetén azonban sietnie kell, mert az üzenetet már elküldték. Ezért kell aszimmetrikus kriptorendszerek esetén a kulcsteret nagynak választani, s ezzel szavatolni a rendszer biztonságát. Ennek következménye az, hogy a gyakorlatban sokszor kevéssé hatékonyak az aszimmetrikus rendszerek. Az ilyen támadások gyakran a rejtjelezett szövegben eloforduló betuk gyakoriságát vizsgálják. Emellett a nyílt szöveg számára alkalmazott természetes nyelv redundanciáját is kihasználják. Például sok természetes nyelvben az E betu statisztikusan szignikáns módon a leggyakrabban fordul elo. Hosszú tipikus szövegek vizsgálata szerint az E gyakorisága az angolban 12.31%, a franciában 15.87%, a németben pedig 18.46%. Más nyelvekben más betuk léphetnek fel a legnagyobb gyakorisággal. Tipikus nn szövegekben például 12.06%-kal az A a leggyakoribb betu. A gyakoriságelemzés szemmel láthatóan hasznos a monoalfabetikus kriptorendszerek elleni támadás során. Ha például egy eltolásos rejtjelezovel rejtett német szövegben az Y betu lép fel leggyakrabban, ami a németben akárcsak a legtöbb nyelvben ritka, akkor ebbol arra következtethetünk, hogy ez az E rejtett változata, az alkalmazott kulcs pedig az U (k = 20) (lásd a 3.3. ábrát). Az egyes betuk gyakorisága mellett vizsgálhatjuk a betupárok (digrammok), a betuhármasok (trigrammok) stb. A támadásnak ez a módja muködik a polialfabetikus kriptorendszerek esetében is, feltéve, hogy a periódus (vagyis a blokkhossz) ismert. Az ismeretlen periódusú polialfabetikus kriptorendszerek ezzel szemben nagyobb biztonságot nyújtanak. A Vigenère-rejtjelezo például hosszú ideig ellenállt minden feltörési kísérletnek. Csak 1863-ban, mintegy 300 évvel a feltalálása után, talált módszert Friedrich Wilhelm Kasiski német kriproanalitikus a Vigenère-rejtjelezo feltörésére. Megmutatta, hogyan lehet meghatározni az alkalmazott periódust a kulcsszöveg szavainak ismétlodésébol akkor is, ha a periódus kezdetben ismeretlen volt. Végül a gyakoriságelemzés segítségével a
8 3.1. Alapok 101 rejtjelezett szöveg visszafejtheto. Singh írja, hogy a rendkívül sokoldalú Charles Babbage, akit sokan kora zsenijének tartanak, a Kasiski-féle módszert valószínuleg korábban,1854- ben felfedezte, bár nem hozta nyilvánosságra. A kriptográa történetében mérföldkoként kell megemlítenünk Claude Shannonnak ( ). a modern kód- és információelmélet atyjának úttöro munkáját. Shannon bebizonyította, hogy vannak kriptorendszerek, amelyek egy bizonyos szigorú matematikai értelemben tökéletes titkosságot tesznek lehetové. Pontosabban szólva egy kriptorendszer akkor tökéletes titkosságú, ha C = K, a kulcsok K-ban egyenletes eloszlásúak, és minden p P-re és minden c C-re pontosan egy k K kulcs van, amelyre E k (p) = c. Ez azt jelenti, hogy egy ilyen kriptorendszer a legtöbb gyakorlati célra nem használható, mert ahhoz, hogy tökéletes titkosságot garantálhassunk, egyrészt minden kulcsnak legalább olyan hosszúnak kell lennie, mint a rejtjelezendo üzenet, másrészt egyszeri használat után minden kulcsot el kell dobni. Gyakorlati célra megfelelo kriptorendszereket késobb fogunk ebben a fejezetben bemutatni Algebra, számelmélet és gráfelmélet A késobb sorra kerülo algoritmusok és problémák közül néhánynak a megértéséhez segítségünkre lesz az algebra, és foként a csoport- és számelmélet körébol néhány alapveto fogalom és tétel. Vonatkozik ez mind a 3. fejezetbeli kriptorendszerekre és zéró-ismeretu protokollokra, mind pedig néhány, a 4. fejezetben vizsgált problémára. Az Olvasó megteheti, hogy ezt a pontot átugorja, és a szükséges fogalmaknak, eredményeknek csak akkor néz utána, ha késobb felbukkannak. A bizonyításoktól ebben a fejezetben többnyire eltekintünk deníció (csoport, gyuru, test). G = (S, ) csoport, ha S nem üres halmaz, kétváltozós muvelet S -en és teljesülnek a következo axiómák: zártság: ( x S ) ( y S ) [x y S ]; asszociativitás: ( x S ) ( y S ) ( z S ) [(x y) z = x (y z)]; semleges elem: ( e S ) ( x S ) [e x = x e = x]; inverz elem: ( x S ) ( x 1 S ) [x x 1 = x 1 x = e]. Az e elemet a G csoport semleges elemének, az x 1 elemet x inverzének nevezzük. G félcsoport, ha G-ben az asszociativitás és a zártság teljesül a muveletre, akkor is, ha G-nek nincs semleges eleme, vagy nem minden elemnek van inverze. Egy G = (S, ) félcsoport, vagy csoport kommutatív, ha x y = y x minden x, y S esetén teljesül. Egy G véges csoport elemeinek a száma a G rendje és ezt G jelöli. H = (T, )-t a G = (S, ) csoport részcsoportjának nevezzük (H G jelöli), ha T S és H kielégíti a csoportaxiómákat. Egy R = (S, +, ) hármas gyuru, ha (S, +) Abel-csoport, (S, ) félcsoport és a disztributivitási szabály érvényben van: ( x S ) ( y S ) ( z S ) [(x (y + z) = (x y) + (x z)) ((x + y) z = (x z) + (y z))]. Egy R = (S, +, ) gyuru kommutatív, ha az (S, ) félcsoport kommutatív. Az (S, +) csoport semleges elemét (ha létezik) az R gyuru nullelemének (röviden nullának), az (S, )
9 Kriptográfia (Jörg Rothe) félcsoport semleges elemét az R gyuru egységelemének (röviden egy) nevezzük. Legyen R = (S, +, ) egységelemes gyuru. R egy x elemét pontosan akkor nevezzük invertálhatónak (vagy R egységének), ha ez az elem az (S, ) félcsoportban invertálható. R valamely x eleme nullosztó, ha nem nulla, és egy R-beli nem nulla y elemmel x y = y x = 0. Test egy kommutatív, egységelemes gyuru, amelyben minden, a nullától különbözo elem invertálható példa. Csoport, gyuru, test. Legyen 1 < k N. A Z k = {0, 1,..., k 1} halmaz az egész számok modulo k tekintett összeadásával véges csoport, amiben semleges elem a 0. Z k a modulo k vett összeadással és szorzással kommutatív egységelemes gyuru (lásd a feladatot). Abban az esetben, ha p prímszám, akkor Z p a modulo k tekintett összeadásra és szorzásra test. Legyen lnko(n, m) az n és m számok legnagyobb közös osztója. Legyen 1 < k N esetén Z k = {i 1 i k és lnko(i, k) = 1}. A számok modulo k vett szorzásával Z k véges csoport az 1 semleges elemmel. Ha a szövegösszefüggésbol egyértelmuen kiderül, hogy valamely G = (S, ) csoportban a a muvelet, akkor nem szükséges explicit módon megadni. A 3.3. példabeli Z k csoport fontos szerepet játszik a 3.3. alfejezetben, ahol az RSA kriptorendszert mutatjuk be. Ennek a csoportnak a rendjét az Euler-féle ϕ függvény adja meg, vagyis ϕ(k) = Z k. ϕ alábbi tulajdonságai a deníció következményei: ϕ(m n) = ϕ(m) ϕ(n) minden m, n N esetén, ha lnko(m, n) = 1 és ϕ(p) = p 1 minden p prímszámra. Ezeknek a tulajdonságoknak a bizonyítását az Olvasóra hagyjuk (lásd a gyakorlatot). Foként a pontban használjuk az alábbi állítást, amely ezekbol a tulajdonságokból közvetlenül következik állítás. Ha n = p q, ahol p és q különbözo prímszámok, akkor ϕ(n) = (p 1)(q 1). A Lagrange-tétel szerint egy véges, multiplikatív G csoport minden a elemére és az e semleges elemre fennáll az a G = e összefüggés, ahol G a csoport rendjét jelöli. Az alábbi, úgynevezett Euler-tétel ennek speciális esete (a Z n csoportra). Az Euler-tétel speciális esete pedig, ha n prímszám, és a-nak nem osztója, kis Fermat-tételként lett ismert tétel (Euler). Minden a Z n esetén a ϕ(n) 1 mod n következmény (kis Fermat-tétel). Ha p prímszám és a Z p, akkor a p 1 1 mod p. A 4.4. alfejezetben grázomorzmus problémára mutatunk algoritmusokat. Ez a probléma, amely a pontban található zéró-ismeretu protokollnál fontos szerepet játszik, bizonyos csoportelméleti problémák speciális eseteként is felfogható. Különösen fontosak itt a permutációcsoportok deníció (permutációcsoport).
10 3.1. Alapok 103 Egy permutáció valamely halmaz bijektív leképezése önmagára. Egy n 1 természetes szám esetén legyen [n] = {1, 2,..., n}. Az [n] összes permutációinak halmazát S n jelöli. Algoritmikus célokra a π S n permutációt n darab [n] [n]-beli (i, π(i)) rendezett párból álló listával reprezentáljuk. Ha S n -en permutációk kompozíciójaként deniálunk egy muveletet, akkor S n csoport lesz. Ha π és τ S n -beli permutációk, akkor πτ kompozíciójuk az az S n -beli permutáció, amelyet úgy kapunk, hogy eloször π-t, azután τ-t alkalmazzuk [n] elemeire, tehát (πτ)(i) = τ(π(i)) minden i [n] esetén. Az S n permutációcsoport semleges eleme az identikus permutáció, amelyet a következoképpen deniálunk: id(i) = i minden i [n] esetén. S n -nek azt a részcsoportját, amely csupán az id elemet tartalmazza, id jelöli. S n -nek valamely T részhalmaza esetén a T által generált T permutációcsoportot S n legszukebb olyan részcsoportjaként deniáljuk, amely T-t tartalmazza. Az S n valamely G részcsoportját az ot generáló halmazzal reprezentáljuk, amelyet G generátorrendszerének is nevezzük. G-ben valamely i [n] elem pályáját G(i) = {π(i) π G} deniálja. [n] valamely T részhalmaza esetén S T n az S n -nek az a részcsoportja, amelyik T minden elemét önmagára képezi. Ha i n és S n részcsoportja G, akkor [i] G-beli (pontonkénti) stabilizátorát az alábbi módon deniáljuk: G (i) = {π G π( j) = j minden j [i] esetén}. A G (n) = id és G (0) = G összefüggések fennállnak. Legyenek G és H permutációcsoportok, és H G. τ G esetén Hτ = {πτ π H} H jobb oldali mellékosztálya G-ben. H két jobb oldali mellékosztálya G-ben azonos, vagy diszjunkt. Emiatt a G permutációcsoportot H G-beli jobb oldali mellékosztályai osztályozzák: G = Hτ 1 Hτ 2 Hτ k. (3.3) H mindegyik G-beli jobb oldali mellékosztályának a számossága H. A {τ 1, τ 2,..., τ k } (3.3) halmazt H G-beli jobb oldali reprezentánsrendszerének nevezzük. A pontonkénti stabilizátor fogalma különösen fontos olyan algoritmusok tervezésénél, amelyek permutációcsoportokkal dolgoznak. Az a lényeges struktúra, amelyet ilyenkor használunk azt úgy nevezzük, hogy G permutációcsoportbeli stabilizátor lánc: id = G (n) G (n 1) G (1) G (0) = G. Minden i-re 1 i n esetén legyen T i a G (i) -nek G (i 1) -ben teljes jobb oldali reprezentánsrendszere. Ekkor azt mondjuk, hogy T = n 1 i=1 T i eros generátora G-nek, és G = T. Ekkor minden π G egyértelmuen faktorizálható π = τ 1 τ 2 τ n alakban, ahol τ i T i. A permutációcsoportokra vonatkozó alábbi algoritmuselméleti eredmények hasznosak lesznek késobb, a 4.4. alfejezetben tétel. Ha a G S n permutációcsoport a generátorrendszerével adott, akkor fennáll a következo:
11 Kriptográfia (Jörg Rothe) 1. Minden i [n] esetén i G(i) pályája G-ben polinomiális ido alatt kiszámítható. 2. Az id = G (n) G (n 1) G (1) G (0) = G stabilizátorlánc kiszámítható n-ben polinomido alatt, ami azt jelenti, hogy meghatározzuk minden i, 1 i n esetén G (i) teljes jobb oldali reprezentánsrendszerét T i -t G (i 1) -ben és ezzel G egy eros generátorrendszerét. Azokat a fogalmakat, amelyeket a 3.6. denícióban vezettünk be a permutációcsoporttal kapcsolatban, most a gráfelméletbol vett konkrét példák alapján fogjuk megvilágítani. Elsosorban gráfok automorzmuscsoportját és izomorzmuscsoportját vizsgáljuk. Ehhez szükségünk lesz néhány gráfelméleti fogalomra deníció (gráfok izomorzmusa és automorzmusa). Egy G gráf egy véges V(G) csúcshalmazból, és egy véges E(G) élhalmazból áll, melyben lévo élek bizonyos csúcsokat összekötnek egymással. Feltesszük, hogy nincsenek párhuzamos- és hurokélek. Ebben az alfejezetben kizárólag irányítatlan gráfokat vizsgálunk, ami azt jelenti, hogy az éleknek nincs irányításuk és rendezetlen csúcspárokként foghatjuk fel oket. Két gráf, G és H, diszjunkt egyesítését, G H-t, amelyek V(G) és V(H) csúcshalmazai átnevezéssel diszjunkttá tehetok, a V(G) V(H) csúcshalmazzal és az E(G) E(H) élhalmazzal deniáljuk. Legyen G és H két gráf ugyanannyi csúccsal. G és H közötti izomorzmus G csúcshalmazáról H csúcshalmazára képezo éltartó bijekció. Állapodjunk meg abban, hogy V(G) = {1, 2,..., n} = V(H). Ekkor tehát G és H pontosan akkor izomorf (röviden G H), ha van olyan π S n permutáció, hogy minden i, j V(G) csúcsra fennáll a következo: {i, j} E(G) {π(i), π( j)} E(H). (3.4) G egy automorzmusa G csúcshalmazának önmagára való éltartó bijekciója. Minden gráf esetén fennáll az id triviális automorzmus. Jelöljük Iso(G, H)-val a G és H közötti összes izomorzmus halmazát, Aut(G)-vel pedig G összes automorzmusának halmazát. A gráfizomorzmus problémát (röviden GI) és a gráfautomorzmus problémát (röviden GA) a következo módon deniáljuk: GI = {(G, H) G és H izomorf gráfok} ; GA = {G G tartalmaz nem triviális automorzmust}. Algoritmikus célokra a gráfokat vagy csúcs- és él-listájukkal, vagy csúcsmátrixukkal reprezentáljuk, amelyben az (i, j) helyen 1 áll, ha {i, j} egy él a gráfban, különben pedig 0. Valamely gráfnak ehhez az eloállításához elegendo a Σ = {0, 1} ábécével való kódolás. Ha gráfpárokat kívánunk szemléltetni, akkor olyan bijektív párosítási (, ) függvényt alkalmazunk, amely Σ Σ -ról Σ -ra képez, polinomiális idoben kiszámítható, és van polinomiális idoben kiszámítható inverze példa. (Gráfok izomorzmusa és automorzmusa.) A 3.5. ábrán látható G és H gráfok izomorfak. Egy π : V(G) V(H) izomorzmus, amelynél (3.4)-nek megfeleloen adjuk meg a csúcsok szomszédosságát, megadható például a következo módon: π = ( ), illetve ciklikus módon írva π = (1 3)(2 4 5). G és H között van még három további izomorzmus, és így Iso(G, H) = 4, (lásd a gyakorlatot). G és H azonban nem izomorfak F-fel. Ez azonnal látható, ha a fokszámok sorozatát nézzük (vagyis minden csúcs esetén a csúcsra illeszkedo élek számát). A G-hez, illetve H-hoz
12 3.1. Alapok 105 F G 5 4 H ábra. A három gráf: G és H izomorfak, de F nem izomorf velük. tartozó sorozat különbözik az F-hez tartozótól: G és H esetén ez a sorozat (2, 3, 3, 4, 4), miközben F esetén (3, 3, 3, 3, 4). G egy nem triviális ϕ : V(G) V(G) automorzmusa például ϕ = ( ), illetve ϕ = (1 2)(3 4)(5) segítségével adható meg, egy másik pedig τ = ( ) illetve τ = (1)(2)(3 4)(5) segítségével. G-nek van még két további automorzmusa és így Aut(G) = 4 (lásd a gyakorlatot). Az Iso(G, H), Aut(F), Aut(G) és Aut(H) permutációcsoportok S 5 részcsoportjai. Aut(G)-ben az Aut(G) (5) Aut(G) (4) Aut(G) (1) Aut(G) (0) stabilizátorlánc az Aut(G) (5) = Aut(G) (4) = Aut(G) (3) = id, Aut(G) (2) = Aut(G) (1) = {id, τ} és Aut(G) (0) = Aut(G) részcsoportokból áll. G automorzmuscsoportjában, Aut(G)-ben az 1 és 2 csúcsok pályája {1, 2}, a 3 és 4 csúcsok pályája {3, 4}, és az 5 pályája {5}. Az Iso(G, H) és Aut(G) permutációcsoportok rendje pontosan akkor azonos, ha G és H izomorfak. Ha ugyanis G és H izomorfak, akkor Iso(G, H) = Aut(G) következik abból, hogy Aut(G) = Iso(G, G). Másrészt ha G H, akkor Iso(G, H) üres, ugyanakkor Aut(G)- ben mindig benne van az id triviális automorzmus. Ebbol következik a 3.9. lemma (3.5) állítása, amire késobb a 4.4. alfejezetben szükségünk lesz. A (3.6) igazolására tegyük fel, hogy G és H összefüggoek; ellenkezo esetben G illetve H helyett a G illetve H komplementer gráfokat tekintjük, (lásd a gyakorlatban). G H egy automorzmusa, amely G és H csúcsait felcseréli, egy Iso(G, H)-beli és egy Iso(H, G)-beli izomorzmusból tevodik össze. Így Aut(G H) = Aut(G) Aut(H) + Iso(G, H) 2, amibol (3.5) felhasználásával következik (3.6) lemma. Bármely két G és H gráf esetén fennállnak a következok: { Aut(G) = Aut(H), ha G H Iso(G, H) = 0, ha G H ; { 2 Aut(G) Aut(H), ha G H Aut(G H) = Aut(G) Aut(H), ha G H. (3.5) (3.6)
13 Kriptográfia (Jörg Rothe) Ha G és H izomorf gráfok, és τ Iso(G, H), akkor Iso(G, H) = Aut(G)τ. Ez azt jelenti, hogy Iso(G, H) Aut(G)-nek jobb oldali mellékosztálya S n -ben. Mivel két jobb oldali mellékosztály azonos, vagy diszjunkt, S n (3.3) szerint Aut(G) jobb oldali mellékosztályaira bomlik: S n = Aut(G)τ 1 Aut(G)τ 2 Aut(G)τ k, (3.7) ahol Aut(G)τ i = Aut(G) minden i, 1 i k esetén. Ezek szerint az S n permutációiból álló {τ 1, τ 2,..., τ k } halmaz Aut(G)-nek S n -beli jobb oldali reprezentánsrendszerét alkotja. Ha π(g) azt a H G gráfot jelöli, amelyet akkor kapunk, ha a π S n permutációt G csúcsaira alkalmazzuk, akkor {τ i (G) 1 i k} = {H H G}. Mivel S n -ben pontosan n! = n(n 1) 2 1 permutáció van, (3.7)-bol következik: Ezzel beláttuk az alábbi következményt. {H H G} = k = S n Aut(G) = n!. Aut(G) következmény. Ha a G gráfnak n csúcsa van, akkor pontosan n!/ Aut(G) vele izomorf gráf van. A 3.4. példa 3.5. ábráján lévo G gráffal így pontosan 5!/4 = 30 gráf izomorf. A következo lemmára késobb, a 4.4. alfejezetben lesz szükségünk lemma. Legyenek G és H n csúcsú gráfok. Deniáljuk az alábbi halmazt: A(G, H) = {(F, ϕ) F G és ϕ Aut(F)} {(F, ϕ) F H és ϕ Aut(F)}. Ekkor fennáll a következo: A(G, H) = { n!, ha G H 2n!, ha G H. Bizonyítás. Ha F és G izomorfak, akkor Aut(F) = Aut(G). A következménybol adódik, hogy {(F, ϕ) F G és ϕ Aut(F)} = n! Aut(F) = n!, Aut(F) és hasonlóan megmutatható az is, hogy {(F, ϕ) F H és ϕ Aut(F)} = n!. Ha G és H izomorfak, akkor {(F, ϕ) F G és ϕ Aut(F)} = {(F, ϕ) F H és ϕ Aut(F)}. Ebbol következik, hogy A(G, H) = n!. Ha pedig G és H nem izomorfak, akkor {(F, ϕ) F G és ϕ Aut(F)} és {(F, ϕ) F H és ϕ Aut(F)} diszjunkt halmazok. Eszerint A(G, H) = 2n!. Gyakorlatok A 3.6. ábrán láthatunk két elfogott rejtjelezett szöveget, c 1 -et és c 2 -t. Tudjuk, hogy
14 3.2. Kulcscsere Diffie és Hellman szerint 107 c 1 c 2 W K L V V H Q W H Q F H L V H Q F U B S W H G E B F D H V D U V N H B N U O S J Y A Z E E W R O S V H P X Y G N R J B P W N K S R L F Q E P 3.6. ábra. Ugyanannak a nyílt szövegnek két rejtett változata a gyakorlatban. mindketto ugyanannak az m nyílt szövegnek a rejtett változata, és az egyik eltolásos rejtjelezovel, a másik pedig Vigenère-rejtjelezovel lett sifrírozva. Mindkét szöveget fejtsük vissza. Útmutatás. A visszafejtés után megállapítható, hogy az egyik rejtjelezo módszernél egy igaz, a másiknál egy hamis állítás adódik. Van esetleg értelme gyakorisági elemzést alkalmazni? Mutassuk meg, hogy Z a szokásos összeadással és szorzással nullosztómentes gyuru. Vajon Z test? Mit mondhatunk az (N, +), (N, ) és (N, +, ) algebrai struktúrák tulajdonságairól? Bizonyítsuk be az Euler-féle ϕ-függvény alábbi tulajdonságait: a. ϕ(m n) = ϕ(m) ϕ(n) minden m, n N esetén, ha lnko(m, n) = 1. b. ϕ(p) = p 1 minden p prímszám esetén. Ezeknek a tulajdonságoknak a segítségével bizonyítsuk be a 3.3. állítást Adottak az F, G és H gráfok a 3.5. ábrán. a. Határozzuk meg a G és H közötti összes izomorzmust. b. Határozzuk meg F, G és H összes automorzmusát. c. A G és H közötti melyik izomorzmus esetén lesz Iso(G, H) Aut(G)-nak jobb oldali mellékosztálya S 5 -ben, vagyis melyik τ Iso(G, H) esetén lesz Iso(G, H) = Aut(G)τ? Határozzuk meg Aut(F), Aut(G) és Aut(H) jobb oldali reprezentánsrendszerét S 5 -ben. d. Határozzuk meg F minden csúcsának pályáját Aut(F)-ben és H minden csúcsának pályáját Aut(H)-ban. e. Határozzuk meg az Aut(F) S 5 és Aut(H) S 5 részcsoportok stabilizátorláncát. f. Hány 5 csúcsú gráf izomorf F-fel? Valamely G gráf komplementer gráfját a következoképpen deniáljuk: a csúcshalmaza V(G) = V(G), az élhalmaza pedig E(G) = {{i, j} i, j V(G) és {i, j} E(G)}. Mutassuk meg, hogy: a. Aut(G) = Aut(G). b. Iso(G, H) = Iso(G, H). c. G összefüggo, ha G nem összefüggo Kulcscsere Diffie és Hellman szerint Ebben az alfejezetben, valamint a következokben is szükségünk lesz a pontban látott számelméleti alapfogalmakra. Elsosorban a 3.3. példabeli Z k multiplikatív csoportra és az Euler-féle ϕ függvényre gondolunk; a maradékosztálygyuruk aritmetikáját a fejezet végén fogjuk megvilágítani a 3-1. feladatban. A 3.7. ábra a kulcscserére vonatkozó Diffie Hellman-protokollt mutatja. Ez a protokoll az r alapú, p modulusú moduláris exponenciális függvényen alapszik, ahol p prímszám és r primitív gyök modulo p. r Z n primitív gyök modulo n, ha r d 1 mod n minden d, 1 d < ϕ(n) esetén. Egy r modulo n primitív gyök eloállítja az egész Z n csoportot, ami
15 Kriptográfia (Jörg Rothe) Lépés Aliz Erik Bob 1 Aliz és Bob megállapodnak egy nagy p prímszámban, és egy r modulo p primitív gyökben; 2 véletlenszeruen választ egy nagy, titkos a számot, és kiszámítja a következot: α = r a mod p p és r nyilvánosak 3 α β véletlenszeruen választ egy nagy, titkos b számot, és kiszámítja a következot: β = r b mod p 4 kiszámítja k A = β a mod p értékét kiszámítja k B = α b mod p értékét 3.7. ábra. Diffie és Hellman szerinti kulcscserére vonatkozó protokoll. azt jelenti, hogy Z n = {r i 0 i < ϕ(n)}. Emlékeztetünk arra, hogy ha p prímszám, akkor a Z p multiplikatív csoport rendje ϕ(p) = p 1. Z p-nak pontosan ϕ(p 1) primitív gyöke van (lásd a gyakorlatot is) példa. Nézzük Z 5 = {1, 2, 3, 4}-et. Mivel Z 4 = {1, 3}, így ϕ(4) = 2, tehát a modulo 5 primitív gyökök száma 2, modulo 5 primitív gyökök a 2 és a 3, így mind 2 mind 3 eloállítja az egész Z 5 -ot, mivel 2 0 = 1; 2 1 = 2; 2 2 = 4; mod 5 ; 3 0 = 1; 3 1 = 3; mod 5; mod 5. Nem minden n számnak van modulo n primitív gyöke; a 8 a legkisebb ilyen példa. Az elemi számelméletbol tudjuk, hogy valamely n számra pontosan akkor van modulo n primitív gyök, ha n vagy {1, 2, 4}-nek eleme, vagy pedig n = q k, illetve n = 2q k alakú, ahol q páratlan prímszám deníció (diszkrét logaritmus). Legyen p prímszám és r egy modulo p primitív gyök. Az r alapú, p modulusú exp r,p moduláris exponenciális függvényt, amely Z p 1 -rol Z p-re képez, exp r,p (a) = r a mod p-vel deniáljuk. Az inverz függvényét diszkrét logaritmusnak nevezzük, ez rögzített p és r esetén az exp r,p (a) értéket a-ra képezi. Fennáll, hogy a = log r exp r,p (a) mod p. A 3.7. ábra protokollja muködik, mert k A = β a = r ba = r ab = α b = k B miatt (modulo p aritmetikával) Aliz valójában ugyanazt a kulcsot számolja ki, mint Bob. Ezt a kulcsot könnyen kiszámíthatják, mivel az exp r,p moduláris exponenciális függvény a MODULÁRIS- HATVÁNYOZÓ algoritmussal hatékonyan meghatározható. Ezzel szemben Erik arra irányuló törekvése, hogy a kulcsukat meghatározza, nehézségekbe ütközik, mert a diszkrét logaritmus igen nehéz problémának számít. Az exp r,p moduláris exponenciális függvény így egy lehetséges egyirányú függvény, olyan függvény, amelyik bár könnyen kiszámítható, de csak nehezen invertálható. Sajnos máig nem tudjuk, hogy van-e egyáltalán egyirányú függvény. S ami még inkább kár: jóllehet nem tudjuk, hogy van-e ilyen, a kriptográában az egyirányú függvények kulcsszerepet játszanak, mert sok kriptorendszer biztonsága azon a feltevésen alapszik, hogy egyirányú függvények valóban vannak.
16 3.2. Kulcscsere Diffie és Hellman szerint 109 kiszámítása helyes, mert a modulo m aritmetikában fennáll a következo: MODULÁRIS-HATVÁNYOZÓ(a, b, m) 1 m a modulus, b < m az alap és a a kitevo 2 állítsuk elo a kitevot kettes számrendszerben: a = k i=0 a i 2 i, ahol a i {0, 1}. 3 számoljuk ki egymás után a b 2i értékeket, ahol 0 i k, felhasználva, hogy b 2i+1 = ( b 2i) 2. 4 számoljuk ki modulo m aritmetikával b a = k b 2i értékét. 5 ha beleszámoltuk a szorzatba b 2i -t, és kiszámítottuk b 2i+1 -t, akkor b 2i -t kitörölhetjük 6 return b a A b a = k b 2i i = 0 a i =1 i = 0 a i =1 b a = b k i=0 a i 2 i = k ( b 2 i) a i = i=0 k b 2i. Miért lehet hatékonyan kiszámítani az exp r,p (a) = r a mod p hatványfüggvényt? Ha ezt a számítást naivan hajtjuk végre, sok szorzásra lehet szükségünk az a kitevo mindegyik értékére. A MODULÁRIS-HATVÁNYOZÓ algoritmussal azonban Aliznak nem a 1 szorzást kell végeznie, mint a naiv módszernél, hanem csupán legfeljebb 2 log a szorzásra van szüksége. A MODULÁRIS-HATVÁNYOZÓ algoritmus egy exponenciális tényezovel gyorsítja a moduláris hatványozást példa. (MODULÁRIS-HATVÁNYOZÓ a Diffie Hellman-protokollban.) Aliz és Bob a p = 5 prímszámot és az r = 3-at, mint modulo 5 primitív gyököt választja. Aliz az a = 17 titkos számot választja. Mivel Aliz Bobnak az α számot akarja küldeni, ki szeretné számítani az α = 3 17 = mod 5 számot. A kitevo bináris alakban felírva 17 = 1+16 = Aliz lépésenként számítja ki az értéket: i = 0 a i = = 3; 3 21 = mod 5; mod 5; mod 5; mod 5. Ebbol kiszámítja a mod 5 értéket. Figyeljük meg, hogy Aliz ahelyett, hogy 16-szor szorzott volna, csupán négyszer emelt négyzetre és egyszer szorzott α = 3 mod 5 meghatározása érdekében. Ha Bob saját magának a b = 23 titkos kitevot választja, akkor ugyanezzel az eljárással ki tudja számítani a kulcs orá eso részét, tehát β = 3 23 = mod 5, végül Aliz és Bob a közös titkos kulcsukat a 3.7. ábrán látható Diffie Hellman-protokollal meghatározzák (lásd a gyakorlatot). A protokoll biztonsága ebben az esetben természetesen nincs garantálva, hiszen p = 5-tel nagyon kicsi prímszámot választottak; ez a játékpélda csak a könnyebb megértést szolgálja. Ha Erik gyelmesen lehallgatja Aliz és Bob társalgását, amely a 3.7. ábra szerinti Diffie Hellman-protokoll szerint zajlik, akkor ismeri a p, r, α és β értékeket, amelyekbol szeretné meghatározni a k A = k B titkos kulcsukat. Eriknek ezt a problémáját Diffie Hellman-problémának nevezik. Ha Erik meg tudná határozni az a = log r α mod p és a b = log r β mod p titkos számokat, akkor, akárcsak Aliz és Bob, ki tudná számolni a k A = β a mod p = α b mod p = k B kulcsot, és megoldaná a Diffie Hellman-problémát. Ez a probléma tehát nem nehezebb, mint a diszkrét logaritmus problémája. A fordított kérdés, hogy vajon a Diffie Hellman-probléma legalább olyan nehéz-e, mint a diszkrét logaritmusé, tehát hogy ugyanolyan nehezek-e, ez máig csupán nem bizonyított sejtés. Mint sok
17 Kriptográfia (Jörg Rothe) más protokoll, a Diffie Hellman-protokoll biztonságossága mindezidáig nem bizonyított. Mivel szerencsére eddig sem a diszkrét logaritmus, sem a Diffie Hellman-probléma hatékonyan nem oldható meg, ez a közvetlen támadás nem jelent valóságos veszélyt. Másrészt azonban vannak más, nem közvetlen támadások, amelyeknél a kulcsot nem közvetlenül a Diffie Hellman-protokollban átadott α, illetve β értékekbol határozzák meg. Így például a Diffie Hellman nem biztonságos a középen állás támadással szemben. A fent leírt támadás passzív, ez pedig aktív abban az értelemben, hogy a támadó Erik nem elégszik meg a passzív hallgatózással, hanem megpróbálja a protokollt aktívan a saját ízlésének megfeleloen megváltoztatni. Úgyszólván beáll középre, Aliz és Bob közé és elfogja Aliz Bobnak küldött α = r a mod p, és Bob Aliznak küldött β = r b mod p üzenetét. α és β helyett saját α E = r c mod p értékét továbbítja Bobnak, Aliznak pedig a szintén saját β E = r d mod p értéket, miközben Erik a titkos c és d értékeket maga választotta. Ha most Aliz a k A = (β E ) a mod p értéket kiszámítja, k A valójában ezentúl nem a Bobbal mint ahogy azt Aliz hiszi, hanem az Erikkel való kommunikáció kulcsa, mert Erik ezt a kulcsot ugyanúgy értékeli ki, mint ok (modulo p aritmetikával): k E = α d = r ad = r da = (β E ) a = k A segítségével. Ugyanígy lefolytathat Erik egy észrevehetetlen kulcscserét Bobbal, és a jövoben vele kommunikálhat anélkül, hogy ezt Bob sejtené. A hitelességnek ezzel a problémájával késobb fogunk alaposabban foglalkozni a zéró-ismeretu protokollokról szóló 3.5. alfejezetben. Gyakorlatok a. Hány primitív gyök van Z 13 -ban, illetve Z 14 -ban? b. Határozzuk meg Z 13 valamint Z 14 összes primitív gyökét, és bizonyítsuk be, hogy ezek valóban primitív gyökök. c. Mutassuk meg az összes modulo 13, illetve modulo 14 primitív gyökrol, hogy a teljes Z 13 -ot, illetve a teljes Z 14-ot eloállítják a. Határozzuk meg a β = 3 23 = mod 5 értéket (Bob 3.6. példabeli értékét) a MODULÁRIS-HATVÁNYOZÓ algoritmussal. b. Határozzuk meg a 3.6. példában az α és β számokhoz Aliz és Bob közös titkos kulcsát a 3.7. ábrán lévo Diffie Hellman-protokoll szerint RSA 3.3. RSA és faktorizálás Az RSA-kriptorendszer, amelyet három feltalálójáról, Ron Rivest, Adi Shamir és Leonard Adleman-ról neveztek el, az elso ismert nyilvános kulcsú kriptorendszer. Manapság is igen népszeru, és sok kriptográai alkalmazásba beillesztik. A 3.8. ábrán összefoglaltuk az RSA protokoll egyes lépéseit, amelyeket végül részletesen is leírunk, valamint lásd a 3.7. példát. Kulcsgenerálás. Bob választ véletlenszeruen két nagy prímszámot, p-t és q-t úgy, hogy p q, és kiszámítja n = pq szorzatukat. Azután választ egy e N kitevot az alábbiak szerint 1 < e < ϕ(n) = (p 1)(q 1) és lnko(e, ϕ(n)) = 1, (3.8)
18 3.3. RSA és faktorizálás 111 Lépés Aliz Erik Bob 1 Véletlenszeruen választ két nagy prímszámot, p-t és q-t és kiszámítja az n = pq és ϕ(n) = (p 1)(q 1) értékeket, nyilvános (n, e) kulcsát, és d titkos kulcsát, amelyek megfelelnek (3.8) és (3.9)-nek 2 (n, e) 3 c = m e mod n szerint rejtjelezi m-et 4 c 5 visszafejti c-t m = c d mod n szerint 3.8. ábra. Az RSA-protokoll. majd meghatározza e mod ϕ(n) inverzét, vagyis azt az egyértelmu d számot, amelyre: 1 < d < ϕ(n) és e d 1 mod ϕ(n). (3.9) Az (n, e) pár Bob nyilvános kulcsa, d pedig Bob titkos kulcsa. Rejtjelezés. Mint már a 3.1. alfejezetben is, az üzenetek egy Σ ábécé feletti szavak és blokkonként, állandó hosszúságú blokkhosszal Σ -adikus természetes számokként kódoljuk oket. Ezeket a számokat azután rejtjelezzük. Legyen m < n az üzenet egyik rejtjelezett blokkjának megfelelo szám, amelyet Aliz szeretne Bobnak küldeni. Aliz ismeri Bob nyilvános (n, e) kulcsát, és m-et rejtjelezi c = E (n,e) (m) számként, ahol a rejtjelezo függvény deníciója az alábbi: E (n,e) (m) = m e mod n. Visszafejtés. Legyen c, 0 c < n az a szám, amely a rejtjelezett szöveg egyik blokkjának kódja, amelyet Bob megkap, Erik pedig lehallgatja. Bob desifrírozza c-t a d titkos kulcsa és az alábbi visszafejto függvény segítségével: D d (c) = c d mod n. Azt, hogy az RSA-módszer valóban kriptorendszer a 3.1. deníció értelmében, a tétel állítja. Ennek a tételnek a bizonyítását az Olvasóra hagyjuk (lásd a gyakorlatot) tétel. Legyenek (n, e) a nyilvános, d a titkos kulcsok az RSA-protokollban. Ekkor minden m, 0 m < n üzenet esetén m = (m e ) d mod n. Így az RSA (nyilvános kulcsú) kriptorendszer. Az RSA-eljárás hatékonysága érdekében megint a MODULÁRIS-HATVÁNYOZÓ algoritmust használjuk a gyors-hatványozásra. Hogyan válasszuk meg a 3.8. ábrán bemutatott RSA protokollban a p és q prímszámokat? Eloször is elég nagyoknak kell lenniük, egyébként Erik az n számot Bob nyilvános (n, e) kulcsában faktorizálná, és n p és q prímfaktorait meghatározná, így a kiterjesztett euklideszi algoritmussal könnyen meghatározhatná Bob d titkos kulcsát, amely e mod ϕ(n) egyértelmu inverze, ahol ϕ(n) = (p 1)(q 1). A p és q prímszámoknak titkosaknak kell maradniuk, s ezért elegendoen nagyoknak kell lenniük. A gyakorlatban p-t és q-t mindig legalább 80 decimális jegyunek kell választani. Elo kell tehát állítani ilyen nagyságú véletlen számokat, és tesztelni kell egy ismert véletlen prímteszttel, hogy vajon valóban prímek-e. Mivel a prímszámok elmélete szerint körülbelül N/ ln N N- nél kisebb prímszám van, nagy a valószínusége annak, hogy nem túl sok próbálkozás után
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
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.
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
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++
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
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,
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ó
Számelméleti alapfogalmak
1 Számelméleti alapfogalmak 1 Definíció Az a IN szám osztója a b IN számnak ha létezik c IN melyre a c = b Jelölése: a b 2 Példa a 0 bármely a számra teljesül, mivel c = 0 univerzálisan megfelel: a 0 =
megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:
Az RSA módszer Az RSA módszer titkossága a prímtényezős felbontás nehézségén, a prímtényezők megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:
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.
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
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
4. Előadás Titkosítás, RSA algoritmus
4. Előadás Titkosítás, RSA algoritmus Dr. Kallós Gábor 2014 2015 1 Tartalom A kriptográfia meghatározása, alaphelyzete Szimmetrikus (titkos) kulcsú titkosítás A Caesar-eljárás Aszimmetrikus (nyilvános)
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
ELTE IK Esti képzés tavaszi félév. Tartalom
Diszkrét Matematika 2 vizsgaanyag ELTE IK Esti képzés 2017. tavaszi félév Tartalom 1. Számfogalom bővítése, homomorfizmusok... 2 2. Csoportok... 9 3. Részcsoport... 11 4. Generátum... 14 5. Mellékosztály,
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
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
MM CSOPORTELMÉLET GYAKORLAT ( )
MM4122-1 CSOPORTELMÉLET GYAKORLAT (2008.12.01.) 1. Ismétlés szeptember 1.szeptember 8. 1.1. Feladat. Döntse el, hogy az alábbi állítások közül melyek igazak és melyek (1) Az A 6 csoportnak van 6-odrend
Nagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 6. 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
Klasszikus algebra előadás. Waldhauser Tamás április 28.
Klasszikus algebra előadás Waldhauser Tamás 2014. április 28. 5. Számelmélet integritástartományokban Oszthatóság Mostantól R mindig tetszőleges integritástartományt jelöl. 5.1. Definíció. Azt mondjuk,
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
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
Diszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 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
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét
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
1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?
Definíciók, tételkimondások 1. Mondjon legalább három példát predikátumra. 2. Sorolja fel a logikai jeleket. 3. Milyen kvantorokat ismer? Mi a jelük? 4. Mikor van egy változó egy kvantor hatáskörében?
Kriptográfia I. Kriptorendszerek
Kriptográfia I Szimmetrikus kulcsú titkosítás Kriptorendszerek Nyíltszöveg üzenettér: M Titkosított üzenettér: C Kulcs tér: K, K Kulcsgeneráló algoritmus: Titkosító algoritmus: Visszafejt algoritmus: Titkosítás
Sapientia Egyetem, Műszaki és Humántudományok Tanszék.
Kriptográfia és Információbiztonság 2 előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@mssapientiaro 2016 Miről volt szó az elmúlt előadáson? Félévi áttekintő
1. tétel - Gráfok alapfogalmai
1. tétel - Gráfok alapfogalmai 1. irányítatlan gráf fogalma A G (irányítatlan) gráf egy (Φ, E, V) hátmas, ahol E az élek halmaza, V a csúcsok (pontok) halmaza, Φ: E {V-beli rendezetlen párok} illeszkedési
MM4122/2: CSOPORTELMÉLET GYAKORLAT ( ) 1. Ismétlés február 8.február Feladat. (2 pt. közösen megbeszéltük)
MM4122/2: CSOPORTELMÉLET GYAKORLAT (2007.05.11) 1. Ismétlés február 8.február 15. 1.1. Feladat. (2 pt. közösen megbeszéltük) (1) Egy csoport rendelkezhet egynél több egységelemmel. (2) Bármely két háromelem
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
Mikor van egy változó egy kvantor hatáskörében? Milyen tulajdonságokkal rendelkezik a,,részhalmaz fogalom?
Definíciók, tételkimondások Mondjon legalább három példát predikátumra. Sorolja fel a logikai jeleket. Milyen kvantorokat ismer? Mi a jelük? Hogyan kapjuk a logikai formulákat? Mikor van egy változó egy
Diszkrét matematika I.
Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 10. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Felhívás Diszkrét matematika I. középszint 2014.
Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev
Algebra és számelmélet 3 előadás Nevezetes számelméleti problémák Waldhauser Tamás 2014 őszi félév Tartalom 1. Számok felbontása hatványok összegére 2. Prímszámok 3. Algebrai és transzcendens számok Tartalom
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
Gy ur uk aprilis 11.
Gyűrűk 2014. április 11. 1. Hányadostest 2. Karakterisztika, prímtest 3. Egyszerű gyűrűk [F] III/8 Tétel Minden integritástartomány beágyazható testbe. Legyen R integritástartomány, és értelmezzünk az
Prímtesztelés, Nyilvános kulcsú titkosítás
Prímtesztelés, Nyilvános kulcsú titkosítás Papp László BME December 8, 2018 Prímtesztelés Feladat: Adott egy nagyon nagy n szám, döntsük el, hogy prímszám-e! Naív kísérletek: 1. Nézzük meg minden nála
Diszkrét matematika I.
Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 5. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Számfogalom bővítése Diszkrét matematika I. középszint
RSA algoritmus. Smidla József. Rendszer- és Számítástudományi Tanszék Pannon Egyetem
RSA algoritmus Smidla József Rendszer- és Számítástudományi Tanszék Pannon Egyetem 2012. 3. 27. Smidla József (RSZT) RSA algoritmus 2012. 3. 27. 1 / 29 Tartalom 1 Aszimmetrikus kódolók 2 Matematikai alapok
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 10. 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
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,
Diszkrét matematika II. feladatok
Diszkrét matematika II. feladatok 1. Gráfelmélet 1.1. Könnyebb 1. Rajzold le az összes, páronként nem izomorf 3, 4, illetve 5 csúcsú egyszerű gráfot! 2. Van-e olyan (legalább kétpontú) gráf, melyben minden
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 6. 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
SE EKK EIFTI Matematikai analízis
SE EKK EIFTI Matematikai analízis 2. Blokk A számelmélet a matematikának a számokkal foglalkozó ága. Gyakran azonban ennél sz kebb értelemben használják a számelmélet szót: az egész számok elméletét értik
2017, Diszkrét matematika
Diszkrét matematika 10. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2017, őszi félév Miről volt szó az elmúlt előadáson? a prímszámtétel prímszámok,
MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós
MBNK12: Permutációk el adásvázlat 2016 április 11 Maróti Miklós 1 Deníció Az A halmaz permutációin a π : A A bijektív leképezéseket értjünk Tetsz leges n pozitív egészre az {1 n} halmaz összes permutációinak
Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.
1 Diszkrét matematika I, 12 előadás Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach 2005 november 30 Vektorok Definíció Egy tetszőleges n pozitív egész számra n-komponensű
Diszkrét matematika 2.
Diszkrét matematika 2. 2018. március 9. 1. Diszkrét matematika 2. 4. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. március 9. Gráfelmélet Diszkrét
Titkosírás. Biztos, hogy titkos? Szabó István előadása. Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...
Biztos, hogy titkos? Szabó István előadása Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...) Története Az ókortól kezdve rengeteg feltört titkosírás létezik. Monoalfabetikus
1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!
1. Részcsoportok A részcsoport fogalma. 2.2.15. Definíció Legyen G csoport. A H G részhalmaz részcsoport, ha maga is csoport G műveleteire nézve. Jele: H G. Az altér fogalmához hasonlít. Példák (1) C +
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
2. Tétel (Az oszthatóság tulajdonságai). : 2. Nullát minden elem osztja, de. 3. a nulla csak a nullának osztója.
Számelmélet és rejtjelezési eljárások. (Számelméleti alapok. RSA és alkalmazásai, Die- Hellman-Merkle kulcscsere.) A számelméletben speciálisan az egész számok, általánosan a egységelemes integritási tartomány
DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes
1. Algebrai alapok: DISZKRÉT MATEMATIKA: STRUKTÚRÁK Művelet: Egy H nemüres halmazon értelmezett (kétváltozós) műveleten egy H H H függvényt értünk, azaz egy olyan leképezést, amely bármely a,b H elempárhoz
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
Emlékeztet! matematikából
Kriptográfia 2 Aszimmetrikus megoldások Emlékeztet matematikából Euklidész algoritmus - legnagyobb közös osztó meghatározása INPUT Int a>b0; OUTPUT gcd(a,b). 1. if b=0 return(a); 2. return(gcd(b,a mod
Információs társadalom alapismeretek
Információs társadalom alapismeretek Szabó Péter Gábor Titkosítás és számítástechnika Titkosítás alapfogalmai A Colossus Kriptográfia A rejtjelezés két fı lépésbıl áll: 1) az üzenet titkosítása (kódolás)
1. Bevezetés A félév anyaga. Lineáris algebra Vektorterek, alterek Függés, függetlenség, bázis, dimenzió Skaláris szorzat R n -ben, vektorok hossza és szöge Lineáris leképezések, mátrixuk, bázistranszformáció
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
Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma
Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit
Hadamard-mátrixok Előadó: Hajnal Péter február 23.
Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus
Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla
Számelmélet (2017 február 8) Bogya Norbert, Kátai-Urbán Kamilla 1 Oszthatóság 1 Definíció Legyen a, b Z Az a osztója b-nek, ha létezik olyan c Z egész szám, melyre ac = b Jelölése: a b 2 Példa 3 12, 2
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
MTN714: BEVEZETÉS AZ ABSZTRAKT ALGEBRÁBA. 1. Csoportelméleti alapfogalmak
MTN714: BEVEZETÉS AZ ABSZTRAKT ALGEBRÁBA 1. Csoportelméleti alapfogalmak 1.1. Feladat. Csoportot alkotnak-e az alábbi halmazok a megadott műveletre nézve? (1) (Z 2 ; ), (2) (Z 2 ; +), (3) (R \ { 1}; ),
Diszkrét matematika II., 8. előadás. Vektorterek
1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.
Modern titkosírások és a matematika
Modern titkosírások és a matematika Az Enigma feltörése Nagy Gábor Péter Szegedi Tudományegyetem Bolyai Intézet, Geometria Tanszék Kutatók Éjszakája 2015. szeptember 25. 1 / 20 Tagolás 1 A titkosírások
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,
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 4-6. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Matematika alapjai; Feladatok
Matematika alapjai; Feladatok 1. Hét 1. Tekintsük a,, \ műveleteket. Melyek lesznek a.) kommutativok b.) asszociativak c.) disztributívak-e a, műveletek? Melyik melyikre? 2. Fejezzük ki a műveletet a \
Intergrált Intenzív Matematika Érettségi
. Adott a mátri, determináns determináns, ahol,, d Számítsd ki:. b) Igazold, hogy a b c. Adott a az 6 0 egyenlet megoldásai. a). c) Számítsd ki a d determináns értékét. d c a b determináns, ahol abc,,.
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.
1. Oszthatóság, legnagyobb közös osztó Ebben a jegyzetben minden változó egész számot jelöl. 1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy
Kriptográfiai alapfogalmak
Kriptográfiai alapfogalmak A kriptológia a titkos kommunikációval foglalkozó tudomány. Két fő ága a kriptográfia és a kriptoanalízis. A kriptográfia a titkosítással foglalkozik, a kriptoanalízis pedig
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
Diszkréció diszkrét logaritmussal
Diszkréció diszkrét logaritmussal Professzor dr. Czédli Gábor. SZTE, Bolyai Intézet 2012. április 28. http://www.math.u-szeged.hu/ czedli/ 1 Számolás modulo p Czédli 2012.04.28 2 /18 Alapok: számolás modulo
HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:
Gábor Miklós HHF0CX 5.7-16. Vegyük úgy, hogy a feleségek akkor vannak a helyükön, ha a saját férjeikkel táncolnak. Ekkor már látszik, hogy azon esetek száma, amikor senki sem táncol a saját férjével, megegyezik
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro
Kriptográfia és Információbiztonság 4. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015 Miről volt szó az elmúlt előadáson? blokk-titkosító
Vizsgatematika Bevezetés a matematikába II tárgyhoz tavasz esti tagozat
8.2. Gyűrűk Fogalmak, definíciók: Gyűrű, kommutatív gyűrű, integritási tartomány, test Az (R, +, ) algebrai struktúra gyűrű, ha + és R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ) félcsoport,
1. előadás: Halmazelmélet, számfogalom, teljes
1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,
Algebra es sz amelm elet 3 el oad as Permut aci ok Waldhauser Tam as 2014 oszi f el ev
Algebra és számelmélet 3 előadás Permutációk Waldhauser Tamás 2014 őszi félév 1. Definíció. Permutációnak nevezzük egy nemüres (véges) halmaz önmagára való bijektív leképezését. 2. Definíció. Az {1, 2,...,
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
2016, Diszkrét matematika
Diszkrét matematika 8. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? a Fibonacci számsorozat
Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós
Lineáris algebra és a rang fogalma (el adásvázlat, 2010. szeptember 29.) Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: (1) A mátrixalgebrával kapcsolatban: számtest
Algoritmuselmélet 18. előadás
Algoritmuselmélet 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Május 7. ALGORITMUSELMÉLET 18. ELŐADÁS 1 Közelítő algoritmusok
Diszkrét matematika 2.
Diszkrét matematika 2. 2018. november 23. 1. Diszkrét matematika 2. 9. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. november 23. Diszkrét matematika
Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz
Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz A vizsga menete: a vizsga írásbeli és szóbeli részből áll. Az írásbeli beugrón az alábbi kérdések közül szerepel összesen 12 darab, mindegyik egy pontot
Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
1. Mellékosztály, Lagrange tétele
1. Mellékosztály, Lagrange tétele 1.1. Definíció. Legyen (G, ) csoport, H G részcsoport és g G tetszőleges elem. Ekkor a {gh h H} halmazt a H részcsoport g elem szerinti baloldali mellékosztályának nevezzük
2016/11/27 08:42 1/11 Kriptográfia. Titkosítás rejtjelezés és adatrejtés. Rejtjelezés, sifrírozás angolosan: cipher, crypt.
2016/11/27 08:42 1/11 Kriptográfia < Kriptológia Kriptográfia Szerző: Sallai András Copyright Sallai András, 2011, 2014, 2015 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés Titkosítás
Nagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 7. 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
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyűrűk támogatás nélkül Második nekifutás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. október 2. TARTALOMJEGYZÉK Polinomok
1. Bevezetés A félév anyaga. Gyűrűk és testek Ideál, faktorgyűrű, főideálgyűrű Gauss-egészek, két négyzetszám tétel Az alaptételes gyűrűk jellemzése A számfogalom lezárása Algebrai és transzcendens számok
A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk
1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán
Deníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
Kriptográfiai protokollok
Kriptográfiai protokollok Protokollosztályok - partnerhitelesítés - kulcskiosztás - üzenetintegritás - digitális aláírás - egyéb(titokmegosztás, zero knowledge...) 1 Shamir "háromlépéses" protokollja Titok
1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:
Az írásbeli vizsgán, az alábbiakhoz hasonló, 8 kérdésre kell választ adni. Hasonló kérdésekre lehet számítani (azaz mi a hiba, egészítsük ki, mi a függvény kimeneti értéke, adjuk meg a függvényhívást,