Nyitólap Magunkról Legújabb szám
 
Grafodidakt
-Szellemi Műhely
-Írásszakértő
-Gyermekrajz-Szimbólumok
-Mentálhigiéné
-Média-Humán
-Oktatás - Szakmatörténet
-Nevelési Tanácsadó
-Színes
-Pszichológia
-Nagyító alatt
-Pantheon
-Mesterségük címere
websas.hu
Nyitólap / Rovataink / Tartalom
Kriptográfia - avagy a Titkosírás napjainkban

A kriptográfia vagy a titkosírás egyszerûsítve, õsi, mint a civilizáció a földön. A kifejezés a mai értelmezés szerint nem csak az írást jelenti, hanem minden híradás technikai eszköz, mint a telefon a rádióhullámok és a számítógépes hálózatokat is. A cél régen is, mint most az volt, hogy megakadályozzák az illetékteleneket abban, hogy megértsék, mit üzennek az illetékesek egymásnak akár írásban akár szóban. Erre volt, van és lesz szükség a jövõben is.

Képzeljetek el a mai életben, pl. Ha minden bank adatai (betétesek neve, számla száma és összege) olvashatók lennének a bûnözõk elõtt, természetesen a betétesek összes pénzét kilopták volna anélkül, hogy ki kellene rabolni egy bankot. Vagy képzeljetek el, hogy a hadi üzeneteket az ellenfél olvassa vagy hallja, vagy a forródrótos telefon beszélgetései az amerikai és az orosz elnök között hallhatóak bárki számára, aki szeretne egy kicsit “kukucskálni”. Természetesen nagy baj származhatna ebbõl, hanem titkosítanánk saját üzeneteinket vagy dokumentumainkat.

Az ókori titkosírások
Az ókori görögök használták a titkosírást, amikor a saját abc-jûket számokra átfordították, úgy hogy minden betûnek külön száma volt. Így készítettek olyan kockás táblázatot, amely az összes abc-t tartalmazta. Pl. Ha a táblázat 4 x 4-es kockából állt, akkor a kocka sora fölötti számot 1-tõl 4-ig, hasonlóképpen az oszlop melletti számot 1-õl 4-ig számozzák. Minden kockában szerepelt egy betû, így minden betûnek volt kétszámjegyû kódja, elõször a vízszintes utána a függõleges. Pl. Ha az elsõ kockába egy “F” betût rak, akkor a kódja “11” lesz, és ha az “L” betût rak a következõ kockába, akkor a kódja “12” és így tovább.
Bár ez a módszer fantasztikus volt, annakidején, hogy a Görögök ellenfelei ne értsék, milyen hadi üzenetet hord magával a “hírnök”, de a mai nap titkosírásai mellett, ezt nem lehet másképpen nevezni, mint egy gyerek játékot, mivel nem kell hozzá szakember, hogy bárki megfejtse a kódot, miután egypár órát eltöltött azzal, hogy megfigyelje a kódok ismétlõdését és rögtön rájöjjön, hogy az ismételt “11” kód nem más mint az “F” és így tovább, minden betûvel.

Július Cézár, Római császárnak is titkosírása volt, nem írta a latin betûket, úgy ahogy a latin nyelv írja, hanem mindig csúsztatta a betûket elõre három betûre az ABC sorrendje szerint.
Mint az elõzõ titkosírásnak a gyenge pontja az volt, hogy minden betûnek egyetlen kódja van, így pl. az “m” kódja mindig “p” lesz és ezt nagyon könnyen, kilehet következtetni minden jó figyelõnek, aki szán rá egy pár órát a megfejtésére.

A kriptográfia születése
A kriptográfia igazi születése a II. Világháború idején volt. Akkor az egyetlen hírközlési módszer a rádió volt, amivel nem lehetett titkosítani a primitív állapotban lévõ telefonhálózatokat. Magát a rádió üzenetet pedig lehetet fogni és olvasni. Úgy kellett titkosítani az üzeneteket, hogy az ellenfél ne értse. A háború elõtt voltak forgalomban olyan titkosító rendszerek, amelyeket civil célokra használtak Európában. Ezeket fejlesztették tovább, hogy megfeleljen hadi célokhoz. Hasonlóképpen volt a Japánoknak is, írástitkosító rendszerük, amelyet a nyelvükbõl származtattak, így nyugati ember felfogása szerint nehéz volt megérteni.
A kód megfejtéséhez kiváló matematikusokat foglalkoztattak, azért mert a titkosírás ekkor már olyan bonyolult volt, hogy csak az ismert matematikai elemzésekkel lehetett megfejteni. Bizonyos országoknak több tapasztalata volt, mint a többinek, így pl. A Németeknek és a Lengyeleknek elég tekintélyes tapasztaltuk volt ezen a téren.
Az Enigma megjelenése
A Németek írástikosító gépe a II. Világháború idején az Enigma volt. A háború elejétõl, végig azt hitték, hogy ez megfejthetetlen, pedig a szomszéd Lengyelek sok mindent tudtak róla. Sikerült megfejteniük sok fontos üzentet, az egyik maga, Lengyelország lerohanásának parancsa volt. A Lengyelek is terveztek hasonló gépet, úgy hívták, “BOMBE”.
Lengyelország megszállása után. A Lengyel kódmegfejtõknek át kellett adni az Angoloknak és a Franciáknak a munkájuk eredményét a “BOMBET”, hogy folytassák az ördögi titkosító gép rendszerének megfejtését. A Cambridge egyetemet kiváló eredménnyel végzõ matematikusai, akiknek nem volt más dolguk abban az idõben, mint fejtörõ játékokat készíteni egymásnak, hogy megfejtsék. Közöttük volt egy igazi tehetség úgy hívták “ALAN TURIN”. Ennek a fiatal matematikusnak döntõ szerepe volt abban, hogy végelegesen megértsék a szövetségesek miként is mûködik ez a gép amirõl a Németek végig azt hitték, hogy csak Német agy képes ilyen bonyolult írás titkosító rendszert kitalálni.

Mi az Enigma?
A gép hasonlított egy hagyományos írógéphez, képes volt az egyes betûket más-más betûként megjeleníteni kódolt szöveg formában. És visszakódolni eredeti formába. A gép a következõ elemekbõl állt.
Egy 26 latin betûs billentyûzet.
Egy 26 betûs lámpás deszkalap.
Egy kódoló keverõ készülék “SCRAMBLER”, amely három rotor (forgó kerékbõl) állt.
Egy csatlakozó deszka vagy “STECKERBOARD” amely pótlólagos titkosító szintet adott a gép egész biztonságához.
Mind ezek az elemek a következõképpen csatlakoztak egymással. A billentyûzet és a lámpadeszka egybekötve kábel rendszerrel, amelynek 26 csatlakozása volt. Amikor egyetlen billentyû sem volt benyomva az összes lámpa csatlakozott a kábelrendszerhez, a meglévõ áram késztetett minden lámpát arra, hogy kigyulladt állapotban maradjon. De ha egy billentyût benyomtak, akkor az áram rajta megszakad és a lámpája a deszkán, kialszik.
Az Enigma jellege az volt, hogy nem lehet egyetlen betût sem saját magára fordítani. A kódoláskor tehát az “A” betût sohasem lehet A-nak találni a kódolt szövegben. Így jól mûködött a billentyûzet/lámpadeszka rendszere. Amikor egy betût benyomtak, csak egy kábelnek volt áram és a többi 25 billentyû reagált a kódolt betûre. A kódolt betû a többi elemek mûködésének az eredménye volt.
A mai kriptográfia.
A mai kriptográfia sokkal bonyolultabb, vannak törvényei a fejlett országokban és egyezmények ezek között, amelyekben a titkosító gépek használatát, exportját és importját szabályozzák, hogy továbbra is védjék a hadi tikosító rendszerüket és a bank rendszerüket is, ne hogy illetéktelenek kezébe kerüljön a fontos információ. Aztán a számítástechnika, amely nagyon könnyûvé tette bárkinek tikos üzenteket váltani anélkül, hogy bármilyen hatóságnak legyen hatalma vagy kapacitása, hogy megfejtse a kódolt üzentet. A mai számítógép világában nem beszélhetünk 712882560 kombinációról, mint a II. Világháború Enigmájáról, hanem több millió, sõt akár milliárd és trillió kombinációkról, amelyek a mai digitális kódoló gépek és számítógépek tudnak produkálni. A “bit” a számítógépes kód kulcsnak az egysége. A kód megfejtõk a legerõsebb számítógépek mellett 128 bites kód rendszert tudnak megoldani több idõ igénybe vételével. A 256 bites és 652 bites kódot (nagy nehezen). Egy ember élete nem elég, hogy valaki megtudjon, fejteni egy 1024 bites kódot, amelyek gépeken és számítógépen ma kaphatók (szigorú engedélyek mellett). Azok akik feltalálják ezeket a kódokat (jobban szólva „kód algoritmust“) úgy hívjuk „KRIPTOGRAFIKUSOK“ , miközben azok akik foglalkoznak ennek az algoritmusoknak a megfejtésével, úgy hívjuk „KRIPTOELEMZÕK“. Mind a KRIPTOGRAFIKUS és a KRIPTOELEMZÕ egy matematikus, aki a matematika elemzõ módszereivel foglalkozik egyik a kód helyes elõállítására törekszik a másik a kód megfejtésére.

A kriptográfia matematikai apparátusa és elvei
Az algoritmus
A rejtjelezõ algoritmusok alatt olyan matematikai apparátust kell érteni, amely egy tetszõleges, “nyílt” adathalmazból úgy állít elõ egy transzformált, “kódolt” adathalmazt, hogy abból az eredeti nyílt adathalmaz visszanyerhetõ, visszafejthetõ legyen.

Vannak olyan adatstruktúrák, amelyekben megengedhetõ a rejtjelezés és a megoldás (a rejtjelezett anyag illetékes visszaállítása, amit szakkifejezésben nem megfejtésnek hívnak) folyamatában bizonyos információveszteség. Így van ez, például a beszédnél, ahol az adathalmaz jelentõs redundanciája ezt egyértelmûen lehetõvé teszi. Általában azonban ez nem jellemzõ, a kódolás, dekódolás folyamataiban nincs információvesztés, sõt szûkebb értelmezésben az információvesztést okozó beszédtömörítõ eljárásokat, amelyek végül is egyfajta rejtjelezést is jelentenek, nem tekintik a rejtjelezési folyamat szerkezeti elemének.
A rejtjelezõ algoritmusok követelményrendszere - a kriptográfia néhány ezer évre tehetõ történeti fejlõdése során - többé-kevésbé tisztázódott. Kialakultak azok a matematikai elvek és módszerek, amelyek alapján közel azonos kriptográfiai erõsségû algoritmusok készítése ma már “rutinfeladatnak” számít.
Általánosnak mondható alapkövetelmény az, hogy a rejtjelezés változtassa meg az adathalmaz statisztikai szerkezetét - a rejtjelezett anyag gyakorlatilag “véletlen” statisztikai szerkezetet mutasson.
A különbözõ algoritmikus “üzemmódok” az átviteli csatorna jellegzetességeihez is igazodnak. A rejtjelezett anyag egy bitjének megváltozása (hibabehatás) az egész üzenetet is tönkreteheti - “lavinahatás” - vagy csak az üzenet meghatározott szakaszára (néhány Byte) terjed ki.
Önmagában az algoritmikus védelem kevésnek bizonyul. Igaz ugyan, hogy az algoritmikus védelem a kriptográfia alapvetõ eszköze, de a kriptográfiai rendszert úgy kell kialakítani, hogy a “külsõ, vagy belsõ (konspiratív) támadás” az algoritmus ismeretében (az algoritmus “zsákmányolása” esetén) se veszélyeztesse a rejtjelezett adatokat, azok az algoritmus ismeretében is “megfejthetetlenek” legyenek.
Jellemzõ példa az algoritmussal kapcsolatos fejtegetésre a DES (DATA ENCRYPTION SANDARD), amely a 70-es évek elején az Egyesült Államokban “szabványosított” rejtjelezõ rendszer lett. Az algoritmus teljesen PUBLIKUS. Számos cikkben jelent meg - különbözõ programozási nyelveken - az algoritmus korrekt forrásnyelvi leírása is, így gyakorlott programozó néhány órai munkával azt realizálni is tudja. A DES mint rejtjelezõ rendszer azonban sok esetben kellõ védelmet jelent bizalmas, de nem államtitok körbe tartozó adatok biztonságához.
Hasonló a helyzet az izraeli eredetû RSA algoritmussal is, amely a nyilvános kulcsú rendszereknek (PKS – PUBLIC KEY SYSTEM) napjainkban is legerõsebbnek tartott algoritmusa. A (meghökkentõen egyszerû) algoritmus PUBLIKUS, mindenki számára elérhetõ. A belõle felépített rejtjelezõ rendszerek erõssége azonban - akár a rejtjelezés, akár a hitelesítés vagy partnerazonosítás tekintetében is a ma ismert egyik legerõsebb rendszer.

Kulcs hossza (bit) Az összes kulcs teszteléséhez szükséges idõ hossza (Deep Crack)
40 10 sec
56 7 nap
72 1 381 év
88 90 544 142 év
104 5 933 900 946 398 év
128 99 554 337 900 332 014 087 év

Szimmetrikus kulcsú titkosítás:

A szimmetrikus kulcsú titkosítási algoritmusok közös jellemzõje, hogy a titkosításra és a dekódolásra ugyanazt a kulcsot használjuk. Ha ilyen típusú titkosítással akarunk egy kommunikációt biztosítani, akkor mind a küldõ félnek, mind a fogadó félnek ismernie kell a kulcsot. Ehhez viszont a kommunikáció megkezdése elõtt meg kell állapodniuk egy közös kulcsban, és azt titokban kell tartaniuk. Az üzeneteket csak a titkos kulcs segítségével lehet dekódolni, így egy esetleges támadó a kommunikációt lehallgatva se tudja megérteni az üzeneteket, illetve rejtjelezni se tud egy hamis üzenetet.
A kulcs a titkosító algoritmus egyik paramétere.
Amennyiben az Interneten keresztül szeretnénk biztonságos szolgáltatásokat nyújtani, mindenképpen védenünk kell kommunikációnkat. A rejtjelezéshez elõször ki kell választani egy megfelelõen robosztus titkosító algoritmust. Általában elmondható, hogy az elõzetes várakozással szemben azok a megbízható titkosító algoritmusok, melyek nyilvánosak, azaz mûködésük elve mindenki számára szabadon hozzáférhetõ. Több érv is szól a nyilvánosságra hozott titkosító algoritmusok mellett:
• A nyílt algoritmus feltörhetetlenségét nem titkossága adja, hanem matematikai törvényszerûségek.
• Egy erõs és egy rossz megvalósítású algoritmust nem lehet megkülönböztetni egymástól kizárólag a “késztermékeket” – tehát a kódolt és a kódolatlan szöveget összehasonlítva, csakis a megfelelõ matematikai transzformációk vizsgálatával.
• Egy nyílt algoritmusnál a felhasználók biztosak lehetnek benne, hogy nincs az algoritmusban egy hátsó kiskapu, melyen keresztül a beavatottak kulcs nélkül hozzáférhetnek a bizalmas információkhoz.
A szimmetrikus kulcsú titkosítási módszerek legnagyobb hátránya, hogy a titkos kulcsot a küldõnek és a címzettnek is ismernie kell. Ehhez valamiképpen meg kell egyezniük elõre egy adott kulcsban, ami biztonságos kommunikációt feltételez. Az e-business során azonban az adatok jellemzõen nem biztonságos kommunikációs csatornákon folynak, hiszen ahhoz, hogy biztonságosak legyenek, szükség lenne egy közös kulcsra, amit viszont egy biztonságos csatornán kellene elküldenünk. Bár a titkos kulcs elküldésére a szimmetrikus algoritmusok esetében is van lehetõség ennél elterjedtebb megoldás a nyilvános kulcsú titkosítás használata.

Aszimmetrikus kulcsú titkosítás:
Nyilvános kulcsos módszer: ezen eljárás egy 1976-ban született matematikai megoldás. Legismertebb megvalósítása az RSA, melyet három matematikus (Rivest, Shamir és Adelman) dolgozott ki 1977-ben az USA MIT (Massachusetts Institute of Technology) egyetemén www.rsasecurity.com/rsalabs/rsa_algorithm. Lényege, hogy minden résztvevõ (címzett és feladó egyaránt) rendelkezik két kulccsal: egy titkossal és egy nyilvánossal. A kulcsokat egy erre a célra fejlesztett programmal állítja elõ mindenki, saját magának. A két kulcs egyszerre jön létre; a titkosat eltesszük magunknak, a nyilvánosat pedig (akár e-mailen is) elküldjük mindazoknak, akikkel levelezni szeretnénk. A nyilvános kulcsú rejtjelezés alapötlete, hogy a kódolás folyamatát elválasztja a dekódolástól, és olyan algoritmust használ, ahol a kódoláshoz használt paraméter nem azonos a dekódoláshoz használt paraméterrel, és a kódoláshoz használt paraméterbõl nem határozható meg a dekódoláshoz szükséges paraméter a módszer ismeretében sem. A nyilvános kulcsú titkosítással elküldött üzenet egy olyan ládához hasonlítható, melyet bezárni a nyilvános kulccsal, de kinyitni már csak egy másik, a titkos kulccsal lehet. Ezek a kulcsok egymással összefüggnek: a titkos kulccsal lehet megfejteni azt az üzenetet, amit a nyilvános kulccsal kódoltak.


Gyakorlati megvalósítások
A gyakorlati megvalósítások során azonban nem az egész üzenetet szokták nyilvános kulcsú algoritmussal kódolni, mert a nyilvános kulcsú módszerek (nem csak az RSA) lassúak. Ezért nem alkalmasak arra, hogy magát az m üzenetet kódolják, ha az hosszú. A szokásos eljárás az, hogy az üzenetet egy gyorsabb titkos kulcsú rejtjelezéssel kódolják, a használt – véletlenszerûen generált - kulcsot pedig a nyilvános kulcsú módszerrel rejtjelezik, és a kettõt együtt küldik el. Az ilyen egyszer használt kulcsot viszonykulcsnak (session key) nevezzük. Tehát a titok megfejtéséhez szükséges egyik kulcs paradox módon éppen a rejtjelezett szöveggel együtt utazik. (Így dolgozik a PGP is, az RSA segítségével titkosítja a szimmetrikus kulcsot, majd a továbbított üzenet tényleges kódolása az IDEA www.cs.duke.edu/~shu/cps220/node3.html algoritmussal történik.) Ez a módszer - amit borítékolásnak, vagy egy utas kulcsforgalomnak is neveznek - ötvözi a titkos és nyilvános kulcsú rejtjelezések elõnyeit. Nincsen szükség elõre megállapodni a titkos kulcsban, hiszen azt a szöveggel együtt el lehet küldeni, ugyanakkor a kódolás és dekódolás gyors, mert a lassú nyilvános kulcsú rejtjelezõ algoritmussal csak a titkos kulcsot kell kódolni az egyik és dekódolni a másik oldalon. Ez a módszer tehát igen jó kulcs elosztást biztosít a titkos kulcsú algoritmusok számára.


forrás: www.kriptográfia.lap.hu