DT                    D é n e s   T a m á s matematikus                                         TD

 független szakértő            

e-mail: tdenest@freemail.hu

                                                                                                             

Piérre Fermat

és a nyilvános kulcsú rejtjelzés

 

 

 

Szinte hónapra pontosan  100 évvel Girolamo Cardano születése után, 1601-ben született meg  Piérre Fermat. Bár Fermat, Cardanohoz hasonlóan sokoldalú tudós volt, aki nemcsak korának, hanem az egész tudománynak (nem csak a matematikának) jelentős alakja, mégis nevéhez többnyire csupán a "Fermat sejtés" tapad. Valószínűleg ez a sejtéshez fűződő különös történetnek köszönhető, amely szerint Fermatról ránk maradt Diophantosz "Aritmetikájának" egy 1621-ben kiadott példánya, amelyben számos megjegyzést irt a könyv különböző helyeire. E megjegyzések a Diophantosz által felvázolt problémákkal kapcsolatosak és igen sok értékes anyagot szolgáltatnak a matematikusoknak, főleg a számelmélet területéről. Az egyik ilyen megjegyzésben, melyet  egy lap margójára irt, Fermat arra utal, hogy az    egyenletnek nincsenek  természetes számokra zérustól különböző egész megoldásai. A könyv margóján ez olvasható: "Ennek igazán bámulatos bizonyítását találtam meg, azonban a könyv margója túlságosan keskeny, hogy ide írjam."

 

Ettől kezdve a matematikusok és érdeklődő nem matematikusok állandóan igyekeztek a bizonyítást megtalálni, vagy egy olyan példát keresni, amely megdönti Fermat állítását.

A kételkedők szerint Fermat nem is bizonyította be ezt a tételt, ezért az  1990-es évek közepéig, amíg a bizonyítást valóban sikerült megadni, Fermat sejtésnek nevezték. A kételkedők érveit nagyban alátámasztotta, hogy Fermatnál elég gyakran fordulnak elő téves matematikai állítások, ilyen például, hogy "minden  alakú szám prím, ha  n  természetes szám", ezeket nevezzük Fermat számoknak.

A Fermat sejtés bizonyítási kísérleteire lelkesitőleg hatott, hogy  1908-ban  Wolfskehl német matematikus  100 ezer márkát adott át a Göttingai Tudományos Társaságnak, hogy jutalomként fizesse ki annak, aki a sejtés bizonyítását megtalálja, vagy téves voltát bebizonyítja. Több mint  300 éves szunnyadás után a XX. században több részleges eredményt sikerült elérni elég nagy, de mégis véges  n  értékekre, míg Andrew Wiles amerikai matematikus  1993-ban bejelentette a szenzációt, hogy sikerült a teljes bizonyítást megtalálnia. Nemsokára kiderült, hogy Wiles bizonyítása hiányos. Ezt azonban  Richard Taylorral közösen sikerült pótolni 1994-ben, így  1995-ben az  Annals of Mathematics  141. számában a teljes bizonyítás megjelenhetett. Magyar nyelven is tájékozódhat a kedves Olvasó  Rónyai Lajos dolgozatából  (Matematikai Lapok, új sorozat 2., 3-4. szám).

Így  1995-óta jogosan beszélhetünk sejtés helyett nagy Fermat tételről. A  "nagy" jelző a "kis" Fermat tételtől való megkülönböztetésre szolgál, amelyről a következőkben lesz szó és amelynek "kis" jelzője ellenére alapvető hatása van napjaink információ titkosítására. Fermat eredetileg a következő tételt mondta ki:

Kis Fermat tétel:

Ha  p  prímszám és  a  nem osztható  p-vel, akkor teljesül az (1) kongruencia[1]

 

(1)                                            

 

Fermat bizonyítása azonban ebben az esetben sem maradt fenn. Az első bizonyítás majd 100 évig váratott magára és  Leonhard Eulertől  (1707-1783) a XVIII. század matematikus óriásától származik. Euler egyben a tétel általánosítását is bebizonyította, így ma  Euler-Fermat tételnek nevezzük, amely így szól:

Euler-Fermat tétel:

Ha    egész szám és  (a,m)=1, azaz  a  és  m  relatív prímek[2], akkor

 

(2)                                     

 

 

Hogy ez valóban a kis Fermat tétel általánosítása, ahhoz a    Euler-féle függvény értelmezéséről kell beszélnünk.    jelenti a  0, 1, 2, ..., m-1  számok közül az  m-hez relatív prímek számát.

Például: 

 

Általában igaz a tétel, hogy ha  m=p  prímszám, akkor

 

(3)                                           

 

Ebből az is könnyen belátható, hogy ha  p  és  q  különböző prímek, akkor

 

(4)                                  

 

 

 

A prímszámoknak és a számok osztóinak titokzatos szerepet tulajdonítottak az ókori számmisztikában olyannyira, hogy Püthagorasz és követői, akik e számmisztika fő hirdetői voltak (i.e. VI-V. század), úgy tartották, hogy "A dolgok természete, lényege: a szám."  De nem csak hirdették, hanem valóban a természeti és társadalmi jelenségeket mind-mind a számok csodálatos tulajdonságai "testesítették meg". A pütagoreusok ugyanis nem a számokat személyesítették meg, hanem a személyes (emberi) tulajdonságokat "számosították meg".

 

Tökéletesnek tartottak egy számot, ha az megegyezett osztói összegével. Tökéletes számok[3] például a  6=1+2+3  és a   28=1+2+4+7+14 . A pütagoreusok csak néhány tökéletes számot ismertek, így a 496-ról és a 8128-ról is tudták, hogy tökéletes számok. A matematikusok az ókor óta nem tudják, hogy van-e végtelen sok tökéletes szám.

Az ötödik tökéletes számot, a 33.550.336-ot a XV. században találták meg, míg a XVI. század adta a hatodik és hetedik tökéletes számot, a  és a . Látható, hogy a tökéletes számok között, ahogy haladunk "előre" egyre nagyobb távolságok vannak, így nem meglepő, hogy egyre nehezebb újabb tökéletes számokat találni. A nyolcadik tökéletes szám megtalálására a XVIII. századig kellett várni, amikor Leonhard Euler kimutatta, hogy a  is tökéletes szám. A számítógépek megjelenéséig még négy tökéletes számot sikerült megtalálni a XIX. században kézi számolással, ezek a , , ,   tökéletes számok[4].

Modern számítógépekkel a XX. században már egyre nagyobb tökéletes számokat sikerült előállítani, például ma már tudjuk, hogy  , , , , , , ,  is tökéletes számok[5].

De a pütagoreusok szerint vannak barátságos számok is. Két szám akkor áll barátságban egymással, ha az egyik osztóinak összege pontosan a másik számot adja és fordítva. Barátságos számok például a  220 és  284, ugyanis

 

220  osztói:          1+2+4+5+10+11+20+22+44+55+110=284

 

284 osztói:           1+2+4+71+142=220

 

A barátságos számok felfedezésének története is sok évszázados történet. Már a régiek ismerték az 1184 és 1210 barátságos számpárt, majd Piérre Fermat mutatta ki ugyanezt a 17296 és 18416 számpárról. René Descartes (1596-1650), aki szintén a matematika egyik óriása volt[6] fedezte fel a  9363584 és 9437056 barátságos számpárt, majd Euler a XVIII. században még  61 barátságos számpárt határozott meg.

 

 

 

A számmisztika már régen homályba merült, de a harmóniába, a harmonikus szépségbe vetett hit napjainkig fennmaradt. De fennmaradt az a számtalan örökérvényű gondolat, tudományos tétel is, amely e misztikus gondolkodás talaján fogant és mégis a természet mély összefüggéseit írja le. Mint a bemutatott példák is mutatják, néha olyan mély titkokat sikerült a pütagoreusoknak "számszerűsíteni", hogy még a mai napig sem tudta az emberiség a megfejtést megtalálni.  Napjaink kriptográfiája[7] nagy részben ezekre az évezredes meg nem fejtett titkokra épül.

 

Igen érdekes magyar vonatkozásokra derül fény a prímszámokkal és a kis Fermat tétellel kapcsolatban, Kiss Elemér marosvásárhelyi matematikus és Bolyai kutató tollából. 1999-ben megjelent könyvében (lásd [8]) egészen új képet kapunk Bolyai Jánosról, eddig ismeretlen dokumentumokra alapozva. Kiss Elemér könyvéből kiderül, hogy Bolyai János leginkább a prímszámokkal szeretett foglalkozni, erről így ír Ő maga:

"Az egész számtan sőt az egész tan mezején alig van szebb és érdekesebb ... s a legnagyobb nyiászok (matematikusok) figyelme és eleje óta elfoglalt tárgy, mint a főszámok (prímszámok) oly mély homályban rejlő titka."[8]

Bolyai is, mint a Pütagoreusok óta annyi matematikus, kereste az úgynevezett prímszám képletet, vagyis olyan formulát, amely közvetlen összefüggést ad meg az  n-edik prímszám értéke és az  n  index között. 1855 tájékán még úgy gondolta, hogy sikerült megtalálnia a titok megfejtését:

"Azt megmutatni, hogy bármely    alakú szám prím mihelyt  p  prím, ugyanakkor amikor a  -gyel bajlódám, magam is megkísértettem, mert amint irataim is megmutatják én is abban a sejtelemben voltam, hogy    mindig prím, ha  p  prím. Ez egy történeti fontosságú felfedezése volna a legelső olyan függvénynek, mely mindig prímet ad. Azonban ez sem valósul meg, mert például   ..."[9]

 

Apja (Bolyai Farkas) ösztönzésére megkísérelte a kis Fermat tétel fordítottját bebizonyítani, mivel ha ez sikerül, akkor megkapta volna a vágyott prímszámképletet. A kis Fermat tétel fordítottja azt mondja ki, hogy ha   osztható  p-vel, akkor  p  biztosan prímszám. Néhány kísérlet után azonban rádöbbent, hogy a bizonyítás lehetetlen, mivel a kis Fermat tétel fordítottja általában nem érvényes. Ellenpéldákat keresve, felfedezte a legkisebb úgynevezett pszeudoprím számot, a  341-et.

 

Vannak ugyanis olyan  n  összetett számok, amelyek minden  n-hez relatív prím  a-ra kielégítik a kis Fermat tételt, vagyis

 

(5)                              ahol   n  összetett szám és  (a,n)=1

 

Az ilyen  n  számokat nevezzük  Carmichael számoknak, melyekről csak a XX. század közepén sikerült bebizonyítani, hogy végtelen sok létezik belőlük.

Az olyan összetett  n  számokat, amelyekre az  (5)  összefüggés  a=2 esetén teljesül, 2-re vonatkozó pszeudoprímeknek, vagy álprímeknek nevezzük.

 

Az álprímek történetében Bolyai János fontos szerepet játszott, amely Kiss Elemér kutatásai nélkül mindmáig ismeretlen maradt volna.

 

A modern kriptográfia az  1970-es években újra "felfedezte" a számelméleti eszközök felhasználásának előnyeit. Az időpont talán nem véletlen, hiszen ekkorra tehető a globális információs rendszerek, a globális kommunikáció, az "információ robbanás" korszakának kezdete, amely óriási kihívást jelentett az információk biztonságos tárolásával és továbbításával foglalkozóknak.

 

Íme a klasszikus titkosítás vázlata:

 

 


                                                           Titkos kulcs

          Nyílt üzenet[10]                                                                          Rejtjeles üzenet

                                                                           Titkosító eljárás

                     Küldő                                                                                                                       Fogadó

 

 

 

A Fogadó fél (ha nem illetéktelen) rendelkezett ugyanazzal a titkos kulccsal és természetesen a titkosító eljárásnak megfelelő megoldó eljárással, így a rejtjeles üzenet megoldásának (elolvasásának) vázlata:

 

 


                                                           Titkos kulcs

          Rejtjeles üzenet                                                                         Nyílt üzenet 

                                                                             Megoldó eljárás

 

 

 

A klasszikus titkosítás tehát megfelelő (szigorú) titoktartást és pontos szervezést igényelt, hiszen a "titkos kulcs" illetéktelen kézbe kerülése, mindkét irányban végzetes lehetett. Az illetéktelen küldő képessé vált ugyanis hamis üzenetek küldésére, amely a fogadó oldalán felismerhetetlen volt, míg az illetéktelenül a titkos kulcs birtokába jutott fogadó, képes volt a másnak címzett üzenetet elolvasni. Hétköznapi hasonlattal élve ez olyan, mintha az  egy zárral nyitható ajtó kulcsát rosszul dugjuk el és azt a betörő megtalálja.

Ezen problémák megakadályozása érdekében a titkos kulcsot rendszeresen változtatták, ami viszont igen pontos (és titkos!) szervezést igényelt, hiszen erről a változásról a küldő és fogadó fél "egyszerre" kellett, hogy értesüljön.

 

 

 

W.S.Jevons már  1873-ban megjelent könyvében felvetette  (lásd  [07]) azt az elvet, hogy vannak bizonyos matematikai műveletek, amelyek elvégzése nagyon egyszerű (ilyen például az összeadás, vagy a szorzás), de az eredményből a kiindulási komponensek visszaállítása igen nehéz, sokszor reménytelen. Illusztrációként bemutatja az azóta róla elnevezett  10 jegyű számot, a Jevons számot (8.616.460.799), amely két prímszám szorzata, ám a prímtényezők meghatározását (a prímfaktorizációt) akkor reménytelennek látta[11]. Hogy Jevons ezzel a felvetésével mennyire megelőzte korát, azt mi sem bizonyítja jobban, mint hogy szinte pontosan  100 év szunnyadás után, az 1970-es évek elején merült fel ismét e gondolat. Erdős Pál és Surányi János  [05]-ben így fogalmazza meg a problémát:

"Létezhet-e azonban olyan rejtjelzés, amelyiknél nem lehet kitalálni, hogy hogyan kell azt visszacsinálni ? Első pillanatban ez valószínűtlennek látszik, mégis az Euler-Fermat tétel, továbbá a számítógépek rendkívüli teljesítőképessége egy oldalról, a teljesítőképességük határa a másik oldalról lehetőséget ad erre."

 

Az világos, hogy ahhoz, hogy az  Euler-Fermat tétel alkalmazható legyen, az üzenetnek numerikusnak kell lennie, vagyis a betűkből és egyéb írásjelekből álló szövegeket számokká kell alakítani. Ez azonban könnyen megtehető a klasszikus helyettesítéses titkositási eljárással, amikor mindenegyes írásjelnek egy-egy számot feleltetünk meg[12]. Napjaink digitális világában már nem csupán a szöveges üzeneteket, hanem a kép és hang üzeneteket is számok sorozatává alakítják, így tárolják és továbbítják a kommunikációs vonalakon, aminek sok más mellett pontosan az az előnye, hogy jóval biztonságosabb adatvédelem érhető el, mint az úgynevezett analóg jeleknél.

Ez azt jelenti, hogy nincs akadálya annak, hogy a továbbiakban üzeneten mindig számokat értsünk. Így már kézenfekvőbbnek tűnik, hogy a számelmélet eredményeit, ezen belül az  Euler-Fermat tételt is felhasználjuk a titkosításra. Legyen eljárásunk a következő:

 

a. Válasszunk két különböző  p, q  prímszámot, amelyek szorzata

 

(6)                                                  pq=N

 

b. Ha a továbbítandó üzenet (mint szám) nagyobb mint  N, akkor bontsuk fel  N-nél kisebb részekre. Egy ilyen rész legyen  h. Tehát fennáll, hogy

 

(7)                                               

 

c. Legyen továbbá  r  és  m  két pozitív egész szám, amelyekre

 

(8)                                  

 

ami pontosan azt jelenti, hogy

 

(9)          

 

d. Ekkor az  R(h)  rejtjelzés kulcsa legyen    legkisebb nemnegativ maradéka, amely az  N-nel való osztáskor keletkezik.

 

e. Ha az így rejtjelzett üzenet  h, akkor a megoldó kulcs  M(h) a    legkisebb nemnegativ maradéka, amely az  N-nel való osztáskor keletkezik.

 

 

f. Be kell tehát látnunk, hogy e két kulcs kielégíti az alábbi összefüggést:

 

(10)                                       R(M(h'))=M(R(h))=h

 

 

Nos, a fentiek szerint igazak az alábbi összefüggések:

 

(11)                  

 

Ha  (h,N)=1, akkor az Euler-Fermat tétel szerint:

 

(12)                       

 

Tehát

 

(13)                      

 

és  (7)  szerint a  (13)  jobb oldala éppen    legkisebb nemnegativ maradéka, azaz ebben az esetben teljesül a  (10)  összefüggés.

 

Vizsgáljuk most a még lehetséges  (h,N)=p  esetet. Ekkor

 

(14)      

 

ekkor a kis Fermat tétel alapján

 

(15)               

 

Szorozzuk be mindkét oldalt  -val:

 

(16)                          

 

Ekkor  (14)  folytán most is teljesül:

 

(17)                        

 

 

 

Megjegyzések:

- Nyilvánvaló, hogy a  (h,N)=q  eset ugyanígy vezethető le.

- Könnyen belátható, hogy a kongruencia akkor is fennáll, ha  h  osztható  N-nel, bár ez a gyakorlatban soha nem fordul elő.

 

 

Beláttuk tehát, hogy a fenti eljárás kielégíti a  (10)  összefüggést, amellyel egy egészen új elven alapuló titkosításhoz jutottunk. Ezt vették észre az  1970-es évek közepén  R.L.Rivest, A.Shamir és L.Adleman az  MIT  (Massachusetts Institute of Technology)  munkatársai, majd a részletes kidolgozás után, 1978-ban hozták hozták nyilvánosságra  (lásd  [13]) és szabadalmaztatták (lásd [14]). Nevük kezdőbetűi alapján  RSA algoritmusként lett közismert az egész világon és vált az egyik olyan szoftver és hardver termékké, amelyből máig a legtöbb példányt használják fel.

 

Jevons felvetése tehát  100 évvel később beteljesedett, Fermat  250 évvel azelőtti eredményére alapozva. Az  RSA algoritmus valóban a titkosítás egészen új korszakát nyitotta meg, amelyet "nyilvános kulcsú rejtjelzésnek" hívunk.  Miért ?

Mert a cikkünk elején bemutatott klasszikus titkositási eljárásokkal szemben, itt két kulccsal dolgozunk, amelyek közül az egyik nyilvánosságra hozható (ez a nyilvános kulcsnak nevezett N, r  pár) anélkül, hogy a rejtjelzés biztonsága sérülne. Miért hozható nyilvánosságra  N, r ?  A válasz érvelésére felhívom a kedves Olvasó figyelmét, mivel ez egyúttal az RSA algoritmusának lényegét is megadja !

- Jól választva két elég nagy  p,q  prímszámot (ezek ma már többszáz jegyű prímszámok)   kiszámíthatjuk  N-et és  -et.

- Ezután alkalmasan választott  r-rel az euklideszi algoritmust végrehajtva, ellenőrizzük, hogy    teljesül-e.

- Végül  r-hez meghatározzuk azt az  m  számot, amelyre  (8)  teljesül, amihez szintén euklideszi algoritmust használunk.

 

Mindezen műveletek közül a nagy prímszámok megtalálása a legkritikusabb, de ma már elég gyors eljárásokkal rendelkezünk annak eldöntésére, hogy egy szám prím-e vagy sem.

Ha tehát  N-et és  r-et, mint nyilvános kulcsot közzé tesszük, akárcsak a telefonkönyvben a telefonszámokat és  p,q,m-et tartjuk csupán titokban (ez a titkos kulcs), akkor ahhoz, hogy valaki illetéktelenül hozzájusson titkunkhoz,  N-et kell törzstényezőkre bontania. Erről pedig érdemes felidézni Martin Gardner, a Scientific American világhírű rovatvezetőjének 1977-es gondolatait, amely éppen R.L.Rivest-re hivatkozik:

"Ha a ma ismert legjobb algoritmust és a leggyorsabb számítógépeket használjuk, egy ilyen 125 jegyű RSA kulcs megfejtésére, Rivest becslése szerint a szükséges megfejtési idő körülbelül  40 quadrillió év! Ez azt jelenti, hogy praktikusan a belátható jövőben reménytelen az RSA kulcsok faktorizáció útján történő megfejtése. Ugyanakkor maga Rivest és kollégái is elismerik, hogy semmilyen elméleti bizonyítékuk nincs arra, hogy az RSA titkositási eljárás megfejthetetlen."

 

Érdekes a gondolatok hasonlósága miatt is felidézni Jevons több mint száz évvel korábbi nézetét, amelyet a Jevons számmal kapcsolatban írt le  [07]-ben:

"Meg tudja mondani az Olvasó, hogy melyik két szám összeszorzásából adódik a  8.616.460.799  szám ?  Úgy gondolom reménytelen, hogy akárki  (magamat is beleértve), valaha megtudja."

 

Természetesen akkor még nem voltak másodpercenként millió műveletet végző számítógépek, így a megoldás csak kézi számolással volt elképzelhető (illetve elképzelhetetlen). A technika nagyot fejlődött azóta. Ma már számítógéppel egy ekkora szám faktorizációja nem okoz problémát. Ezért használnak az RSA algoritmusnál többszáz jegyű számokat, amelyek faktorizációja a mai számítástechnika mellett ugyanolyan reménytelennek tűnik, mint 1870-ben a  Jevons számé.

Ha jól megfigyelte a kedves Olvasó, a fenti érvelésekben, melyek a rejtjel megfejthetetlenségéről szóltak, az elméleti érvek mellett igen nagy szerepet kapott a technika korlátaiba vetett remény, amely nem képes bizonyos határokat meghaladni !

 

Ezt a reményt (vagy reménytelenséget) azonban beárnyékolja, hogy például 1996-ban  S.W. Golomb amerikai matematikus olyan egyszerű eljárást adott, amely kézi számolással  56 lépésben megadja a Jevons szám szorzattábontását, azaz kimutatta, hogy  8.616.460.799 = 96.079 89.681  (lásd [06]). 

Végül a prímszámokra vonatkozó néhány érdekes tételt mutatok be (bizonyítás nélkül), amelyekre építve megadható a  Golomb-féle eljárás jelen szerző által javított változata, ami nem csupán a Jevons szám faktorizálására használható.

 

 

1.Tétel:

Minden 3-nál nagyobb  p  prímszám  6k+1 vagy  6k-1  alakú, ahol  k = 1,2,3,... természetes szám.

 

 

E  tétel  alapján a természetes számokat  az alábbi módon rendezhetjük hat oszlopba (lásd  1.tábla), ahol az összes prímszám az  1.  és az  5. oszlopban helyezkedik el.  Méghozzá az 1.oszlopban a  6k+1, míg az  5.oszlopban  a  6k-1  alakúak.

 

 

 

 

                                                                                      1.Tábla

 


                                                          6k+1                                                 6k-1

                                                                                                                 

 

                                             1          2           3        4        5       6

                                             7          8           9      10      11      12

                                           13        14         15      16      17      18

                                           19        20         21      22      23      24

                                           25        26         27      28      29      30

                                           31        32         33      34      35      36

                                          37         38         39      40      41      42

                                          43         44         45      46      47      48

                                          49         50         51      52      53      54

                                          55         56         57      58      59      60

                                          61         62         63      64      65      66

                                          67         68         69      70      71      72

                                          73         74         75      76      77      78

                                          79         80         81      82      83      84

                                          85         86         87      88      89      90

                                          91         92         93      94      95      96

                                          97         98         99    100    101     102

                                          . . . .

 

 

A fenti 1.tételből érdekes következményként adódik, hogy ha a prímszámokat hatos számrendszerben írjuk fel, akkor minden 6k+1 alakú prímszám  1-re, míg minden 6k-1  alakú prímszám  5-re  végződik. (lásd a  2.táblát)

 

 

 

2. Tábla

 


                                                         6k+1        hatos sz.r.               6k-1     hatos sz.r.

                                                                                                        

 

                                                            7                  11                         5                   5

                                                          13                  21                       11                 15

                                                          19                  31                       17                 25

                                                          31                  51                       23                 35

                                                          37                101                       29                 45  

                                           43                111                  41               105

                                                          61                141                        71               155

                                          . . .  

 

 

Az  1.tétel  alapján tehát a 3-nál nagyobb prímszámok szempontjából elegendő csupán a   alakú természetes számokat vizsgálni. Az alábbi  2.tétel  szükséges és elegendő feltételt ad a  alakú összetett számokra, ez a  komplementer prímszita.

 

2.Tétel  (Komplementer prímszita):

Legyenek  N, k, u, v  természetes számok, valamint  u,v 1.

N= 6k+1  akkor és csak akkor összetett szám, ha   k =  6uv + u + v,     vagy    k= 6uv - u - v   

N= 6k -1  akkor és csak akkor összetett szám, ha   k =  6uv -  u + v,     vagy    k= 6uv +u - v

 

 

A  2.tétel következményeként megkapjuk  N  kéttényezős felbontását is, azaz

 

(18)                  N= 6k+1           N=(6u+1)(6v+1),  vagy   N= (6u-1)(6v-1)

 

(19)                  N=6k-1             N=(6u+1)(6v-1),  vagy   N=(6u-1)(6v+1)

 

Fontos megjegyezni, hogy mivel a komplementer prímszita egyáltalán nem feltételezi a -nél kisebb prímszámok ismeretét, így a  (18), (19)  felbontás megtalálására jól alkalmazható osztott (párhuzamos) algoritmus.

 

Most térjünk vissza a  Jevons számhoz. S.W. Golomb [06] cikkében a Jevons szám faktorizációja kapcsán bemutat egy általános eljárást a két prímtényezős szorzatok prímtényezőinek meghatározására. Ha  J  jelöli a szorzatot, akkor a módszer alapötlete így írható le:

 

(20)                                     

 

ahol  a  és  b  természetes számok, p  és  q  prímszámok.

 

Az  (20) összefüggéshez igen egyszerűen számolható, hatékony algoritmust mutat be az  a,  b  számok meghatározására. Az algoritmus lényeges lépései:

 

- Képezzük az    kezdőértéket.

- Legyen   , ahol  k=1,2,3,...

- Képezzük az   sorozatot, amíg teljes négyzetet kapunk, azaz

 

(21)                                     

 

Ekkor tehát    természetes számok és így teljesül, hogy

 

(22)                                   

 

Az eljáráshoz mindössze egy memóriára van szükség, amelyben az aktuális    értéket tároljuk. Így akár egy zsebszámológép segítségével elvégezhetők a számítások. Igen meggyőző, hogy a Jevons által 1870-ben megoldhatatlannak tartott feladat, a  J=8.616.460.799  szám faktorizációja, S.W. Golomb módszerével  k=56  lépésben célhoz vezet és megadja az  =92.880, =3199  megoldást[13].

 

Más megközelítésben láttuk, hogy a  2.tétel (komplementer prímszita) szintén megadja bármely   alakú összetett szám két tényezős prímfelbontását[14], amelynek alakja

 

(23)                                      (u, v= 1,2,3, ...)

 

Ha tehát feltételezzük, hogy  J-nek két prímtényezője van  (lásd  (20)), akkor fennáll:

 

(24)                              

 

 

A két prímtényezőre vonatkozó feltétel, valamint a  2.tétel miatt (24)-ből következik, hogy

 

(25)                ha   J=6K+1, akkor   

                      ha   J=6K-1, akkor    

 

A két egyenlet összeadásával adódik:

 

(26)                              

                                    

 

(26)-ből következik, hogy   , vagy  mindig osztható  3-mal. Ha tehát az    kezdőértéket úgy választjuk, hogy

 

(27)                                   

 

azaz    osztható  3-mal, akkor a Golomb algoritmus szerint:

 

(28)                                  

 

amely  (27)  és  (28)  alapján csak akkor teljesülhet, ha  k  is osztható  3-mal, vagy . Így a rekurziós lépések számát harmadára csökkenthetjük, hiszen a  k=1,2,3, ...  lépések helyett csak a k=3,6,9, ..., vagy k=1,4,7,..., illetve k=2,5,8,...  esetek kiszámítására van szükség. A  Jevons szám esetén tehát:

 

(29)                                        (h=1)

                                      

 

azaz  56 lépés helyett, 19 lépésben előáll a megoldás.

Ez az eljárás (és több másik, lásd pl. [01] ) alapvetően megingatja az RSA módszer elméleti biztonságát. A ma működő információs és kommunikációs rendszerek (internet, hálózati szoftverek, távközlési hálózatok, stb.) több mint 80%-ában RSA alapú információ-védelem van. Hogy mennyire nem alaptalan az aggodalom, azt alátámasztják az utóbbi 1-2 év jelentős (és sikeres) hacker támadásai, amelyeknek egy része a kulcsok megfejtésén alapult (lásd [02]).

 

Szeretném végül felhívni a figyelmet arra a matematikus és kriptográfus gondolkodásmódbeli különbségre, hogy a matematikailag kiszámítható kulcstér mérete, azaz, hogy egy adott típusú kulcsból összesen hány különböző létezik, csak akkor lenne meggyőző érvként felhasználható, ha a rejtjelfejtési támadások az úgynevezett "teljes kipróbálás" módszerét használnák, amelyre szinte sosem kerül sor. Ekkor lenne érvényes az egyébként rohamosan fejlődő számítástechnikai kapacitások korlátait jellemző több évezredes és évmilliós érv, amely a megfejthetetlenség jellemzésére szolgál.

Az érvelés azonban azt is figyelmen kívül hagyja, hogy a hagyományos számítási kapacitások egy-számítógépes modellekre épülnek és csak ezek sebesség és tároló kapacitását veszik figyelembe, míg a már ma is létező óriási számítógép hálózatok, több száz, ezer, vagy akár százezer gép kapacitásait integrálják. Ha tehát, mint a jelen szerző által is bemutatott osztott (párhuzamos) algoritmussal is végezhető támadást alkalmazunk, akkor a technikai kapacitásokra alapuló érvelés egyre kevésbé tartható. Ilyen internetes projectek már működnek, például a SETI program keretében, amely a földönkivüli élet kutatásával foglalkozik és a világűrből érkező, óriás antennákkal felfogott, óriási mennyiségű adat, több százezer internetre kapcsolt számítógépen történő osztott feldolgozásával működik. A globális hálózatok tehát egészen új technikai dimenziókat vezetnek be, amelyek szükségessé teszik azon módszerek újragondolását, amelyeknél a technikai korlátok is szerepet kapnak. 

 

 

 

 

Irodalomjegyzék

 

 

[01]  Dan Boneh:  Twenty years of attack on the RSA cryptosystem.   

                             Notices of the AMS, February 1999, 203-213.

 

[02]  Dénes Tamás:   REJTJELFEJTÉS

                                 Trükkök, módszerek, megoldások

                                 Magyar Távközlés, XI.évf. 4.szám, 2000. április

 

[03]  T. Dénes:  Complemetary Prime-Sive

                           P.U.M.A. Vol.12 (2002) No.4. pp. 355-363

 

[04]  Dénes Tamás:  Kódtörő ABC

                                 Bagolyvár Könyvkiadó, Budapest, 2002.

 

[05]  Erdős Pál, Surányi János:  Válogatott fejezetek a számelméletből

                                                   POLYGON, Szeged, 1996.

 

[06]  S.W.Golomb:  On factoring Jevons number

                               CRYPTOLOGIA, (vol XX. no.3.) 1996.

 

[07]  W.S. Jevons:  The Principles of Science:  A Treatise on Logic and Scientific Method

                              Macmillan & Co., London, 1873.  Second edition 1877.

 

[08]  Kiss Elemér:  Matematikai kincsek Bolyai János kéziratos hagyatékából

                               Typotex Ltd., Budapest, 1999.

 

[09]  Sain Márton:  Nincs királyi út!   (Matematikatörténet)

                               GONDOLAT, Budapest, 1986.

 

[10]  Bruce Schechter:  Agyam nyitva áll!  (Erdős Pál matematikai utazásai)

                                   Vince Kiadó, Park Kiadó, 1999.

                                 

[11]  Szalay Mihály:  Számelmélet

                                 Tankönyvkiadó, Budapest, 1991.

 

[12]  W.Diffie, M.E.Hellman:  New directions in cryptography

                                                 IEEE Trans. 1976. IT-22.

                                 

[13]  R.L.Rivest, A.Shamir, L.Adleman:  A method for obtaining digital signatures

                                                                   and public key cryptosystems

                                                                   Commun. ACM, 1978. 21/2.

 

[14]  R.L.Rivest:  RSA chips  (past/present/future)

                              presented at Eurocrypt 84, Paris, France, 1984.

 

[15]  Jack Davies:  Piérre de Fermat  (1601-1665)  Mathematician and Jurist

                              Thesis for the Degree of Master of Philosophy

                              Faculty of Arts, University of Liverpool, 1996.   



[1]   azt jelenti, hogy  ha  a-t  c-vel osztjuk, akkor  b  maradékot kapunk, azaz  a=xc+b, ahol  x  egész szám 

[2] Két egész számot (például  a  és  m) relatív prímnek mondunk, ha  1-en kívül nincs közös osztójuk.

   Jelölése:  (a,m)=1

[3] Már Euklidész  (i.e. 300 körül) leírta a tökéletes számokra vonatkozó tételt: 

Ha    prímszám (azaz  1-en és önmagán kívül nincs más osztója), akkor a    szám tökéletes szám.

 

[4] Ez utóbbi számok leírásához a tizes számrendszerben 40, 60, 80 számjegyre van szükség. Képzelje el K.O., hogy mekkora munkát jelentett ezekkel a számokkal számítógép (vagy akár egyszerű számológép) nélkül számolni !? 

[5] Ezek a számok még a mai modern számítógépek számára is kemény feladatot jelentenek, hiszen a fenti legutolsó szám pontos leírásához majdnem 30000 tizes számrendszerbeli számjegyre van szükség. Ezek tehát óriási számok és mégis a végtelen sok, és végtelenül nagy természetes számokhoz képest mindössze 20 darab. Vajon hány tökéletes szám van még a hátralevő ugyancsak végtelen sok természetes szám között ? Még  20, vagy 100 ?  Egyáltalán véges számú, vagy végtelen sok ?  A feladat egyszerűnek tűnik, mégis máig megfejtetlen titok.

2. Egy adott számról eldönteni, hogy tökéletes szám-e, aránylag könnyű feladat, de mint láthattuk tökéletes számokat megtalálni nagyon nehéz. Általánosságban is igaz, hogy ismert kulccsal a hozzá tartozó zárat kinyitni könnyű feladat, de egy zárhoz megtalálni számtalan kulcs közül azt, amelyik kinyitja már jóval nehezebb.

[6] Ma már minden általános iskolás gyerek találkozik Vele például a derékszögű koordinátarendszer tanulásakor, amelyet róla neveztek el Descartes-féle koordinátarendszernek.

[7] A kriptográfia a rejtjelzéssel foglalkozó tudomány.

[8] Idézet  [8]  77.oldal

[9] Idézet  [8]  87.oldal

[10] Klasszikus értelemben nyílt üzenet alatt tetszőleges információ szöveges formában történő megjelenését értjük.

[11] A  Jevons szám faktorizációjára e dolgozat végén visszatérünk.

[12] Az egyik legismertebb ilyen eljárás a számitástechnikában nemzetközi szabványként alkalmazott ASCII kód, amely az ABC kis és nagybetűihez, az elválasztó és műveleti jelekhez a  0-255  intervallum számait rendeli hozzá.

[13]

[14] A 2.tételből kiderül, hogy ha J-nek két prímtényezője van, akkor mindig   alakú. A Jevons szám esetében például:  J=8.616.460.799=