Bevezetés a kriptográfiába I. A kriptorendszerek első generációja Segédlet az Információtechnika c. tárgy Kriptográfia fejezetéhez

Hasonló dokumentumok
A kiptográfia alapjai. Történet és alapfogalmak

A szimmetrikus titkosítás s első generáci

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

Kriptográfiai alapfogalmak

Kriptográfia I. Kriptorendszerek

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA

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:

Információs társadalom alapismeretek

Webalkalmazás-biztonság. Kriptográfiai alapok

Sapientia Egyetem, Matematika-Informatika Tanszék.

Informatikai Rendszerek Alapjai

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

Sapientia Egyetem, Műszaki és Humántudományok Tanszé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.

Modern titkosírások és a matematika

Fábián Zoltán Hálózatok elmélet

XII. Bolyai Konferencia. Bodnár József Eötvös Collegium II. matematikus, ELTE TTK

PRÍMSZÁMOK ÉS A TITKOSÍRÁS

KOVÁCS BÉLA, MATEMATIKA I.

Harmadik elıadás Klasszikus titkosítások II.

Data Security: Access Control

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Webdesign II Oldaltervezés 3. Tipográfiai alapismeretek

Informatikai alapismeretek

Valószínűség-számítás, statisztika, titkosítási és rendezési algoritmusok szemléltetése számítógép segítségével Kiss Gábor, Őri István

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Az Informatika Elméleti Alapjai

4. Előadás Titkosítás, RSA algoritmus

Kódolás. A számítógép adatokkal dolgozik. Értelmezzük az adat és az információ fogalmát.

Elektronikus aláírás. Gaidosch Tamás. Állami Számvevőszék

IP alapú távközlés. Virtuális magánhálózatok (VPN)

A főtengelyproblémához

Az Informatika Elméleti Alapjai

A fejlesztés várt eredményei a 1. évfolyam végén

A PiFast program használata. Nagy Lajos

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

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

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

1. feladat: A decimális kódokat az ASCII kódtábla alapján kódold vissza karakterekké és megkapod a megoldást! Kitől van az idézet?

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

Feladat: Indítsd el a Jegyzettömböt (vagy Word programot)! Alt + számok a numerikus billentyűzeten!

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

Matematika. 1. osztály. 2. osztály

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

Sapientia Egyetem, Matematika-Informatika Tanszék.

Infóka verseny. 1. Feladat. Számok 25 pont

OPERÁCIÓKUTATÁS, AZ ELFELEDETT TUDOMÁNY A LOGISZTIKÁBAN (A LOGISZTIKAI CÉL ELÉRÉSÉNEK ÉRDEKÉBEN)

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

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Titkosírás. Biztos, hogy titkos? Szabó István előadása. Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...

Prímtesztelés, Nyilvános kulcsú titkosítás

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Elektronikus aláírás és titkosítás beállítása MS Outlook 2010 levelezőben

Diszkrét matematika I.

Titkosítás NetWare környezetben

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Az Informatika Elméleti Alapjai

Regionális forduló november 18.

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

Leképezések. Leképezések tulajdonságai. Számosságok.

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

JELENTKEZÉSI LAP. Név: Osztály: cím (továbbjutásról itt is értesítünk): Iskola: Felkészítő tanár:

Sapientia Egyetem, Matematika-Informatika Tanszék.

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

PKI: egy ember, egy tanúsítvány?

Adatbázismodellek. 1. ábra Hierarchikus modell

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

ö ő í ő ü ö ö í ö ö ö ű ő ö í ü í ö ű í ő ö ö ú ö í ö ö í ö ú ö ő í ö ő Á ű ö

A szláv írásbeliség kialakulása. Lőrinczné dr. Bencze Edit

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

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

II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés

Kriptográfia. Smidla József Pannon Egyetem, Műszaki Informatikai Kar. Veszprém, augusztus 21.

A nem alfabetikus írásrendszerek

Bevezetés a Nílus-parti hieroglifák magyar nyelvő olvasatába alapfokú elıadássorozat kollokviumának írásbeli kérdései.

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

EMMI kerettanterv 51/2012. (XII. 21.) EMMI rendelet 1. sz. melléklet Matematika az általános iskolák 1 4. évfolyama számára

A matematikai feladatok és megoldások konvenciói

Nyelvtan. Most lássuk lépésről lépésre, hogy hogyan tanítunk meg valakit olvasni!

Waldhauser Tamás december 1.

Biztonság, védelem a számítástechnikában

4. SOROK. a n. a k (n N) a n = s, azaz. a n := lim

Függvények növekedési korlátainak jellemzése

Nagyméretű adathalmazok kezelése (BMEVISZM144) Reinhardt Gábor április 5.

2018, Diszkre t matematika. 10. elo ada s

Az elektronikus aláírás és gyakorlati alkalmazása

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas leveleinket?

Szegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT. Fertői Ferenc

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

ECDL Információ és kommunikáció

KÓDOLÁSTECHNIKA PZH december 18.

Kriptográfia Harmadik előadás Klasszikus titkosítások II

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Data Security: Access Control

Harmadik gyakorlat. Számrendszerek

Átírás:

Budapesti Műszaki Főiskola Kandó Kálmán Villamosmérnöki Főiskolai Kar Számítógéptechnikai Intézet - Székesfehérvár Bevezetés a kriptográfiába I. A kriptorendszerek első generációja Segédlet az Információtechnika c. tárgy Kriptográfia fejezetéhez Dr. Tóth Mihály főiskolai tanár Táskaszám: 2002. szeptember

SZKÜTALI Spártai vezéri pálca, amit a rátekert szalaggal titkosításra is használtak. Az American Cryptogram Association (ACA) hivatalos szimbóluma Felelős kiadó: Dr. Bognár Sándor főigazgató Készült a BMF Sokszorosító üzemében Műszaki vezető: Bélteky István Példányszám: 200 Munkaszám: 2

Tartalomjegyzék Bevezetés a kriptográfiába... 5 Előszó... 5 Titkosítás és rejtés... 6 Kriptorendszerek generációi... 7 Alapfogalmak és jelölések... 9 Néhány általános megjegyzés a kriptorendszerekről... 11 Az ó-egyiptomi írások és nyelv... 15 Az ó-egyiptomi írások és nyelv... 15 A sumér nyelv... 16 A sumér nyelv... 16 A krétai lineáris B írás... 16 A megfejtések ma is hasznosítható tanulságai... 18 A megfejtések ma is hasznosítható tanulságai... 18 Első generációs kriptorendszerek... 19 A helyettesítés... 19 Monoalfabetikus helyettesítési módszerrel titkosított szöveg feltörése... 29 A reciprocitás elve... 41 A feltörés receptje... 41\\ A 2.1 megfejtési példa tanulságai... 44 Az első generációs rendszerek uniformitásai... 46 A két- és több-betűs (biliterális, polyliterális) helyettesítések... 48 Mire jó a szövegstatisztika?... 49 A φ teszt... 51 A koincidencia-index... 52 A transzpoziciós titkosítás... 53 A geometriai titkosítás... 53 Miért geometriai ez a titkosítás?... 54 Transzpozició forgatható ráccsal... 56 A transzpoziciós titkosítási transzformáció jellegzetes tulajdonságai... 57 Az ismételt transzformációk... 58 A szorzat-transzformáció és az invertálhatóság... 59 Tárgymutató... 62 3

Szakirodalom... 64 4

1 Bevezetés a kriptográfiába 1 Előszó Amióta az ember ismeri az írást és olvasást, azóta igény van arra is, hogy valamely leírt szöveget csak annak az elolvasására hivatottak legyenek képesek elolvasni és értelmezni. Más esetekben az írásokat, vagy a mai képregények ókori megfelelőit éppenséggel arra szánták, hogy lehetőleg minél több ember képes legyen azokat értelmezni. Az utóbbi kategóriába tartoznak pl. a királyok nagy tetteit, isteni származását, dicsőségét vagy törvényeit megörökítő képek, feliratok, de ide tartoznak azok a feliratok, lenyomatok, jelek is, amelyek hitelesíteni hivatottak e jelekkel ellátott írásokat, okleveleket, kereskedelmi szerződéseket, rendelkezéseket, mint pl. az akár 4000 évnél is régebbről előkerült pecsétek. Mind a kétféle célnak léteznek a mai megfelelői. Az előbbiek a mai modern titkosírások, üzenetek, az utóbbiak pedig a valamilyen dokumentumot hitelesítő, annak eredetét, tulajdonjogát, szerzőjét azonosító technikák. Ma már sok országban így Magyarországon is törvény gondoskodik arról, hogy ezeket az (elektronikus) technikákat a hagyományos aláírásokkal és hitelesítési módszerekkel azonos jogérvényűnek fogadják el mind a közigazgatásban, mind a mindennapi joggyakorlatban. Miért aktuális kérdés ma a kriptográfia gyűjtőnéven összefoglalt témakör és annak alkalmazásai? 1 A nyílt, mindenki által (t.i. aki a nyelvet tudja) megérthető információk titkosításának, és az ilyen titkosított információ megfejtésének tudományát nevezik idegen szóval kriptográfiának (Cryptography). Ezt a szót aztán az angol terminológia szóösszetételekben, jelzős szerkezetekben és igeként is használja ( Pl., Cryptoanalysis, Criptographic sg. Cryptanalyst, Cryptosystem stb.) A Cryptosystem kifejezés felöleli egy titkosítási/megfejtési rendszer módszereit, sajátságait. Helyette a szó szerinti fordítását, azaz a kriptorendszer megnevezést alkalmazzuk. Ismert és a magyar szaknyelvben használatos szó a francia eredetű "sifrírozás" (angolban: encryption) szó is, valamint a származékai (pl. "desrifrírozás"), aminek az angol terminológiában a "cyphering - decyphering" szópár a megfelelője. A sifrírozást (vagy a "cyphering"-et) persze jól helyettesíthetjük a "titkosítás" szóval, s még a "titkosított szöveg" kifejezés is elmegy (a "ciphertext" helyett), a fosztóképzős alakokra (desifrírozás, decyphering) azonban már új szót kell találnunk, mint pl. "megfejtett" szöveg, vagy megfejtett kód. Ezek kissé nehézkesen hangzanak. Az azonos alapelven működő "cyphering" és "decyphering" gyűjtőfogalmaként alkalmazott "cipher" (vagy a francia chiffre) fogalom magyar megfelelőjének megtalálásával aztán végképp gond van: esetenként kiírjuk helyette a "titkosító - megfejtő" (eljárás) kifejezést, vagy egyszerűen csak titkosító esetleg kódoló eljárásról beszélünk, de beleértjük a megfejtést is. Az alábbiakban, ahol csak lehet, magyar kifejezéseket használunk, de esetenként elkerülhetetlen valamelyik idegen eredetű kifejezés magyar helyesírás szerinti átírásának használata. Ahol lehet, zárójelben vagy lábjegyzetben megadjuk az angol szakkifejezést is azoknak, akik az angol szakirodalmat olvassák. Jóllehet a magyarnyelvű szakirodalomban használják már a "kriptográfia" helyett a "titkosítás" szót, ez még korántsem elfogadott, s addig, amíg jobb szó nincs rá, itt a "kriptográfia" szót és válfajait is használjuk. Az alábbiakban nem csak lábjegyzetben, hanem a főszövegben is összefoglaljuk azokat a legfontosabb fogalmakat és megnevezéseket, amelyeket használni fogunk. 5

Nos nagyjából a második világháború végéig (és az azt követő további két évtizedben) a titkos üzenetváltást szinte kizárólag katonai és diplomáciai célokra alkalmazták. Ez persze nem jelenti azt, hogy éleseszű, a rejtvények készítését és megfejtését szórakozásnak tekintő emberek nem készítettek korábban is titkos írásokat vagy nem foglalkoztak elfelejtett nyelvek írásainak megfejtésével, de a titkosírások széleskörű, civil alkalmazásának és elterjedésének kezdetei kb. az 1970-es évek közepére tehetők. Titkosítás és rejtés Említettük, hogy amióta írás létezik, annak az igénye is létezik, hogy az írott üzenetet csakis az arra illetékes személy vagy személyek legyenek képesek elolvasni és értelmezni. Bizonyos mértékig szóban közölt információkra is érvényes ez a megállapítás. Nicht for dem Kinder mondták a szülők egymásnak, ha olyasmi került szóba, amit nem a jelenlévő gyerekeik fülének szántak. 2 A második világháborúban a csendes óceáni amerikai flottánál navaho (Navajo) indiánokat alkalmaztak híradósokként olyan alkalmakkor, amikor szóban kellett a japánok számára érthetetlen üzeneteket küldeni és nem volt idő körülményes titkosításra és megfejtésre, valamint az üzenetküldő személyének a hitelesítésére. Az ókorban a titkosírások mellett vagy helyett elterjedten alkalmazták az üzenetek elrejtését is. Még olyan kuriózus módszereket is (a görögök), hogy egy rabszolga leborotvált fejbőrére tetoválták az üzenetet s megvárták míg kinő a haja. Ez után küldték el az üzenetet saját lábán a címzettnek. Polybios Kr.e. 200 120. élt görög történetíró a háború tudományáról írt könyvében titkosírási módszerek mellett rejtési módszereket is leír. Egy általa ismertetett módszer az, hogy egy ártatlannak látszó szöveg egyes jószerivel észrevehetetlenül megjelölt betűit összeolvasva kapjuk meg a rejtett üzenetet. Polybios maga ólomlemezre írt üzenet egyes betűit apró tűszúrásokkal ajánlotta megjelölni. Fény felé tartva az ólomlemezt, jól láthatóan előtűntek a jelölések. 3 E módszernek egy változatát aztán még a második világháborúban is használták úgy, hogy a diplomáciai postával küldött nyomtatott újságok egyes betűit jelölték meg pl. szabad szemmel nem is látható mikropontokkal. Számos láthatatlan tintát is használtak, ami csak vegyi hatásokra vagy hőre vált láthatóvá. Ma az elektronikus üzenetekben is elrejthető információ. Képekben pl. úgy, hogy egy-egy képponthoz tartozó un. szín byteok legkisebb helyiértékű bitjeibe rejtik az információt. Ez ugyan megváltoztatja a kép színeit, de csak szemmel észrevehetetlen mértékben. Meglepően sok ilyen rejtett információt tartalmazhat egy-egy kép. Ezzel a rejtési módszerrel azonban az a prob- 2 Felnőttek körében azonban nem illik olyan nyelven párbeszédet folytatni, amit nem ért meg a jelenlévők közül mindenki. Sajnos sok magyar turista gondolja külföldön, hogy úgysem érti senki, ha magyarul mondanak dehonesztáló megjegyzéseket egymásnak, pedig a legváratlanabb helyeken és alkalmakkor is lehet a közelükben olyan, aki megérti a magyar szót. Akár egy afrikai szafarin is a bennszülöttek között is. 3 Polybios még arra is kitért, hogy a vékony ólomlemezre írt üzenetet be lehet varrni egy saru dupla talpbőrei közé és akkor sem megy tönkre, ha a sarú elázik. A következőkben még visszatérünk Polybiosra, de jegyezzük meg, hogy elsősorban a történetírói tevékenységéről ismert s nem a titkosírások területén kitalált vagy leírt módszereiről. 6

léma, hogy elvész, ha a képet tömörítik, vagy editálják (átméretezik, a kontrasztját megváltoztatják, stb.). Lényegében ugyanígy, a legkisebb helyiértékű bitekben lehet információt elrejteni hang fileok esetében is. Html formátumú fileoknál kihasználható, hogy a formátum információt hordozó un. tag -ek nem érzékenyek a kisbetű-nagybetű váltásra s így információt hordozhatnak pl. a nagybetűk. Sajnos az un. fedőszöveghez képest igen kevés a tag, tehát csak kevés információ rejthető imígyen. Az álló vagy mozgó képekbe, vagy hangfilokba rejtett információ ma leginkább az elektronikus vízjel szerepét tölti be és a copy-right információk hordozására alkalmazzák. Az információrejtés, idegen szóval szteganográfia, nem tartozik a kriptográfia témaköréhez, ezért majd másutt foglalkozunk vele részletesebben. Kriptorendszerek generációi Jóllehet ma már nem szokás a számítástechnika (ill. a számítógépek) és alkalmazásaik újabb s újabb eredményeit egy-egy új generációként emlegetni, érdemes arra emlékezni, hogy korábban a számítógépek un. generációit lényegében az alkalmazott technika határozta meg. Ennek alapján neveztük (később) az elektroncsöves számítógépeket első generációs gépeknek, a félvezetős és un. ferrit-logikás számítógépeket második generációs számítógépeknek, s így tovább. Ennek az írásnak a szerzője úgy véli, hogy hasznos lehet a kriptorendszerek generációiról beszélni annak alapján, hogy milyen technikák jellemzőek az egyes generációkra. Teszi ezt annak a tudatában, hogy a mai modern kriptorendszerek, és különösen azok alkalmazásai már olyan széles területet érintenek (és olyannyira összefüggenek pl. az adatbiztonsági és kommunikációs kérdésekkel), hogy ma már nem érdemes újabb generációkról beszélni, mint ahogyan a számítógépek esetében sem tesszük. Nem a kriptográfia az egyetlen terület, amelynél az újabb s újabb rendszerek öröklik a megelőző rendszerek valamely lényeges tulajdonságait. A kriptográfia mindenesetre ilyen. Ezért nem csak érdekes, hanem a modern rendszerek megértéséhez szükséges is, hogy a korábbi, történeti kriptorendszerek lényegét megértsük, legalább röviden foglakozzunk ezekkel a rendszerekkel. A kriptorendszerek generációinál egészen biztosan nagy szerepe van az alkalmazott titkosítási/megfejtési módszereknek, technikának, közös néven az un. transzformációs módszereknek 4, de nagy szerepe van az üzenet továbbítási technikájának is, vagyis a kommunikációs technológiának 5 is. 4 A nyílt szöveget a titkosítási eljárás során átalakítjuk, más szóval transzformáljuk. Innen az elnevezés. 5 Szigorúan véve ez nem csak a kommunikációs technikát jelenti, hanem azokat a nagyon ravasz módszereket is, amelyekkel az üzenet sértetlensége legalább ellenőrízhető és nagy biztonsággal csakis a küldő és a címzett között jöhet létre a kívánt kapcsolat. Mindezeket gyűjtőnéven protokolloknak szokás nevezni. 7

Eszerint a kriptogenerációkat két technológia együttesen határozza meg. Nevezetesen a transzformációs és a kommunikációs technológia. Valahogyan úgy, ahogyan ezt a következő ábra szemlélteti NYÍLT SZÖVEG KÓDOLÁS TITKOSÍTOTT SZÖVEG DEKÓDO- LÁS NYÍLT SZÖVEG TITKOSÍTÁS MEGFEJTÉS KOMMUNIKÁCIÓS TECHNOLÓGIA TRANSZFORMÁCIÓS TECHNOLÓGIA Jóllehet alább részletesebben is szólunk még a kriptorendszerek egyes generációiról, a következő táblázatban összefoglaljuk a legfontosabb jellemzőiket. 8

GENE- JELLEMZŐJE TRANSZFORMÁCIÓS KOMMUNIKÁCIÓS RÁCIÓ TECHNOLÓGIA 1. Monoalfabetikus Helyettesítés Nagyon ritkán: keverés Nem jellemző 2. Polialfabetikus és blokkos Helyettesítés (kézi módszerrel) KULCSSZÓ Nem jellemző 3. Mint az előző de nagyon sok ábécével Betűnkénti helyettesítés (elektro) mechanikus (pl. rotoros) géppel Rádió kommunikáció 4. Produkttranszformációk több iterációban ismételve más-más ún. szubkulcsokkal. Nagy kulcstér és nagy számítási kapacitás, de általában gyorsabbak, mint az 5. generációs rendszerek. Számítógéppel segített blokkos transzformációk, amelyeknek nem létezik a nyers erő módszerénél gyorsabb kulcs nélküli algoritmusos feltörése. Kommunikáció a világhálón, magánhálózatokon, vagy legalább virtuális magánhálózatokon 5. Azonos titkosító és visszafejtő transzformációk INVERZ kulcsokkal Nagyon nagy számítási igény. Lényegében u.a. mint a 4. generációnál, de a transzfomációk jellege más Lényegében u.a. mint a 4.generációnál, de a titkosított kommunikációt nem kell kulcs-cserének megelőznie Alapfogalmak és jelölések Az eredeti, titkosítatlan szöveg 6 : nyílt szöveg. Angol terminológiával: plaintext vagy cleartext. Ha a nyílt szöveget egy képletben egyetlen betüvel jelöljük (ld alább), akkor arra a P jelölést használjuk a Plaintext kifejezés rövidítéseként. 6 A szöveg itt bármilyen karaktersorozat lehet, tehát számok is, vagy egy képpontokból álló kép egyes pontjaira vonatkozó (szín- vagy szürke-árnyalat) információk sorozata. 9

A titkosítás után kapott, a beavatatlan számára érthetetlen szöveg: a titkosított szöveg, kód vagy kriptogram. 7 Angol terminológiával: ciphertext. Ha a titkosított szöveget egy képletben egyetlen betüvel jelöljük (ld. alább), akkor arra a C jelölést használjuk a Ciphertext kifejezés rövidítéseként. A titkosítási eljárás: kódolás vagy siffrírozás. Angol terminológiával: encryption (vagy encipherment). Ezért az erre vonatkozó képletekben E -vel rövidítik. Érdemes megjegyezni, hogy ez a titkosítási (vagy más szóval- kódolási) folyamat valamilyen algoritmus szerint átalakítja, azaz transzformálja a nyílt szöveget. A kulcs (angolul: key) az egész titkosítási és megfejtési eljárás igen-igen fontos eleme. Ezért aztán fontos az is, hogy az arra illetékes személyeken kívül ne juthasson senki más birtokába. A titkosítási eljárás és a kulcs együttesen hozza létre a nyílt szövegből a titkosított szöveget. Ezt így jelöljük: E K (P) = C Lényeges, hogy ugyanaz a titkosítási eljárás ugyanabból a nyílt szövegből más kulccsal más titkosított szöveget hoz létre, azaz E K1 (P) E K2 (P) ha K 1 K 2 A kulcs (vagy az egész titkosítási rendszer) kompromittálódásának nevezzük azt, ha a titkosítási kulcs arra illetéktelen személy birtokába jut. Ilyenkor szokás azt mondani, hogy arra illetéktelennek sikerült betörnie (betörés) a rendszerbe. Már itt hangsúlyozzuk, hogy a betörések túlnyomó többségének az oka emberi gondatlanság, a biztonsági előírások be nem tartása szokott lenni. (Pl. elbocsátott dolgozó bosszúja, akinek a távozásakor nem cserélték ki a kulcsokat, nem újították meg a jelszavakat, stb.) Egy adott titkosítási rendszerhez általában sokféle kulcs tartozhat, de egyáltalán nem mindegy, hogy hányféle. Ha egy kriptorendszernek mondjuk összesen 26 féle kulcsa létezhet, akkor biztosan nem nehéz és nem időigényes dolog kipróbálni mindegyik kulcsot egy ismeretlen kriptog- 7 A kód mindenesetre sokkal általánosabb fogalom, mint a kriptogram vagy siffe. Nehéz is definiálni, mint a nagyon széles körben használt fogalmakat általában. Azt mondhatjuk, hogy a kód valamilyen információnak valamilyen adott szempont szerinti leginkább alkalmas megjelenítési formája. Többnyire nem is titkosítás a célja. Gondoljunk pl. a Morze kódra, a tengerészeti jelzések nemzetközi kódjaira, vagy éppenséggel a DNS-ben kódolt genetikai információra. Kódnak tekinthető azonban pl. a közlekedésrendészeti táblákon egyegy ikonnal jelzett, nyelvhez nem kötött információk rendszere is. A titkosírások rendszerében azonban a kód a titkosított szöveget (ciphertext, siffre vagy kriptogram) jelenti. Kódolóknak nevezik azokat az embereket, akik a titkosítással foglalkoznak és kódtörőknek azokat, akik a titkosított szövegek megfejtésével. Ld. pl. David Kahn klasszikus könyvét. [8]. William F. Friedman (a második világháború híres kódtörőinek egyike) elég élesen megkülönbözteti a kriptogram és a kód fogalmát. Szerinte a kriptogramot úgy kapjuk, hogy valamilyen kriptográfiai módszerrel (algoritmussal) transzformáljuk a nyílt szöveg egyes karaktereit vagy rögzített hosszúságú karaktercsoportjait, blokkjait. Maga a transzformációs algoritmus változatlan, míg a hozzá alkalmazott kulcs változik. Ezzel szemben a titkosítási kódot egy un. kódkönyvvel állítjuk elő, amelyben tetszőleges karakterekhez, szavakhoz, több szavas kifejezésekhez, rész-szavakhoz egy-egy szimbólumot, vagy karaktercsoportot rendelünk hozzá. 10

ram megfejtésére, mert még a legrosszabb esetben is megtalálható a megfelelő kulcs a 26. próbálkozásra. Egy konkrét kriptorendszerben alkalmazható valamennyi lehetséges kulcs összességét kulcstérnek nevezzük, és az adott kriptorendszer biztonsága annál nagyobb lehet, minél nagyobb a kulcstér. A titkosított szöveg visszafejtése a dekódolás vagy desiffrírozás. Angol terminológiával: decryption (vagy decipherment). Ezért az erre vonatkozó képletekben D -vel rövidítik. A desiffrírozás a titkosított szövegből, azaz a kriptogramból előállítja az eredeti nyílt szöveget. Képletben: D K (C) = P A desiffrírozás (=dekódolás) a titkosítási (=kódolási) eljárás ill. algoritmus inverze. A dekódolási eljárás is transzformáció, amely a titkosított szöveget alakítja vissza az eredeti nyílt szöveggé. Kivétel nélkül minden tradicionális titkosítási rendszerben ugyanazt a kulcsot használták a kódoláshoz és a dekódoláshoz, bár nem feltétlenül ugyanolyan módon. (Gondoljunk pl. arra, hogy egy ajtó bezárásához és kinyitásához is ugyanazt a kulcsot használjuk, de záráskor egyik irányba, nyitáskor pedig az ellenkező irányba kell a kulcsot elforgatni.) Szimmetrikus rendszereknek nevezzük azokat a titkosító rendszereket, amelyek ugyanazt a kulcsot használják a kódoláshoz és a dekódoláshoz. Mint említettük az imént, minden tradicionális titkosító rendszer ilyen volt egészen 1976-ig, amikor is feltalálták az un. aszimmetrikus (vagy más szóval: nyiltkulcsú) rendszereket, amelyekben más a kódolás kulcsa és más a dekódolásé, de a két kulcs valamilyen bonyolult, és kívülálló számára megfejthetetlen módon összefügg egymással. A kódoló és a dekódoló eljárást, valamint az azokhoz használatos kulcsok rendszerét együttesen kriptorendszernek (Cryptosystem) nevezzük, a kriptorendszerekkel foglalkozó tudományt pedig kriptográfiának. A titkosított szöveg (= kriptogram) megfejtésére persze kiváncsi olyan ember is, aki nem ismeri a titkosítási kulcsot, bár lehet, sőt valószínű, hogy a titkosítási módszert mégis csak felismeri. A kulcs nélkül azonban vagy egyáltalán nem tudja megfejteni a titkosított szöveget, vagy csak többkevesebb nehézséggel. Az ilyen (tehát a kulcs ismerete nélküli) megfejtést kriptoanalízisnek vagy kód(fel)törésnek nevezik. A kriptoanalízisnek nem feltétlenül célja a titkosított szöveg visszafejtése. Lehet, hogy csak a kulcsát szeretné megismerni, amellyel aztán további szövegeket már könnyen meg tud fejteni. Az ilyen megfejtésekkel foglalkozó emberek a kódtörők (Codebrakers) vagy kriptoanalizátorok (Cryptanalists). Néhány általános megjegyzés a kriptorendszerekről 11

Valamikor úgy gondolták, hogy a titkosítás lényege annak a módszere, mert a módszer az, amire az illetéktelen úgy sem képes rájönni. Ezért aztán a titkosítás története során több módszerről is állították, hogy az megfejthetetlen. Ez többé-kevésbé igaz is volt a technikai fejlődésnek azon a szintjén, amely akkor állt fenn, amikor az adott módszert feltalálták. Legalább 200 éve rájöttek azonban arra, hogy a titkosításhoz használt kulcs az, ami igazán egyedivé és igazán biztonságossá teszi az alkalmazott módszert. A titkosítási módszer és a kulcs (vagy kulcsok) szerepe és jelentősége tehát nagyon is különböző. A ma használatos modern kriptorendszerek esetében a titkosítási módszer nem csak nyilvános, hanem egyenesen szabványosított 8, és ugyanúgy közzéteszik, mint bármely más szabványt. Nagyon sokszor és nagyon jól használhatók a kriptorendszerek lényeges tulajdonságainak megértetésére a zárak és lakatok analógiái. A mondottak szemléltetésére hadd említsük meg, hogy pl. egy ajtó zárjáról rendszerint első rátekintésre megállapítható, hogy milyen rendszerű zárról van szó (pl. un. cilinderzár), vagy egy számzáras táskáról az, hogy azon számkombinációs zár van, de a zár rendszerének az ismerete nem jelenti azt, hogy az kulcs nélkül is kinyitható. (Tekintsünk el itt és most a zárak feltörésének mestereitől, akiknek mellesleg tetemes időre lehet szükségük a bonyolult zárak feltöréséhez.) Tulajdonképpen két eset van: 1. Vagy található az adott kriptorendszerhez valamilyen algoritmus, amely lehetővé teszi a kulcs nélküli megfejtést is ill. azt, hogy a kulcsot meghatározzuk (analógia az álkulcs), 2. vagy nincs hozzá (ismert) megfejtési algoritmus. ebben az esetben nincs más mód a rendszer feltörésére, mint az összes lehetséges kulcs kipróbálása. Ezt nevezik a nyers erő (brute force) módszerének. A kriptográfia története során megfejthetetlennek nevezett rendszerek esetében azok feltalálásakor nem volt a feltörésükre alkalmas módszer, de azonnal feltörhetővé váltak, amint ilyen módszert találtak. (A később tárgyalandó un. de Vigenere rendszer esetében azért erre az azonnalra majdnem 300 évet kellett várni.) Ezek a rendszerek tartoznak tehát a fenti 1. csoportba. Ha a kriptorendszernek nem létezik (ismert) algoritmikus feltörési módszere, akkor nincs más lehetőség, mint valamennyi elképzelhető kulcsot sorra kipróbálni. Ezt nevezik a nyers erő (brute force) módszerének. Ezek a rendszerek tartoznak a fenti 2. csoportba és ezeknél van nagy jelentősége a kulcstér méretének. Tulajdonképpen az elképesztően nagyméretű kulcstér jelenti a mai modern rendszerek biztonságát is. Az un. erős kriptorendszereknél olyan nagy a lehetséges kulcsok száma, hogy a mai leggyorsabb számítógépekkel is ezerévekbe (vagy még hosszabb időbe) kerülne valamennyi 8 A szabványosítást megelőzően egy-egy kriptorendszert annyi megbízhatósági próbának vetnek alá (pl. igen magas díjakat tűznek ki adott időn belüli feltörésükre), hogy akármelyik potenciális felhasználó biztos lehet abban, hogy egy szabványos titkosító rendszer valószínűleg sokkal biztonságosabb, mint egy csakis az ő használatára kitalált új és egyedi titkosító rendszer, amelynek esetleg egyáltalán nincsenek előzetes referenciái. 12

lehetséges kulcs végigpróbálgatása. (Párhuzamos processzálásnál ez az idő lényegesen rövidebb, de még ekkor is elképzelhetetlenül hosszú lehet.) Nem nyilvánvaló azonban, hogy egy újonnan felfedezett kriptorendszer az 1. vagy a 2. csoportba tartozik-e. Lehet, hogy az innovátor meg van győződve arról, hogy az általa felfedezett kriptorendszernek nincs algoritmikus feltörési módszere s később valaki mégis talál hozzá ilyen módszert. 9 Ezért szokás a szabványosítás előtt nyilvánossá tenni az új rendszereket és versenyt hirdetni azok feltörésére. A szabványosításra csak azután kerül sor, hogy a bevezetendő új rendszer kiállta a kriptográfusok minden elképzelhető támadását. Ebben rejlik a szabványos kriptorendszerek megbízhatósága. Az elmondottakból következik, hogy a modern (erős) kriptorendszerek mind a 2. csoportba tartoznak, legalább is a mai ismereteink szerint. 10 A titkosító rendszereket kitaláló kriptográfusok és a kriptoanalizátorok (akik nemegyszer ugyanazok) között egyfajta verseny van: Melyikük képes túljárni a másik eszén? Melyik tud olyan rendszert alkotni, amit a másik nem tud feltörni, vagy fordítva: ki tudja előbb, vagy egyáltalán feltörni azt a rendszert, amelyet egy másik megalkotott? Ezért a kriptorendszerek kitalálásakor mindig gondolni kell arra, hogy hogyan lehet azt úgy megalkotni, hogy legalább is nagyon megnehezítsük a feltörést megkísérlő dolgát. Az alábbiakban mi is úgy tárgyaljuk a kriptorendszerek generációit, hogy megvizsgáljuk azok feltörési lehetőségét, módszerét is. Előbb azonban összefoglaljuk, hogy mit is kell tudni ahhoz, hogy megkísérelhessük egy titkosírás megfejtését. Ehhez a következő négy dolog kell: 1. Jó ha (legalább nagyjából) ismerjük azt a nyelvet, amelyen az a nyílt szöveg íródott, amelyből előállították a megfejtendő kriptogramot. 2. Valamilyen módon rá kell jönnünk, hogy milyen módszert alkalmaztak a titkosításhoz. (Identifikáció, azonosítás) 3. Meg kell határozni a titkosító rendszer vagy gép kezdeti beállítását. 11 9 Konkrét példák vannak arra is, hogy jelenleg nem létezik algoritmikus feltörési módszer és arra is, hogy egy kriptorendszerhez a rendszer publikálása után később mégis találtak ilyet. Az előbbi esetre példa az RSA rendszer, amelynek az az alapja, hogy csak próbálgatással lehet eldönteni egy igen nagy (pl. 200 jegyű) számról, hogy az prímszám-e, vagy ha összetett szám, akkor melyek a törzstényezői. Ezért az un. faktorizáción alapuló titkosítási módszerek (mint amilyen az RSA módszer is) csak addig megbízhatóak, amíg nem találnak valamilyen gyors algoritmust az igen nagy számok törzstényezőinek a meghatározására. (Már 300 éve hiába keresnek ilyen módszert, de ez nem jelenti azt, hogy nem is létezhet.) ellenpélda az un. knapsack titkosítás, amely a kitalálásakor igen megbízhatónak látszott de később El Gamal talált hozzá algoritmikus megfejtést. Ezért a knapsack titkosítást nem is tekintik erős kriptorendszernek. 10 Felmerülhet az a kérdés, hogy elképzelhető-e olyan titkosítási rendszer, amely nem csak a mai ismereteink szerint, hanem elméletileg is feltörhetetlen. Erre a kérdésre az a válasz, hogy igen, elképzelhető. Nem tudunk (ma) arról, hogy meg is valósítottak ilyen rendszert, de ha a titkosítás valamilyen fizikailag meghatározhatatlan elvre épül, akkor a természettörvényekből következik, hogy feltörhetetlen. Ilyen fizikai elv viszont létezik: Heisenberg határozatlansági tétele. 11 Később, a harmadik generációs (rotoros, elektromechanikus) titkosító gépeknél pl. nem csak a titkosítási kulcs lényeges, hanem az a kezdeti beállítás is, amelyből a gép kiindul, amikor egy üzenet titkosítását elkezdi. Ilyen gép volt pl. az un. Enigma, amelynél a kulcsot az éppen használt rotorok és azok sorrendje jelentette, a kezdeti beállítást pedig a kezdeti rotor-poziciók és az un. dugaszok kombinációja. Ilyen kezdeti beállítás azonban a modern szimmetrikus rendszereknél is van. A DES üzemmódjai kapcsán pl. szó lesz egy un. 13

4. Végül, de egyáltalán nem utolsó sorban, fel kell törni a rendszert, azaz meg kell fejteni a titkosírást, ha erre egyáltalán van valami remény. Az utóbbi félmondat a megfejtés egzisztenciájára utal. Más szóval arra, hogy ha lehet (és nagyon sokszor lehet), akkor vizsgáljuk meg először, hogy egyáltalán érdemes-e a megfejtés fáradságos munkájához hozzálátni. Nincs-e annak valamilyen elvi vagy gyakorlati korlátja? kezdeti vektorról (Initial vector), ami nem azonos a titkosítás kulcsával. Klasszikus rendszereknél mint amilyen pl. a Cézár kerék- a kezdeti beállítás egyúttal a titkosítási kulcsot is jelentette. Általános esetben azonban más dolog a kezdeti beállítás és más dolog a kulcs. 14

Ez más szóval a megfejthetőséget jelenti. Egészen nyilvánvaló pl., hogy ha csak nagyon kevés szöveg áll a rendelkezésünkre, akkor eléggé reménytelen azt megfejteni, míg ha sok, azonos módon titkosított szövegünk van, akkor több a remény a megfejtésre. 12 Ezt a tapasztalatot alátámasztják egyes mára már elfelejtett (vagy nem ismert) nyelven és nem ismert szimbólumokkal írt ókori írások megfejtései is. Az un. krétai lineáris B írást Michael Ventris és John Chadvick a zsenialitásukon kívül- azért is tudták megfejteni, mert elég sok ezzel írt írás állt a rendelkezésükre, míg az ugyancsak Kréta szigetén talált un. phaistosi korong írása többek között- azért megfejtetlen, mert mindmáig nem állnak rendelkezésre vele azonos írással írt más szövegek, vagyis túl kevés az elemezhető szövegmennyiség. Nagyon tanulságosak ebből a szempontból az ókori írások megfejtései, amelyek egyrészt kultúrtörténeti mérföldkövek, másrészt vannak a mai kriptográfiában is hasznosítható tanulságaik. Ezért a kriptorendszerek generációinak tárgyalása előtt a következőkben röviden áttekintünk három, kultúrtörténeti írás-megfejtést. Az ó-egyiptomi írások és nyelv Az egyiptomi nyelv és írás ismerete nem maradt fenn úgy, mint pl. az ókori görögé, kínaié és a latiné. Pythagoras (Kr.e.VI.sz.) állítólag éveket töltött Egyiptomban, ahol a papoktól megtanulta a nyelvet is és az írást is, de ennek semmi nyoma nem maradt fenn az írásaiban. Alexandriai Kelemen egyházatya ( kb. Kr.u.200) már tudta, hogy egyiptomban háromféle írást használtak. Horapollon (Kr.u. V.sz.) eredetileg kopt nyelven írt írása a hieroglifákról görög átiratában maradt fenn s tartalmaz ugyan ma is jónak tartott megfejtéseket az ó-egyiptomi írásjelekről, de annyira félrevezető magyarázatokkal, hogy azok elfogadhatatlanná teszik az egészet. (Vak tyúk is talál szemet...) A megfejtéseivel az is baj, hogy csak szójelket ad meg, jóllehet ezek nem az egyetlen és nem is a legjelentősebb csoportja a hieroglifáknak. 1799-ben Rasid (Rosette) közelében Bonaparte Napóleon katonái sáncásás közben találták meg a Rosette-i követ, amelyre háromféle írással vésték rá ugyanazt a feliratot (t.i. feltételezték, hogy mindhárom ugyanaz): Hieroglif, hieratikus és görög írással. A kő 196-ból származik. J.F.Champollion 1822-ben publikálta a megfejtést, 20 évi munka után. Csak 1828-ban jutott el először Egyiptomba és nem sokkal később, 42 éves korában meghalt. A hieroglif írás történeti, vallási, rituális (szent) szövegek kőbevéséséhez használt képszerű jeleket tartalmaz, de nem képírás. A megfejtések magánhangzói különbözőek. Az írásjelek csak utalnak a hangértékekre. A hieroglif 12 Erre Shannon egy információelméleti megfogalmazást is adott, amellyel majd a szimmetrikus kriptorendszerek tárgyalása során megismerkedünk. 15

írást többnyire jobbról balra írták, de találtak balról jobbra, és felülről lefelé írt szövegeket is. A köznapi életben az írnokoknak diktálták a szöveget s ennek a leírására nem volt alkalmas a hieroglif írás. Ezért már az írásbeliség kezdetén kialakult egy másik írás is, amely rendszerében hasonlít a hieroglif írásra, de a megjelenési formája egészen más. Ezt az írást a görögök hieratikusnak (= papi, szent) nevezték A Kr.előtti VIII.-VII. században ebből fejlődött ki az un. demotikus írás (a görög demos = nép szóból van a neve). Ez egyszerűbb jeleket és rövidítéseket tartalmaz és igen nehéz olvasni. Mind a hieratikus, mind a démotikus írást mindíg jobbról balra írták. A sumér nyelv Szóvégződéseket (pl. ragokat) használó, u.n. agglutináló nyelv Olyan sok ékírásos táblát sikerült Babilonban és Ninivében kiásni, hogy szignifikáns statisztikai analízist lehetett elvégezni. Rendelkezésre állt egy korábbi megfejtésből a hasonlóan ékírásos perzsa írás megfejtése. Rawlinson megfejtésének (persze) előzményei is voltak. Nevezetesen az, hogy a perzsák is ékírást használtak, amit viszont nem Rawlinson, hanem egy a rejtvényfejtést hobbiból művelő német középiskolai tanár: Georg Friedrich Grotenfeld fejtett meg. Ez a megfejtés is érdekes és tanulságos. Rawlinson a sumér nyelvet fejtette meg, s nem az ékírást. Egyébként ő is abból indult ki, hogy talált egy többféle írással kőbevésett feliratot és feltételezte, hogy mindegyik írás ugyanazt a jelentést hordozza, bár különböző nyelveken. A sumér nyelv is szóvégződéseket, ragokat használ, mint a magyar, de e struktúrális sajátságon kívül semmilyen más nyelvi hasonlóságra nem akarok ezzel utalni. Vannak agglutináló nyelvek és kész. Ha azonban valaki olyan foglalkozik egy agglutináló nyelv megfejtésével, aki anyanyelvének logikája attól teljesen különböző, nos az igen nagy nehézségekkel bírkózik. Így volt ezzel Henry Creswicke Rawlinson (1810-1895) is, aki 1844-től politikai ügynök volt Bagdadban és aki végül is 1844-ben babiloni ékírásos táblák alapján megfejtette a sumér nyelvet. A megfejtés történeti érdekessége, hogy nagy segítségére volt Rónai Jácint, aki az 1848-as magyar szabadságharc honvédtisztje volt és 49-ben Angliába emigrált. Rawlinson asszisztenseként dolgozott és a magyar anyanyalvű Rónai számára semmiféle nehézséget nem jelentett egy ugyancsak agglutináló, de egyébként ismeretlen nyelv logikájának megértése. (Csak érdekességként: Az ékírás angol neve: cuneiform.) Ha a magyar nyelvben minden különböző végződést külön-külön esetnek tekint valaki, akkor több, mint 800 esetet kell megkülönböztetnie. Ez előtt egyszerűen értetlenül áll egy angol anyanyelvű ember (hacsak nem éppen idegen nyelvek megfejtésével foglalkozik, mint pl. Randall K. Nichols professzor, az ACA volt elnöke a George Washington egyetemen.) A krétai lineáris B írás 16

Nem volt ismert a nyelv, amelyet használtak Sok írásminta állt rendelkezésre Jó hipotézisekből indult ki Ventris (és Chadwick) és képes volt összefüggések megtalálására Agglutináló nyelvről és szótagírásról volt szó. Michael Ventris 1952-ben publikálta a megfejtést A krétai un. lineáris B írás megfejtéséhez sok írást találtak, ezért szignifikáns statisztikai analízist tudtak elvégezni. Ellenpélda az ugyancsak Krétán felfedezett un. lineáris A irás, amelyből kevés írásminta van és talán ezért, máig sem fejtették meg. Michael Ventris, aki megfejtette, építész volt és nagyon jó vizuális memóriával rendelkezett, ami segítette abban, hogy különböző írásminták jelei között összefüggéseket fedezzen fel. Megvizsgálták pl., hogy összesen hányféle jelet használtak. (Nem volt nyilvánvaló, hogy a nagyon hasonló, de nem azonos jelek csak az írnokok egyéni eltérései-e, vagy tényleg különböző jelekről van szó.) Mintegy 86 jelet találtak, ami egy betűírás ábécéjének túl sok, egy képíráshoz viszont túl kevés jel. Ezért feltételezték, hogy szótag-írásról van szó. A 86 jel azonban még nem dönti el, hogy nem betűírásról van szó, mert egy csomó ábécében vannak olyan jelek is, amelyeknek nincs hangértékük, hanem csak a kiejtésre vagy a hangsúlyra utalnak, vagy egyszerűen csak az írás díszítő elemei. Pl. a 28 betűs ábécével rendelkező arab írásnál igen fontos az írás dekoratív hatása, ezért vannak betűk, amelyeket másképp írnak a szó elején, a végén, vagy a szó belsejében. Ventris feltételezte, hogy a megtalált krétai írások raktározási listák és nyilvántartások, tehát főleg csak főneveket és mennyiségeket tartalmaznak. Zavaró volt a dátumok teljes hiánya. Bizonyos jellegzetességek alapján feltételezték, hogy itt is agglutináló nyelvről van szó. Ez munkahipotézis volt, amely végül is működőképesnek bizonyult. Michael Ventris 1948-ban kezdett el foglalkozni a krétai lineáris B megfejtésével, miután a hadseregtől leszerelt. 1952-ben volt a nagy áttörés. Kb ekkor jött rá, hogy a görög (akháj) nyelv egy nagyon régi, Homéroszt legalább 500 évvel megelőző változatáról van szó. Ventris autóbalesetben halt meg 34 éves korában 1956-ban. A krétai lineáris B írás megfejtéséről John Chadwick-kel együtt írt könyvet, ami Ventris halála évében, 1956-ban jelent meg. Chadwick-nek jelentős szerepe volt mind a munkahipotézisek felállításában, mind a megfejtésben. 17

A megfejtések ma is hasznosítható tanulságai Elegendően sok szöveggel kell rendelkezni ahhoz, hogy szignifikáns statisztikai elemzéseket lehessen végezni. A használt nyelv statisztikai szerkezetének ismerete nagyon nagy segítség a megfejtéshez. Ha az ismeretlen szöveg ismert nyelven is rendelkezésre áll, akkor ez kulcs a megfejtéshez. Ha a szöveg ill. a nyelv ismerete nélkül is következtetni lehet az eredeti szöveg értelmére (vagy legalább a rendeltetésére) akkor ez is segítség a megfejéshez. Térjünk vissza ezek után a kriptorendszerek generációinak tárgyalásához. 18

2 Első generációs kriptorendszerek Az első generációs kriptorendszerek legjellemzőbb tulajdonsága az, hogy un. monoalfabetikus 13 rendszerekről van szó, amelyek a titkosított szöveg (= kriptogram, cyphertext) előállításához egyetlen titkos ábécét használtak. Ez a titkos ábécé persze lehetett valamilyen egyedi, a beavatatlan számára ismeretlen szimbólumkészlet is, de használható volt a mindennapi nyílt szövegek írására alkalmazott ábécé is úgy, hogy a kriptogram ábécé betűi a nyílt szöveg ábécéjének más-más betűihez voltak hozzárendelve, azokat helyettesítették. Pl. úgy, hogy a nyílt szöveg minden betűje helyett az utána következő negyedik betűt írták a titkosított szövegbe. Már az első generációs kriptorendszerek bevezették a titkosítási transzformációk két alaptipusát, nevezetesen a helyettesítést és a transzpoziciót (permutációt) vagyis a betűk összekeverését. Ezt a két alapvető transzformáció-tipust aztán valamennyi későbbi generáció alkalmazta. A negyedik generációs, modern kriptorendszerek mindkettőt vegyesen. A helyettesítés Jóllehet a kezdetektől ismert volt mindkét említett transzformációs eljárás, mégis inkább a helyettesítés volt az, amelyet gyakrabban alkalmaztak az elsőtől a harmadik generációs kriptorendszerekben. Ezért mi is egy nagyon népszerű első generációs kriptorendszeren, az un. Cézár-féle titkosítási eljáráson mutatjuk be a helyettesítési transzformáció legfontosabb tulajdonságait. Jegyezzük meg azonban, hogy a Cézár-féle titkosítási módszer egyáltalán nem az egyetlen helyettesítést alkalmazó titkosítás. Legyen pl. a nyílt szöveg írásához használt ábécé a következő: AÁBCDEÉFGHIÍJKLMNOÓÖŐPRSTUÚÜŰVYZ Legyen a nyílt szöveg pl. ABACUS Ha a nyílt szöveg mindegyik betűjét az alkalmazott ábécé tőle jobbra eső negyedik betűjével helyettesítjük, akkor a titkosított szöveg az adott példában a következő: DÉDFVÜ 13 Pontosabb, ha azt mondjuk, hogy monoalfabetikus, vagy egyetlen kriptogram ábécére visszavezethető rendszerekről van szó, de itt, e rendszerek bevezetésekor még nem szeretnénk a fogalmakat bonyolítani. Később, a helyettesítési módszerek tárgyalása után majd példaként megemlítünk olyan titkosítást is, amelynél a nyílt ábécé egy-egy betűjét pl. kétbetűs betűcsoport helyettesíti. 19

Megfejtésnél a kriptogram minden egyes betűjét az alkalmazott ábécében a tőle balra eső negyedik betűvel kell helyettesíteni.. A könnyebb megkülönböztetés kedvéért írjuk csupa kisbetűvel a kriptogram szövegét. Akkor az adott példa esetében a nyílt szöveg (csupa nagybetűs) ábécéjét egy négy betűhellyel eltolt csupa kisbetűs ábécével helyettesítjük. A Á B C D E É F G H I Í J K L M N O Ó Ö Ő P R S T U Ú Ü Ű V Y Z ű v y z a á b c d e é f g h i í j k l m n o ó ö ő p r s t u ú ü Látható, hogy a kriptogram ábécének a táblázat jobboldalán kicsúszó négy betűjét a táblázat elejére írtuk be (vastagított betűk). Az adott esetben tehát a nyílt szöveg csupa nagybetűs ábécéjét egyetlen, csupa kisbetűs kriptogram ábécével helyettesítettük. Az alkalmazott titkosítási technológia tehát monoalfabetikus helyettesítés, mert csak egyetlen kriptogram ábécét használunk ti. a csupa kisbetűből állót. Elvileg mindegy, hogy a kriptogram ábécé betűkből áll-e vagy valamilyen, az adott titkosíráshoz kitalált speciális szimbólumkészletből. A fenti példában bemutatott egyszerű titkosírás kapcsán is sokmindent lehet elmondani. Néhány jellemzője a következő: A titkosírás küldője és címzettje előre meg kell, hogy állapodjon az alkalmazott ábécében, beleértve ebbe a betűk felsorolási sorrendjét is. Ezt akár a korábban már említett kezdeti beállításnak is tekinthetjük. Ugyancsak előzetesen meg kell, hogy állapodjanak a kriptogram ábécé eltolásának mértékében, ami az adott esetben a titkosírás kulcsa. Az ábécé bemutatott eltolásán alapuló monoalfabetikus helyettesítést Cézárféle titkosításnak nevezik, mert úgy tudjuk, hogy Julius Caesar alkalmazta először a gall háborúban (amikor még nem is volt császár). A Cézár-féle titkosíráshoz egy nagyon egyszerű eszköz, az un. cézár kerék alkalmazható. Ez nem más, mint két, koncentrikus tárcsa, amelyek kerületére egyenlő közökkel fel van írva az adott esetben alkalmazott ábécé (és ha egyéb jeleket, pl. betűközöket is használnak, akkor azok a jelek is). A két tárcsát egymáshoz képest annyi pozicióval elforgatva, amennyit az adott kulcs meghatároz, a kerületeken egymás alá ill. fölé kerülnek a nyílt szöveg és a kriptogram betűi. 20

Cézár kerék A külső nagybetűs- kerék a nyílt szöveg, a belső kisbetűs- kerék a kriptogram ábécét tartalmazza. Az ábécék (itt) nem tartalmazzák pl. a szóköz karaktert és írásjeleket, számokat sem. Itt mindkét ábécé 32 betűs. Egyébként feltétel is, hogy a nyílt szöveg ábécéjében ugyanannyi karakter legyen, mint a kriptogram ábécében, de nem feltétlenül kell a két ábécé karakterkészletének megegyeznie. Az ábrán a külső és a belső kerék egymáshoz képest nincs elforgatva. A cézár-kerék automatikusan biztosítja azt, hogy a belső kerék elforgatásakor az ábécé végén lévő betűk a külső kerék ábécéjének elején lévő betűk alá kerüljenek. A Cézár-féle monoalfabetikus helyettesítéshez egy igen célszerű matematikai modell is rendelhető, nevezetesen n karakteres ábécé esetén a modulo n összeadás (a kódolásnál) ill. a modulo n kivonás (a dekódolásnál). 21

Ehhez az kell, hogy az alkalmazott n karakteres ábécé minden karakteréhez monoton növekvő sorrendben 14 egy-egy számot rendeljünk 0-tól (n-1)-ig. 15 A nyílt szöveg titkosításakor a kulcsnak megfelelő egyetlen számot kell hozzáadni a nyílt szöveg aktuális karakterének a sorszámához s megkapjuk a kriptogram megfelelő karakterét. Ha az összeg nagyobb lenne n-nél, akkor ki kell belőle vonni n-et s így kapjuk meg a kriptogram aktuális karakterének a sorszámát. Használjuk pl. az előbbi cézár-keréknél is alkalmazott magyar ábécét és titkosítsuk az ABACUS szót úgy, hogy a titkosítási kulcs most a 9. sz. betű, azaz H. A nyílt szó A B A C U S Sorszáma 0 2 0 3 25 23 A H kulcs 9 9 9 9 9 9 Az összeg 9 11 9 12 34 32 A mod 32 összeg 9 11 9 12 2 0 A kriptogram H Í H J B A Dekódoláskor a mod 32 kivonás műveletét kell alkalmazni, azaz a kriptogram szöveg betűsorszámaiból kell kivonni a kulcsbetű sorszámát és ha negatív számot kapnánk eredményül, akkor ahhoz a modulust hozzá kell adni. Az adott példa esetében a következőképp: A kriptogram H Í H J B A A betűk sorszámai 9 11 9 12 2 0 A H kulcs 9 9 9 9 9 9 A különbség 0 2 0 3-7 -9 A mod 32 különbség 9 11 9 12 25 23 A visszafejtett szöveg A B A C U S A Cézár-féle helyettesítési titkosításnak számos változata van. Elegendő talán csak azt megemlíteni, hogy a kriptogram ábécé nem betűszimbólumokból is állhat és ha ugyanolyan betűkből áll is, mint a nyíltszöveg ábécé, akkor is más lehet a kriptogram ábécében a betűk sorrendje. 14 Elvileg nem kikötés, hogy a számsorrend monoton növekvő legyen, de mind az n karakterhez más-más szám kell, hogy tartozzék 0-tól (n-1)-ig. A monoton növekvő sorrendű számozás ezt biztosítja és pontosan megfelel a példában bemutatott, nem kevert ábécéjű Cézár-féle titkosításnak is. 15 Nagyon lényeges, hogy a számozást 0-tól kell kezdeni, mert mint a Számítástechnika algebrai alapjai c. tárgyban kifejtettükegy műveletnek csak akkor van inverze, ha van egységeleme és a mod n additív műveletnek éppen 0 az egységeleme. 22

A példaként bemutatott eset a legegyszerűbb. Mivel itt 32 karakterből áll az ábécé, a két kerék is 32 féle elforgatási poziciót vehet fel. Láttuk, hogy a Cézár-féle titkosítás kulcsa a két kerék egymáshoz viszonyított poziciója. Mivel itt 32 pozíció lehetséges, ezért 32 kulcs létezik, amelyek közül a legelső nem is forgatja el egymáshoz képest a kereket, tehát nem is titkosít. Említettük már, hogy a nyers erő (brute force) módszerének nevezzük bármilyen kriptogram olyan feltörését, amikor egyszerűen végigpróbálgatjuk valamennyi lehetséges kulcsot. A bemutatott Cézár-féle titkosításnál (az adott 32 karakteres ábécét feltételezve) 32 féle kulcs létezik, amelyeket nagyon könnyen és gyorsan végig lehet próbálgatni. Ennek a titkosításnak tehát nagyon kicsi a kriptográfiai erőssége (= ellenállóképessége a feltörési kísérletek ellen), mert kicsi a kulcstér, azaz a lehetséges kulcsok száma. Ha figyelembe vesszük azt, hogy a kriptogram ábécében a betűk permutálhatók is, akkor nagyságrendekkel nagyobb ugyan a nyers erővel kipróbálandó lehetőségek száma, de a monoalfabetikus helyettesítéssel előállított titkos szöveg nem csak a nyers erő módszerével, hanem más úton-módon is feltörhető. Ezt mutatjuk be a következőkben. A monoalfabetikus helyettesítés egyik tulajdonsága (és egyúttal gyengesége is) az, hogy a nyílt szöveg ugyanazon betűjéhez a kriptogramban is mindig ugyanaz a betű tartozik. Egy beszélt nyelv (más szóval természetes nyelv) esetében a különböző betűk különböző gyakorisággal fordulnak elő. A magánhangzók gyakorisága pl. általában nagyobb, mint a legtöbb mássalhangzóé és sem a magánhangzókból sem a mássalhangzókból nem állhat túl sok egycsomóban, azaz a nyelv nem engedi meg a szélsőséges torlódásokat. Az ilyenfajta tulajdonságokat gyűjtőnéven a nyelv statisztikai tulajdonságainak nevezzük, amelyek jól kihasználhatók a kriptogram kulcs nélküli megfejtésénél, azaz feltörésekor. Ehhez persze tudni kell, hogy milyen nyelven írták azt a nyílt szöveget, amelynek a sifrírozott formája a kezünkben van. No és persze az sem közömbös, hogy rendelkezésünkre áll-e annyi szöveg, amennyiből már szignifikáns statisztikai következtetéseket tudunk levonni. Shannon képletet is adott az utóbbi kérdésre, azaz arra, hogy mennyi az a minimális szöveghossz, ami már elegendő a statisztikai elemzésre. (Erre majd később még kitérünk.) Itt elegendő annyit mondani, hogy kb. 200 betűt tartalmazó kriptogram már többnyire elegendő a sikeres statisztikai elemzésre a monoalfabetikus helyettesítéssel végzett titkosítások esetén, ha a nyílt szöveg nyelvezetének a statisztikai tulajdonságai ismertek. 23

Egészen pontosan négy dolgot kell (vagy kellene) tudnunk ill. ismernünk a kriptogram feltöréséhez: 16 1. A nyílt szöveg nyelvét, nyelvezetét. 17 2. A nyílt és a kriptogram ábécét 18 (amelyek nem feltétlenül azonosak, mint demonstrálni is fogjuk). 3. A nyílt szöveg nyelvére vonatkozó legfontosabb statisztikai adatokat 4. Elegendően hosszú és statisztikailag szignifikáns kriptogramot. (Erre mondtuk azt, hogy kb. 200 betűből álló kriptogram rendszerint elegendő.) Az alábbiakban feltételezzük a következőket I. A nyílt szöveg nyelve a magyar irodalmi nyelv. II. A nyílt szöveg ábécéje a már alkalmazott 32 betűs magyar ábécé a szóközzel kiegészítve, azaz a következőkben 33 karakteres nyílt ábécét tételezünk fel. A kriptogram ábécében azonban nem használunk szóközt, hanem a nyílt szöveg szóköz-karakterét a kriptogram ábécében valami olyan karakterrel helyettesítjük, ami a nyílt ábécében nem fordul elő. III. A betűgyakoriság és betűpár-gyakoriság adatokat Arany János Toldijának a szövegelemzéséből külön erre a célra készült programmal határozta meg e sorok írója. 19 16 Egy helyettesítési kriptogram feltörését demonstráló példa tanulságainak levonása után majd a 40. oldalon visszatérünk még arra, hogy a kriptoanalízis nagy doájenje, William F. Friedman szerint milyen műveletekre van szükség egy kriptogram feltöréséhez. 17 Nem elegendő azt tudni, hogy a nyílt szöveg nyelve pl. magyar, mert szignifikáns eltérések lehetnek a magyar irodalmi nyelv és egy mai újságszöveg nyelvezete között. Arany János irodalmi nyelve pl. nem használta a Q, W, X, betűket, de egy mai újságszövegben előfordulhatnak idegen nevek, amelyekben ezek a betűk is megtalálhatók és az Y sem csak a magyar irodalmi nyelv GY, LY, NY, TY betűpárjaiban található meg. Szélsőséges példa a játékos eszprente nyelvezet, amelyben az összes magánhangzó közül csak az E és az É fordul elő. 18 Ezt sem határozza meg egyértelműen a nyílt szöveg nyelve. A kriptogram ábécékben ugyan nem szokás számjegyeket szerepeltetni, hanem ehelyett szöveggel írják ki a számokat, és nem szokás a kis- és a nagybetűk megkülönböztetése sem. Egyáltalán nem mindegy azonban, hogy a szóköz előfordul-e a kriptogram ábécében vagy sem. Ennek az az oka, hogy bármelyik természetes nyelvben a szóköz gyakorisága messze a legnagyobb, ezért a kriptogram betűinek gyakoriságelemzésével nagyon könnyen meg lehet állapítani, hogy milyen karakter helyettesíti a szóközt. (Ld. alább.) 19 Az idegennynelvű szakirodalom nem csak a saját nyelvére, hanem más nyelvekre is megad ilyen statisztikákat. (Pl. [2] és [5]) Ismételten elkövetik azonban azt a hibát, hogy nem tesznek különbséget ugyanannak a betűnek az ékezetes és ékezet nélküli alakja között az előfordulási adatok meghatározásakor, pedig a magyarban pl. az A és az Á betű, vagy az E és az É betű egészen más hangalakot jelöl. (Itt azonban írott szövegekről van szó és nem a hangalakokról, ezt hangsúlyoznunk kell!) Az ékezetek elhagyása a szöveg jelentését is megváltoztathatja, ezért tartottuk fontosnak a statisztikák meghatározásakor az ékezetes és az ékezet nélküli betűk megkülönböztetését. 24

Lássuk először a magyar nyelv betűgyakoriság statisztikáit. A Toldi 1%-nál nagyobb betűgyakoriságai Sorrend Gyakoriság Betű ASCII kódok 1 0,146 32 2 0,070 e 101 3 0,063 a 97 4 0,057 t 116 5 0,044 n 110 6 0,044 l 108 7 0,041 s 115 8 0,031 k 107 9 0,030 r 114 10 0,029 o 111 11 0,028 i 105 12 0,027 g 103 13 0,026 á 225 14 0,025 m 109 15 0,025 z 122 16 0,022 é 233 17 0,021 y 121 18 0,017 d 100 19 0,014 v 118 20 0,013 b 98 21 0,011 h 104 22 0,011 j 106 23 0,204 egyéb 1,000 2.1. táblázat Az elemzés a teljes Toldi 73603 karakterére terjed ki. 20 Az elemzésből kivettük a soremelés és hasonló vezérlő karaktereket valamint az írásjeleket. (A soremelés és a vessző gyakorisága is az első 25 karakter között szerepelne.) Az elemző program megkülönböztette a kis- és a nagybetűket. Az utóbbiak sem szerepelnek a fenti statisztikában. Figyelemre méltó, hogy a szóköz karakter (amelynek ASCII kódja 32) gyakorisága több mint kétszerese az utána következő legnagyobb gyakoriságú betűének, nevezetesen az e betű 7%-os gyakoriságának. Ezért is állítottuk korábban, hogy a monoalfabetikus helyettesítésnél nagyon egyszerűen megállapítható, hogy van-e a szóköz karaktert helyettesítő szimbólum a kriptogram ábécében. 20 A szöveget a Magyar Elektronikus Könyvtár internetes szolgáltatta. 25