Aszimmetrikus kriptorendszerek



Hasonló dokumentumok
Információs társadalom alapismeretek

Waldhauser Tamás december 1.

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:

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

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

Diszkrét matematika I.

Klasszikus algebra előadás. Waldhauser Tamás április 28.

KOVÁCS BÉLA, MATEMATIKA I.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Diszkrét matematika I.

2018, Diszkre t matematika. 10. elo ada s

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

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

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

Számelméleti alapfogalmak

KOVÁCS BÉLA, MATEMATIKA I.

Kongruenciák. Waldhauser Tamás

KOVÁCS BÉLA, MATEMATIKA I.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

KOVÁCS BÉLA, MATEMATIKA I.

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

KOVÁCS BÉLA, MATEMATIKA I.

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

Algoritmuselmélet gyakorlat (MMN111G)

HALMAZELMÉLET feladatsor 1.

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

15. LINEÁRIS EGYENLETRENDSZEREK

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

Kriptográfia I. Kriptorendszerek

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Bevezetés az algebrába az egész számok 2

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

24. szakkör (Csoportelméleti alapfogalmak 3.)

Hatványozás. A hatványozás azonosságai

Halmazelméleti alapfogalmak

NP-teljesség röviden

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

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

Polinomok (el adásvázlat, április 15.) Maróti Miklós

2017, Diszkrét matematika

Permutációk véges halmazon (el adásvázlat, február 12.)

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

Számelmélet Megoldások

Diszkrét matematika 2.

Data Security: Public key

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

Számelmélet. 1. Oszthatóság Prímszámok

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

Sapientia Egyetem, Matematika-Informatika Tanszék.

A törzsszámok sorozatáról

Függvények határértéke, folytonossága

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

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

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

Tanulási cél Szorzatfüggvényekre vonatkozó integrálási technikák megismerése és különböző típusokra való alkalmazása. 5), akkor

1. előadás: Halmazelmélet, számfogalom, teljes

2. Tétel (Az oszthatóság tulajdonságai). : 2. Nullát minden elem osztja, de. 3. a nulla csak a nullának osztója.

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József

1. Feladatsor. I. rész

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Szakács Lili Kata megoldása

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

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

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

illetve a n 3 illetve a 2n 5

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

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

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

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

A Riemann-Siegel zeta függvény kiugró értékeinek keresése. A matematikai egyik legnehezebb problémája, avagy a prímszámok misztériuma

A valós számok halmaza

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev

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

Analízis elo adások. Vajda István szeptember 10. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

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

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

Diszkrét matematika I.

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

2016, Diszkrét matematika

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Parciális differenciálegyenletek numerikus módszerei számítógépes alkalmazásokkal Karátson, János Horváth, Róbert Izsák, Ferenc

Diszkrét matematika I.

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

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

Függvények Megoldások

First Prev Next Last Go Back Full Screen Close Quit

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Átírás:

Budapesti Mszaki Fiskola Kandó Kálmán Villamosmérnöki Fiskolai Kara Számítógéptechnikai Intézet - Székesfehérvár Aszimmetrikus kriptorendszerek Segédlet az Információtechnika c. tárgy Kriptográfia fejezetéhez Dr. Tóth Mihály fiskolai tanár és Prof. Randall K. Nichols George Washington University Táskaszám: 2000. október

SKITALI 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

Elszó az Információtechnika c. tárgy segédlet-sorozatához. A Budapesti Mszaki Fiskola Kandó Kálmán Villamosmérnöki Fiskolai Karán az 1998/99 tanévben (akkor még az integráció eltt a Kandó Fiskolán) a fiskola székesfehérvári Számítógéptechnikai Intézetében (SzGTI) vezették be a villamosmérnök hallgatók számára az Információtechnika c. tárgyat, ami azzal foglalkozik, hogy mi is jellemzi a digitális (diszkrét) információt annak a forrásánál és milyen lényeges dolgok történnek vele a továbbítása során. Nem foglalkozik a tárgy a jelfeldolgozás kérdéseivel és a távközlési informatikával is csak annyit, amennyi a többi fejezethez feltétlenül szükséges. Megérett azonban az id arra, hogy az információ kódolásának, titkosításának, elrejtésének és tömörítésének legfontosabb kérdéseit egy külön tárgyban foglaljuk össze. A következ blokkvázlat szemlélteti, hogy hogyan is kapcsolódnak egymáshoz az említett fogalomkörök. ILLESZT4 KÓDOLÁS HIBAVÉDELMI KÓDOLÁS INFORMÁCIÓ FORRÁS INFORMÁCIÓ VÉDELEM - ÉS TITKOSÍTÁS Csatorna TÖMÖRÍTÉS Tárolás, vagy továbbítás Az INFORMÁCIÓ ELREJTÉSE (Szteganográfia) A blokkvázlat jobboldali három funkciója közül a titkosítás meg is elzheti a hibavédelmi kódolást és a titkosítást követheti is az információ elrejtése. E három funkció közül akár mindegyik is alkalmazható egy folyamatban. Itt, az aszimmetrikus kriptorendszerek bevezetjében mindössze elhelyezni szerettük volna ezt a stúdiumot a vázolt folyamatban, megjegyezve, hogy az aszimmetrikus kriptorendszerek az információvédelem és a titkosítás témakörébe tartoznak. Az Információtechnika c. tárgyhoz készül fiskolai jegyzet egy-egy kerek fejezetét annak elkészültekor segédletként jelenteti meg a fiskola és mind e segédletek anyaga, mind a hozzájuk kapcsolódó eladói prezentációk, hallgatói projektmunkák, feladatok és egyéb segédanyagok (egy kivétellel) elérhetk az SzGTI hálózatán. Kivétel az a kjereken 10 évvel ezeltt megírt segédlet, amelynek címe: Bevezetés a hibavédelmi kódolás és áramkörök elméletébe és a szerzi dr. Tóth Mihály és dr. Hudoba György. Tervezzük azonban, hogy ehhez a témakörhöz is írunk egy újabb segédletet. 1

Az Információtechnika c. tárgyhoz eddig elkészült új segédletek a következk: 1. Bevezetés az információelméletbe. Dr. Tóth Mihály, 2000. február. 2. A DES (Data Encryption Standard) Randall K. Nichols könyve alapján interpretálta dr. Tóth Mihály; 2000 február. (Ez a fejezet késbb valószínleg a Szimmetrikus kriptorendszerek címet kapja majd.) Az els felöleli az információforrással és az illeszt kódolással kapcsolatos studiumok anyagát, a második pedig az un. szimmetrikus kriptorendszerekkel kapcsolatos studiumok többségét. 1 Az utóbbi az Információtechnika c. tárgy Kriptográfia fejezetének része a jelen segédlettel együtt. Meg kell említeni, hogy az aszimmetrikus kriptográfia (a ma használatos algoritmusai leírásaival együtt) akkora anyag, hogy ez a segédlet csak az els részét öleli fel. A megkezdett felsorolás tehát imígyen folytatódik majd 1. Aszimmetrikus kriptorendszerek: Az elvi alapok és a knapsack titkosítás. Dr. Tóth Mihály és Randall K. Nichols (GWU) 2000. október 2. Aszimmetrikus kriptorendszerek alkalmazásai: hibrid rendszerek. A digitális aláírás és a PKI. Az üzenetrejtés (szteganográfia) és az elektronikus vízjelek. (Várhatóan 2001 tavaszán.) valószín, hogy az I. és a II. rész összetartozása (pl. a szószedet) miatt a két rész egyben fog megjelenni. Már most megjósolható egyrészt, hogy az Információtechnika c. tárgy egyes studiumai késbb majd önálló tárgyként is megjelennek és az ábrán vázoltnál sokkal tágabb környezetben. Pl. a kriptográfiával szoros kapcsolatban álló elektronikus kereskedelem, fizeteszközök és módok, valamint a személyi kulcsok infrastruktúrája bizonyosan tantárgy lesz a mszaki menedzser szakos hallgatók számára is. Másrészt a tárgykör olyan új fejezetekkel fog bvülni, mint a titkosított információk megfejtése (=feltörése), azaz a kriptanalízis, a számítógéphálózatok biztonsági kérdései, kódolási kérdések a telekommunikációban és a msorszórásban és így tovább. 1 Egy-két kiegészít írással együtt, amelyek az SzGTI hálózatán vagy más megadott webkikötkön- magyarul hozzáférhetk. 2

Tartalomjegyzék El"szó az Információtechnika c. tárgy segédlet-sorozatához... 1 Tartalomjegyzék... 3 Bevezetés... 5 Az egyirányú függvények... 8 Kiszámíthatatlanság (kikövetkeztethetetlenség, intractability)... 9 A lefedési probléma... 12 A titkosított szöveg megfejtése... 5 A.1 Gyakorló feladat... 10 A.2 Gyakorló feladat... 10 Összefoglalás a Knapsack titkosításhoz... 11 Néhány gondolat a nyiltkulcsú kriptorendszerekrõl... 13 Az aszimmetrikus üzenet-titkosítás mûködése... 17 Az egyirányú függvények... 21 Az aszimmetrikus kriptográfia általános elvei... 24 A nyíltkulcsú titkosításhoz használt számelméleti problémák összefoglalása... 29 A munkatényezõ (=Work Factor)... 30 A kriptorendszerek élettartama... 33 A nyiltkulcsú kriptográfia elõnyei. A kulcs-menedzsment... 34 Az aszimmetrikus kriptorendszerekben alkalmazott matematikai módszerek nehézségei... 38 A kriptográfiai funkcionalitás... 39 Az egészszámok faktorizációján alapuló rendszerek... 39 Az RSA rendszer biztonsága... 40 Az RSA rendszer implementációja... 40 Az RSA algoritmus... 42 Összefoglalás és köszönetnyílvánítás... 46 I. FÜGGELÉK A lineáris helyettesítés matematikai háttere... 48 II. FÜGGELÉK Az m modulusra és a t szorzóra valamint az utóbbi inverzére vonatkozó néhány hasznos tétel... 53 III. FÜGGELÉK A Knapsack titkosítás algoritmusa.... 54 Kulcs generálás Knapsack titkosításhoz.... 54 A publikus kulcs: A... 57 Titkosított szöveg (ciphertext) elõállítása adott publikus kulccsal (= Enciphering)... 58 3

A blokkhosszúság... 58 A címzett nyilvános kulcsa... 58 A titkosítandó nyílt szöveg... 58 A titkosítás... 58 Titkosított szöveg megfejtése saját privát kulccsal (Deciphering)... 59 A rutin kiinduló adatai:... 59 A saját titkos kulcs adatai... 59 A megfejtendõ ciphertext és az az A vektor,... 59 A nyílt kulcs ellenõrzése... 59 A C vektor transzformációja... 59 A nyíltszöveg betüpárjaihoz tartozó bináris blokkok meghatározása... 59 A.4. Példa... 60 IV. FÜGGELÉK Rövid áttekintés a matematikai bonyolultságelméletrõl a kriptográfia szempontjából.... 64 V. FÜGGELÉK Az RSA titkosítás demo programja... 77 TÁRGYMUTATÓ... 80 SZAKIRODALOM... 83 4

Bevezetés A szerz alapveten Randall K. Nichols professzor Guide to Cryptography c. könyvének [1] a gondolatmenetét követte, ezért is jelölte meg Nichols professzort az beleegyezésével társszerzként. Ez a segédlet azonban nagyon sok helyen jelentsen eltér Nichols professzor könyvétl és kitér egy csomó olyan részletre is, amellyel Nichols professzor nem foglalkozik. A lábjegyzetek pl. kivétel nélkül a magyar szerz magyarázó kommentárjai, de sok olyan rész van a f szövegben is, amely a magyar szerz önálló munkája, vagy más forrásokat használt hozzájuk. Hadd hangsúlyozzuk itt, hogy lényeges megállapítások/kijelentések vannak a lábjegyzetekben is. Ezek többnyire csak azért kerültek lábjegyzetbe, hogy egy logikus gondolatkör fágától ne térjünk el, s a lábjegyzetek állításainak fontossága egyáltalán nem kisebb mint a f szövegé. A lábjegyzetekben leírtak nem másodrend fontosságúak és azoknak a hallgatóknak, akiknek vizsgázniuk kell ebbl az anyagból, vizsgaköteles a lábjegyzetek anyaga is. A jegyzet megírásakor problémát jelentett az, hogy milyen elméleti háttérre számíthat a szerz az ebbl készül hallgatóknál. Egy csomó elvi kérdést megtanulnak az SzGTI hallgatói a Számítástechnika matematikai alapjai c. tárgyban, továbbá itt is hivatkozott alapismeretekre tettek szert a Digitális technika I. c. tárgyban 2. Egy az Információtechnikával kapcsolatos hallgatói felmérés javasolta, hogy az elvi alapokat a konkrét alkalmazáshoz kötden kellene megtanítani. Ez persze általában nem lehetséges és nem is szokásos. Mégis, az ismeretek felfrissítését szolgálják ebben a jegyzetben az Álljunk meg egy szóra... kezdet keretes betétszövegek. Ezek maguk nem részei az éppen tárgyalt gondolatmenetnek, de rövid magyarázatot adnak az ott és akkor elforduló fogalmakra. Ha olyan hosszú háttérmagyarázatra volt szükség, ami semmiképp sem fért bele egy lábjegyzetbe, vagy egy keretes betétszövegbe, akkor a szerz ezeket függelékekben közölte. Ezt tette Nichols professzor is az említett könyvében s van olyan függeléke, amelyet egy-az egyben átvett egy matematikus szerztl, de sejtetni engedi, hogy saját maga nem feltétlenül vállal felelsséget az átvett szövegért. Egy ilyen függeléket (nevezetesen a XIV. Függeléket) e sorok szerzje Nichols professzor idézett könyvének C. Függelékébl interpretálta. A magyar szerz nincs arról meggyzdve, hogy a függelékekben tárgyalt matematikai háttér ismerete feltétlenül szükséges a fiskolai hallgatóknak, ezért nem tekinti azt vizsgaanyagnak. Ha a f szöveg olvasója egyszerüen tudomásul vesz egyes új fogalmakat és nem érdekli azok mélyebb matematikai háttere, akkor a függelékek nélkül is megértheti, hogy mirl van szó. A függelékek általában szervesen kapcsolódnak a f szöveghez és lényeges ismereteket tartalmaznak, de a f szövegbe való beépítésük egyrészt megszakította volna a f mondanivaló logikai gondolatsorát, másrészt a függelékek azért bvebbek annál mintsem, hogy lábjegyzetként lehetett volna azokat a szöveghez kapcsolni. 2 Többek között a formális nyelvek és a hozzájuk rendelhet absztrakt automaták alapfogalmairól van szó, amelyeket az 1999/2000. tanévi tantervmódosításkor sajnoskivettek a Digitális technika c. tárgyból s most nincs más tárgy (az Információtechnikát megelzen), amelyben ezekrl szó lenne. 5

A szerz a III. Függelékben egy titkosítási eljárás komplett algoritmusát is leírta. Ehhez egy professzionális programozó (Tóth Zsolt Ictus Bt.) jóvoltából egy három rutinból álló Delphi program is tartozik, amely az SzGTI hálózatán szintén hozzáférhet. A III. Függelék azt példázza, hogy ha egy kriptográfiai módszer (mint amilyen pl. a knapsack titkosítás) nem is látszik túl bonyolultnak, az azt megvalósító algoritmus megvalósításakor mégis nagyon sok mellékkörülményre kell tekintettel lenni. Az aszimmetrikus kriptográfiával kapcsolatban el kell mondani, hogy a korábban tárgyalt történelmi kriptorendszerek alkalmazásakor a megfejtnek (kriptanalizátornak) nincs különösebb gondja a megfejtéssel, ha ismeri a titkosítás módszerét. Képletesen szólva a titkosítási módszer ismerete az az ék, amellyel el lehet kezdeni az üzenetet véd titkos burok feltörését. A szimmetrikus (klasszikus) kriptorendszerek elsrend célja a titkosság biztosítása volt. Még a nagyon is kifinomult DES rendszer esetében is azonos a titkosítás és a megfejtés kulcsa. 3 Ha magát a titkosítási módszert nyilvánossá tesszük ez bizonyos szempontból magát a védett titkot szolgáltatja ki. 4 Vannak azonban kriptorendszerek amelyek esetében a módszer nyugodtan publikussá tehet és mégis megfelel titkosítási biztonságot nyújtanak. A kriptoanalitikusnak rendelkezésére áll maga a titkosítási rendszer, mégsem képes az azzal titkosított üzenetet feltörni. Tulajdonképpen így mködik a nyilvános kulcsú kriptográfia. A titkosítás módja nyugodtan nyilvánosságra hozható. A kriptográfia e formáját más néven aszimmetrikus kriptográfiának nevezik, mert két különböz kulcsot alkalmaz. Ezek közül egyiket a küld, a másikat pedig az üzenet fogadója alkalmazza. 1974-75-ben a Stanfordon dolgozó Whitfield Diffie és Martin Hellman, valamint Ralph Merkle 5 a Californiai Berkeley egyetemrl új módszert fedeztek fel a kriptográfiában, amelynek mélyreható hatása volt az abban alkalmazott technikákra. Forradalmi ötletük az volt, hogy biztonsággal közreadható a titkosítási módszer és az említett két titkosítási kulcs közül is az egyik (de csakis az egyik). Ezt a nyilvánosságra hozott kulcsot mily meglep- nyilvános (publikus) kulcsnak nevezik. Lényeges, már itt megemlíteni, hogy maga a módszer két kulcsot alkalmaz és teljesen mindegy, hogy e két kulcs közül melyiket tesszük publikussá. A lényeg, hogy a másikat titokban tartsuk (= privát kulcs). Ez a brilliáns ötlet egy újfajta kriptográfia megszületését jelentette. Az, hogy kiadják a titkosítási módszert, tulajdonképpen kiadja a megfejtési módszert is, mert az egyik a másiknak a matematikai inverze. 3 Ez persze nem egészen igaz, de a részletekre alább még visszatérünk. Elég itt annyit említeni, hogy bizonyos esetekben a megfejtéshez nem magátba titkosítási kulcsot, hanem annak valamilyen értelemben vett inverzét használjuk. 4 Persze éppen a DES rendszer részletes tárgyalásakor láttuk, hogy akkor sem volt hozzá feltörési algoritmus, ha maga a módszer (a teljesen nyilvános szabvány miatt) mindenki által megismerhet volt. A kulcs ismerete nélkül egyedüli feltörési módszer maradt a nyers er módszere annak az irreálisan nagy számítási igényével együtt. 5 New Directions in Cryptography. IEEE Transactions on Information Theory, IT-22 Vol 6. pp.644-654. (1976) 6

A nyilvános kulcsú rendszerekben a korábbiakhoz képest a nagy különbség az un. munka-tényez (work factor), amit a megfejtés igényel akkor, ha az (illetéktelen) megfejt nem ismeri a kulcsot. Ehhez, ti. az illetéktelen megfejtéshez még a mai legmodernebb számítástechnika mellett is esetleg száz év nagyságrend id szükséges, vagy még ennél is sokkal hosszabb. Ha valóban ez a helyzet, akkor nyugodtan nyilvánossá tehetjük a titkosítás módját, mert gyakorlatilag úgy sem megy semmire vele az illetéktelen kiváncsiskodó. Ez a nyilvánossá-tétel gyakorlatilag nem kompromittálja a kriptorendszert. Végeredményben tehát a megfejtés munkaigényessége a biztonság záloga. A DES-szel foglalkozó fejezetben bemutattuk egy táblázatban, hogy 40 és 56-bites kulcsok esetében mekkora nagyságrend számítástechnikai beruházás és mennyi id szükséges a kulcsok nyers ervel való feltöréséhez. Természetesen a táblázatban megadott adatok a számítástechnika fejldésével javulnak, de közben maga a kriptográfia is fejldik és amellett, hogy egyre bonyolultabb, egyre nehezebben feltörhet módszereket alkalmaz, a kulcsok hossza is egyre növekszik. Pl. a szimpla DES-t 2001-ben felváltó AES minimális kulcshosszúsága legalább 128 bit lesz, de ennél hosszabb kulcsokkal is mködhet. A matematika egy külön ága az un. bonyolultságelmélet, amely különböz számítások bonyolultságával foglalkozik. Segít abban, hogy megértsük, hogy mennyi idre van szükség és milyen számítási kapacitást kell adott esetben alkalmazni. A XIV. Függelék rövid áttekintést ad a matematika e fejezetérl. Hadd jegyezzük meg azonban mindjárt itt az elején, hogy ezt a függeléket Nichols professzor egy az egyben vette át Arto Salomaa-tól, aki világhír finn matematikus és hírnevét a formális nyelvek és az absztrakt automaták matematikai alapjainak kidolgozásával vívta ki. Annak az olvasónak a számára, aki korábban nem foglalkozott ezekkel a területekkel, igen nehezen, vagy sehogysem érthet Salomaa bonyolultságelméleti összefoglalója. A gond az, hogy Nichols professzor használja pl. a polinomiális id fogalmát s a XIV. Függelékbl kellene kiderülnie annak, hogy ez pontosan mit jelent, honnan ered az elnevezés. A XIV. Függelék azonban sokmindent megvilágít, de erre a fogalomra pl. nem ad megnyugtató magyarázatot, mert feltételezi olyan absztrakt algebrai fogalmak ismeretét, amelyekket manapság rendszerint nem tanítanak a mszaki felsoktatásban. Legalább is a fiskolákon nem. A bonyolultságelméletet a formális nyelvekkel és az azokhoz rendelhet absztrakt automatákkal (közülük is a Turing géppel) teszi matematikailag precízzé, de sokszorosan több új fogalommal találkozik az olvasója, mint az az egy-két új fogalom, amit megmagyarázni hivatott volna. Mindezek ellenére azonban, ha az Olvasó megelégszik a heurisztikus értelmezésekkel, akkor a XIV. Függelék nélkül is megérthetek a magyarázatok. 7

Az egyirányú függvények Nem csak a való életben, hanem a matematikában is léteznek egyírányú utcák. Nagyon egyszer A-tól B-ig eljutni, de gyakorlatilag lehetetlen B-tl A-ig. 6 A titkosítási folyamatot úgy tekinthetjük, mint az A-ból B-be való eljutás folyamatát. Ha ez a folyamat egyirányú, akkor aránylag könnyen eljuthatunk A-ból B-be, de gyakorlatilag lehetetlen B-bl A-ba eljutni. 7 Ha csak a szokásos telefonkönyv áll a rendelkezésünkre, akkor abban könnyen megtalálható egy barátunk telefonszáma, de (ha nem fordulunk a tudakozóhoz, amelynek van inverz telefonkönyve is) akkor igen nehéz lenne a közönséges telefonkönyv alapján meghatározni, hogy ki egy adott telefonszám birtokosa. Ezen az alapon tulajdonképpen egy aszimmetrikus kriptorendszert is felépíthetünk. 8 Vegyük egy adott város telefonkönyvét (ez lesz az egyik kulcs) és titkosítsuk a nyílt szövegünk minden egyes betüjét úgy, hogy keresünk a telefonkönyvben egy nevet, amely éppen a titkosítandó betüvel kezddik, s a hozzátartozó telefonszámot írjuk a titkosított szövegbe. Figyeljünk fel arra, hogy egy-egy betühöz általában nagyon sok név és telefonszám tartozhat, ezért ugyanaz a nyíltszöveg nagyon sokféleképpen titkosítható. Ezért ez a rendszer amellett, hogy többábécés (polyalfabetikus) rendszer ráadásul még nondeterminisztikus is. 9 A legális címzett (és csakis ) persze rendelkezik egy olyan telefonkönyvvel, amelyben a telefonszámok vannak (pl. növekv sorrendben) felsorolva és bármelyik telefonszámhoz megkeresheti benne az ahhoz tartozó nevet. (pontosabban ez esetben csak a név kezdbetüjét). Ez az inverz telefonkönyv a másik kulcs. 6 A közlekedési szabályokat kevésbé tisztel (és gyalogosan is sokat közleked) magyar állampolgárnak valószín<leg kevésbé szemléletes ez a példa, mint amilyennek azt az amerikai szerz szánta. 7 Sokkal meggyzbb mindjárt egy matematikai példával élni, amit (némi módosítással) ténylegesen alkalmaznak is a nyilvános kulcsú kriptográfiában: Nem különösebben nehéz pl. prímszámokat összeszorozni még akkor sem, ha nagyon sok prímtényez szorzataként igen nagy számot állítunk el. 300 éve nem találnak azonban olyan algoritmust, amellyel egy összetett szám egyszer<en prímtényezire lenne bontható. Pl. egy 10 100 nagyságrend< összetett szám prímtényezinek meghatározása szinte reménytelen feladat. Nos a prímszámok szorzatának kiszámítása tipikusan egyirányú matematikai m<velet. 8 Ez a telefonkönyves példa Arto Salomaa-tól származik és nagyon közértheten szemlélteti az aszimmetrikus kriptográfia jellemz tulajdonságait. Alább majd még többször hivatkozunk rá. 9 Figyeljünk fel arra, hogy, hogy a nyílt szöveg minden egyes betüjét egy-egy véges halmazból véletlenszer<en választott egy-egy elemre (ti. egy telefon-elfizet telefonszámára) képezzük le. A nyílt szöveg betüi és az említett halmazok között persze determinisztikus kapcsolat van. A nondeterminisztikus jelleget az viszi bele ebbe a leképezésbe, hogy a determinisztikusan meghatározott halmaz elemei közül véletlenszer<en választunk ki egyet az éppen kódolni kívánt betühöz. (Lásd az ábrát a 52. oldalon!) 8

Szokás az ilyen egyirányú eljárásokat csapóajtónak (trapdoor function) is nevezni annak a jelzésére, hogy egy ilyen ajtón az egyik irányban könny keresztülhaladni, de az ellenkez irányban annál nehezebb, s csak az illetékes képes erre, aki ismeri a csapóajtó nyitját. Kiszámíthatatlanság (kikövetkeztethetetlenség, intractability) A nyilvános kulcsú kriptográfia tanulmányozása szorosan kapcsolódik az egyirányú függvények ötletéhez. Ha egy x argumentum értéke adott, akkor aránylag könnyen kiszámíthatjuk az f(x) függvényértéket, de az egyirányú függvények esetén igen nehéz f(x) ismeretében kiszámítani az x argumentum értékét. Ezt a tulajdonságot 10 nevezzük kiszámíthatatlanságnak, bár pontosabb kifejezés lenne a kikövetkeztethetetlenség kifejezést használni, csak éppenséggel igen körülményes. KÖNNYEN KISZÁMÍTHATÓ x GYAKORLATILAG KISZÁMÍTHATATLAN f(x) Ez a kiszámíthatatlanság az oka annak, hogy a kulcs ismerete nélkül a titkosított szöveg feltörése csak úgy lehetséges, hogy minden elképzelhet kulcsot kipróbálunk. 56 bites kulcs esetében nyilván 2 56 különböz kulcs lehetséges, ami igen nagy szám ugyan, de véges. Ezt a módszert, nevezetesen minden lehetséges kulcs kipróbálását, nevezik a nyers er" (brute force) módszerének. f(x) egy sor titkosító függvény bármelyike lehet köztük nemdeterminisztikus függvényeké is. Ezek között olyan, a matematikai tanulmányokból egyáltalán nem ismers függvény is lehet, mint amit a fenti telefonkönyves példában szemléltetésképp bemutattunk. A következkben az un. lefedési probléma kapcsán majd példaként bemutatunk egy ilyen f(x) függvényt, amely szintén nem hasonlít a matematikai analízisben megszokott függvényekre. Ezért a kriptográfiában alkalmazott függvényeket szokás transzformációknak is nevezni. 10 Nevezetesen azt, hogy f(x) ismeretében reális id és/vagy számítási kapacitással kalkulálva nem tudunk visszakövetkeztetni az x argumentum értékére. A gyakorlatban használnak olyan egyirányú függvényeket is,, amelyek tényleg nem számolhatók ki viszafelé. 9

Az egyirányú függvények biztosítják, hogy az illetéktelen megfejt szempontjából a transzformációt gyakorlatilag ne lehessen visszafejteni. A legális címzettnek persze rendelkeznie kell a csapóajtó nyitjával, amellyel f(x) bl aránylag könnyen vissza tud következtetni x re. Még egyszer összefoglalva az elmondottakat a kriptográfiai egyirányú függvénynek alapveten a következ két tulajdonsággal kell rendelkeznie: 1. f(x) nek aránylag könnyen kiszámíthatónak kell lennie adott x bl. 11 2. x nek gyakorlatilag kiszámíthatatlannak (intractable) kell lennie f(x) bl. Nem létezik azonban egzakt bizonyítás a 2. pontban említett kiszámíthatatlanságra. Ez azt a tényt tükrözi, hogy a bonyolultságelméletben igen nehéz alsó határt megszabni valaminek a bonyolultságára. A nyíltkulcsú kriptográfia szempontjából azonban minden olyan függvény alkalmazható, amely a fenti két kritériumot legalább gyakorlatilag kielégíti (ha elméletben nem is). Másrészrl azonban a kiszámíthatatlanság megitélése eléggé szubjektív dolog. Elfordulhat, hogy a kriptorendszer megalkotója kiszámíthatatlannak itél egy általa csakis egyirányúnak vélt függvényt és mégis elkerül egy kriptoanlitikus, aki képes a rendszert feltörni. Ezért van aztán, hogy egyegy új rendszer szabványosítása eltt igen komoly díjakat tznek ki a rendszer feltörésére. Ennek az a célja, hogy ha van a rendszernek gyenge pontja, akkor az derüljön ki, mieltt szabványosítanák. Salomaa 12 a Nyiltkulcsú kriptográfia c. mvében nagyszer példákat mutat be az egyirányú függvényekre. Az meghatározása szerint egy problémát akkor nevezünk kikövetkeztethetetlennek (intractable), ha nem létezik algoritmus a probléma megoldására. 13 Ha viszont létezik megoldási algoritmus, akkor a probléma kikövetkeztethet (tractable). 11 Itt külön nem említjük, de determinisztikus esetekben f(x)-nek egyérték< függvénynek kell lennie, azaz minden x-hez csak egyetlen f(x) függvényérték tartozhat. A szimmetrikus kriptorendszereknél f(x) inverzének is léteznie kell, az aszimmetrikus kriptorendszereknél nem f(x) inverz függvényének kell léteznie, hanem ennél bonyolultabb feltételeknek kell teljesülnie. 12 Ugyanarról a finn szerzrl van szó, aki vagy 25 évvel korábban, amikor a kriptográfia elméleti háttere még nem alakult ki, a formális nyelvek és az absztrakt automaták elmélete területén írt alapvet m<veket és akit a telefonkönyves titkosítási példa kitalálójaként a 9. oldalon lábjegyzetben már említettünk. Salomaa zseniális ötlete volt, hogy egy probléma bonyolultságát úgy definiálja, hogy valamely szabványos (elvi) számítógép hány lépésben képes azt megoldani. S vajon milyen más szabványos gépet is választhatott volna erre, mint a Turing gépet. 13 Érdemes megjegyezni, hogy az absztrakt automaták körében a Turing géppel nem megoldható problémák éppen azok, amelyeknek nincs megoldási algoritmusuk. (Ekkor a Turing gép sohasem áll meg.) A következkben látni fogjuk, hogy a kiszámíthatatlanság matematikai definiciója éppen azzal hozható kapcsolatba, hogy van-e olyan Turing gép, amely végesszámú lépésben képes megoldani az adott problémát. (Ha létezik ilyen Turing gép, akkor az egy polinommal definiálható.) 10

KönnyNnek nevezzük egy probléma megoldását, ha létezik hozzá olyan megoldó algoritmus, amely polinomiális id"ben 14 számolva aránylag rövid id alatt (low polynomial time) megoldja azt. Ilyenkor feltétlenül létezik egy a megoldást realizáló Turing gépet meghatározó polinom. 15 Az un. nem polinomiális NP problémák esetében viszont nincs olyan Turing gép, amely végesszámú lépésben megoldani képes az NP problémát és persze nincs olyan polinom sem, amely meghatározná az adott problémát megoldó Turing gépet. Jegyezzük meg a teljesség kedvéért, hogy az ilyen (kiszámíthatlan) problémára az NP komplett kifejezést használjuk. Az NP komplett problémák tehát kiszámíthatatlanok (kikövetkeztethetetlenek). 16 A mondottak miatt az egyirányú függvényekre felírt két követelmény közül a másodikat egy kevésbé szigorú feltétellel szokás helyettesíteni: beérjük azzal, hogy az inverz transzformáció látszólag kiszámíthatatlan. A matematikai kiszámíthatatlanság szemléltetésére kiváló példát ad az un. lefedési problémák 17 osztálya. A lefedési problémák lényegének a megértése segít abban, hogy megértsük azokat az általános elveket, amelyek megalapozzák a nyiltkulcsú kriptográfiát. 14 Elég itt annyit tudni errl a fogalomról, hogy összefüggésben van azzal, hogy egy Turing gép hány lépésben oldja meg az adott problémát és nem jelent tényleges idt. Alkalmas azonban arra, hogy a mindenkori számítási technológia szintjén összehasonlítsa két különböz megoldás idigényét, meghatározza a megoldási idk arányát. Tehát relatív mértékrl van szó, mint ahogyan a könny< fogalommal kapcsolatban is joggal kérdezhetjük, hogy mihez képest könyny< a megoldás. 15 Ahhoz, hogy a polinom kifejezés itt használt fogalmát megértsük, elég mély absztrakt algebrai ismeretekre, nevezetesen az un. Galois test-tel kapcsolatos tételek ismeretére van szükség. Olyan polinomokról van szó ugyanis, amelyek számelméleti gyürüt alkotnak és az együtthatóik egy prímhatvány rend< Galois test elemei. 16 Ezzel és a Turing gép, valamint az ahhoz tartozó polinom fogalmának a segítségével- elvileg definiáltuk a kiszámíthatatlanságot. Lényegében azonban a kiszámíthatatlanság nem kezelhet fogalma helyett az ugyanúgy kezelhetetlen NP komplettség fogalmát vezettük be. Itt kell (elször) megemlíteni, hogy e problémakör fogalmait (így a polinomiális id fogalmát is) a XIV. Függelék hivatott összefoglalni úgy, ahogyan azt Arto Salomaa leírta. És eléggé kemény elvi szinten írta le! 17 Az angol eredetiben class of knapsack problems azaz a hátizsák problémák osztálya. Mármost vagy nem szabad lefordítani a knapsack (hátizsák) szót, vagy pedig egy a magyarban szemléletesebb szót kell találni a fogalom megnevezésére. A magyarázatból kiderül majd, hogy miért választotta a magyar szerz a lefedés szót (ami itt sz<kebb értelm<, mint az angol cover szó lenne.) Késbb azonban használni fogjuk a knapsack megnevezést is. 11

A lefedési probléma A lefedési probléma a következképp definiálható: Adott egy n elem sorvektor (amit szám n-esnek is neveznek) és adott egy k pozitív szám. A sorvektor 18 A = (a 1, a 2,...... a n ) Ahol valamennyi a i elem egy-egy egészszám. A probléma az, hogy találunk-e A elemei között egy olyan szám-sorozatot, amely számok összege éppen k. Szemléletes, ha mind a k számot, mind az A sorvektor a i elemeit távolságoknak tekintjük. Ekkor a probléma úgy fogalmazható, hogy található-e az a i távolságoknak egy olyan (rész)sorozata, amellyel a k távolság pontosan lefedhet. Ebben az értelemben neveztük ezt a problémát lefedési problémának. Az angol terminológia szerinti hátizsák (knapsack) elnevezés alapja ugyancsak egy szemléletes megközelítés, amelynél mind a k számot, mind az A sorvektor a i elemeit térfogatoknak tekintik s az a kérdés, hogy a k térfogatú hátizsák mely a i térfogatelemekkel tölthet ki tökéletesen. 19 A probléma szemléltetésére tekintsük az alábbi 10 elem sorvektort: A = (43, 129, 215, 473, 903, 302, 561, 1165, 697, 1523,) Legyen adott továbbá k = 3231 Ellenrízhetjük, hogy ebben az esetben megoldás a következ: 3231 = 129 + 473 + 903 + 561 + 1165 Kérdés persze, hogy hogyan bukkantunk rá erre a lefedésre és az adott elemkészletet használva csak ez az egyetlen megoldás létezik-e. Ami a kérdés els részét illeti ha egyáltalán létezik megoldás azt elvileg mindíg megtalálhatjuk úgy, hogy az adott elemkészlet valamennyi részhalmazával végigpróbálgatjuk a lefedést, azaz valamennyi részhalmaz elemeit összeadogatva minden ilyen 18 Késbb ezt a vektort (amit itt látszólag találomra felveszünk) a lefedési vektornak (az angol eredetiben knapsack vector) nevezzük, jóllehet nem magát a teljes A vektort használjuk a lefedéshez, hanem annak minden esetben más-más komponenseit, méghozzá esetenként általában egynél több komponensét. 19 Aki már a valóságban próbált hátizsákba pakolni az tudja, hogy nincs olyan tele hátizsák, amibe ne lehetne még valamit belegyömöszölni. Lényegében ezért választottuk inkább a lefedési probléma megnevezést. Van olyan interpretáció is, amely a kitölt elemek súlyával számol. 12

összeadásnál megnézzük, hogy az egyezik-e k val. Az adott tízelem sorvektor esetében 2 10 = 1024 ilyen részhalmaz van. Ha a triviális eseteket (azaz az üres és az 1 elem részhalmazokat, valamint az összes elemet tartalmazó nem valódi részhalmazt is) beszámítjuk, akkor legfeljebb 1024 próbálkozással megtalálható a lefedés, ha az egyáltalán létezik. Sokkal nehezebb lenne megoldást találni pl. egy 300 elem szám n-es esetében. Nyilvánvaló, hogy 2 300 részhalmazzal gyakorlatilag hiábavaló lenne próbálkozni. A bemutatott lefedési probléma eleget tesz az egyirányú függvényekkel szemben támasztható követelményeknek. Persze egyelre nyitott kérdés a megoldás kulcsa, annak unicitása (=csak egyetlen megoldás létezik-e) és az, hogy hogyan alkalmazzuk ezt információ titkosításra. A következkben ezeket igyekszünk bemutatni. Az n elem A vektor segítségével egy f(x) függvényt definiálhatunk a következképpen: Az 1 és a 2 n -1 (zárt) intervallumon belüli valamennyi x egészszám egy-egy n-jegy bináris számmal is megadható. (A kis számok 0-ás jegyekkel kezddnek, de azokat is n-jegy bináris számok ábrázolják.) 1? x? 2 n - 1 Tekintsük most valamely x szám bináris alakját (amit B x -szel jelölünk) egy maszknak, amelynek 1-es számjegyei kijelölik az A sorvektornak azokat az a i elemeit, amelyeket összeadva x hez hozzárendeljük az f(x) függvényértéket. 20 Ha biztosítható, hogy A -nak ne legyen két olyan különböz részhalmaza, amelynek elemei ugyanazt az összeget adják (azaz biztosított f(x) unicitása), akkor ezzel az eljárással titkosíthatjuk az 1? x? 2 n -1 intervallumba es valamennyi x számot. Az elbbi példában, amelyben A egy tízelem vektor volt az adott k számot kijelöl maszk a következképp mködik: A = (43, 129, 215, 473, 903, 302, 561, 1165, 697, 1523,) x = 0 1 0 1 1 0 1 1 0 0 k = 0+ 129 + 0 + 473+903+ 0 +561+1165 + 0 + 0 =3231 tehát az eredeti x 2 = 0101101100 = 364 10 számhoz a k = 3231 számot rendeli hozzá az f(x) transzformáció. Ez a maszkolási technika egy n komponens vektorral összesen 2 n bináris szám maszkolását teszi lehetvé. Ez fontos. Itt nyilvánvaló, és késbb hivatkozunk is erre a megállapításra. 20 Tulajdonképpen itt és most kapott értelmet az, hogy miért is tekintjük A-t vektornak ahelyett, hogy egyszer<en egy n elem< halmaznak tekintenénk. Nyilvánvaló ugyanis, hogy a maszkolásnak csak akkor van értelme, ha az elemek sorrendje szigorúan kötött, ami akkor teljesül, ha azok egy vektor komponensei. 13

A leírt maszkolás matematikailag (is) megfogalmazható: Az adott esetben a 10 komponens A sorvektor és az ugyancsak 10 komponens B x bináris szám, mint oszlopvektor skalárszorzatát kellett kiszámolni ahhoz, hogy az x argumentumhoz megkapjuk a k = f(x) függvényértéket, azaz f(x) = A B x ahol B x mint említettük az x szám bináris oszlopvektora. Írjuk le most az 26 bets (+ szóköz) angol ábécé un. természetes bináris kódjait: Betü Dec.Sorsz. Bináris kód Betü Dec.Sorsz. Bináris kód Sp 0 00000 N 14 01110 A 1 00001 O 15 01111 B 2 00010 P 16 10000 C 3 00011 Q 17 10001 D 4 00100 R 18 10010 E 5 00101 S 19 10011 F 6 00110 T 20 10100 G 7 00111 U 21 10101 H 8 01000 V 22 10110 I 9 01001 W 23 10111 J 10 01010 X 24 11000 K 11 01011 Y 25 11001 L 12 01100 Z 26 11010 M 13 01101 Titkosítsuk most a bemutatott eszközökkel (és a két oldallal korábban megadott 10 komponens A sorvektorral) a következ angol szöveget: SAUNAspANDspHEALTH 14

Tegyük ezt úgy, hogy 10 jegy bináris számokat kapjunk mert a sorvektorunk is 10 komponens. Mivel az ábécé betüihez ötbites bináris kódokat rendeltünk hozzá, nyilván a betüpárok adnak egy-egy 10 jegy bináris kódot a következképp: Betü pár Bináris kód x decimális értéke f(x) érték e SA 100110000 1 UN 101010111 0 Asp 000010000 0 AN 000010111 0 Dsp 001000000 0 HE 010000010 1 AL 000010110 0 TH 101000100 0 609 2942 686 3584 32 903 46 3326 128 215 261 2817 44 2629 648 819 A táblázat második oszlopában a tízjegy bináris számok az f(x) függvény argumentumai. A táblázat harmadik oszlopában megadtuk a 10 jegy bináris számok decimális megfelelit is (nem mintha erre a ciphertext elállításához szükség lenne). A fenti nyolc betüpárhoz az utolsó oszlopban feltüntetett nyolc számérték tartozik, (amelyeket a maszkolási technikával kaptunk,) azaz a ciphertext vektor a következ: (2942, 3584, 903, 3326, 215, 2817, 2629, 819) Látható tehát, hogy hogyan titkosítjuk a szöveget, de (egyelre) nem esett szó arról, hogy hogyan fogja a legális címzett megfejteni a ciphertextet. Itt lehet megemlíteni, hogy az A vektorhoz hasonló lefedési (=knapsack) vektorok jól alkalmazhatók mind a klasszikus, mind a nyilvános kulcsú kriptográfiában. A kriptanalítikusnak az a feladata, hogy megkeresse a titkosítás alapját képez A vektort azaz, hogy megoldja a lefedési problémát. A titkosítási rendszer tervezjének viszont az a célja, hogy minél nehezebbé tegye az illegális megfejt számára a megoldást. Mindemellett a ciphertextnek csak egyetlen megfejtése lehet. Ez a bemutatott példánk esetében azt jelenti, hogy A elemei közül nem választható ki két különböz részhalmaz úgy, hogy azok elemeinek összege mindkét részhalmaz esetében ugyanaz legyen. Ezt a tulajdonságot nevezzük f(x) unicitásának. 15

A fenti táblázatban egyelre még mindíg hallgatólagosan feltételezzük azt is, hogy az f(x) függvény unicitása valamilyen módon biztosított. Foglalkozzunk elször ezzel a problémával! Ellenpéldaként titkosítsuk most az ábécé betüihez tartozó ötbites kódokat a következ A lefedési vektor segítségével: A = (17, 103, 50, 81, 33) Az F betühöz tartozó ciphertext: (00110) 50 + 81 = 131. Az S betühöz tartozó ciphertext pedig (10011) 17 + 81 +33 = 131, azaz a megfejtéskor mind az F betü, mind az S betü matematikailag jó megoldást ad. Ebben az esetben tehát a transzformáció alapjául szolgáló A vektor nem biztosítja az f (x) függvény unicitását. Más szóval ez az A vektor nem megfelel a titkosításhoz. Kérdés, hogy hogyan kell az A vektort megszerkeszteni (azaz a komponenseit felvenni) ahhoz, hogy a segítségével alkalmazott f(x) transzformáció unicitása biztosított legyen. Másképpen fogalmazva ez azt jelenti, hogy akárhány komponense is van A-nak, ne legyen a komponensekbl alkotható két, különböz részhalmaza, amelyek komponenseinek összege ugyanaz lenne. 21 A-nak e tulajdonsága úgy biztosítható, hogy a komponensek un. szupernövekv" sorozatát választjuk. Az a i egészszám ok sorozatát szupernövekv"nek nevezzük akkor, ha bármelyik tagja nagyobb, mint az összes elz tag összege, azaz ai+1 i > j= 1 a j A komponensek így választott sorozata persze monoton növekv lesz, nem úgy, mint a példaként választott A vektor esetén, de erre a kérdésre azonnal kitérünk. A lefedés vektorának bonyolultsági szintjét növelhetjük ha a komponenseken egy modulo m-szorzást hajtunk végre. 22 21 Figyeljünk fel arra, hogy, hogy az ellenpéldánál az okozott gondot, hogy az A vektornak volt olyan komponense (nevezetesen az 50) amely két másik komponens (nevezetesen 17 + 33) összege volt. Eléggé kézenfekv, hogy ez a gond kiküszöbölhet, ha úgy választjuk meg az A vektor komponenseit, hogy egyik se legyen elállítható másik két vagy több komponens öszszegeként. 22 A mod m szorzás mint a neve is mutatja- a mod m maradékos osztás inverz m<velete. A modulus (m) komponensekhez viszonyított nagyságától függen megszünteti a lefedés vektora komponenseinek monoton növekv jellegét és egyáltalában jól belekavar az eddig ismertetett eljárásba, tovább nehezítve ezzel az illetéktelen megfejt dolgát. A célja valóban az, hogy a szupernövekv komponens< vektor elemeivel való könny lefedési problémát valóban nagyon 16

nehezen megoldhatóvá transzformálja. (Ld. még az összefoglalást is a 5oldalon.) A mod m osztás (ill. inverze) alkalmazásának azonban a számítási munka szempontjából jelents elnyei is vannak. Ezért gyakorlatilag valamennyi, az itt példaként bemutatottól kölönböz kriptográfiai egyirányú függvény esetében is elfordul, amint késbb látni fogjuk majd. 17