380 likes | 556 Views
U MAMCFLÁKÚL. 015 017 016 015 018 014 005 015 005 018 020 002 013 002 015 005 013 002 015 009 011 002 009 008 019 015 015 018 016. A titkosírás. története és a matematikai háttér. Tartalom. Bevezet ő A lkalmazásai A kriptográfia eszköztára Alapvető fogalmak, definíciók
E N D
U MAMCFLÁKÚL 015 017 016 015 018 014 005 015 005 018 020 002 013 002 015 005 013 002 015 009 011 002 009 008 019 015 015 018 016
A titkosírás története és a matematikai háttér
Tartalom • Bevezető • Alkalmazásai • A kriptográfia eszköztára • Alapvető fogalmak, definíciók • Szimmetrikus rejtjelező algoritmusok • Aszimetrikus rejtjelező algoritmusok
Kinek volt/van erre szüksége? • Katonák • Diplomácia • Naplóírók • Szerelmesek • Az utóbbi évtizedekben a számítástechnika illetve legújabban az Internet-alkalmazások tartanak igényt titkosításra • A diákoknak: órai levelezés (Aladár és Cecil) • A tanároknak: dolgozatkérdések
Néhány alapfogalom • A kriptológia szó a görög ó(ejtsd krüptosz) szóból származik, amelynek jelentése rejtett, titkos; • Kriptológia = kriptográfia+kriptoanalízis • Kriptográfia: az információ elrejtése/elérhetetlenné tétele; • Steganográfia: az információ "fizikai" elrejtése; • „kopasz rabszolga”, szkütalé -görögök, • „német írásjel”
Történeti bevezető példákkal Első módszerek • egyiptomiak: rejtjelezett szöveg egy több mint négyezer éve megírt kőtáblán • szteganográfia • Deszkára írt üzenet+viasz (Demeratosz /Hérodotosz /, perzsa háborúk) • Hisztaiaeusz: küldönc fejének leborotválása • szkütalé • anagramma, betűkeverés, átrendezés • elég megbízható, lehetőségek száma: faktoriális, fésüs módszer
behelyettesítés: • első megjelenése: Káma Szutra (a nő dolga pl. főzés mellett a titkosírás művészete) • behelyettesítő kódnak nevezik, a pozíció marad, a hangérték változik (pl. A helyett B)
Caesar-módszer, amivel a kárthágóiakat verte át • Caesar: nyílt szöveg: veni, vidi, vici kódolt szöveg: YHQL, YLGL, YLFL kulcs: DEFGHIJKLMNOPQESTUVWXYZABC (három hellyel csúztatjuk) lehetséges kulcsok száma: 25 nyílt abc bármely elrendezését tekintve a lehetséges kulcsabc-k száma: több, mint 4*10^26 (angol abc) miért volt elég akkor a 25? • a kulcsmondat alapú behelyettesítés módszere: • pl. kód-abc: JULISCAERTVWXYZBDFGHKMNOPQ • előnye: megjegyezhető, nem kell felírni • hátránya: kevesebb lehetőség, támpontok, megfejthetőség • közös elnevezés: monoalfabetikus behelyettesítő kód: a kódolás folyamata alatt mindvégig ua. a kódabc-t használják
Dekódolás, desifrírozás, kriptoanalízis, feltörés • kell hozzá: intuíció, statisztika, nyelvészet, támpontok! • azaz: elegendő mennyiségű szöveg, • használt nyelv statisztikai jellemzőinek ismerete
Dekódolás, desifrírozás, kriptoanalízis, feltörés • gyakorlat (Mária skót királyné története) CBÜQEEÜCÍVBNKIGMGÁHÚBÜCÍMCKECÖBÓGÍNGUGÚÚWNBCBNQÁQÚBÜHÖAGÁRÜ!BCÁÜBÚÁŐUÁPNHÖÜBNKGÓGOMWN!BGÁÁGOBCBNKIGMGÁHÚÜBÚÁŐUÁCÜÜDBCOCNLÜŐÜÜŰN! megfejtés: 1. betűgyakoriság megállapítása, mi lehet a szóköz? 2. összehasonlítás a magyar abc gyakorisági táblázatával 3. próbálgatás (Word)
A „feltörhetetlen” kódok • Több kód-abc használata (polialfabetikus) • Vigenére-kódolás (1523) • Kulcs, 26 kód-abc-t használ 1 helyett • A nyílt szöveg minden betűjét más-más Caesar-kód abc segítségével sifrírozzák • Vigniére-tábla • Nehézkes a használata, így a régit használják • Kódfejtő szobák (Bécs- nagyon híres, fekete szoba)
- - • A Vienére-kód megfejtése: • Babbage: 1854, újságcikk nyomán • 1. lépés: kulcsszó hossza (legnagyobb közös osztó) • 2. lépés: felbomlik monoalfabetikus szövegekre -> kriptoanalízis • 3. lépés: kulcsszó megállapítása • Nyílt szöveg hosszúságú kód • Matematikailag megfejthető
További kódolások • Homofonikus behelyettesítés: • A nyílt abc betűinek arányosan több kód felel meg • Pl.: a betűnek: 09, 12, 23, 47, 53, 67, 78, 92 • z betűnek: 02. • minden betű gyakorisága 1% körüli, nincs kiugrás! • Minden kód-jel csak 1 betűt jelölhet • Megfejtése: monoalfabetikus-kód, nyelvészet szerepe (dupla betűk elemzése) • A monoalfabetikus kódok csűrése-csavarása nehezítette a megfejtést ->nem kellett a Vigneré-kódolást használni (pl. XIV. Lajos -„nagy kódja”, amit megfejtettek, Vasálarcos) • Könyvkód (Vignére-kódolás módosítva)
A titkosírás matematizálása • XX. század elejére • feltörhetetlennek hitt kódok feltörése a matematika segítségével • Morze-távíró, telefon, rádió -> kommunikáció első forradalma -> növekvő igény a biztos titkosírásra • háborús helyzet -> gyors, megbízható eljárás kell • XIX. századig: nyelvészek, kevés matematikus, humán beállítódás • nem minden megfejthető, de senki sem lehet biztos abban, hogy nem fejtik meg
A XX-XXI. század • Az első világháború titkos története • 1914-18: német ADFGVX-sifre, (1918. március 5-én a 21-i offenzíva előtt alkalmazták) • 1918. június: németek már csak a meglepetés erejére számíthattak, a franciák feltörték –Painvin • behelyettesítés és átrendezés módszere együtt, • kell kulcs • megfejtették -> németek elvesztették a csatát • 1917. január 17: Zimmermann-távirat ->USA belép az első világháborúba • angolok fejtik meg
Második világháború (1939-1945) • a matematikusok 20-as évekre rájöttek: csak az egyszeri, véletlen kulcsos kódolás valóban megfejthetetlen (ld. 1945 után: „forró drót”) • németek 1918, 1930-as évek: ENIGMA • gépesítették a kódolást • a gép szerkezetének ismeretével sem lehet megfejteni (ezt hitték) • alapja: 2 (3) tárcsa keveri a betűket+kapcsolótábla+billentyűzet+kijelző+visszairányító • lehetséges kulcsok száma: 26^3*3!*10^10=kb. 10^15 db
Az ENIGMA feltörése lengyelek: Ciezki-százados vezette 40-es szoba lakói • megszerezték az Enigma leírását (magát a gépet) • kódkönyvek felépítését is megszerezték (szabványokat)- keverőtárcsák, stb. sorrendjének leírását • üzenetkulcsot is küldtek a németek (ezután eszerint sifriroznak) • Rejewski fejti meg az ismétlések és a szabványok alapján szabályszerűségekre jött rá -> kódfejtés gépesítette („bombák”) • összefoglalva: félelelm, matematika, kémkedés segített • Lengyelország lerohanása: Angliába menekítik • angolok: Bletchley Park • német üzenetek elfogása, megfejtése • általános módszer kidolgozása, cilly-k felfedezése • Turing munkássága -> a mai elektronikus számítástechnika-elmélet alapjainak megteremtése, Colossus -> 1970-es évekig titokban maradt • kódkönyvek ellopása • olasz és japán kódok feltörése -> USA Midway-szigetek • háborút eldöntötte, még 2-3 évig tartott volna, ha nem fejtik meg
A második világháború tanulságai, a modern kriptográfia • németek túlzottan bíztak az Enigmában • USA: nyelvi korlát kihasználása: navahó indiánok alkalmazása ->lényegében nem kell titkosítani! (kódbeszélők) • Lorenz-kód (Hitler és a vezérkar között) angolok feltörték -> és sikerült gépesíteni -> programozható számítógépek megteremtése (Colossus/Neumann János) • megjelenik a SZÁMÍTÓGÉP a titkosításban és a kódtörésben • számokkal dolgozunk (ASCII) • kettes számrendszer • függvények • az első számítógépesített kódolási eljárások: Lucifer • kulcsmegosztás problémája előtérben
A modern kriptológia eszköztára • A hangsúly a gyakorlati feltörhetetlenségre helyeződött. • Általánosan elmondható, hogy olyan nehézségű titkosítást kell választanunk, hogy egy esetleges feltörési kísérlet erőforrás- igénye (pénz, idő, ember) nagyobb legyen, mint a feltört információból elérhető haszon. • Egyirányú függvények: f egyirányú, ha x ismeretében y = f(x) könnyen számolható, de adott y-hoz a fenti tulajdonsággal rendelkező x-et megtalálni nehéz. • y=f(x)=2x; C=8=y, akkor könnyen kitalálható, hogy x=4. Ezért a jó függvény megtalálása a cél, még akkor is, ha ismert az f fv. • Például véges testekben y = x^2 könnyű, x = y^(1/2) nehéz.
Részösszefoglalás: szimmetrikus rejtjelezés Bob Alice Nyilt csatorna Biztonságos csatorna<- itt a probléma!!!!!!
Szimmetrikus rejtjelezés • Rejtjelezés: c = E(m)m = D(c) • Kulcsos rejtjelezés:c = E(k,m)m = D(k’,c) • Szimemtrikus algoritmus: k = k’ (vagy legalábbis könnyen kiszámítható egyikből a másik). • található jó egyirányú függvény -> probléma: mi legyen a kulcscsal?
Szimmetrikus rejtjelezés 2. • Az algoritmus biztonsága kizárólag a kulcson alapszik • Algoritmusok: DES, RC4, RC5, Blowfish, Rijndael (AES) … • valódi véletlenszerű, egyszeri kulcsosak feltörhetelenek -> „forró drót” • drága, nehézkes
Nyilvános kulcsú rendszerek Szimmetrikus rendszereknél problémák: • Túl sok kulcs. N résztvevő esetén O(N^2) • Bonyolult a kulcsok cseréje. Személyes találkozást, vagy megbízható harmadik személyt igényel. Megoldás: Nyilvános kulcsú rendszerek
Nyilvános kulcsú rendszerek Bob Alice Nyílt csatorna Nyilt csatorna Nyilvános kulcs Titkoskulcs
Nyilvános kulcsú rendszerek • 1976-ban vetette fel az ötletet Whitfield Diffie és Martin Hellman -> szimmetrikus kódolás ->DES,2DES,3DES • Megoldható a probléma: kétkulcsos láda Alice, Bob, Cecil között • matematika: modulusok-elmélete, óra-számtan, maradékok, ebben valódi egyirányú-függvényeket tudunk alkotni • 3^x=1 (mod 7) x=? ; x=5 nem jó, sok. x=6 jó • közös kulcs kialakítása, Alice és Bob közösen kidolgozza a kulcsot, de nem kell magát a kulcsot átadniuk, ez nem nyilvános! • 1978 Ron Rivest, Adi Shamir, Leonard Adleman – RSA • aszimmetrikus, pl. Alice csak rejtjelezni tud, desifrírozni ua. kulccsal nem tud! Más a sifrírozó és más a desifrírozó kulcs! • láda-hasonlat: „Bob lakatja a boltban” -> privát kulcs, nyilvános kulcs fogalma • nehéz volt matematikai függvényt találni
DES • Data Encryption Standard • USA-beli szabvány • Titkos kulcsú algorimus • 56 bites kulcsot használ • Nyílt szöveget 64 bites blokkonként kódoljuk, ami során szintén 64 bites titkos üzeneteket kapunk • Az algoritmus, melynek paraméteréűl egy 56 bites kulcs szolgál 19 különálló fokozatból épül fel
DES kódolása • Első lépés egy kulcsfüggetlen keverés 64 bites bemeneten, az utolsó lépés ennek pontosan az inverz művelete • Az utolsót megelőző lépésben az első 32 bites részt felcsréljük a hátsó 32 bites résszel • A maradék 16 lépés mükődése ehhez hasonló • A dekódolást ugyanazzal a kulccsal végezhetjük, mint a kódolást(csak a lépések sorrendje fordított)
IDEA • International Data Encryption Algorithm • két svájci kutató fejlesztette ki • 128 bites kulcsot használ • jelenleg nem ismert olyan módszer amely emberi idő alatt feltörné az IDEA-t • az algoritmus hasonló a DES-hez
RSA • (Rivest, Shamir, Adleman) • nyilvános kulcsú • gyakorlatilag feltörhetelen • 2000 szeptember 20-án járt le a szabadalom • egyetlen hátránya, hogy túl lassú nagyobb adahalmaz kódolására
RSA algoritmus alapja: moduláris aritmetika, számelmélet nagy prímszámok kellenek > 10100 • Alice: n = p*q és z = (p-1)*(q-1) /pl. n=17*11=187; z=160/ • legyen e z-hez képest relatív prím /e=7/ • Alice nyilvános kulcsa az (e, n) pár -> aki üzenetet akar küldeni A-nak • Kódolás C = Pe mod n /C=887=11(mod 187)/ • keressünk egy olyan d-t, amelyre e*d = 1 (mod z) /7*d=1 (160) d=23/ - azaz e*d z-vel osztva 1 maradékot ad • a titkos kulcs a (d, z, q, p) • Dekódolás: P = Cd (mod n) /P=1123 =88 (187)/ • számolásigényes!
RSA algoritmus 2. • biztonságát az adja, hogy nem ismert olyan módszer, amely meg tudná határozni p, q-t illetve z-t az n faktorizálása nélkülA legnagyobb számok, amiket 1990-es évek végén prímtényezőire tudnak bontani a matematikusok, 130-140 jegyűek. Egyes speciális típusú számok felbontásával 155 vagy több jegyig is el lehet jutni. (Egy 512 bites kulcs kb. 155 jegyű!) • Tipikus méretek n-re: 512, 768, 1024, 2048, 4096. Az utóbbi három tekinthető biztonságosnak (jelenleg) • digitális aláírás -> tényleg mi küldtük! • feltörése: összes kulcs kipróbálása (brute-force) • angol titkosszolgálat: RSA előtt évtizeddel kidolgozta Cocks
B A A B + + + + = B A A B Kommunikáció RSA-val • Alice rejtjelezi az üzenetet Bobnak és alá is írja. • Természetesen bármelyik fázis kihagyható.
Jelen • bármely kód megfejthető, ha másképp nem, akkor kulcspróbálgatással: • ezt 100 millió db 100 MHz, 8 MB RAM-os gép 10^130 nagyságrendű n esetén 15 másodperc alatt elvégzi, ezért a szabvány: 10^308 nagyságrend • szimmetrikus kódolás (DES)->
Thomas Jefferson és Henry David Thoreau eszmei örököseinek valló kriptolibertariánusok megjelenése • Philip Zimmermann megírta 1991-ben a PGP/Pretty Good Privacy, vagyis Egészen Tisztességes Titkosítás, a szimmetrikus+RSA vegyítése. A szimmetrikus kódolás (IDEA)+aszimmetrikus (RSA) együtt, a kulcs kódolása RSA-val/. Akár katonai szintű 1024-es bites kulccsal is védhetjük elektronikus magánlevelezésünket a kíváncsi szemektől • A PGP az RSA algorimus alkalmazása e-mail-ek titkosítására
Jövő • Az üzleti élet kihívásai, mivel a DES már nem biztonságos • Az USA kiviteli tilalmának lehetséges hatásai: megjelenhetnek az izraeli és kínai titkosító algoritmusok,tehát az USA elveszítheti elsőségét az informatikai piacon • kvantum-számítógépek és a kvantum-titkosítás