Kriptográfia Második előadás Klasszikus titkosítások Németh L. Zoltán SZTE, Számítástudom studomány Alapjai Tanszék 2008 ősz
Szimmetrikus titkosítás (Symmetric Encryption) más s néven: n hagyományos / egy kulcsú a feladó és s a címzett c egy közös k s titkos kulcson osztozik minden klasszikus titkosítás s ilyen az 1970-es évekig a nyilvános nos kulcsú kriptográfia megjelenéséig ma is a legelterjedtebb, a nyilvános nos kulcsú módszerek nem lecserélt lték, hanem kiegész szítették őket 2
Titkosítási si alapfogalmak I nyílt szöveg (paintext): az eredeti érthető üzenet titkosított tott szöveg (ciphertext): a titkosítással ssal átalakított tott üzenet kulcs (key)) a titkosításhoz/megfejt shoz/megfejtéshez shez használt kritikus informáci ció. (A szimmetrikus kulcsú titkosítás s biztonsága azon alapszik, hogy a kulcsot csak a feladó és s a címzett ismeri). 3
Titkosítási si alapfogalmak II titkosítás (enciphering, encryption): a nyílt szöveg ''olvashatatlanná tétele" tele" a kulcs segíts tségével. titkosító algoritmus (cipher) megfejtés (deciphering, description): a títkosítotttott szöveg visszaalakítása sa nyílt szövegg veggé a kulcs segíts tségével. feltörés (break): /első közelítésben/ a titkosított tott szövegb vegből l a nyílt szöveg rekonstruálása sa a kulcs ismerete nélkn lkül l (Részletesen lásd l később k a támadásfajták k ismertetésénél.) 4
Résztvevők A: (Al( Alíz, Alice) ) címzett c (receiver( receiver) B: (Bob, Béla) B feladó (sender) C, D : (Carol( Carol, Dave) további kommunikáló felek E: (Éva,( Eve) ) lehallgató (eavesdropper) /passív támadó/ M: (Máté, Malory) ) aktív v támadt madó (malicious active attacker) 5
A szimmetrikus titkosítás modellje 6
Követelmények feltesszük, hogy az algoritmus nyilvános nos (a Kerckhoff-elv elv miatt) a szimmetrikus titkosítás s biztonságához elengedhetetlen, hogy a kulcsot csak a feladó és s a címzett c ismerje ezért a kulcsot vagy előre egyeztetni kell vagy más m s titkos/titkosított tott csatornán n kell eljuttatni (ez( a kulcselosztás s problémája ja) ha több t résztvevr sztvevő esetén, minden párnak külön k n kulcsra van szüks ksége 7
Alapvető típusok keverő titkosítók k (P-boxok( boxok) A titkosított tott szöveg a nyílt szöveg betűinek permutáci ciója. helyettesítő titkosítók k (S-boxok( boxok) A nyílt szöveg betűit (esetleg nagyobb blokkjait) egyesével bijektív módon a titkosított tott szöveg betűivel helyettesítj tjük. produkciós s titkosítók keverés-helyettes helyettesítés s (többsz bbszörös) s) egymás s utáni alkalmazása 8
Teljes kipróbálás s (Brute( Force) mindig lehetséges az összes kulcs kipróbálása a legalapvetőbb támadt madás a kulcstér (összes kulcsok halmaza) méretével arányos (ez exponenciálisan nőn a kulcs hosszával!) feltételezi telezi hogy a nyílt szöveg ismert vagy felismerhető (megkülönb nböztethető az értelmetlen jelsorozatoktól) l) 9
Feltörés s teljes kipróbálással A kulcs méret (bitekben) A lehetséges kulcsok száma Időigény, ha a sebesség 1 megfejtés/µs Időigény, ha a sebesség 10^6 megfejtés/µs 32 2 32 = 4.3 10 9 2 31 µs = 35.8 perc 2.15 µs 56 2 56 = 7.2 10 16 2 55 µs = 1142 év 10.01 óra 128 2 128 = 3.4 10 38 2 127 µs = 5.4 10 24 év 5.4 10 18 év 168 2 168 = 3.7 10 50 2 167 µs = 5.9 10 36 év 5.9 10 30 év 26 betű sorrendje (permutációja) 26! = 4 10 26 2 10 26 µs = 6.4 10 12 év 6.4 10 6 év 10
Helyettesítő titkosítók a nyílt szöveg betűi i (jelei, betűcsoportjai) sorra más m s betűkkel (jelekkel, betűcsopor csopor- tokkal) helyettesítődnek vagy ha bitenként nt tekintjük k a szövegeket, akkor rögzr gzített hosszú (pl. 64 bit) bitcsoportokat ugyanolyan hosszú bitcsoportokra cserélünk (P-dobozok( dobozok) a jelek pozíci ciója változatlan v marad 11
Caesar titkosító (Caesar Cipher) a legkorábbi ismert helyettesítő titkosító Julius Caesartól az első bizonyítottan használt háborh borús alkalmazása a kriptográfi fiának helyettesíts tsünk minden betűt t az ábécé rendben utána következk vetkező harmadik betűvel például: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB CryptTool bemutató: http://www.cryptool.com www.cryptool.com/ 12
Eltoló/l /léptető titkosító (Shift Cipher) helyettesíts tsünk minden betűt t az ábécé rendben utána következk vetkező k-dik betűvel Caesar a k=3 kulcsot használta. k=3 ra a helyettesítés: s: 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 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 a matematikai leíráshoz a betűket számokkal azonosíthatjuk: 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a nyílt szöveg betűi i kisbetűk, k, a titkosított tott szöveg vegéi i nagybetűk a magyar szövegeket is ékezet nélkn lkül l tekintjük 13
Kriptorensdszer (Cryptosystem) Def. Kriptorendszernek egy (P,C,K,E,D) ötös, ahol 1. P a lehetséges nyílt szövegek halmaza 2. C a lehetséges titkosított tott szövegek halmaza 3. K a kulcstér, a lehetséges kulcsok véges v halmaza 4. Minden KєK-ra létezik l egy e є E, e K K :P C egy titkosító leképezés, d є D, d K K :C P egy megfejtő leképezés, hogy d K (e K (x)) = x teljesül minden x є P-re. Vegyük észre, hogy e K injektív fgv fgv.. kell hogy legyen. 14
Az eltoló kriptorendszer P=C=K=Z 26 és s minden 0 K 25 -re e K (x) = ( x + K ) mod 26, és d K (x) = ( x - K ) mod 26 ( x,y є Z 26 ) 15
Kriptoanalízise csak 26 lehetséges kulcs van: a képe lehet A,B,,Z ezek sorra kipróbálhat lhatók azaz teljes kipróbálással feltörhet rhető csak kódszk dszöveg típusú támadással persze ehhez fel kell tudni ismerni a nyílt szöveget pl.. törjt rjük fel: "GCUA VQ DTGCM" 16
Egyábécés s helyettesítés (Monoalphabetic Substitution) az ábécé betűinek egyszerű letolása helyett tetszőlegesen össze is keverhetjük a betűket így minden nyílt betűt t egy titkossal helyettesítünk különböző nyílt betűket különbk nbözőekkel ekkor e kulcs a 26 betű egy sorrendje KULCS: abcdefghijklmnopqrstuvwxyz DKVQFIBJWPESCXHTMYAUOLRGZN nyílt szöveg : ifwewishtoreplaceletters titkos szöveg veg: WIRFRWAJUHYFTSDVFSFUUFYA 17
Egyábécés s helyettesítő kriptorendszer P=C=Z 26, K : a 0,1,..., 25 számok összes lehetséges permutáci ciója Minden π: Z 26 Z 26 єk permutáci cióra e π (x) = π ( x ), és d π (x) = π -1 ( x ) Ahol π -1 a π inverz permutácui cuiója. ( x,y є Z 26 ) 18
Spec.esete: : az affin titkosító P=C=Z 26, K := { (a,b) є Z 26 x Z 26 lnko(a,b) = 1 } Minden K = (a,b) є K-ra legyen e K (x) = ( ax + b ) mod 26, és e K (y) = a -1 ( y - b ) mod 26 ( x,y є Z 26 ) Ahol a -1 az a multiplikatív inverze a Z 26 -ban, azaz a a -1 1 (mod( 26). Részletesebben gyakorlaton. 19
Az egyábécés s helyettesítés kriptoanalízise a kulcstér r most 26! 4 x 10 26 2 88.4 ez biztonságosnak látszik 88.4 elem de ez csak a teljes kipróbálás s ellen védv NEM BIZTONSÁGOS!!! elemű a kriptoanalízis a nyílt szöveg nyelvének nek nyelv statisztikai sajátoss tosságain alapszik gyakorlatban egy legalább 50 betűs szöveg megfejthető 20
Nyelvi statisztikák k I az emberi nyelvek redundánsak nsak pl. a magánhangz nhangzók k elhagyhatók: "bc bc trk s fl s frk" nem minden betű egyformán n gyakori az angolban: E, T,A,O,I,,I,N,S,H,R... S,H,R...,J,,J,X,Q,Z,Q,Z magyarban (ékezetekkel)( a leggyakoribb az "E", "A" és s "T" majd "L", "N", "S", "K", "O", "R" igen ritka: "Ő"," ", "W", "X", "Q" 21
Nyelvi statisztikák k II hasonlóan an lehet a betűpárok (digram), hármasok (trigram( trigram) ) gyakoriságát t vizsgálni pl. SZ, TT,, "THE" ezek a statisztikák k a nyelvekre jellemzőek ek segíts tségükkel a nyílt szöveg nyelve azonosíthat tható MÁS S MÓDSZER: M gyakori / jellemző szavak keresése se: : pl. pénzp nzügyi szövegben millim ABBA minta, időjárásjelent sjelentésben: : eső illió = 22
Betűgyakoris gyakoriságok gok az angolban 23
Betűgyakoris gyakoriság g a magyarban 24
Használatuk a kriptoanalaízisben az egyábécés s helyettesítés s nem változtatja v meg a betűgyakoris gyakoriságotgot már r az arabok is felfedezték k a IX. században zadban számoljuk ki a titkosított tott szöveg betűinek/ inek/betűpárjainak gyakoriságát tippeljünk az ismert statisztika és/vagy a gyakori szavak alapján n a betűk k képeirek ha valósz színűleg értelmetlen szövegr vegrészt kapunk, pl: : "EE" akkor módosm dosítsunk a tippünk nkön az értelmes szótöred redékek/szavak újabb tippekre adnak lehetőséget folytassuk, amíg g a szöveget meg nem fejtjük 25
Egy angol példap given ciphertext: UZQSOVUOHXMOPVGPOZPEVSGZW ZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZW ZWYMXUZUHSX EPYEPOPDZSZUFPOMBZW ZWPFUPZHMDJUDTMOHMQ számoljuk ki a betűgyakoris gyakoriságotgot tipp: P és Z megfelel e nek és t-nek tipp: ZW = th (ez a leggyakoribb digram) így ZWP = the további próbálkoz lkozások és s javítások után: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow 26
Kriptogrammok Ha a szóközöket ket és s az írásjeleket meghagyjuk, sokkal könnyebb k az egyábécés s helyettesítés feltörése, rövid r titkosított tott szöveg esetén n is. Az ilyen rejtvényeket hívjh vják kriptogrammoknak. Néha egy-egy betűt t segíts tségül l előre megadnak. Külön n statisztika készk szíthető a szókezd kezdő/szózáró betűkr kről Lásd részletesebben: r http://hu.wikipedia.org hu.wikipedia.org/wiki/kriptogram Angol online kriptogrammok és s nyelvi statisztikák: k: http:// ://www.cryptograms.org/ 27
A helyettesítés s változataiv Mint láttuk l az egyábécés s helyettesítés könnyen feltörhet rhető,, mert a kódszk dszöveg megtartja a nyílt szöveg betűgyakoris gyakoriságait. gait. Ezen több t módon m lehet javítani, nehezebbé (de nem lehetetlenné!) téve t a kriptoanalízist zist: 1. homofónok használata 2. nagyobb egységek gek pl. betűpárok helyettesítése se pl. ilyen a Playfair titkosító 3. több t ábécés s helyettesítések sek pl. Enigma 28
1. Homofónok használata egy betűt t több t jellel is helyettesíthet thetünk a gyakoribb betűknek több t képük k k van ezzel "elrejthetjük" ugyan betűgyakoris gyakoriságokatgokat de a többt bb-betűs s minták k gyakorisága ga továbbra is megmarad egyenes utat adva ezzel a kriptoanalízisnek pedig C. F. Gauss feltörhetetlennek gondolta Ld. Cryptools: Homophones 29
2. A Playfair titkosító betűpárok betűpárokkal való helyettesítésén n alapul Charles Wheatstone találta lta fel 1854-ben ben, de a barátj tjáról Baron Playfairről nevezte el az angol hadsereg széles körben k használta az I. világh gháborúbanban de még m g előfordult a II-ban is. előnye, hogy egy személy eszköz z segíts tsége nélkül l papíron használhatja 30
Playfair kulcsmátrix egy 5X5-ös mátrix melynek első betűit a kulcsszó határozza meg a kulcsszó betűinek csak az első előfordul fordulását vesszük a mátrix m többi t részr szét t kitöltj ltjük k a maradék k betűkkel Pl. ha a kulcsszó MONARCHY: M C E L U O H F P V N Y G Q W A B I/J S X R D K T Z 31
Titkosítás és s megfejtés A nyílt szöveg betű párokra osztjuk, ha egy kódolandk dolandó pár egy betű ismétl tlése,, akkor egy elválaszt lasztó betűt, t, mondjuk 'X - et teszünk közéjükk és s ezután n kódoljuk. k Pl. balloon -> ba lx lo on 1. ha a két k t betű egy sorban van,, helyettesíts tsük őket a tőlük t közvetlenül jobbra lévő betűkkel (a sor vége v után n a sor első betűjére ugorva) Pl. ar -> > RM 2. ha a két k t betű egy oszlopban van,, helyettesíts tsük őket a tőlük k közvetlenk zvetlenül alattuk lévő betűkkel (az oszlop alja után az legfelső betűre ugorva) Pl. mu -> > CM 3. különben a betűk k kódja k a saját t sora és s a másik betű oszlopának metszetében álló betű. Pl. hs -> > BP, ea -> > IM 32
A Playfair titkosító biztonsága jóval erősebb az egyábécés s helyettesítésn snél mivel 26 x 26 = 676 betűpár van a gyakoriság g táblt blázathoz így 676 gyakoriságért rték k kell (szemben a 26 betűvel vel) így hosszabb titkos szövegre van szüks kségünk de fel lehet törnit néhány ny száz z betűs s szöveg esetén n is mivel a nyílt szöveg struktúrájából l még m g mindig sok tükrt kröződik a titkosított tott szövegben 33
3. TöbbT bbábécés s titkosítók (Polyalphabetic Ciphers) Két t közös k s jellemzőjük: 1. betűnk nként nt más-más m s (egymással összefüggő) ábécét, pontosabban egyábécés s helyettesítést st használnak 2. hogy mikor melyik ábécé kerül l sorra, a kulcs határozza meg általában a kulcs véget v érése után n a használt ábécék k ciklikusan ismétl tlődnek minél l több t az ábécé,, annál l jobban kiegyenlítődik a betűgyakoris gyakoriság megnehezítve ezzel a kriptoanalízist 34
A Vigenère titkosító a legegyszerűbb, és s legismertebb többt bbábécés helyettesítés ábécéként eltoló (shift)) titkosítókat kat használ a kulcs egy d betűs s szó K = k 1 k 2... k d a nyílt szöveg i-dik betűjét t a kulcs az i-dik betűjével azaz k i -vel toljuk el a d-dikdik betű titkosítása sa után n a kulcs és így az eltolások ciklikusan ismétl tlődnek a megfejtés s ugyanez, csak fordított irány nyú eltolásokkal 35
Példa Vigenère titkosításra sra írjuk le a nyílt szöveget írjuk föléf a kulcsszót t ciklikusan ismételve alkalmazzuk minden betűre a felette levő betűvel való eltolást pl. ha a kulcsszó deceptive kulcs: deceptivedeceptivedeceptive nyíltsz ltszöveg: wearediscoveredsaveyourself titkosított tott: ZICVTW VTWQNGRZGVTWAVZHCQYGLMGJ CryptTool bemutató: http://www.cryptool.com www.cryptool.com/ 36
A Vigenére titkosító Legyen d pozitív v egész. P= C= K =(Z 26 ) d Minden K = (k 1,k 2,,k d ) є K-ra legyen e K (x 1,x 2,,x d ) = ( x 1 + k 1,x 2 + k 2,,x d + k d ), és d K (y 1,y 2,,y d ) = ( y 1 - k 1,y 2 - k 2,,y d - k d ), Ahol a műveletek m mindenhol Z 26 -ban végzendők. 37
Segédeszk deszközök Saint-Cyr szalag egyszerű manuális segíts tség két t egymáson elcsúsztathat sztatható léc c az ábécé két-két t példp ldányával a felső 'a' betű alá mozgatva az 'a' nyílt betű képének alsó lécen találhat lható első példányát minden betű eltoltja egyszerűen en leolvasható a szalagot összehajtva egy titkosító lemezhez jutunk vagy kiírhatjuk egy táblt blázatba az összes eltolást, így kapjuka Vigenère re-tablót 38
Titkosító lemez (az amerikai polgárh rháborúból) http:// ://en.wikipedia.org/wiki/cipher_disk 39
Vigenère re-tabló http:// ://en.wikipedia.org/wiki/vigen%c3%a8re_cipher 40
A Vigenère re-titkosító kriptoanalízise egy nyílt betűt t több t titkos betű helyettesíthet, thet, attól l függf ggően, hogy melyik kulcsbetű alá esik ez összezavarja a betűgyakoris gyakoriságokatgokat de nem rejti el teljesen Két t feladat van: - a kulcs hosszának nak,, azaz az ábécék számának meghatároz rozása - ezek után n az azonos kulcsbetűvel titkosított tott betűkre külön-külön k az eltolások mértm rtékének meghatároz rozása 41
A Kasiski-teszt Babbage / Kasiski által kifejlesztett módszerm a titkosított tott szöveg ismétl tlődései származhatnak azonos nyílt szöveg részekbr szekből, ha távolságuk a kulcshossz többszt bbszörösese ezért keressük k meg a titkosított tott szöveg legalább 3 betűs ismétl tlődéseit, és s határozzuk meg a távolst volságukat persze előfordulhat, hogy az egybeesés s véletlen, v és s nem azonos nyílt szövegekb vegekből l származik de a kulcshossznak a véletlen v kivételekt telektől l eltekintve a távolságok mindegyikét t osztania kell pl. a példp ldában a két k t "VTW" VTW távolsága 9 ami azt sugallja, hogy a kulcshossz 3 vagy 9 42
Egybeesés-sz számlálás William F. Friedman talált lt fel (1920 körül) k Nyelvi szövegben nagyobb a valósz színűsége, hogy két k t véletlenv letlenül l választott v pozíci ción n ugyanaz a betű szerepel, mint véletlen v betűkb kből álló szövegben. Pl. angolban 6.5%, véletlen szövegben 3.8% ez lehetőséget biztosít t a kulcshossz és s az eltolás s mértm rtékének meghatároz rozására ra is Ld. CryptTool automatikus Vigenère analízis 43
Vigenère autokulcsos titkosító (Vigenère autokey Cipher) Akkor ideális a többt bbábécés s helyettesítés, s, ha a kulcs ugyanolyan hosszú, mint a nyílt szöveg Vigenère javasolta az autokulcsos titkosítót változatát t a Vigenère re-titkosítónak a kulcs vége v után n a nyílt szöveg elejét használjuk kulcsként folytatólagosan lagosan Pl. ha a kucs továbbra is deceptive key: deceptivewearediscoveredsav plaintext: wearediscoveredsaveyourself ciphertext:zicvtwqngkzeiigasxstslvvwla 44
Kriptoanalízise Úgy tűnik t ezzel kiküsz szöböltük k a Vigenére re- titkosítás gyenge pontját t a periodikus ismétl tlődéest De sajnos közben k a titkosított tott szöveg még m közvetlenebbül l függ f a nyílt szövegt vegtől Pl. minden megfejtett vagy csak megsejtett nyílt szöveg rész r újabb nyílt szöveg részt r fejt meg A gyakori betűk k egybeesések sek gyakorisága ga miatt E legtöbbsz bbször E -vel lesz titkosítva tva Így valójában gyengébb titkosításhoz shoz jutunk mint az eredeti Vigenére re-titkosítás 45
Tanúság Házi feladat: Még g könnyk nnyebben feltörhet rhető rendszert kapunk ha a kulcs után n a kódszk dszöveg és nem a nyílt szöveg betűit használjuk további kulcsokként. A titkosító rendszer bonyolítása nem feltétlen tlenül l vezet a biztonság g növeln veléséhez. Sőt, a megbízhat zható titkosítások sok néha n igen egyszerűek. ek. 46
Vernam-titkos titkosító Ideális estben a kulcs ugyanolyan hosszú,, mint a nyílt szöveg Ezt Gilbert Vernam (AT&T) javasolta 1918-ban Az ő rendszere bitenként nt dolgozik: Ahol p i = a nyílt sz c i =p i XOR k i lt szöveg i-dik bitje k i = a kulcs i-dik bitje c i = a titkosított tott szöveg i-dik bitje XOR = a kizáró vagy művelet, m 0 XOR 1 = 1 XOR 0 = 1 0 XOR 0 = 1 XOR 1 = 0 47
A XOR művelet m kedvező tulajdonságai XOR = kizáró vagy ( 1 XOR 1 = 0 miatt ) Jeölni szokták k még m így: Tulajdonségai gai: x XOR y = y XOR x x XOR (y XOR z) = (x XOR y) XOR z x XOR x = 0 x XOR 0 = x Ezért (x XOR y) XOR y = x, vagyis ha kétszer k végezzük k el a XOR-ol olást ugyanazzal az y-nal, y visszakapjuk az eredeti x-et. x A megfejtés és s a titkosítás s algoritmusa megegyezeik. 48
Példa Nyílt szöveg: 00 10 11 01 10 Kulcs: 10 11 01 10 11 Titk.. szöveg: 10 01 10 11 01 Kulcs: 10 11 01 10 11 Nyílt szöveg: 00 10 11 01 10 49
Egyszeri hozzáad adásos titkosító I (one-time pad) ha a kulcs valóban véletlenv és ugyanolyan hosszú, mint a nyílt szöveg a titkosító nem törhett rhető fel (=feltétlen tlenül l biztonságos) Ezt a két k t feltétel tel azonban szigorúan be kell tartani, például nem szabad ugyanazzal a kulccsal még m egyszer üzenetet titkosítani tani (innen az egyszeri név) n Ezt hívjh vják k egyszeri hozzáad adásos módszernekm One-Time pad: OTP A OTP azért feltörhetelen mert a titkosított tott szövegnek nincs statisztikai kapcsolata a nyílt szöveggel 50
Egyszeri hozzáad adásos titkosító II mivel minden nyílt lt-titkos titkos szövegp vegpárhoz létezeik (pontosan) egy kulcs amivel titkosíthattuk thattuk ha kulcsot valóban véletlenszerv letlenszerűen en választottuk v nincs rár mód, hogy kitaláljuk ljuk melyik kulcs az igazi, hiszen minden elképzelhet pzelhető értelmes nyíltsz ltszöveghez van egy kulcsunk. a gyakorlatban két k t nehéz z probléma van vele: - valóban véletlen v kulcsgenerálás - a kulcselosztás és s tárolt rolás s problémája 51
Alkalmazása Ezek a gyakorlati problémák k alkalmazását erősen korlátozz tozzák. Csak alacsony sávszs vszélesség és s nagyon nagy biztonsági igény esetén Pl. Amerikai szovjet diplomácia Kémek tájékoztatt koztatása: Numbers Station-ök ( számokat sugárz rzó rádióadók) Ld: http://en.wikipedia.org en.wikipedia.org/wiki/numbers_stationstation Ld 52
Rotoros gépekg (Rotor Machines) a számítógépek és s ezzel a modern titkosítók megjelenése előtt a rotoros gépek g voltak a legelterjedtebb komplex titkosító eszközök Széles körben k használt lták k a II. világh gháboróban: németek: Enigma, szövetts vettségesek: Hagelin, japánok: Purple Igen bonyolult többt bbábécés s helyettesítések sek forgó korongok (rotorok) segíts tségével, melyek egy-egy egyszerű helyettesítést st kódoltak, k de minden betű titkosítása sa után száml mlálószerűen en különböző sebességgel forogtak pl. egy 3 rotoros gép g 26 3 =17576 ábécével dolgozott Működés: http://enigmaco.de/index-enigma.html enigma.html 53
Az Enigma http://en.wikipedia.org/wiki/enigma_machine 54
A Hagelin 55
Enigma szimulátorok http://frode.home.cern.ch/frode/crypto/sim ula/index.html Közülük k két k t ajánlott példp ldány: http:// ://users.telenet.be/d.rijmenants/ http://www.xat.nl/enigma/ Az Enigma felépítése, működése, m kódkönyvek, kódolk dolás, dekódol dolás bemutatása a Rijmenants szimulátor torával 56
Keverő titkosítók Transposition Ciphers a helyettesítés s mellett a másik m alap titkosítási si módszer m a keverés s (pemut( pemutációk) a szöveg egységek gek (betűk/b k/bájtok/bitek/bitcsoportok) megmaradnak csak a sorrendjük k változik v meg alkalmazásuk felismerhető,, mert a jelekgyakoriságát nem változtatjv ltoztatják k meg. 57
Skitlai (scytale) Spártaiak használták katonai célokra a kulcs a bot átmérője 58
Kerítés s rács r elrendezés (Rail Fence cipher) írjuk le az üzenetet átlósan lefelé több sorba majd olvassuk el soronként nt balról l jobbra haladva pl. (csak két k t sort használva) m e m a t r h t g p r y e t e f e t e o a a t a titkosított tott szöveg: MEMATRHTGPRYETEFETEOAAT 59
Soronként nt cserélő titkosítók (Row Transposition Ciphers) bonyolultabb keverést kapunk, ha az üzenetet soronként nt adott számú oszlopba írjuk majd az oszlopokat a kulcs által megadott sorrendben olvassuk össze felülr lről l lefelé Kulcs: 3 4 2 1 7 5 6 Nyílt szöveg: a t t a c k p o s t p o n e d u n t i l t w o a m x y z Titk.. szöveg veg: TTNAAPTMTSUOAODWPETZCOIXKNLY 60
Duplán n keverő titkosító Még g biztonságosabb titkosításhoz shoz jutunk, ha Ha az előző keverést kétszer k végezzv gezzük k el, különböző kulcsokkal (azaz permutáci ciókkal) A kulcsok által meghatározott premutáci ciója az oszlopoknak különbk nböző elemszámú véletlen betűkkel töltjt ltjük k ki az üzenet végét, v hogy teljes sorokat kapjunk A permutáci ciókat jelszavak segíts tségével is elő lehet állítani. Ld. Cryptool Permutation/Transposition Cipher Duplán n keverő titkosítás s (gyakorlat) 61
Produkciós s titkosítók (Product Ciphers) sem a helyettesítő,, sem a keverő titkosítók k nem biztonságokat, a nyelv jellegzetességei gei miatt ötlet:alkalmazzuk őket egymás s után, hogy erősebb titkosításhoz shoz jussunk, de: két t helyettesítés s eredménye egy újabb (által( ltalában komplexebb) helyettesítés két t keverés s egymásut sutánja továbbra is egy újabb keverés de ha a keveréseket és s a helyettesítéseket seket egymás után n váltogatjuk v (esetleg többszt bbször) valóban erősebb titkosításhoz shoz jutunk a különbk nböző elvű titkosítások sok keverése vezet a modern szimmetrikus módszerekhez m 62
Titkosítók k generáci ciói Első generáci ció: : XVI-XVII. XVII. századig, zadig, főleg f egyábécés helyettesítések sek (pl. Caesar) Második generáci ció: : XVI-XIX XIX században, zadban, többábécés s helyettesítések sek (pl. Vigenére re) Harmadik generáci ció: : XX sz. elejétől Mechanikus és s elektromechanikus eszközök (pl. Enigma, Hagelin, Putple, Sigaba) Negyedik generáci ció: : a XX. század zad második m felétől produkciós s titkosítók, k, számítógépekkel (pl. DES, Triple DES,, Idea, AES) Ötödik gemneráci ció: : kvantumelvű titkosítások, sok, sikeres kisérletek vannak rá, r, de gyakorlati alkalmazásuk ma még g futurisztikus ötletnek tűnhet t 63
Felhasznált lt irodalom Virrasztó Tamás: Titkosítás és s adatrejtés: Biztonságos kommunikáci ció és s algoritmikus adatvédelem, delem, NetAcademia Kft., Budapest, 2004. Online elérhet rhető: http:// ://www.netacademia.net/book.aspx?id=1# (2. fejezet) William Stallings: Cryptography and Network Security, 4th Edition, Prentice Hall, 2006. (Chapter( 2) Lawrie Brown előad adás s fólif liái i (Chapter( 2) Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone : Handbook of Applied Cryptography,, CRC Press,, 1996, online elérhet rhető: http:// ://www.cacr.math.uwaterloo.ca/hac/ (Chapter 1) D. R. Stinson: Cryptography, Theory and Practice, Chapman & Hall/CRC, 2002 (Chapter 1) 64