Tartalmi kivonat
FileNév: A DES.doc - 1/79 - Utolsó módosítás:2002.0819 de 7:54 Szimmetrikus kriptorendszerek Randall K. Nichols: ICSA (ICSA: International Computer Security Association) Guide to Cryptography c. könyve alapján interpretálta Dr. Tóth Mihály fiskolai tanár FileNév: A DES.doc - 2/79 - Utolsó módosítás:2002.0819 de 7:54 Tartalomjegyzék Bevezetés . 4 Hogyan született a DES . 5 Az invertálható transzformációk . 6 Egy ellenfél támadásai a kriptorendszer ellen. 9 A Denning modell. 9 A titkosított szöveg elleni támadás . 9 Ismert nyíltszöveget alkalmazó támadás. 10 Választott nyíltszöveget alkalmazó támadás . 10 Betolakodó támadás. 10 További, a Denning modellekt.l eltér módszerek 11 Választott rejtjelszöveggel való támadás. 11 Id.zítési támadás 11 Mikor biztonságos a rejtjelzés . 11 A számítógéprendszerekben tárolt adatokat fenyeget. veszélyek 12 Mi ellen véd a titkosítás?. 12 Mennyire titkos a titkosítás ?.
13 Az információelméleti ekvivokáció és a titkosítás közvetlen kapcsolata . 18 A szimmetrikus algoritmusok és a szorzat rejtjelzés . 21 A keveréses transzformáció . 21 Iterált kriptorendszerek. 24 A DES (Data Encryption Standard . 24 A DEA áttekintése. 26 A DEA komponensei. 29 A kulcs-ütemez. számítások 29 A félszó kiterjesztése (expanziója). 35 A titkosítási eljárás áttekintése . 36 A modulo 2 összeadás . 38 Az S dobozok. 39 A titkosítási folyamat formalizálása . 46 A megfejtési (Deciphering) folyamat . 47 A lavinahatás . 48 Lavinahatás a DES-nél. 49 Gyenge kulcsok . 49 A DES üzemmódjai. 51 Az ECB üzemmód . 52 FileNév: A DES.doc - 3/79 - Utolsó módosítás:2002.0819 de 7:54 A CBC üzemmód. 53 A CFB üzemmód . 54 Az OFB (Output FeedBack) üzemmód. 58 A Dupla DES (Double DES). 59 A tripla DES (Triple DES). 62 A tripla DES két kulccsal: 3DES. 63 A DES-család. 63 A DES feltörhet.sége 65 Az EFF DES feltör.gép (EFF
DES-Cracker Machine) 69 Tárgymutató. 72 Irodalomjegyzék. 75 FileNév: A DES.doc - 4/79 - Utolsó módosítás:2002.0819 de 7:54 Bevezetés Az ókori titkosítási módszerek tekintetében lényegi áttörést jelentett a XVI.-XVII század fordulója körül a De Vigenere nevéhez köt.d, bonyolult transzformációkat (is) alkalmazó titkosítási módszerek megjelenése. Ehhez a szinthez képest áttörést jelentettek az els. világháború után megjelent elektromechanikus kódoló-kódfejt. gépek, amelyek széleskörC alkalmazása a II világháborúban élte a virágkorát mert a rádió-kommunikáció elterjedése miatt szükség volt a korábbinál sokkal komolyabb kriptográfiai védelmet nyújtó rendszerekre. Az 1960-as-70-es években az elektronikus számítástechnikai eszközök fejlettségi szintje lehet.vé tette a korábbiaknál lényegesen több számítás igen gyors elvégzését és ez által olyan titkosítási-megfejtési módszerek bevezetését,
amelyek a korábbi (elektromechanikus) technológia mellett gyakorlatilag kivitelezhetetlenek lettek volna. Amint azt a DES története kapcsán ebben az anyagban elmonduk majd, ekkor jelentek meg az összetett, iterációs titkosítás módszerei, mint amilyen a LUCIFER, majd annak –a lavinahatás alkalmazása miatt- fejlettebb változata a DES. A DES civil (kommerciális, financiális) használatának aztán igen nagy lökést adott a számítógéphálózatok civil alkalmazásának robbanásszerC elterjedése. Mindezek miatt a DES szintén mérföldk.nek tekinthet a kriptográfia történetében, méghozzá most (a 2000. év elején) egyelre jelentsebb mérföldknek, mint a DES kb 20 éves alkalmazása után megjelent újabb innováció: az aszimmetrikus, vagy nyiltkulcsos titkosítás. Errl a következkben részletesen szólunk még Ha szokás lenne a titkosítási módszerek generációiról beszélni, akkor azt mondhatnánk, hogy a klasszikus módszerek az els generáció,
amely az írások kezdeteit.l a XVI-XVII. század fordulójáig tart és egy- vagy kétábécés rendszerek A második generáció a bonyolultabb transzformációkat alkalmazó (rendszerint többábécés) rendszerek kora, amely De Vigenere rendszerek néven vonult be a kriptográfiai szakirodalomba, jóllehet nem . volt az egyetlen innovátor Az els és a második generáció titkosítási módszerei kézi módszerek voltak A PC alkalmazása a Papír-Ceruca módszert jelentette. A harmadik generáció kezdetei a XX. század 20-as éveire tehetk és az jellemzi ezeket a kriptorendszereket, hogy a technikai fejldés már lehetvé tette mechanikus, vagy elektromechanikus titkosító (és megfejt.) gépek szerkesztését Lényeges inspiráló tényez volt a rádió-kommunikáció elterjedése, amit bárkinek módjában volt lehallgatni, aki a hozzávaló eszközzel rendelkezett A harmadik generáció jellegzetes eszközének tekinthetjük tehát az elektromechanikus rejtjelz. gépeket,
mint amilyen a második világháborúban elhíresült Enigma kódológép volt (amib.l több, mint 100 000 darabot gyártottak Németországban) A negyedik generációt az elektronikus számítási (és tárolási) technológia nagymértékC fejl.dése, valamint a világháló robbanásszerC elterjedése inspirálta és tette lehetvé Nagyon karakterisztikus jellemzje az is, hogy a titkosítás kilépett a korábbi katonai és titkossszolgálati alkalmazási körb.l a civil szférába Ebben az utóbbi szférában mindmáig nagyon elterjedt és több, mint 20 évig kíválóan bevált titkosítási módszer volt a DES (Data Encryption Standard), amit az 1970-es években fejlesztettek ki és vezettek be. A DES tehát az a mérföldk., amelytl a mai modern kriptográfiai rendszerek kora számítható. Ez az egyik tényez, ami miatt fontos, hogy bemutassuk FileNév: A DES.doc - 5/79 - Utolsó módosítás:2002.0819 de 7:54 A másik igen fontos szempont az, hogy már megjelentek
ugyan olyan kriptorendszerek is, amelyek semmiképpen sem tekinthet.k a DES továbbfejlesztésének (itt az aszimmetrikus, un. nyilvános kulcsú titkosításra gondolunk) de akár a számítástechnikai és tárolási kapacitással való takarékosság, akár más szempontok miatt ezeken belül még mindíg alkalmazzák a DES-t, vagy inkább annak továbbfejlesztett változatait. Nem szabad ezt a takarékosságot alábecsülni Elegend talán itt annyit megjegyezni, hogy a háromkulcsos DES bináris kulcshosszúsága 168 bit1 s ezt ma, a 2000. év elején még elég sok évig a banki szférában is kielégít biztonságot nyújtó titkosítási eszköznek tartják. Ezzel szemben az aszimmetrikus rendszerek 1000 bitnél hosszabb kulcsokkal képesek kb ugyanekkora titkosítási biztonságot nyújtani, de a számítási kapacitás-igényük a kulcshosszúsággal exponenciálisan növekszik. Hogyan született a DES? A kés.bb DES néven szabványosított titkosítási algoritmust (DEA =
Data Encription Algorithm) az IBM fejlesztette ki a szimmetrikus, titkos kulcsos titkosításhoz. Tulajdonképpen Shannon javasolt olyan titkosítási eljárást, amely transzformációk sorozatából áll, mégpedig úgy, hogy váltakozva alkalmaz helyettesítéseket és transzpoziciókat, de egy ilyen transzformáció-sorozaton belül sem ismétli ugyanazokat. Az IBM indított el egy kutatási projektet az 1960-as végén egy ilyen rendszer fejlesztésére Horst Feistal vezetésével és 1971-re ki is fejlesztette az akkor LUCIFER-nek nevezett algoritmusát, amely 128 bites blokkokra osztotta a nyílt szöveget és 128 bites kulcsot alkalmazott a titkosításhoz. A LUCIFERt eladták a londoni Lloyd’s biztosítónak, amely egy szintén az IBM által fejlesztett készpénz-elosztó rendszerben alkalmazta Carl Meyer és Walter Tuchman egyetlen chipen akarta implementálni a LUCIFER algoritmust végrehajtó célhardvert, de részben az NSA-tól, részben más küls.ktl kapott tanácsok
hatására egy a LUCIFERnél sokkal biztonságosabb algoritmust valósítottak meg, amely ráadásul csak 56 bites kulcsot alkalmazott A 70-es évek közepe táján hírdetett az NSA pályázatot egy olyan titkosítási eljárásra, amely szabványosítható. Erre a pályázatra nyújtotta be az IBM Carl Meyer és Walter Tuchman eljárását, ami messze a legjobb volt az összes benyújtott pályázat között és amit aztán 1977-ben DES néven szabványosítottak is. A DES-t kezdetben igen sok kritika érte. Elssorban a „mindössze” 56 független bitbl álló kulcs miatt, másrészt az eljárásban alkalmazott un S dobozok miatt, amit eredetileg az NSA javasolt a fejleszt.knek, de végül is (akkor) minden feltörési kisérletnek ellenállt és sok évig szolgálta a kereskedelmi célú titkosítást, mert a korai kriptoanalízisek az akkori számítástechnikai erforrásokkal számolva a DES-t gyakorlatilag feltörhetetlennek nyílvánították A modern számítástechnika
azonban megváltoztatta ezt a nézetet és ma már a DES egy akármilyen személyi számítógéppel is feltörhet. Biham és Shamir a Differenciális kriptoanalízis c munkájukban bizonyították be, hogy a DES „természetébl következen” megfejthet A megfejtés megnehezítésére a DES-nek ma már csak bonyolultabb (és fleg többszörösen hosszabb kulcsot alkalmazó) változatait használják A DES-nél ersebb titkosításra elször a háromszoros kulcshosszúságú (azaz 168 bites) Triple DES-t ajánlották, de Tuchman egy ennél jobb alternatívát javasolt, amely két kulcsot használ és ugyanolyan hatékony, mint a Triple DES. Ezt az utóbbi, kétkulcsos rendszert használják manapság 3DES néven. 1 Ez a három kulcs együttes kulcshosszúságát, az un. effektív kulcshosszúságot jelenti FileNév: A DES.doc - 6/79 - Utolsó módosítás:2002.0819 de 7:54 Neves kriptográfusok szerint a DES mérföldkövet jelentett a titkosítás történetében, méghozzá
azt a mérföldkövet, amely a klasszikus kriptográfiát elválasztja a kriptográfia modern módszereit.l A DES a klasszikus kriptográfia mindkét alapmódszerét, azaz mind a helyettesítést, mind a transzpoziciót igen komplex módon alkalmazza és ezekhez sok újabb titkosítási innovációt is társít. A DES-t csak 1997-ben váltotta fel az AES (Advanced Encription Standard), amit ekkor fogadott el a NIST és amely már 256 bites kulcsot alkalmazott, módszereiben azonban lényegében nem tért el a DES-t.l A DEA mCködésének bemutatásához el.bb néhány olyan fogalommal kell megismerkedni, amelyeket (legalább is az itt bemutatott formájukban) a DEA alkalmazott elször Az invertálható transzformációk Maga a rejtjelzés (Encryption) a legfontosabb eszköz mindazok közül, amelyek a kriptográfia rendelkezésére állnak. A rejtjelzés olyan speciális számítási eljárás, amely üzenetekkel operál méghozzá úgy, hogy azokat olyan alakúra konvertálja, hogy a
azon kívül, akinek szántuk bárki más számára rejtett legyen a jelentése. Az üzeneteken végrehajtott transzformációk olyan bonyolultak, hogy a nemkívánatos kiváncsiskodó lehet.ségeit meghaladja azok visszacsinálása. A modern kriptorendszerek éppen a rejtjelzési eljárás megfordíthatatlanságán alapulnak, és ez a biztonságos kommunikáció alapja A rejtjelzési algoritmust az invertálható transzformációk családjából választják ki. Az éppen adott alkalmazáshoz kiválasztott transzformációt általánosságban kriptorendszernek neveznek. Rejtjelzési kulcsnak (encyphering key) nevezik azt a paramétert, amely a lehetséges kriptorendszerek közül kiválasztja azt, amit éppen használni akarunk. A kriptorendszer nagyon sokféle alakot ölthet: lehet egy utasítás-sorozat, valamilyen célhardver vagy egy program Bármelyiket egy-egy rejtjelkulcs választhatja ki A nyilvános kulcsú rendszerek a függvények egy olyan osztályán alapulnak, amelyeket
egyirányú „csapóajtó” függvényeknek (one-way trapdoor functions) nevezhetünk, amelyeket a bonyolultan kiszámítható problémák osztályából származtatnak. Az utóbbiakat nemdeterminisztikus polinom(NP)-problémáknak is nevezik. A titkos magánkulcsos (szimmetrikus) rendszerek az elbbivel ellentétben komplex helyettesítési és transzpoziciós mCveleteken alapulnak, amelyeket involuciónak neveznek és meglehet.sen nehéz ket matematikailag analizálni Formálisan egy kriptorendszer az invertálható transzformációk egy olyan Ek családja: Ek : k K azaz a k paraméter (kulcs) eleme a K kulcstérnek. Az utóbbi, ti a K kulcstér végesszámú k1; k2; . kn kulcsot tartalmazó halmaz FileNév: A DES.doc - 7/79 - Utolsó módosítás:2002.0819 de 7:54 Ha M jelöli az összes lehetséges üzenetek halmazát és C az összes lehetséges rejtjelzett üzenetet2 akkor a rendszernek a következ. tulajdonságokkal kell rendelkeznie: • A rejtjelz. (vagy kódoló)
algoritmus Ek : M C és bármilyen rögzített k K esetén Ek egy invertálható transzformáció, amely a nyílt szövegC üzenethalmazt leképezi a rejtjelzett üzenetek (azaz a kriptogramok) halmazába, vagyis Ek (Mi) = Cl ahol is Mi M és Cl C Az invertálhatóság azt jelenti, hogy léteznie kell egy inverz Ek-1 =Dk algoritmusnak is: Dk : C M amelyik megfejti a titkosított szöveget, azaz el.állítja belle az eredeti nyílt szöveget: Dk (Cl) = Dk[Ek (Mi)] = Mi • A kulcs egyértelmCen meghatározza a rejtjelzett szöveget, azaz Ek1 (Mi) 5 Ek2 (Mi) ha k15k2 A modern kriptográfia olyan rendszerek tervezésével és analízisével foglalkozik amelyek biztonságos kommunikációt tesznek lehet.vé vagy, más szóval, ellenállnak az illetéktelen megfejtési kisérleteknek (ti. a kriptoanalízisnek) Egy rendszerr.l azt mondjuk, hogy kriptoanalízis segítségével kompromittálták, (vagy a használatos szleng szerint feltörték, ill. kivesézték)3, ha a rejtjelzési
algoritmusnál alkalmazott kulcs ismerete nélkül is lehetséges a nyílt szöveget visszaállítani a kódolt szövegb.l A kriptoanalízis olyan diszciplinákból táplálkozik, mint a valószínCségszámítás, a számelmélet, a statisztika, az algebra, a topológia, a káosz elmélet, a matematikai játékelmélet, a mátrix elmélet, a nemlineáris differenciálszámítás és a hírközlési nyelvek elmélete. A modern kriptográfiában rendszerint jól elférnek a nyelvek redundáns sajátságai, amelyek gyakran értékes kiindulópontot adnak a megfejtéshez. A kriptoanalízis egy rendszer-azonosító (identifikáló) probléma és a kriptográfiának éppen az a célja, hogy olyan rendszereket építsen fel, amelyeket nagyon nehezen lehet azonosítani. Az ideális rendszer olyan, amely a titkosításhoz az eredeti szöveg különböz. statisztikai paraméterei helyett lehetleg teljesen egyenletes statisztikai 2 M -mint Message. Itt értelemszer(en nyilt szöveget
(plaintext) kell alatta érteni, amelyb/l az Ek transzformáció el/állítja a titkosított szöveget: C mint Cyphertext ami a rejtjelzett (kódolt) szöveget jelöli. Alább el/fordul a D jelölés (a Decyphering-b/l), amely viszont a C rejtjeles szövegb/l visszaállítja az eredeti M nyílt szöveget. Eléggé kézenfekv/, hogy a k kulccsal paraméterezett Dk megfejtést az Ek titkosító transzformáció inverzének tekintsük. 3 A megfelel/ angol terminológia: compromised, cracked, exploited FileNév: A DES.doc - 8/79 - Utolsó módosítás:2002.0819 de 7:54 eloszlást rendel a titkosított szöveghez, amib.l egyenesen következik, hogy a természetes nyelv redundáns sajátságai teljesen a homályba vesznek a titkosítás során 1948-ban Shannon kutatásai két alapvet. módszert tártak fel egy természetes nyelv redundáns jellemz.inek egyenletes eloszlatására El.ször is diffuzió segítségével lehet ezt megtenni, ami (ti a diffuzió) a szövegek
részsorozatainak (szubstringjeinek) korrelációit és összefüggéseit oly mértékben szétteríti, amennyire csak lehetséges. Erre kiválóan alkalmas a Shannon-Fano féle változó szóhosszúságú és minimális redundanciájú illeszt. kódolás4 A másik megközelítés a konfuzió, amelynél a nyílt szöveg funkcionális függ.ségeire jellemz. változókat olyan komplexszé teszik, amennyire csak lehet Ezzel jócskán megnövelik azt az id.t, ami a szöveg analizálásához szükséges A DES mindkét módszert maximálisan kihasználja. A zajos csatorna problémája a kriptográfiában analóg a biztonságos kommunikáció problémájával. A zaj megfelel a titkosítási transzformációnak, a zajos csatorna végén vett információ pedig a titkosított szövegnek. A szöveg küldjének a titkosító rendszerekben az a szerepe, hogy ha már nem tudja teljesen lehetetlenné tenni a megfejtést, akkor legalább annyira megnehezítse az eredeti szöveg visszaállítását,
amennyire csak lehetséges. zaj Az üzenet küld.je M Az üzenet fogadója M A zajos csatorna modellje A kriptográfusok olyan titkosítási technikák megszerkesztésére törekednek, amelyek olyan rejtjelzett szöveget állítanak el, amit az illetéktelen kiváncsiskodó nem képes megkülönböztetni egy teljesen véletlen jelsorozattól. A kódoló/dekódoló és a statisztikai természetC kommunikációs csatorna modellje kiváltható egy játékelméleti csatorna modelljével, ahol az el.bbi természetes zajforrásának szerepét egy intelligens ellenfél veszi át A játékelmélet olyan matematikai diszciplina amelyik kompetitív szituációk általános tulajdonságaival foglakozik s teszi ezt úgy, hogy különös hangsúlyt kap az ellenfél döntési mechanizmusa. Az persze önmagában nem elegend. ha a kriptorendszer képes megakadályozni a kriptoanalízist. Szükség van arra is, hogy képes legyen bármilyen a megfejtésre fel 4 A gyakorlatban ma alkalmazott
módszert ugyan Huffmann-féle kódolásnak nevezik, de az alapelveit Shannon dolgozta ki. Huffmann viszont olyan konvergens algoritmust talált hozzá, ami mindíg biztosítja a nyílt szöveg redundanciájának a minimumra való csökkentését. Ez az alapelv nemcsak a redundancia minimumának biztosításaként, hanem az u.n unicitási távolságok minimalizálásaként is megfogalmazható, ahogyan pl Randall K. Nichols teszi FileNév: A DES.doc - 9/79 - Utolsó módosítás:2002.0819 de 7:54 nem hatalmazott partnert megakadályozni abban, hogy az egyébként biztonságosnak feltételezett csatorna integritását megsértse. Egy ellenfél támadásai a kriptorendszer ellen. Egy a kriptorendszert „megtámadó” ellenfél tipikus céljai a következ.k: 1. Az M üzenet tartalmának a meghatározása 2. Az M üzenet átalakítása valamilyen Az M’ üzenetté de úgy, hogy azt a címzett úgy fogadja el, mintha az eredeti M üzenet küld.jétl kapta volna (azaz még a gyanu
sem merül fel benne, hogy hamis üzenetet kapott). 3. Kommunikációt kezdeményez egy címzettel s saját maga (ti az ellenfél, vagyis az illetéktelen betolakodó) tetteti, hogy . az üzenet autentikus küldje Másutt és kissé más öszefüggésben ezt a fajta támadást man-in-the-middleattack-nak is nevezik, mert a két autentikus fél kommunikációja gyakorlatilag teljes egészében az illetéktelenül beépült (=IBE) félen keresztül bonyolódik, s az akkor és úgy változtatja meg az üzeneteket, amikor és ahogyan neki tetszik, s saját maga kezdeményezhet is üzenetváltást bármelyik féllel (a másik nevében). Az els. célt tradicionálisan a magánszféra megsértési problémájának (privacy problem) nevezik és a legtöbb kutatásnak ez áll a fókuszpontjában. Az elektronikus kommunikáció ma már mind a nyilvános, mind a magánszférában mindenütt jelen van. A második és a harmadik cél egyaránt aktív beavatkozást jelent egy illetéktelen
betolakodó részér.l Manapság a második és a harmadik cél a rendszertervezésben és a betolakodó céljainak meghiusításában fontosabb lett, mint az els. A másodikat autenticitási problémának, a harmadikat pedig kiutasítási problémának (repudiation) A Denning modell Egy titkosírást akkor tekintenek feltörhet.nek, ha a kódolt szövegbl meg lehet határozni a nyíltszöveget vagy a kulcsot vagy a nyílt szöveg és a hozzátartozó rejtett szöveg (pontosabban több ilyen pár) ismeretében meghatározható a kulcs. Dr. Dorothy Denning a Georgetown University tanára négy alapvet támadási módszert nevezett meg, amelyek mindegyika arra irányul, hogy egy lehetséges kriptorendszer megfelelségét (adequacy) meghatározza. Ezek a következk: 1. A titkosított szöveg elleni támadás (cipher text-only attack) Ez az az eset, amikor a támadó nem ismeri a nyílt szöveget és kizárólag csak a titkosított szöveggel tud dolgozni. A gyakorlatban azonban nagyon
gyakran lehet.ség van arra, hogy következtessünk a közérthet szövegre, mert nagyon sok üzenetnek rögzített formátumú fejléce van Még a közönséges levelek és egyéb dokumentumok is nagyon is megjósolható módon szoktak kezddni Arra is következtethetünk, hogy némelyik titkosított szövegblokk valamilyen gyakran használt szót, fordulatot tartalmaz, azaz ilyen értelemben "közönséges" szót. Ilyenkor a kriptanalizátornak kizárólag a megszerzett kriptogramból kell a kulcsot meghatároznia azáltal, hogy magát a titkosított szöveget (is) feltöri. FileNév: A DES.doc 2. - 10/79 - Utolsó módosítás:2002.0819 de 7:54 Ismert nyíltszöveget alkalmazó támadás A támadó vagy pontosan ismeri, vagy elég nagy valószínCséggel következtetni tud arra, hogy a titkosított szöveg bizonyos része milyen nyílt szövegb.l állt el. Ekkor az a feladata, hogy meg kell fejtenie a titkosított szöveg többi részét ennek az információnak a
segítségével. Ezt úgy lehet megtenni, hogy az ismert szövegbl, vagy még inkább az abban elforduló adatokból vagy rövidítésekbl és azok titkosított formájából megkisérli meghatározni a titkosítási kulcsot. A titkosított számítógép programok különösen sérülékenyek az ilyen támadás esetén, mert bizonyos kulcsszavak (mint pl. begin, end, var, procedure, if, then.) majdnem bizonyosan elfordulnak a nyílt szövegben Még ha nem is ismert e szavak helye, nagyon is valószínC becsléseket lehet tenni arra, hogy a titkosított szöveg melyik helyén állhatnak. 3. Választott nyíltszöveget alkalmazó támadás Ebben az esetben a támadónak módja van arra, hogy tetsz.leges, általa választott nyílt szöveghez és annak a titkosított alakjához is hozzájusson A támadónak ekkor az a dolga, hogy meghatározza a titkosítás kulcsát Néhány titkosítási módszer különösen sérülékeny az ilyen jellegC támadásokkal szemben. Ilyen pl az
egyébként nagyon elterjedt nyiltkulcsú RSA módszer is. Ha ilyen titkosítási módszert alkalmazunk, akkor különleges gondot kell fordítani az egész rendszerre azzal kapcsolatban, hogy egy támadó sohase juthasson hozzá egy nyilt szöveghez és annak titkosított formájához Egyébként a kriptanalizátorok ezt a módszert kedvelik leginkább. Különösen érzékenyek az ilyen támadásra az olyan adatbázisok, amelyekbe, ha nem is közvetlenül, módja van a támadónak valamilyen adatot elhelyezni, vagy módosíttatni. A kriptanalizátor elhelyezi, vagy elhelyezteti a maga adatát és megvizsgálja, hogy ennek a hatására milyen változás történik a titkosítva tárolt adatbázisban. Ezt a módszert a beültetett rekord problémájának is nevezik (Planted record problem) 4. Betolakodó támadás A támadásnak ez a formája különösen a kriptográfiai hírközlésben és a kulcsközl. protokollokkal kapcsolatban érdekes Az alapötlete az, hogy amikor két fél
kulcsot közöl egymással valamilyen titkos kommunikáció céljára (pl. az un Diffie-Hellman módszernél) egy ellenfél beépül a két kommunikáló fél közé és mindkét féllel külön-külön kulcsot cserél. Ez aztán azzal végzdik, hogy mindkét fél más-más kulcsot fog használni s csak az ellenfél ismeri mindkét kulcsot Az ellenfél bármelyik fél üzenetét megfejti és újra titkosítja a másik fél kulcsával, majd elkCldi az eredeti címzettnek. A kommunkáló felek abban a tudatban vannak, hogy nagy boztonsággal váltanak egymással titkosított üze- FileNév: A DES.doc - 11/79 - Utolsó módosítás:2002.0819 de 7:54 neteket, valójában azonban az ellenfél mindenr.l tud st: nélküle nem is tudnának kommunikálni Az ilyenfajta támadás elleni védelem egyik módja az, hogy mindkét fél kiszámol egy kriptográfiai hash függvényt, amikor kulcsot cserélnek egymással (de legalább is a titkosítási kulcs cseréjekor), szignálják azt egy
digitális aláírási algoritmussal és megkCldik az aláírást a másik félnek. A címzett aztán megvizsgálja az aláírás hitelességét, vagyis azt, hogy azt tényleg az általa ismert partnere kCldte. Teszi ezt úgy, hogy ellenrzi, hogy az aláírásban lév hash azonos-e azzal, amit . a saját helyszínén kiszámolt Ezt az eljárást használja pl. az un Photuris módszer További, a Denning modellekt/l eltér/ módszerek Választott rejtjelszöveggel való támadás A nyilvános kulcsú titkosító rendszerek elleni támadásoknak van olyan módszere is, amelyik egy alkalmasan választott rejtjelszöveget illeszt a titkosított információáramba. ValószínC, hogy ennek a megfelel kulccsal való megfejtése nem ad értelmes szöveget, a kulcs kiderítéséhez mégis felhasználható Ez a négy Dennig modellt.l különböz, de a negyedikkel mégis rokonítható módszer Id/zítési támadás Ez a meglehet.sen újkeletC támadási módszer azon alapul, hogy ismételten
megmérik a moduláris exponenciális mCveletek végrehajtási idejét. Többet itt, röviden nem igen lehet róla elmondani. Mindenesetre alkalmazható legalább az RSA, a Diffie-Hellman és az elliptikus görbe titkosítási módszerek esetén. Mikor biztonságos a rejtjelzés Egy rejtjeles szöveg feltétel nélkül biztonságos (unconditionally secure) ha nem számít, hogy mennyi titkosított szöveg áll rendelkezésre akkor sincs elegend. információ a titkosított szövegben ahhoz, hogy bel.le a nyílt szöveget egyértelmCen meg lehessen határozni Ha korlátlanul sok titkosított szöveg áll a rendelkezésünkre, akkor, egy kivétellel, minden kód feltörhet. Ez az egy kivétel pedig az egyszer használatos véletlen kódfüzet (One time code pad.) Ezért aztán nagyobb érdekldésre tarthatnak számot azok a titkosírások, amelyek megfejtéséhez akkora gépkapacitás kell, hogy számítás (és/vagy memória) igényük miatt nem valószínC a megfejthet.ségük Egy
titkosírás számításigény szempontjából biztonságos vagy er.s (computationally secure or strong) ha a rendelkezésre álló számítási kapacitás vagy id. nem elég ahhoz, hogy szisztematikus analizissel feltörjék FileNév: A DES.doc - 12/79 - Utolsó módosítás:2002.0819 de 7:54 A számítógéprendszerekben tárolt adatokat fenyeget/ veszélyek Az elektronikus vonalakon továbbított információ sérülékeny az illetéktelen passzív hozzáféréssel szemben, ami a titkosságát veszélyezteti. Ugyancsak sérülékeny az aktív beavatkozással szemben is, ami viszont a hitelességét veszélyezteti. A passzív lehallgatást rendszerint nem lehet észlelni. Ez egyébként az üzenet elfogását (message interception) jelenti. Az aktív beavatkozás (tampering) az üzenetfolyam szándékos megváltoztatására utal. Mi ellen véd a titkosítás? A titkosítás mind az üzenet módosítása, mind hamis üzenetek beiktatása ellen védelmet nyújt. Teszi ezt úgy,
hogy teljesen valószerCtlenné teszi azt, hogy az illetéktelenül beavatkozó ellenfél képes legyen olyan (titkosított) üzenetet beszúrni az üzenetfolyamba, amely a dekódolás után értelmes szöveget eredményezne Érdemes ezt megjegyezni, mert a dekódolás után is értelmetlen nyíltszöveg alkalmas ugyan az illetéktelen beavatkozás detektálására,5 de nem védi meg az információt az illetéktelen módosítástól. A titkosítás nem szükségképpen nyújt védelmet a titkosított üzenet újra-lejátszása ellen6, mert az ellenfél egyszerCen rögzítheti és kés.bb újra lejátszhatja a titkosított üzenetet Ez ellen védelmet nyújtanak az olyan üzenetprotokollok is, amelyek igénylik az üzenet vételének visszaigazolását. A számítógépekben tárolt adatok ugyancsak ki vannak téve hasonló veszélyeknek. A titkosságot fenyeget. veszélyek közé tartoznak a következk: böngészés (browsing), kiszivárogtatás (leakage), és a kikövetkeztetés
(inferencee). A böngészés azt jelenti, hogy a memóriát és tárolóterületet végigkutatják információk és bizalmas programok után. Ha a hozzáféréseket nem szabályozzák vagy korlátozzák valamilyen módon, akkor hatékonyan kutathatnak a titkosított szövegekben azonos információ-párok után A a kiszivárogtatás azt jelenti, hogy legitim adat-hozzáféréssel rendelkez. számítógépes folyamatok segítségével adatokat kCldenek azok ismeretére fel nem hatalmazott személyeknek A kikövetkeztetés azt jelenti, hogy egy adott tárgyra vonatkozó bizalmas adatokat kikövetkeztetnek ismert, vagy nyilvános információkból. Az üzenet hitelességét (authenticity) fenyeget. veszély az aktív beavatkozás és a titkosított információ véletlen tönkretétele A számítógép rendszerekben lév. adatokba való aktív beavatkozás teljesen analóg azzal, amikor egy adat-továbbító csatornába közvetlenül belép vagy beépül valaki illetéktelen.7 A
véletlen adat-destrukció az adatok nem szándékos felülírását vagy törlését jelenti. Nagy segítséget jelentenek ezek kivédésére az olyan programok, mint pl. a Norton Utilities Nuts and Bolts . 5 Vagy arra, hogy az információ más okból, pl. a továbbítás során a zaj miatt vagy szinkronizálási hiba miatt megváltozott Err/l, ti a titkosított információ un zaj-érzékenységér/l, a továbbiakban még lesz szó 6 Ez alól van kivétel: nevezetesen ha a titkosított üzenetet u.n id/bélyegz/ (time stamp) vagy olyan digitális aláírás hitelesíti, amely az üzenet keletkezésének id/pontját is tartalmazza. 7 Az angol elnevezés: wiretapping, a vezetékes telefonvonalra való közvetlen (elektromos) rácsatlakozás nevéb/l ered, de vezeték nélküli hírközlésre is általánosítható. FileNév: A DES.doc - 13/79 - Utolsó módosítás:2002.0819 de 7:54 A számítógép rendszerek sebezhet.k egy további módszerrel is Ez a jelmezes
(masquerading) vagy –más szóval- trükkös (spoofing) támadás, amellyel illetéktelen személy valaki más hozzáférési joggal rendelkez. személy azonosítójával és jelszavával fér hozzá mindazokhoz az adatokhoz, amelyekhez annak a személynek van hozzáférési joga, akinek a nevében belépett arendszerbe. A digitális aláírások adnak a kezünkbe olyan eszközöket, amelyekkel hitelesíteni lehet mind a felhasználót, mind a folyamatokat. Mennyire titkos a titkosítás ? A titkosítás biztonsága vagy er.ssége, közvetlen kapcsolatban van a megfejtés nehézségével. Ez az eddig bevezetett terminológia és jelölésrendszer felhasználásával azt jelenti, hogy a titkosító transzformáció, vagy transzformációk invertálhatóságának bonyolultságától függ a titkosítás erssége Ebb.l a gondolatmenetbl kiindulva a titkosítási eljárás által nyújtott védelem mértéke levezethet abból a bizonytalanságból, amellyel az ellenfél szembetalálja
magát, amikor meg szeretné határozni az egyáltalán lehetséges kulcsok közül azt, amit az adott titkosításhoz ténylegesen használtak. A bizonytalanság és a hozzárendelhet mérték fogalma pedig éppen a Shannon-Wiener féle információelméleti entrópiafogalmat jelenti. Ezek után a kérdés csak az, hogy hogyan alkalmazzuk ezt a fogalmat itt, a titkosítás ersségére Ebben a fejezetben bevezetünk néhány jelölést, összefüggésbe hozzuk a rejtjeles információtovábbítást Shannon kétdimenziós valószínCségi szkémájával8 és heurisztikus, lépésenkénti kifejtéssel megmutatjuk, hogy a titkosítás megfejthetetlensége közvetlen kapcsolatban van a titkosítási transzformációval, de –elég jó titkosítás esetén- semmi köze sincs magukhoz az üzenetekhez. Shannon meghatározta, hogy milyen jellemz.kkel kell rendelkeznie egy titkosító rendszernek ahhoz, hogy tökéletes biztonságot nyujtson: 8 • Ha az ellenfél ismeri az E titkosító
transzformációt és tetsz.legesen sok titkosított szöveg is a birtokában van (vagy lehet), még mindíg bizonytalan abban, hogy a rejtjeles szövegek C halmazából melyik titkosított Ci üzenetet válassza ki a nyílt szövegek M halmazának egy adott Mi üzenetéhez. Ez a probléma pontosan analóg a zajos csatornán való üzenetküldéssel, amikor egy üzenet vételekor csak 100%-nál kisebb valószínCséggel tételezhetjük fel, hogy mi is volt az eredetileg elküldött üzenet. Ilyen esetben a feltételes valószínCségekkel számoltunk • Válasszuk ki a nyílt szövegek M halmazából éppen az i-edik üzenetet, azaz Mi-t és jelölje ennek a kiválasztásnak a valószínCségét P(Mi). A probléma az, hogy van egy leképezés az adó oldalon belül is, amely az üzenethalmazt leképezi a titkosított szövegek (cyphertext) halmazára és ugyanennek az inverze a vev/ oldalon. Az a kapcsolat, amelyet Shannon kétdimenziós valószín(ségi szkémája modellez az adó
és a vev/-oldali rejtjeles üzenethalmazok között létezik. A precíz matematikai leíráshoz tulajdonképpen három kétdimenziós valószín(ségi szkémát kellene egy rendszerben kezelni. Igaz, hogy ezek közül kett/ (ti az adó oldali titkosítási leképezés és a vev/ oldalán ennek az inverze) algoritmizálható transzformációkból áll, de ezek a transzformációk is sok véletlen (vagy legalább is véletlenszer() elemet tartalmaznak. FileNév: A DES.doc • - 14/79 - Utolsó módosítás:2002.0819 de 7:54 Rejtjelezzük ezt az Mi üzenetet az E titkosító transzformációval. Ekkor a Ci = E(Mi) rejtjeles szöveget (=kódot) kapjuk, ami természetesen eleme a titkosított üzenetek C halmazának: Ci C • Feltételezve, hogy pontosan ezt a kódot küldjük el a címzettnek az nem 100%os, hanem annál kisebb PCi < 1 (feltételes) valószínCséggel kapja meg az eredeti Mi nyíltszöveghez tartozó Ci kódot azért, mert a zajos csatorna – vagy az
illetéktelen módosítás- miatt más, Ci -t.l különböz Ck rejtjeles szöveget is kaphat (aminek persze nem mindíg van értelmes megfejtése). • Jelölje a vev. oldalt fels vessz Akkor a mondott folyamatot, továbbá a -1 vev.-oldali inverz E = D transzformációt is jelölve a következ halmazokkal ábrázolhatjuk, ahol mind az E titkosító transzformáció, mind annak inverze, azaz a D megfejt. transzformáció halmazok közötti leképezéseket jelent P(Mi) valószínCséggel Mi M PCi = Pm(Ci) valószínCséggel E: E-1= D: PC Ci C PC(Mi) valószínCséggel Mi Ci C M Ck Mk PCk valószínCséggel Ebben a modellben feltételeztük, hogy mind a rejtjelz. E: M C transzformáció, mind pedig a vev oldali D: C’ M’ transzformációk egyértelmCek Látható, hogy a leadott Mi üzenetek P(Mi) valószínCsége általánios esetben nem azonos a vételi oldalon megfejtett Mi’ üzenetek PC(Mi’) valószínCségével . • Ezekkel a jelölésekkel a tökéletes
biztonság9 a P(Mi) = PC(Mi’) egyel.séggel jellemezhet • 9 Ugyanezt a sémát használva legyen most is a rögzített feltétel az Mi üzenet elküldése és Pm(Ci’) annak a valószínCsége, hogy a vételi oldalon éppen a Ci’ rejtjeles üzenetet vesszük. Ti. a közvetítés során bekövetkez/ véletlen vagy szándékos cifertext-módosulás ellen FileNév: A DES.doc • - 15/79 - Utolsó módosítás:2002.0819 de 7:54 Az illetéktelen beavatkozó persze nem tudja, hogy milyen kulcsot használtunk, tehát számára a Ci’ C’rejtjeles üzenet többféle K K kuccsal is el.állhatott volna és igaz ez a C’ halmaz összes elemére valamint a K kulcshalmaz minden K elemére is. (K az adott esetben egyáltalán számításba vehet kulcsok halmaza.) • Így Pm(Ci’) mindazon feltételes valószínCségek összege, amelyek feltételezik, hogy az Mi üzenetet valamilyen K kulccsal kódoltuk, küldtük el, és a vev. oldalon a Ci’ kódolt üzenetet kaptuk Ha a
kódolt üzenet (illetéktelen) megfigyel.je nem tudja, hogy milyen kulcsot használtunk a titkosításhoz, akkor számára az általa látott Ci’ kódolt üzenet többféle K el.állhatott, bár nem minden kulcs egyformán valószínC • K kuccsal is Így a Pm(Ci’) feltételes valószínCségeket a kulcshalmaz valamennyi K elemére összegezve: Pm(C’) = K P K A kriptorendszereket persze úgy szerkesztik meg, hogy csak egyetlen K kulcs adja meg a helyes megfejtést, azaz csak egyetlen K kulcs elégíti ki a EK(M) = C egyenletet a C cyphertext-halmaz minden egyes elemére. • A tökéletes titkosításnak –az elmondott fogalmakkal és jelölésekkel- szükséges és elégséges feltétele az, hogy Pm(C’) = P (C) legyen, vagyis Annak a valószín<sége, hogy melyik (vagy milyen) rejtjeles szöveget észlelünk csakis az adó oldali rejtjeles üzenet valószín<ségétl függ és nincs közvetlen összefüggésben az eredeti nyílt szöveg< üzenet
valószín<ségével. Másképpen úgy is fogalmazhatjuk, hogy ha az adó oldali rejtjelzéssel sikerül elrejteni a nyílt szöveg statisztikai jellemzit, akkor az utóbbiakra a hírközl csatornáról lehallgatott rejtjeles szövegbl nem lehet visszakövetkeztetni. Tökéletes titkosságot csak úgy lehet megvalósítani, ha a kulcs hossza megegyezik az üzenet hosszúságával és a kulcshalmaz számossága megegyezik az üzenethalmaz számosságával, azaz minden üzenethez más-más kulcsot használunk. Ezek a feltételek biztosítják, hogy mind a kulcs, mind a rejtjeles szöveg megjósolhatatlansága (=bizonytalansága) fennmarad és mindkét bizonytalanság maximális.10 10 Már ebb/l a megállapításból látszik, hogy ha a bizonytalanság maximális, akkor az általa meghatározott információelméleti entrópiának is maximálisnak kell lennie. Következésképpen a redundancia minimális s ezért a megfejtéshez sincs semmilyen támpont: azaz csak a nyers er/
módszere, vagyis csak a rettenetesen számítás (és memória)-igényes kombinatorikus próbálkozás alkalmazható. FileNév: A DES.doc - 16/79 - Utolsó módosítás:2002.0819 de 7:54 Shannon ideálisan titkosnak nevezte azokat a rejtjelzéseket, amelyekr.l nem lehetett ugyan kimutatni, hogy tökéletesen titkosak, de nem adnak elegend információt a kulcs feltárásához Ha az adott titkosítás nem ad több információt, mint amennyit a kód u.n unicitási távolsága11 elárul, akkor a kód gyakorlatilag feltörhetetlen Az ellenfél legalább annyira bizonytalan az üzenet tartalmát illet.en, mint amenynyire a kulccsal kapcsolatban Az egyszer használatos véletlen kódolás (one time pad) az egyetlen titkosítási rendszer, amely kielégíti a mondott tökéletesen biztonságos titkosítási feltételt. Ennél az alkalmazott kulcs nem ismétld véletlen bitsorozat és a kulcsot csak egyetlen üzenethez használják fel, utána megsemmisítik Tehát minden üzenethez
más kulcsot használnak, mert ha két, különböz. nyílt szöveget kódolnánk ugyanazzal a kulccsal, akkor ez már támpontot adhatna a megfejtéshez. (A két titkosított szöveg korrelálhatna) Ha a titkosított üzenet (C) az ellenfél birtokába kerül, az akkor sem ad semmilyen információt a nyílt szöveg M = Dk( C) megfejtésére. A Shannon-féle feltételes entrópiákra (un ekvivokációkra) épül rendszerek feltétel nélkül titkosak, ami azt jelenti, hogy a rendszer még akkor is ellenáll a megfejtésnek, ha végtelen nagy számítási kapacitás használható a feltörésére. A rendszer titkossága ugyanis statisztikai bizonytalanságból származik. Ha a kulcs entrópiája HC(K) bármilyen hosszú üzenet esetén sem tart sohasem nullához, akkor a titkosított üzenet feltétel nélkül titkos. Amikor Shannon ilyen tökéletes titkosítási módot akart kitalálni, abból a feltevésb.l indult ki, hogy az ellenfélnek korlátlan számítási kapacitás áll a
rendelkezésére Persze egyáltalán nem ésszerütlen azt gondolni, hogy egy ellenfél egyedül, vagy többedmagával kartelbe tömörülve ne birtokolhatna gyakorlatilag kimeríthetetlen számítástechnikai er.forrásokat Az egyetlen kivétel talán csak az Amerikai Biztonságtechnikai Társaság (NSA). Shannon szerint azonban túlzásnak tCnik ennyire biztonságos rendszereket alkalmazni, mert ami ellen védenek az nem konkrét veszély. Amikor a modern kriptográfiai a biztonságos titkosítási rendszert akarja megalapozni vizsgálatai túlmutatnak a bizonytalanságon vagy a kód kiegyenlítettségén (unicity distances) és különösen fontossá válik a munkaigényesség. Egy modern kriptorendszer megalkotásakor a megfejtéshez szükséges kriptoanalízis komplekszitása az egyik legfontosabb motíváció, és ehhez igénybeveszik a matematikai bonyolultság-elméletet is. A rendszer biztonsága jellemezhet a feltöréséhez szükséges ember-évek vagy számítógép-évek
számával. Élesen meg lehet és kell különböztetni a tökéletes biztonságot (perfect secrecy) és a kriptorendszer biztonságát (cryptosecrecy). Az elbbit asszimptotikusan12 definiáltuk, az utóbbi pedig a rendszer koncepciójának a kezelhetetlenségére épít. 11 Az unicitási távolság fogalmára Shannon adott definiciót, amellyel alább még foglalkozunk. 12 T.i a nyílt szöveg redundanciáját asszimtotikusan közelítjül nullához, eltávolítva ezzel minden redundáns (statisztikai) információt, ami a nyílt szövegben megvan. Ismét csak a Huffman-féle kódolási algoritmusra kell hivatkozni, mint példára, amely pontosan ezt tette, csak más, nem titkosítási, hanem tömörítési célból. FileNév: A DES.doc - 17/79 - Utolsó módosítás:2002.0819 de 7:54 Mindazonáltal nincs általános módszer, amely kimutathatná egy kriptorendszerr.l, hogy az kriptográfiai szempontból biztonságos (cryptosecure). A tervez.k végül is oda jutottak, hogy
kénytelenek kriptoanalitikusok által kiállított bizonyítványokra támaszkodni, amikor tudni akarnak valamit az általuk tervezett kriptorendszer megbízhatóságáról. A kriptoanalitikusok ugyanis ad hoc és heurisztikus módszereket alkalmazva nagy lelkesedéssel igyekeznek a rendszert kompromittálni, hogy megállapítsák, hogy az mennyire biztonságos. A kriptoanalizis története ismételten bizonyította, hogy a felfedezik által feltörhetetlennek mondott rendszerek sokkal kevésbbé biztonságosnak bizonyultak, miután a kriptoanalitikusok alaposan megviszgálták azokat. A fentiekben leírtuk egy kriptorendszer elleni négy alapvet. támadási módszert (Denning modell). A rendszer biztonsága nem függ attól, hogy elrejtették, és mennyire rejtették el magát a titkosítási transzformációt vagy algoritmust. Kerckhoff13 elve az, hogy az algoritmust mindenki megszerezheti és tanulmányozhatja. Amikor az E titkosítási transzformációt felfedik egyúttal egy
nagyon bonyolult és egyáltalán nem hatékony módszer is adva van E inverzének a kiszámításához. Ezek után egy adott C rejtjeles szöveg (cyphertext) esetén a kriptoanalitikusnak módjában áll kimerít.en tanulmányozhatja az üzenethalmazt mindaddig, amíg végül is megtalálja azt az M üzenetet, amelyre E(M) = C . Ezt a nyers er (brute force) módszerének nevezik. Valahányszor véges hoszszúságú kulcsot alkalmaznak, az mindíg megfejthet a közvetlen keresés módszerével Az ilyen támadás sikere a titkosítás munkaigényességétl függ, azaz attól, hogy minimálisan mennyi számítás kell a rendszer invertálásához. Meg kell említeni, hogy az u.n unicitási távolság megmutatja ugyan hogy hány kulcs-karaktert kell kiszámolni, de semmit sem mond ennek a feladatnak a komplekszitásáról. Egy rendszer több totkosított szöveget képes feltárni mint amennyit az unicitási távolsága biztonságosnak min.sít, de ennek ellenére is kriptográfiai
szempontból biztonságos (cryptosecure) maradhat az említett komplexitás miatt. Egy rendszert számítástechnikailag biztonságosnak tekintenek, ha E invertálása számítástechnikailag megvalósíthatatlan vagy kezelhetetlen. Ez a dolog egyébként hasonló az un. nondeterminisztikus polinomok (NP) problémájához 13 Kerckhoff (flamand születés(, Franciaországban tanult katonatiszt) volt az els/, aki szétválasztotta magát a titkosítás általános rendszerét és a titkosítás kulcsát. Az itt hivatkozott elve tahát az, hogy más dolog a titkosítás módszere és megint más a hozzávaló kulcs. Tökéletesítette a többábécés rendszerek szuperpoziciójának elméletétleirta a poziciók szimmetriájának elvét, hogy több nyílt szöveget lehessen vele kisillabizálni a titkosított szövegb/l és bevezette az un. Saint Cyr slide-ot, amit arról a francia katonai akadémiáról nevezett el, amelyben tanult. F/ munkája: La Cryptographie Militaire a franciák
kriptográfiai vezérfonala volt az els/ világháborúban Kerckhoff adta meg a kezd/ lökést az /t követ/ kriptográfusoknak. FileNév: A DES.doc - 18/79 - Utolsó módosítás:2002.0819 de 7:54 Az információelméleti ekvivokáció és a titkosítás közvetlen kapcsolata14 A Shannon-Wiener féle információelméleti entrópia mértéket határoz meg egy üzenet átlagos információmennyiségére. Ez más megfogalmazásban azzal a jelentéssel bír, hogy a bit egységben megadott entrópia megmondja, hogy átlagosan milyen hosszúságú (azaz hány bites) bináris kóddal kódolható egy üzenet.15 Mármint optimális esetben, mert nagyon sokszor több bitet használunk, mint feltétlenül szükséges lenne. Egy decimális számjegy kódolására pl átlagosan 2log 10 = 3,32 bit elegend. lenne s ehelyett a BCD kódokban legalább 4 bitet használunk, mert kénytelenek vagyunk egésszámú bitekkel kódolni a decimális számjegyeket. Mivel 3 bit nem elegend., hát
legalább 4 bitet kell használnunk Az ilyen kód redundáns (=terjeng.s) és a redundanciája számszerCen százalékokban meg is határozható A számítógépek a szöveges információ karaktereit pl. 8 bites ASCII kódszavakkal kódolják függetlenül attól, hogy az egyes karakterek ténylegesen mennyi információt hordoznak. Ez mintegy 40%-os terjengsséget jelent, s ezért a text file-ok mérete mintegy 40%-kal csökkenthet. anélkül, hogy a legcsekélyebb információvesztés történne. Az ilyen tömörítési eljárást veszteség nélküli tömörítésnek nevezzük, szemben a veszteséges tömörítéssel, amikor az „eredeti” információ egy része elvész ugyan, de a „maradék” azért még használható. Ilyen veszteséges tömörítést alkalmaznak pl képek tömörítésére, amitl a kép felbontása (raszter-finomsága) és a színmélysége csökken ugyan, de azért a kép még felismerhet. marad A veszteség nélküli szövegtömörítésre igen alkalmas
pl. az un Huffman-féle változó szóhosszúságú kódolás, ami a lábjegyzetben említett információelméleti bevezet.jegyzetben részletesen le van írva Az ilyen veszteség nélküli tömörítésnek az egyik lényeges vonása, hogy a különböz. gyakoriságú üzenetekhez különbözó hosszúságú (bináris) kódokat használ, s teszi ezt úgy, hogy a gyakori karaktereket rövidebb kóddal kódolja, a ritkábban el.fordulókat pedig hosszabb (bináris) kódszavakkal Ezt a kódolási elvet alkalmazza többek között a Morze kód is. Visszatérve az információelméleti entrópiára az úgy is megfogalmazható, hogy minél nagyobb az entrópia, annál kevésbbé tudjuk „megsaccolni” egy esemény bekövetkezését. Ebben az értelemben az információelméleti entrópiát a bizonytalanság mértékének is lehet tekinteni Ami a lingvisztikai szövegeket illeti az angol nyelvC szövegekben egy karakter átlagosan 3,2 bit információt hordoz, holott ha a 26 betüs
ábécé minden betüje egyforma gyakorisággal fordulna el., akkor az átlag 4,7 bit lenne betünként Ezért bármely betükódolás, amely nem veszi figyelembe a tényleges betügyakoriságot: redundáns. (Többek között ilyen pl. az ASCII kód is, nem is beszélve arról, hogy 8 bitet használ mindegyik betü kódolására.) 14 Ebben a fejezetben Randall K. Nichols gondolatmenetét (de nem az eredeti szövegét) követve leírtuk azt, hogy Shannon nyomán hogyan lehet az általa bevezetett egyik feltételes entrópia (ti. az ekvivokáció) fogalmát a titkosítás valamiféle jóságának mértékére alkalmazni. A dolog kétségtelenül érdekes, de az az olvasó, aki másutt nem ismerte meg Shannon kétdimenziós, diszkrét valószín(ségi szkémájának entrópia-fogalmait, az ebben a fejezetben leírtak nélkül is megértheti a továbbiakat, tehát éppenséggel át is lapozhatja ezt a fejezetet. 15 A dolog persze pontosabb megfogalmazásban ennél sokkal bonyolultabb,
de éppen azért kezd/dik az Információtechnika c. tárgy egy információelméleti bevezet/ fejezettel, hogy tisztázza az információelméleti alapfogalmakat, amelyek megértése egyáltalán nem nehéz, csak rá kell szánni némi id/t. Ennek az írásnak az interpretátora ajánlja az olvasónak, hogy olvassa el az ezzel kapcsolatban már megjelent jegyzetet. FileNév: A DES.doc - 19/79 - Utolsó módosítás:2002.0819 de 7:54 Ez a helyzet azonban minden beszélt nyelv esetében, s ennek több oka is van. Elegend. pl azt ,megjegyezni, hogy a mássalhangzó-torlódás kiejtési nehézségeket okoz egy nyelvnél, ezért rendszerint nincsenek olyan szavai, amelyben sok mássalhangzó lenne egymás mellett. Ismert elrettent példa a „fagylat” cseh megfelelje: „zmrzlina”. Az ilyen un. statisztikai sajátságok miatt a beszélt (lingvisztikai) nyelvek igen-igen redundánsak Az angol esetében a maximum ötbetüs kapcsolatok elfordulásait, a rövid szavakat és egyéb
sajátságokat is figyelembe véve kb. 79%-os redundanciát kapunk. A redundanciának persze haszna is van: Ez teszi lehetvé pl azt, hogy ha a szövegben információvesztés van (pl. sajtóhibák vagy zajos környezetben hallgatunk valamilyen szöveget, amelynek egy része elvész a zajban) akkor azért mégis csak megértsük, hogy mir.l van szó, „kipótoljuk” a hiányos, vagy hibás információt a szövegkörnyezet segítségével Minél ersebb, vagy több statisztikai megkötés van egy nyelvben a betükapcsolatokban, annál nagyobb annak a nyelvnek a redundanciája és fordítva. Az ismeretlen ókori nyelvek és/vagy írások megfejtését többnyire pl. éppen a redundancia tette lehetvé Persze a beszélt nyelveknek ugyanez a redundáns tulajdonsága egyáltalán nem kedvez a titkosításnak. Elegend ugyanis a titkosított szövegnek csak egy részét megfejteni, s a közbens részek (= betük) már „kitalálhatók” Ha nincs semmilyen statisztikai kapcsolat a
karaktersorozatban (pl egy véletlenszám-sorozat esetében) akkor ez a kitalálósdi egyáltalán nem mCködik. A redundancia-csökkent (veszteség nélküli) tömörítések pl. kedveznek a titkosításnak Az információforrás entrópiája és redundanciája elég könnyen megérthet. fogalmak A bonyodalom akkor kezd.dik, amikor nem csak a forrást kell figyelembe vennünk, hanem azt is, hogy az információt valamilyen címzettnek továbbítjuk s az átvitelét valamilyen zajforrás zavarhatja. Shannon un. kétdimenziós valószínCségi modellje erre a célra vezeti be a feltételes valószínCségek és az ezekb.l kiszámítható feltételes entrópiák fogalmait Ilyen információ-továbbításnak fogható fel az információ titkosítása is: Feltehet. a kérdés, hogy mi a valószínCsége annak, hogy éppen az M nyíltszöveget adtuk a rejtjelz. bemenetére akkor, amikor az (ti a rejtjelz) a C rejtjeles szöveget adta ki.16 Ez a PC(M) valószínCség a C feltételtl függ
és M-nek a C feltételre vonatkoztatott valószínCségét jelenti. Ebbl a feltételes valószínCségbl egy feltételes entrópia is kiszámítható: H C (M ) = P(C ) C PC ( M ) log 2 M 1 PC ( M ) ahol PC(M) az M üzenet feltételes valószínCsége akkor, amikor éppen a C rejtjeles üzenetet észleltük a titkosító kimenetén. Ezt a feltételes entrópiát nevezik ekvivokációnak (= egybehangzás). 16 Ezt a kérdést leginkább az a valaki teheti fel, aki a rejtjeles szöveg ismeretében szeretné meghatározni az eredeti nyílt szöveget, azaz szeretné meghatározni a kódot. A titkosító persze úgy szeretne rejtjelezni, hogy a lehet/ legnagyobb mértékben lehetetlenné tegye az illetéktelen megfejtést, a lehet/ legnagyobb mértékben megnehezítve az illetéktelen megfejtési kisérletet. FileNév: A DES.doc - 20/79 - Utolsó módosítás:2002.0819 de 7:54 Shannon egy rejtjelzés titkosságának mértékét abból igyekezett meghatározni, hogy
megvizsgálta, hogy a rejtjelzés kulcsára (K) mennyire lehet következtetni magából a rejtjeles szövegb.l (ti a C cipherbl) Erre a célra a fenti feltételes entrópia (=ekvivokáció) igen alkalmas, ha azt a C rejtjelzett szöveg és a K kulcs kapcsolatára írjuk fel: H C (K ) = P(C ) C PC ( K ) log 2 K 1 PC ( K ) ahol PC(K) a K kulcs valószínCsége adott C, mint feltétel esetén. Ha HC(K) = maximális (a maximumot a kulcshosszúság határozza meg), akkor a kulcs megtalálását illet.en a legnagyobb bizonytalanságban vagyunk, tehát ekkor a kulcs a rejtjelzett szöveg ismerete alapján nem is törhet. fel Egy rejtjeles szöveg unicitási távolsága definició szerint az a legnagyobb üzenethosszúság, amely HC(K)-t zérus közelébe kényszeríti17. Úgy is megfogalmazható, hogy az a minimális rejtjelszöveg-hosszúság, amely birtokában egyáltalán valamilyen reménye lehet még a kódot feltörni szándékozónak arra, hogy a kulcsot megtalálja. Intuitive
belátható, hogy ha a támadó számára rendelkezésre álló rejtjeles üzenethosszúság növekszik, akkor a kulcs feltételes entrópiája HC(K) csökken, azaz a megfejtés bizonytalansága csökken, vagyis annál nagyobb a kulcs feltörésének esélye. Az ilyen, entrópia-definicióra épül. meghatározások általában nem adják meg a megfejtés módját, de arra jók, hogy az embrnek megmutatják, hogy egyáltalán érdemes-e valamilyen megfejtési módszer után keresgélnie, egyáltalán létezhet-e megfejtés. Más szóval a megfejtés exisztencia-kritériumát jelentik Egy egyszerC kriptográfiai rendszer ekvivokációja egyre komplexebbé válik ha az üzenetek fajtáinak száma és/vagy az alkalmazott kulcsok száma növekszik. Egy titkosítás unicitási távolságát vagy ki lehet számolni, vagy becsülni lehet, de a mondottak értelmében ez csak a kulcs feltörésének exisztenciájáról, lehet.ségérl ad tájékoztatást de a feltörés módjáról nem. Az
unicitás alapján valamennyi titkosítás az alábbi két osztályba sorolható: 1. Azok a titkosítási módok, amelyek unicitási távolsága egyáltalán létezik és véges értékC. 2. Azok a titkosítási módszerek, amelyek unicitási távolsága végtelen Az ebbe az osztályba tartozó titkosítási módszerek ideálisak, mert elvileg sem feltörhet.k Shannon arra törekedvén, hogy valamilyen kvantitatív mértéket találjon egy titkosítási jóságára a következ.képp definiálta az unicitási távolság szerepét ebben a kérdésben: 1. A titkosítás biztonsága (ha egy titkosítási módszer unicitási távolsága kicsi, akkor az a titkosítás nem biztonságos). 17 „Okoskodással” is rájöhetünk, hogy mir/l van szó: Nyilvánvaló, hogy minél hosszabb rejtjelzett üzenetsor van valakinek a birtokában, annál több esélye lehet arra, hogy feltörje a titkosítási kódot, ami itt a kulcs megtalálását jelenti. Ez fordítva is igaz: minél kevesebb
rejtjelles szövege van, annál reménytelenebb a megfejtés Ha semmilyen szövege nincs, akkor persze nyilvánvalóan nem tud semmit sem megfejteni. Itt az unicitási távolság kapcsán azt a nem nulla hosszúságú üzenethosszat keressük, amellyel még éppen nem tud mit kezdeni a kódot feltörni szándékozó támadó, de ha csak egyetlen bittel is hosszabb üzenet állna rendelkezésére, akkor már nem lenne reménytelen a helyzete. FileNév: A DES.doc - 21/79 - Utolsó módosítás:2002.0819 de 7:54 2. Az unicitási távolság megmondja, hogy mi az a minimális rejtjelszövegmennyiség, ami ahhoz kell, hogy egyáltalán reményünk legyen a kulcs feltörésére: N H (K ) D ahol D az adott nyelv redundanciája (nem százalékokban!) H(K) a kulcs információtartalma, N pedig a keresett rejtjelszöveg-hossz, vagy unicitási távolság. Mivel a redundancia mindenképpen kisebb 1-nél, ezért az a minimális rejtjeles szöveghossz, ami a kulcs feltöréséhez szükséges
feltétlenül hosszabb, mint maga a kulcs, nulla redundancia esetén pedig végtelen hosszú rejtjeles szövegre lenne szükség, azaz nincs remény a feltörésre. Nagyon fontos mondanivalója a fenti képletnek, hogy minél nagyobb a nyílt szöveg redundanciája, annál könnyebb a kulcs feltörése (mert annál rövidebb rejtjeles szövegb alapján lehetséges ezt megtenni). A szimmetrikus algoritmusok és a szorzat rejtjelzés (vagy produkt-transzformáció) Az E szorzat-titkosítás (product cipher) t végesszámú függvény (F1, F2, . Fi, .Ft,) olyan kompoziciója, amelyben mindegyik Fi lehet akár helyettesítés, akár transzpozició. A rotoros rejtjelz gépek (mint amilyen pl az Enigma vagy ennek egy változata a Hagelin gép) tipikusan ilyen szorzat-rejtjelzést valósítottak meg. A gép mindegyik Ri 1<i<t rotorja egy Fi függvény implementációját jelentette. Az említett elektromechanikus rejtjelz. gépek szimmetrikus algoritmussal dolgoztak, azaz mind a
rejtjelz., mind a megfejt ugyanazt a kulcsot használta A keveréses transzformáció Shannon javasolta, hogy a titkosításhoz különbözö fajta függvények keverékét kellene alkalmazni, hogy ezzel egyenletesen szétoszlassuk a jelentéssel bíró üzeneteket az összes lehetséges titkosított üzenetek halmazában. Ezt az elvet nevezzük keveréses transzformációnak (mixing transformation). Ilyen transzformációt pl. úgy állíthatunk el, hogy egy transzpoziciót pl helyettesítések és egyszerC lineáris mCveletek váltakozó sorozata követ Ezt az elvet testesítette meg az 1970-es években az IBM által kifejlesztett LUCIFER. A LUCIFERben a transzformációk el.bb említett alternáló sorozata helyettesítésekbl és transzpoziciókból állt Egy egyszerC kis példán mutatjuk meg itt, hogy hogyan is mCködik egy ilyen kevert transzformáció, ha csak 6 karakteres blokkokat alkalmaz. (A gyakorlatban persze ennél sokkal hosszabb blokkokról van szó és nem is csak 4
transzformációból áll a sorozat, hanem jóval több.l) 1) Legyen az els. helyettesítés (amit S1-gyel jelölünk) olyan, hogy a hatbetüs blokk kiválasztásához a nyílt szöveg els. három betüjét eggyel balra toljuk, a FileNév: A DES.doc - 22/79 - Utolsó módosítás:2002.0819 de 7:54 második három karaktert pedig a nyílt szöveg megfelel. betüinek kettvel való balra tolásával állítjuk el. Nyílt szöveg: A B C D E F G H I J K L . S1 : B C D F G H 2) Az ezt követ. els transzpozició permutációs mátrixa legyen pl: P1 : 1 2 3 4 5 6 6 4 5 2 3 1 ezzel az S1 után kapott 6-os blokk transzpoziciós transzformáltja: H F G C D B FileNév: A DES.doc - 23/79 - Utolsó módosítás:2002.0819 de 7:54 3) A következ. S2 helyettesít transzformációt határozza meg a következ táblázat (csak azt a részét írjuk fel, amelyet az adott példa 6-os blokkjához használunk): S2 A B C D E F G H D E F G H I Így „helyettesítve” a P1 –gyel már
„megkevert” 6-os blokkot: H F G C D B S2 I G H E F D 4) Kövesse ezt ismét egy P2 transzpozició, amelynek permutációs mátrixa a következ.18: P2 : 1 2 3 4 5 6 2 1 4 3 6 5 ezzel az S2 után kapott {I G H E F D} blokk transzpoziciós transzformáltja: P2 : G I E H D F Az így titkosított információt úgy lehet megfejteni, hogy fordított sorrendben alkalmazzuk az egyes transzformációs lépéseket és minden megoldási lépésben az ahhoz tartozó transzformáció inverzét alkalmazzuk (természetesen az éppen aktuális lépéshez tartozó kulccsal.) 18 Látható, hogy itt páronkénti betücserékr/l van szó. Ezzel is azt szeretnénk hangsúlyozni, hogy a product transzformáció egyes lépéseiben nagyon egyszer( transzformációkat lehet végrehajtani és a végeredmény mégis igen-igen nehezen megfejthet/ (mármint az egyes transzformációk és a hozzájuk tartozó kulcsok ismerete nélkül.) Arra is érdemes figyelni, hogy még az azonos tipusú (pl.
transzpoziciós) lépésekben is más-más kulcsot alkalmazunk. Az is látható, hogy végeredményben nincs is túl nagy különbség a helyettesítések és a transzpoziciók között. Lényeges viszont, hogy a transzpozicióval kapott blokkban ugyanazok a betük szerepelnek, amelyek a kiinduló blokkban voltak (uniliterális transzformáció), míg a helyettesítéseknél akármilyen más betü vagy jel is el/fordulhat, de az éppen helyettesített karakter a blokkon belüli pozicióját meg/rzi, azaz a szomszédságához képest nem változtatja a helyét (unilaterális transzformáció). FileNév: A DES.doc - 24/79 - Utolsó módosítás:2002.0819 de 7:54 Iterált kriptorendszerek A kriptográfiai szempontból er.s titkosító függvények családjának valódi részhalmazát alkotják az iterált kriptorendszerek, amelyek alapja az, hogy egy gyengébb kriptofüggvényt n-szer iterálnak Minden egyes iterációt egy-egy rundnak neveznek és az egész kriptorendszert magát
n-rundos kriptorendszernek. Az i-edik rund-függvény bemenete az i-1-edik rund kimenete és tartozik hozzá egy szubkulcs: ki , ami az egész kriptorendszerhez rendelt kulcstól függ és egy (külön) kulcs-ütemez. algoritmus számítja ki A rund-függvényt rendszerint táblázatokkal adják meg, amelyeket S-dobozoknak is neveznek (a substitution-box elnevezésb.l)19 Szokásos megadás továbbá a bit permutációk, aritmetikai mCveletek és kizáró vagy mCveletek: használata is. A DES (Data Encryption Standard) Amint e fejezet bevezet.jében elmondtuk, a DES a LUCIFER továbbfejlesztett változata. A LUCIFER rund függvényei nemlineáris20 helyettesítéseket (S dobozokat) és bit permutációkat alkalmaznak. A rund függvény bemenete a teljes bitfolyamot négyes csoportokra (=tetrádokra) osztja. Mindegyik tetrádot egy-egy S doboz ugyancsak négybites bitcsoporttá transzformálja és mindegyik ilyen transzformáció invertálható Az így kapott, (transzformált
tetrádokból álló) teljes bitfolyamot aztán permutáljuk, miel.tt a következ rund függvényhez bemenetként felhasználnánk Egy rund-függvény végrehajtásának blokkvázlata tehát a következ.: Input . . . . S dobozok . . . . Transzformált tetrádok . . . . Permutációs kulcs . . . . A teljes bitszekvencia permutáltja . . . . A négybites S dobozok (a LUCIFER esetében) helyettesít. transzformációkat hajtanak végre, amint az elnevezésük is mutatja. Figyelemre méltó, hogy a rund függvény operációi során a bemeneti szóhossz nem változik. 19 Az el/z/ekben bemutatott szorzat-transzformációs példánkban mi is egy-egy táblázattal adtuk meg, hogy melyik helyettesítési lépésben a blokk melyik betüjét milyen más betüvel kellett helyettesíteni és végül is a permutációs kulcsok is tekinthet/k táblázatoknak. 20 Alább még visszatérünk arra, hogy mi az a nemlineáris helyettesítés. FileNév: A DES.doc - 25/79 - Utolsó
módosítás:2002.0819 de 7:54 A LUCIFERnél összesen kétféle S dobozt használtak. Ezeket S0-val és S1-gyel jelölték így egyetlen bittel megkülönböztethet.k voltak Egy 128 bites bemeneti blokkhoz tehát 32 darab S doboz tartozott és így egy 32 bites bináris számmal lehetett megadni, hogy az éppen aktuális rundnál mi az S doboz kiosztás. Mindkét fajta S doboz bármelyik tetrád helyén alkalmazható volt és ezek kiosztását az egymás után következ. rundoknál rendre változtatták is Az S dobozok éppen aktuális kiosztása természetesen kulcsfügg. volt A LUCIFER iterált kriptorendszere 16 rundot futtatott le egy-egy 128 bites blokk titkosításához, ezért 16x32= 512 kulcs-bitre volt szükség a teljes S doboz kiosztáshoz.21 Az 512 kulcs-bit háromnegyedét úgy spórolták meg, hogy csak egy 128 bites kulcsot adtak meg és egy kulcs-kiterjeszt. algoritmus megnégyszerezte a kulcsbitek számát. A megfejtés úgy történt, hogy az adatot (t.i a
titkosított blokkot) visszafelé futtaták át lényegében ugyanazon a célhardveren, de mindegyik S doboznak az inverz transzformációját használták. A fejezet bevezet.jében említettük, hogy a DES a LUCIFER továbbfejlesztett változata volt és már a bevezetésekor er.s kritikákat kapott azért, mert a LUCIFER 128 bites blokkhosszúságával szemben „csak” 64 bites blokkokkal dolgozott. Ráadásul az ehhez szükséges 64 bites kulcs bitjei közül is csak 8x7=56 bit volt független, mert byte-onként 1-1 bitet paritásbitként használt. A DES tehát egy szabványosított matematikai algoritmus, amelyet számítógépes adatok kriptográfiai védelmére vezettek be. Az algoritmust bináris adatokhoz fejlesztették ki, amelyeket (ti. az adatokat) 64 bites blokkokra osztva titkosította és ehhez 64 bites kulcsot használt. A 64 bit elsrendC fontossággal bír, mert vele egy 64 bites nyílt szövegb.l22 ugyancsak 64 bites titkosított szöveget állít el egy 64 bites
kulccsal, de ez nem jelenti azt, hogy a titkosítási eljárás során mindvégig csak 64 bites szóhosszúsággal dolgozik, amint a fix szóhosszúság alkalmazását a LUCIFER leírásánál láttuk. Mivel a DES mint eljárás teljesen nyilvános, ezért a titkosítás kriptográfiai biztonsága a kulcs védelmének a biztonságától függ. A titkosított szöveg megfejtésekor az algoritmust fordított sorrendben kell lefuttatni és –ami a dolog lényege- ugyanazzal a kulccsal, amellyel az eredeti nyílt szöveget titkosították. A DES, mint szabvány a DEA (Data Encryption Algorithm) eljárást alkalmazza olyan 64 bites, azaz 8 byte-os kulccsal, amelynek minden byte-jában csak 7-7 független bit van, a nyolcadik bit pedig páratlanra állítja be az adott byte paritását. 21 Volt a LUCIFERnek egy 8 rundos változata is, amelyhez 8x32= 256 kulcs-bitre volt szükség. 22 A „szöveg” ebben az esetben természetesen egy 64 elem( bitsorozat, de ez az el/z/ekb/l is
nyilvánvaló. FileNév: A DES.doc - 26/79 - Utolsó módosítás:2002.0819 de 7:54 A DEA áttekintése A DEA iterációs kriptorendszer, amely –mint említettük- 64 bites, bináris információs blokkokat titkosít 64 bites kulccsal és egy-egy ilyen titkosítási folyamatban a következ. lépéseket23 hajtja végre: 1) Végrehajt egy kezdeti transzpoziciót a teljes 64 bites blokkon. Ezt kezdeti permutációnak (Initial permutation) nevezik és IP-vel rövidítik. Már itt megjegyezzük, hogy ennek a kezdeti permutációnak az inverzét alább IP-1 – gyel jelöljük majd. A kezdeti transzpoziciónál nincs szerepe a kulcsnak. Egy-egy konkrét titkosító chipben az mindíg ugyanúgy történik meg, tehát nem kulcs-vezérelt és így kizárólag csak a 64 bites adatblokk bitjeivel operál (t.i azokat keveri össze) 2) Egy igen komplex, kulcs függ. produkt transzformáció, amely blokk titkosítást alkalmaz, hogy növelje a helyettesítések és a bitsorrend
átrendezéseinek a számát. 3) Egy befejez. transzpoziciós mCvelet, amelyet a kezdeti permutáció inverzének (Inverse Initial permutation) neveznek és IP-1–gyel jelölnek. Ezt szemlélteti a következ. ábra: Nyílt szöveg 64 adatbit Bemenet Kezdeti IP Iterált produkt transzformáció Szabványos adat-titkosító algoritmus Inverz IP Titkosított szöveg 64 adatbit Kimenet A kezdeti permutáció (IP) a teljes 64 bites nyílt szövegC bitfolyam bitjeinek meghatározott összekeverése, a befejez. permutáció (IP-1) pedig ennek az inverze A produkt-transzformáció meglehetsen komplex Amint már eddig is láttuk a produkttranszformációk a helyettesítési és a transzpoziciós titkosítások egymás utáni alkalmazásának sorozatát jelentik nagy adatblokkokat transzformálnak egyetlen egységként Ezt blokk-titkosításnak is nevezik 23 Az itt használt „lépés” szó nem tévesztend/ össze a „rund” kifejezéssel, amit korábban vezettünk be.
FileNév: A DES.doc - 27/79 - Utolsó módosítás:2002.0819 de 7:54 A DEA produkt-titkosító lépésében a blokk-titkosító helyettesítéseket a titkosítás kulcsa vezérli, míg a transzpoziciókat rögzített szekvencia szerint hajtják végre. A következ blokksémával megpróbáljuk szemléltetni a DEA produkt-transzformációjának egyetlen egy (ti. az i-edik) iterációját: 64 bites kulcs Az i-1-edik lépés baloldali 32 bitje: B i-1 Az i-1-edik lépés jobboldali 32 bitje: J i-1 Bi-1 Ji-1 32 bit Baloldalijobboldali félszavakcseréje Kiterjesztés 48 bit 48 bites szöveg mod 2 összeadás Az i-edik 48 bites szubkulcs (ki) kiszámítása és a kulcs-ütemezés 48 bites kulcs 48 bites mod 2 összeg 8x6 bit Kompr . . Kompr 8x4 bit 32 bites szó Permutáció 32 bites szó mod 2 sum Bi-1 (32 bit) Bi (32 bit) Az i-edik lépés baloldali 32 bitje: B i Ji (32 bit) Az i-edik lépés jobboldali 32 bitje: J i FileNév: A DES.doc - 28/79 - Utolsó
módosítás:2002.0819 de 7:54 A blokkvázlaton bemutatott egyetlen iteráció a következ. mCveleteket tartalmazza: 1) A 64 bites nyílt szöveget két, egyenként 32 bites félszóra osztja. Ezeket Bi-1 gyel és Ji-1-gyel jelöltük, mert az (i-1)–edik iterációs lépés kimenetérl van szó, ami az ábrázolt i-edik rund bemenete. 2) A jobboldali 32 bites –változatlan- félszó (Ji-1 ) lesz az i-edik iterációs rund kimenetének baloldali félszava, azaz Bi . 3) A jobboldali 32 bites félszón Ji-1 egy kiterjesztési müveletet hajtunk végre. Ezt szelekciónak is nevezik, mert tulajdonképpen arról van szó, hogy a félszó alkalmasan kiválasztott 12 bitjét megduplázzuk és hozzákeverjük az eredetileg 32 bites félszóhoz. Az eredmény egy 48 bites kiterjesztett félszó lesz A 12 bit kiválasztása rögzített, nem a kulcstól függ.en történik Kiterjesztési permutációnak (expansion permutation) nevezik Ennek a kiterjesztésnek az un lavinahatás elérése a
célja (Erre még visszatérünk) 4) Az éppen esedékes (tehát itt és most az i-edik) iterációs lépéshez tartozó, ugyancsak 48 bitre kiterjesztett ki kulcsot az egész titkosítási eljáráshoz választott (ill. megadott) kulcsból generáljuk meghatározott algoritmussal Mindegyik lépéshez más-más szubkulcs tartozik, tehát mindegyik ki egyedi és csak egy lépésben használjuk. 5) A 48 bites szubkulcsot mod 2 hozzáadjuk az el.z lépésben 48 bitre kiterjesztett félszóhoz Ez a mCvelet egy 48 bites (mod2) összeg-szót eredményez 6) Az el.z lépés 48 bites eredményét nyolc darab hatbites blokkra osztjuk Ezek mindegyike egy-egy egyedi (fix) rejtjel szerint egy-egy négybites tetrádot eredményez. Más szóval: egy olyan összenyomó eljárásról (komprimálásról) van szó, ami a 48 bitre kiterjesztett félszóból ismét 32 bites félszót csinál. 7) Ezt a 32 bites félszót egy egyszerC permutációval összekeverjük, majd 8) mod 2 hozzáadjuk a bemenetként
szolgáló baloldali Bi-1 félszót. 9) Az i-edik iterációs lépés kimenetének baloldali félszava tehát az el.z lépés változatlan jobboldali félszava, azaz Bi = Ji-1 A Ji-1 félszóval pedig az iteráció során nagyon sok minden történt, ami lényegesen megváltoztatta és végül is ennek az iterációs lépésnek a jobboldali kimeneti félszavát: Ji eredményezi. 10) Az eredeti 64 bites blokk 16 ilyen iteráción megy keresztül, amíg végül is megkapjuk a titkosított alakját. Vegyük észre, hogy a 3. lépésben végrehajtott kiterjesztés az eredeti 32 bites félszó bitjeinek a felét megduplázza, az ezt követ., kulcsfügg mod 2 összeadás pedig megteheti, hogy az eredeti félszó egyetlen (de az el.bbi lépésben megkettzött) bitjének megfelel. biteket a kiterjesztett félszóban más-más módon befolyásolja Az ezután következ. kompressziós lépés egyáltalán nem az elz expanzió inverze, tehát megtörténhet (és meg is történik), hogy az
eredeti, kiterjesztés el.tti félszó egyetlen bitjének megváltoztatása a kiterjesztés-mod 2 kulcs hozzáadás –majd a kompresszió után el.álló új félszónak több bitjét is módosítja Ráadásul a 8 lépésben még az egyébként változatlan baloldali félszó is „beleszól” abba, hogy mi lesz a kódolt jobboldali félszó ebben az iterációs lépésben. FileNév: A DES.doc - 29/79 - Utolsó módosítás:2002.0819 de 7:54 Az iterációs eljárás 3., 4, 5,és 6, lépése következtében tehát a bemeneti (jobboldali) félszó egyetlen bitjének megváltozása a kimeneti félszónak több bitjét is megváltoztatja. Ezt nevezik lavinahatásnak Mivel a titkosítási eljárás során minden 64 bites blokkra 16-szor lefuttatjuk ezt az iterációt és minden iterációnál felcseréljük a jobb és baloldali félszavakat, ezért egészen biztos, hogy a 64 bites nyilt szöveg minden kis részletét érinti ez a komplex transzformáció és a lavinahatás is az
egész blokkra érvényes. Gyakorlatilag arról van szó, hogy ha egy 64 bites XA nyílt szöveghez mondjuk egy ugyancsak 64 bites YA titkosított szöveg tartozik és van egy másik XB nyílt szövegünk, amely XA-tól csak egyetlen bitben tér el, akkor az utóbbihoz tartozó YB titkosított szöveg YA-tól legalább 32 bitben különbözik. (A Hamming távolságokkal precízebben megfogalmazható.) A kulcs-ütemez. mindegyik iterációs lépéshez más-más 48 bites szubkulcsot számol ki az eredetileg megadott 64-bites K kulcsból: k1; k2; . ki; k16; A megfejtésnél pontosan ugyanezt az eljárást hajtják végre azzal az egyetlen különbséggel, hogy megfejtéskor a szubkulcsok sorrendje fordított, tehát: k16; k15; . ki; k1; A DEA komponensei A DEA a következ. hat lényeges komponensbl áll: 1) A kulcs-ütemez. algoritmus, amely 16 szubkulcsot generál 2) A mod 2 összeadás (XOR) 3) A rejtjelfüggvény (cipher function) amely mCveleteit tartalmazza. a produkt
transzformáció f. 4) A blokk-transzpozició, amelynek eredménye az az el.zetes kimeneti blokk, ami a kezdeti permutáció inverzének a bemenete. 5) A kezdeti permutáció (IP), amelyet egy szelekciós táblázattal szokás definiálni. 6) A kezdeti permutáció inverze (IP-1), amit ugyancsak egy szelekciós táblázat ad meg. A kulcs-ütemez/ számítások. A kulcsütemez. 16 szubkulcsot számol ki A szubkulcsok általános jelölése ki, 1 i 16 és ezek valamennyien 48 bites kulcsok, amelyeket mind a titkosító, mind a megfejt. algoritmus igényel és használ Valamennyi ilyen szubkulcsot permutáció, szelekció és léptetési mCvelet segítségével számolják ki. Az „eredeti” K kulcs bitjeit számozzuk balról jobbra 1-t.l 64-ig A korábban elmondottak értelmében a következ sorszámú bitek a paritásbitek: 8; 16; 24; 32; 41; 48;56; és 64. FileNév: A DES.doc - 30/79 - Utolsó módosítás:2002.0819 de 7:54 Ezzel a következ. (független) bitek
használhatók fel a kulcs-ütemezés számításához: 1. – 7 9. – 15 17. – 23 25. – 31 33. – 39 49. – 55 57. – 63 Összesen 8x7 = 56 kulcsbit. A kulcs-ütemezést a következ.képp hajtják végre: 1. A paritásbiteket kihagyva a kulcsot két 28 bites félre osztják és ezeket C0-val és D0-val jelölik. (Ez a szubkulcsok számításának kiinduló pontja) 2. C0-át éa D0-át egy hellyel balra körbeléptetik Az így kapott 28 bites blokkokat C1-gyel és C2-vel jelöljük. 3. C1-bl és D1-bl (amelyek együttesen, ugye, 2x28=56 bit hosszúak) „leválogatunk” 2x24 bitet az összesen 48 bit hosszúságú szubkulcshoz Ezt a szubkulcsot jelöljük k1-gyel A „leválogatást” egy maszk határozza meg, amelyyik minden egyes lépésnél ugynaz. 4. C1-et és D1-et balra körbeshifteljük egy lépéssel s amit az egyenként 28 bites regiszterekben kapunk, azt C2-vel ill. D2-vel jelöljük 5. C2-bl és D2-bl „leválogatunk” 2x24 bitet az összesen 48 bit hosszúságú
szubkulcshoz. Ezt a szubkulcsot jelöljük k2-vel 6. Ezt az eljárást folytatjuk mindaddig, amíg meg nem kapjuk mind a 16 szubkulcsot k3-tól k16-ig. Tekintettel arra, hogy a két kulcs-regiszter egyenként 28 bites az egy iteráció során számolt szubkulcsok után nem állna el. a kiinduló állapotuk, mert nem léptettük azokat 28-szor, csak 16-szor. Ezért egyes szubkulcsok számításakor nem eggyel hanem kett.vel léptetnek balra, hogy automatikusan el.álljon a 2 db 28 bites léptetregiszter „alapállapota” minden blokk titkosításának befejezése után. Jól látható, hogy az azonos blokk-titkosításban használt 16 szubkulcs egymáshoz való viszonya egyáltalán nem véletlenszerC. A balra léptetés elég egyszerC helyettesítés, a válogató eljárás pedig minden egyes kulcsszámító lépésnél ugyanaz. Magát a teljes eljárást egy igen terjedelmes blokkdiagrammal lehet bemutatni, amelynek itt csak egy részletét közöljük: FileNév: A DES.doc -
31/79 - Utolsó módosítás:2002.0819 de 7:54 64-bites kulcs A No.1 fajta permutáció 56 bit 28 bit 28 bit C0 D0 Balra körbeshiftelés 1 hellyel Balra körbeshiftelés 1 hellyel C1 D1 A No.2 fajta permutáció K1 48 bit Balra körbeshiftelés 1 hellyel Balra körbeshiftelés 1 hellyel C2 D2 A No.2 fajta permutáció K2 48 bit Balra körbeshiftelés 2 hellyel Balra körbeshiftelés 2 hellyel C3 D3 A No.2 fajta permutáció K3 48 bit . . . . . . Ez az ismételt eljárás folytatódik, amíg el.állítja mind a 16 db szubkulcsot Az látható, hogy van olyan lépés, amelyben a balra-shiftelés csak 1 hellyel, és van olyan, amelyben 2 hellyel shifteli a 28 bites blokkokat A DEA 16 lépéses kulcs-számítási eljárásának kezdete. FileNév: A DES.doc - 32/79 - Utolsó módosítás:2002.0819 de 7:54 A No1 fajta permutáció a 64 bites „eredeti” kulcsból el.ször is elhagyja mindegyik byte paritásbitjeit (t.i a 8 a 16 64 biteket) majd a maradék 56
bitbl kiválogat 2x28 bitet a következ.képp: Rendezzük el az „eredeti” 64 bites kulcs bitjeinek sorszámait a következ. táblázatba: Az els. 28-bites sorozat kezdete 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 A második 28-bites sorozat kezdete A táblázat utolsó oszlopába kerültek a paritásbitek, ezeket a további számításoknál nem használjuk. A „maradék” 56-bitbl elször két, egyenként 28 bites sorozatot állítunk el. a táblázatban bejelölt válogatással Azaz az els sorozat a C0 = {57, 49, 41, . 52, 44, 36} biteket, a második pedig a D0 = {63, 55, 47,. 20, 12, 4} biteket tartalmazza Ezekb.l generálódnak aztán a Ci , Di (i = 1, 2, 16) párok az elz oldalon bemutatott ábra szerint. FileNév: A DES.doc - 33/79 - Utolsó
módosítás:2002.0819 de 7:54 Egy táblázat határozza meg, hogy melyik lépésben hány bittel kell balra shiftelni a két 28 bites kulcsfél-regiszter tartalmát. Ez a táblázat a következ: Az iteráció sorszáma Hány pozicióval kell balra shiftelni Az iteráció sorszáma Hány pozicióval kell balra shiftelni 1 1 9 1 2 1 10 2 3 2 11 2 4 2 12 2 5 2 13 2 6 2 14 2 7 2 15 2 8 2 16 1 A Ci , Di 2x28 bites párok konkatenációja alkotja a No2. fajta permutáció bemenetét, amely mindegyik ilyen 56 bites sorozatból egy adott módszer szerint kiválogat 48-48 bitet. FileNév: A DES.doc - 34/79 - Utolsó módosítás:2002.0819 de 7:54 A lépésenként alkalmazott (No 2. fajta) bit „kiválogatási” módszer a következ Figyeljük meg, hogy egyáltalán nem követi a bitek monoton számozási sorrendjét, hanem egyúttal keveri is azokat (Az ábrán megadott mátrixot sorfolytonosan kell olvasni.): 56 bit 28 bit 28 bit 1 2 3 . . 55
56 Ci 14 3 23 16 41 30 44 46 Di 17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32 A No2. fajta permutáció Ki 1 2 3 . . 47 48 48 bit A DEA szubkulcsainak számítása során a ciklus mind a 16 lépésében alkalmazott 2. fajta permutációs algoritmus Ezzel a kulcs-ütemezési algoritmust részletesen bemutattuk. Térjünk most vissza magának a DEA-nak a mCködéséhez és kövessük a 27. oldalon bemutatott blokkséma logikáját. FileNév: A DES.doc - 35/79 - Utolsó módosítás:2002.0819 de 7:54 A félszó kiterjesztése (expanziója). El.ször is megmutatjuk, hogy a titkosítandó 64 bites blokk 32 bites félszaván hogyan hajtjuk végre a 28. oldalon felsorolt kiterjesztést, amely a 32 bites félszóból 48 bites bitsorozatot állít el. az un lavinahatás elérése céljából Teszi ezt úgy, hogy az „eredeti” 32 bitb.l 16-ot megismétel és ezeket a megismételt biteket hozzákeveri az
„eredeti” 32 bites félszóhoz. Számozzuk meg a 32 bites félszó bitjeit balról jobbra 1-t.l 32-ig, és alkalmazzunk egy 34-bites, valamint nyolc darab hatbites regisztert az expanzióhoz. (Az utóbbiakból csak hármat rajzoltunk meg az alábbi ábrán, de a folytatás könnyen elképzelhet) 32 bit Titkosításkor: A = Ji-1 Megfejtésnél: A = Bi-1 1 2 3 4 A 5 32 Els/ kiterjesztés: Az 1. és a 32 bit duplikálása 32 11 22 33 44 55 32 1 2 3 4 5 4 5 32 6 7 8 9 8 9 10 . 11 . 12 13 . Az expanzió els. lépésében csak az 1 és a 32 biteket duplikáljuk és írjuk az említett 34 bites regiszter végein lév. cellákba úgy, ahogyan az ábra mutatja Ez után következik a 34 bites regiszter tartalmának átírása az átlapoltan eltolt 6 bites 1 FileNév: A DES.doc - 36/79 - Utolsó módosítás:2002.0819 de 7:54 regiszterekbe, szintén a fenti ábra szerint. Végül a 8 darab hatbites regisztert egymás után kapcsolva megkapjuk a
kiterjesztett (48 bites) szót. Táblázatba foglalva a kiterjesztett szóban a bitsorrend a következ. lesz, ha az „eredeti” 32-bites félszó bitszámozását használjuk: 32 1 2 3 4 5 I. 4 5 6 7 8 9 II. 8 9 10 11 12 13 III. 12 13 14 15 16 17 IV. 16 17 18 19 20 21 V. 20 21 22 23 24 25 VI. 24 25 26 27 28 29 VII. 28 29 30 31 32 1 VIII. Figyeljük meg, hogy a legutolsó (azaz a VIII.) hatbites regiszter két utolsó bitje a legels. hatbites regiszter két els bitjével egyezik, így az egész kiterjesztési eljárás ciklikus lesz mintha a nyolc regiszter egy henger palástját alkotná. Könnyen belátható, hogy ha az expanzió el.tti 32-bites félszó valamelyik olyan bitje változik meg, amelyet a kiterjesztési transzformáció során megduplázunk, akkor ez a változás is megduplázódik. Tekintettel arra, hogy az expanzió az eredeti 32 bites félszónak 8x2=16 bitjét megduplázza 50% annak a valószínCsége, hogy egy
bemeneti bit változása a kimeneten két bit változást okoz. Végül is ennek a jelenségnek a sokszorozódása hozza létre a már többször említett lavinahatást, de erre még visszatérünk Jelöljük E-vel (az Expanzió szó után) a fentiekben leírt félszó-kiterjesztési eljárást. A titkosítási eljárás áttekintése A 27. oldalon bemutatott titkosítási eljárás egyes transzformációi közül az elbbiekben részletesebben megvizsgáltuk mind a szubkulcsok számításának eljárását, mind a titkosítandó 64 bites blokk 32 bites félszavának kiterjesztési eljárását. Némileg egyszerüsítve a 27 oldalon bemutatott ábrát és egy-egy blokkal jelölve a már ismertetett transzformációkat, a következ.képp ábrázolhatjuk a DE Algoritmust: FileNév: A DES.doc - 37/79 - Utolsó módosítás:2002.0819 de 7:54 Ki (48 bites szubkulcs) 32 bit A Titkosításnál: A=Bi Megfejtésnél: A=Ji E 48 bites kiterjesztett félszó + Az Si szelekciós
függvények halmaza 32 bites eredmény P f(A,Ki) 32 bit A DEA titkosítási eljárás egyszerüsített blokkvázlata ( a 27. oldalon bemutatott blokkséma alapján) FileNév: A DES.doc - 38/79 - Utolsó módosítás:2002.0819 de 7:54 A következ.kben a modulo 2 összeadásról, a 48 bites eredmény 32-bites félszóvá való tömörítésér.l és a P permutációról kell még szólni A modulo 2 összeadás Két darab, egyenként 48 bit hosszúságú bit hosszúságú bit-szekvenciát kell bithelyenként öszzeadni egy-egy kizáró VAGY (XOR) mCvelettel: Az E transzformáció eredményeként kapott 48 bites kiterjesztett félszó A 48 bites Ki szubkulcs 1 1 G: 2 2 3 3 + + + 1 2 3 . . . . 47 47 48 48 + + 47 48 Az eredményül kapott 48 bites bitsorozatot ( = G )kell most visszatranszformálni az „eredeti” 32 bites félszóval azonos hosszúságú bitsorozattá. FileNév: A DES.doc - 39/79 - Utolsó módosítás:2002.0819 de 7:54 Az S
dobozok Az elnevezésben el.forduló „S” betü az angol megnevezés (Selection Boxes) kezdbetüjére utal és –mint az eredeti jelentése is mutatja- egyfajta kiválogatási transzformációt jelent24 Az itt következ transzformáció bemenete a mod2 összeadás eredményéül kapott 48 bites bitsorozatot ( = G ) (lásd az el.bbi ábrát, valamint a 37 oldalon bemutatott ábrát és az utóbbin az Si szelekciós függvények halmazát) nyolc darab, egyenként hatbites blokkra osztja. Ezek a hatbites blokkok a nyolc darab egyedi S doboz bemenetei. A Bi-vel jelölt hatbites blokkok lényegében információt szolgáltatnak arra, hogy Bi-b.l hogyan kell kiválogatni és transzformálni a biteket ahhoz, hogy az adott Si doboz kimenetén megjelenjen a négy bit. a Mindegyik S doboznak 4 kimenete van Együttesen tehát a 8x6=48 bites bemenetb.l elállítják a 8x4=32 bites kimenetet, vagyis „visszatranszformálják a kiterjesztett bitsorozatot az „eredeti” 32-bites félszóval
azonos hosszúságú bitsorozattá. Ennek a transzformációnak a blokkvázlata a következ.: Bi1 Bi2 Bi3 Bi7 Bi8 S7 S8 . G: S1 S2 S3 . . Ha a leválogatás el.tti, 48 bites bitsorozatot szimbolikusan G =B1 B2 B3 B4 B5 B6 B7 B8 jelöli, akkor az Si leválogató transzformációk alkalmazása után az S1(B1) S2(B2) S3(B3) S4(B4) S5(B5) S6(B6) S7(B7) S8(B8) szimbolikus jelölésmód írja le a most már csak 32 bites bitsorozatot. 24 Két megjegyzést kell ehhez hozzáf(zni: Az egyik az, hogy az S boboz nevében az S betü nemcsak a „selection” (válogatás) szóra, hanem a „substitution” (helyettesítás) szóra is utal, mert itt egyáltalán nem „csak” válogatásról van szó, hanem nagyon is komplex transzformációról. A másik megjegyzés az, hogy van olyan szakirodalom, amely a keverési transzformációkat un. P dobozoknak (Permutation Boxes) tulajdonítja és ez a szóhasználat legalább annyira jogos, mint az S dobozoké. FileNév: A DES.doc
- 40/79 - Utolsó módosítás:2002.0819 de 7:54 Az S1 . S8 transzformációkat táblázatok definiálják Nézzük meg, hogy hogyan mCködik ez mondjuk S1-re és egy példaként tetsz.legeseb felvett B1=110000 bitsorozatra Az S1 transzformációhoz tartozó ill. azt definiáló táblázat (a függvényyértékek hexadecimális számok): A sorok sorszámai E táblázat oszlopainak sorszáma 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7 1 0 F 7 4 E 2 D 1 A 6 C B 9 5 3 8 2 4 1 E 8 D 6 2 B F C 9 7 3 A 5 0 3 F C 8 2 4 9 1 7 5 B 3 E A 0 6 D 810 1 1 0 0 0 0 102 =210 A példaként válsztott hatbites bitsorozat els. és utolsó bináris számjegyét összeolvasva egy a 0.3 tartományba es számot kapunk, ami a fenti függvénytábla egy sorát jelöli ki. A „maradék” középs négybites számot pedig egy a decimális 0.15 tartományba es számként értelmezve a
függvénytábla egy oszlopát jelöli ki úgy, ahogyan azt a fenti táblázatban meg is jelöltük. Az eredmény mindíg egy hexadecimális szám (az adott példa esetében éppen B) Az elmondottak szerint tehát az adott példa hatbites blokkjára az S1 transzformáció a következ.képp mCködik: Egyáltalán nem arról van szó tehát, hogy a B1 blokk hat bitje közül valamilyen adott stratégia szerint kiválogat négy bitet a hozzátartozó S doboz, hanem sokkal inkább egy olyan transzformációról, amely B1 hat bitjéb.l az S1–hez adott táblázat szerint kiszámítja a négy kimeneti bitet. Valamennyi Si–hez (i= 1. transzformációs táblázat tartozik. B1 1 1 0 0 0 0 .8) más-más Ha valahol látszik egyáltalán, akkor ennél a transzformációnál nyilvánvaló, hogy nem invertálható Vessük össze ezt azzal, amit a 6. oldalon az invertálhatóságról, mint a kriptorendszerek alapvet. sajátságáról állítottunk Az ellentmondás (is) nyilvánvaló s erre még
visszatérünk. Az Si a transzformációs táblázatokat adjuk meg a következ. oldalakon S1 #F 1 1 1 1 FileNév: A DES.doc - 41/79 - Utolsó módosítás:2002.0819 de 7:54 Az S1 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7 1 0 F 7 4 E 2 D 1 A 6 C B 9 5 3 8 2 4 1 E 8 D 6 2 B F C 9 7 3 A 5 0 3 F C 8 2 4 9 1 7 5 B 3 E A 0 6 D Az S2 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 F 1 8 E 6 B 3 4 9 7 2 D C 0 5 A 1 3 D 4 7 F 2 8 E C 0 1 A 6 9 B 5 2 0 E 7 B A 4 D 1 5 8 C 6 9 3 2 F 3 D 8 A 1 3 F 4 2 B 6 7 C 0 5 E 9 Az S3 transzformációhoz tartozó ill. azt definiáló táblázat A sorok
sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 A 0 9 E 6 3 F 5 1 D E 7 B 4 2 8 1 D 7 0 9 3 4 6 A 2 8 5 E C B F 1 2 D 6 4 9 8 F 3 0 B 1 2 C 5 A E 7 3 1 A D 0 6 9 8 7 4 F E 3 B 5 2 C Az S4 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 7 D E 3 0 6 9 A 1 2 8 5 B C 4 F 1 D 8 B 5 6 F 0 3 4 7 2 C 1 A E 9 2 A 6 9 0 C B 7 D F 1 3 E 5 2 8 4 3 3 F 0 6 A 1 D 8 9 4 5 B C 7 2 E FileNév: A DES.doc - 42/79 - Utolsó módosítás:2002.0819 de 7:54 Az S5 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 2 C 4 1 7 A B 6 8 5 3 F D 0 E 9 1 E B 2 C 4 7 D 1 5 0 F A 3 9 8 6
2 4 2 1 B A D 7 8 F 9 C 5 6 3 0 E 3 B 8 C 7 1 E 2 D 6 F 0 9 A 4 5 3 Az S6 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 C 1 A F 9 2 6 8 0 D 3 4 E 7 5 B 1 A F 4 2 7 C 9 5 6 1 D E 0 B 3 8 2 9 E F 5 2 8 C 3 7 0 4 A 1 D B 6 3 4 3 2 C 9 5 F A B E 1 7 6 0 8 D Az S7 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 4 B 2 E F 0 8 D 3 C 9 7 5 A 6 1 1 D 0 B 7 4 9 1 A E 3 5 C 2 F 8 6 2 1 4 B D C 3 7 E A F 6 8 0 5 9 2 3 6 B D 8 1 4 A 7 9 5 0 F E 2 3 C Az S8 transzformációhoz tartozó ill. azt definiáló táblázat A sorok sorszámai Az oszlopok sorszámai 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 0 D 2 8 4 6 F B 1 A 9 3 E 5 0 C 7 1 1 F D 8 A 3 7 4 C 5 6 B 0 E 9 2 2 7 B 4 1 9 C E 2 0 6 A D F 3 5 8 3 2 1 E 7 4 A 8 D F C 9 0 3 5 6 B FileNév: A DES.doc - 43/79 - Utolsó módosítás:2002.0819 de 7:54 A DEA 37. oldalon bemutatott egyszerCsített blokksémája szerint at S dobozok segítségével végrehajtott kompressziós eljárást követ.en még egy P permutációs transzformációt is végre kell hajtani a most már ismét „csak” 32 bites félszón, miel.tt a másik félszóval egysítenénk. Ez a keverési transzformáció a következ: 32 bit Az Si transzformációk kimenete 16 29 1 5 2 32 19 22 7 12 15 18 8 27 13 11 20 28 23 31 24 3 30 4 21 17 26 10 14 9 6 25 A félszón végrehajtott komplex titkosító folyamat végeredménye 32 bit Ezután már csak a 27. oldalon bemutatott blokkséma szerint a két félszó felcserélésére és egyesítésére van szükség ahhoz, hogy a 16
lépéses transzformáció valamelyik közbens lépésének végeredményét megkapjuk Ezt a kimenetet megelz (preotput) blokknak nevezi Randy Nichols FileNév: A DES.doc - 44/79 - Utolsó módosítás:2002.0819 de 7:54 A 16. lépés után –természetesen- végre kell hajtani a kezdeti permutáció inverzét is az IP-1-et. A teljesség kedvéért megadjuk a DEA kezdeti permutációjának (azaz IP-nek) és a kezdeti permutáció inverzének (azaz IP-1-nek) a transzformációs táblázatait is 64 bites nyiltszöveg-blokk, mint bemenet IP 58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 35 37 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 1 2 3 . 2 4 6 8 1 3 5 7 . 63 64 A kezdeti permutáció (IP) 64 bites eredménye 1 2 3 . . 32 B0 33 34 . . 64 J0 A titkosító folyamat (ill. függvény) bemenete FileNév: A DES.doc - 45/79 - Utolsó módosítás:2002.0819 de 7:54 IP inverzét (IP-1-et)
kell végrehajtani a „végleges” titkosított kimenet el.állítása eltt a 16 lépéses, összetett titkosító függvény 64 bites u.n kimenet-eltti (pre-output) blokkjából az el.bbi transzformáció inverzével, amely a következ: 1 2 3. .63 64 64 bites pre-output blokk, mint bemenet IP-1 49 39 38 37 36 35 34 33 1 2 3 . 8 48 16 7 47 15 6 46 14 5 45 13 4 44 12 3 43 11 2 42 10 1 41 9 56 55 54 53 52 51 50 49 24 23 22 21 20 19 18 17 64 63 62 61 60 59 58 57 32 31 30 29 28 27 26 25 . 63 64 A titkosított szövegblokk (ciphertext) A titkosító folyamat (ill. függvény) kimenete FileNév: A DES.doc - 46/79 - Utolsó módosítás:2002.0819 de 7:54 A titkosítási folyamat formalizálása A teljes nyíltszöveget bináris karaktersorozattá alakítjuk, az utóbbit pedig 64 bites blokkokra bontjuk és az alábbiakban egy-egy ilyen blokkot szónak nevezünk, jóllehet ennek az elnevezésnek valójában semmi köze ahhoz, hogy a nyíltszöveg lingvisztikai értelemben
milyen szavakból áll. Megegyezés kérdése, hogy ha a bináris nyílt szöveg teljes hossza 64-nek nem egésszámú többszöröse, akkor az utolsó blokk egyébként üresen maradó részét hogyan töltjük ki. A 64-bites „szavak” tehát szóköz nélküli bináris sorozatok. A titkosítási folyamat szimbolikusan is összefoglalható a következ.képp: Adott a baloldali (B) és a jobboldali (J) félszó és jelölje BJ ezek konkatenációját, vagyis a teljes, 64 bites szót. A kezdeti permutációt (IP-t) a teljes 64 bites bemeneti szóra alkalmazzuk és ez állítja el. a továbbiakban külön-külön kezelt bal- és jobboldali félszavakat a 16 lépéses kódolási folyamat számára: B0J0 3 IP(<64-bites bemeneti szó>) Jelölje KS a Kulcs- ütemez. Számításokat Ezek az adott titkosításhoz megadott K kulcsból rendre kiszámítják az éppen aktuális n-edik ütemhez tartozó Kn szubkulcsot: Kn 3 KS(n,K) Ezek után az összetett (produkt-) transzformáció 16
iterációját szimbolikusan a következ.képp írhatjuk le: Bn 3Jn-1 Jn 3Bn-1 (Jn-1 , Kn ) Ahol a titkosító függvény, amit bitr.l-bitre átvitel nélkül ( azaz mod 2) hozzá kell adni Bn-1 -hez. Amint bemutattuk, az eljárás alatt n 1-tl 16-ig végigfut valamennyi iteráción. Az utolsó iteráció el.állítja a 64 bites J16B16 un pre-output blokkot, amelybl aztán a kezdeti permutáció inverze már egyetlen lépésben megcsinálja a titkosított 64-bites blokkot: -1 <64-bites titkosított blokk (ciphertext)> 3 IP (J16B16) A megfejt.-algoritmus ennek a folyamatnak a tükörképe, de a következ pontban megmutatjuk, hogy pontosan mit is értünk ezalatt. Elbb azonban egy táblázatban összefoglaljuk a DEA kódoló (=titkosító) és megfejt. eljárásának egyenleteit25 25 Jóllehet a megfejtés algoritmusáról (szövegesen) csak ezután szólunk, az összefoglaló táblázatokat érdemes egymás alatt feltüntetni, mert így jobban kit(nik a DES titkosítási és
megfejtési algoritmusainak szimmetriája. FileNév: A DES.doc - 47/79 - Utolsó módosítás:2002.0819 de 7:54 A titkosítás (Enciphering) egyenletei Az egyenlet jele B0J0 3 IP(<64-bites, nyílt bemeneti szó>) 6-25 Bn 3Jn-1 6-26 Jn 3Bn-1 (Jn-1 , Kn ) 6-27 -1 <64-bites titkosított blokk (ciphertext)> 3 IP (J16B16) 6-28 A megfejtés (Deciphering) egyenletei Az egyenlet jele J16B16 3 IP[<64-bites titkosított blokk (ciphertext)> ] 6-29 Jn 3Bn-1 6-30 Bn-1 3Jn (Bn , Kn ) 6-31 -1 <64-bites nyíltszövegC blokk> 3 IP (B1J1) 6-32 A megfejtési (Deciphering) folyamat A 64-bites titkosított szövegblokk megfejtése tulajdonképpen ugyanazt az algoritmust tartalmazza, mint a titkosítási folyamat úgy, ahogyan azt az amerikai DES szabvány el.írja: .a megfejtéshez csak az szükséges, hogy ugyanazt az algoritmust alkalmazzuk a titkosított szövegblokkra, mint a 64bites nyíltszöveg-blokk titkosításához. Mindössze arról kell
gondoskodni, hogy a megfejtés számításának minden egyes iterációjához a K kulcsbiteknek ugyanazon blokkját használjuk, mint amelyeket a titkosításnál használtunk. -1 Pontosan err.l van szó, mivel IP és IP definiciójuk szerint egymásnak inverzei Az el.bbiekben bevezetett jelöléseket alkalmazva megfejtéskor a kezdeti permutáció eredménye a következ.: J16B16 3 IP[<64-bites titkosított blokk (ciphertext)> ] Az összetett transzformáció tizenhat iterációját a következ. egyenletek fejezik ki: Jn 3Bn-1 Bn-1 3Jn (Bn , Kn ) Ahol Bn–et és Jn–et rendre kiszámítja az algoritmus miközben n 16-tól 1-ig végigfut valamennyi iteráción (azaz pontosan fordított sorrendben, mint a titkosításnál).26 26 Természetesen a szubkulcsok számítási sorrendje is fordított. FileNév: A DES.doc - 48/79 - Utolsó módosítás:2002.0819 de 7:54 A megfejtés utolsó lépése a kezdeti permutáció inverzének alkalmazása a fordított sorrendC
iteráció-sorozattal kapott két félszavas blokkra: -1 <64-bites nyíltszövegC blokk> 3 IP (B1J1) A lavinahatás A DEA hatékonyságának a kulcsa az un. lavinahatás Bármilyen titkosító algoritmustól elvárható, hogy a nyílt szöveg egy nagyon kis változásának nagy hatása legyen a titkosított szövegre.27 Egy bit megváltozása a nyílt szövegben vagy a kulcsban nagyon sok bitet kell, hogy megváltoztasson a titkosított szövegben. A DES igen er.s lavinahatást mutat Az elzekben láttuk, hogy a kiterjesztési permutáció (E=Expansion Permutation) az i-edik iterációban a jobb félszót (Ji –t) 32 bitr.l 48 bitre terjeszti ki Ez a mCvelet az eredeti félszó bitjeinek a felét megismétli és ráadásul jól összekeveri mind az eredeti, mind a megismételt biteket. Ennek a mCveletnek kett.s célja van: az eredményének ugyanolyan hosszúnak kell lennie, mint az i-edik iteráció Ki kulcsának, mert csak így lehet a kett. között a bitenkénti kizáró
VAGY (=mod 2 összeadás) mCveletet végrehajtani28. A második cél az, hogy a mod 2 összeadás után kapott 48 bites, kiterjesztett félszót aztán a helyettesítési mCvelet során ismét 32 bitesre lehessen összenyomni. E két cél közül egyik sem az egész eljárás kriptográfiai célja, hanem arról van szó, hogy a kimeneti biteknek a bemeneti bitekt.l való függsége gyorsabban terjed az által, hogy az eljárás megengedi, hogy egy bemeneti bit két helyettesítést befolyásoljon. Ez az, amit lavina kritériumnak nevezünk A DES tervezése f.ként akörül forgott, hogy minél gyorsabban elérjék, hogy a titkosított (kimeneti) blokknak lehet.leg minden bitje függjön mind a bemeneti nyíltszövegC blokk minden bitjét.l, mind a kulcs minden bitjétl Az egyik fejleszt., Meier szerint már öt rund után elérhet a kimenet statisztikai függ.sége Konheim szerint 8 rund szükséges ahhoz, hogy elérjük a kimenet teljes adatfügg.ségét a bemeneti blokk bitjeitl A
következ. táblázat második oszlopa azt mutatja meg, hogy ha a bemeneti 64 bites blokkban egyetlen bitet megváltoztatunk, akkor hány bit változik meg a kimeneti (ugyancsak 64 bites) blokkban n rund után. A táblázat harmadik oszlopa ugyanezt a hatást mutatja egyetlen kulcsbit megváltoztatása esetén a rundok számának (n) függvényében. 27 Ez matematikai értelemben kaotikussá teszi az adott titkosítási folyamatot. Gyakorlatilag azt (is) jelenti, hogy ha két titkosított szövegblokk (ciphertext) csak nagyon kis mértékben –pl. csak 1 bitben- különbözik egymástól, akkor ebb/l egyáltalán nem következik az, hogy azok a nyílt szövegek is nagyon hasonlítanak egymásra, amelyeknek az el/bbiek a titkosított változatai. Ez igencsak megnehezíti a megfejtést 28 Persze az indokolás inkább fordítva igaz: Azért használunk kiterjesztett, 48 bites fél-kulcsot, hogy a az „illeszkedjen” a kiterjesztett félszóhoz és az egész expanziós-kompressziós
transzformációra éppen a kívánt lavinahatás eléréséhez van szükségünk, mint a következ/kben ki is fejtjük. FileNév: A DES.doc - 49/79 - Utolsó módosítás:2002.0819 de 7:54 Lavinahatás a DES-nél A kiváltó ok: 1 bit megváltozása az input blokkban A rundok száma:n 1 bit megváltozása a kulcs blokkban Okozat: A kimeneti blokkban megváltozó bitek száma A kiváltó ok: A rundok száma:n 1 bit megváltozása az input blokkban 1 bit megváltozása a kulcs blokkban Okozat: A kimeneti blokkban megváltozó bitek száma 0 1 0 9 42 40 1 6 2 10 44 38 2 21 14 11 32 31 3 35 28 12 30 33 4 39 32 13 30 28 5 34 30 14 26 26 6 32 32 15 29 34 7 31 35 16 34 35 8 29 34 Érdekes, hogy a kimeneti blokkban megváltozó bitek száma (t.i egyetlen bitváltás hatására a bemeneti blokkban ill. a kulcsban) nem monoton növekszik a rundok számával. Gyenge kulcsok Emlékeztetünk arra, hogy a szubkulcsok
számításakor domináns mCvelet a megadott eseti kulcs (Session key) körbeléptetése. EgyszerC következtetéssel is rájöhetünk, hogy ha a léptetés nem hoz létre az el.z lépés szubkulcsától lényegesen különböz. kulcsot, akkor az ilyen titkosítás erssége29 nem lesz megfelel. Ilyen értelemben beszélhetünk gyenge kulcsokról Triviális eset pl. a csupa 1-es vagy a csupa 0-ás bitekbl álló kulcs30, de más ilyenek is vannak. Ráadásul vannak olyan kulcspárok, amelyek azonos titkosított blokkokat hoznak létre különböz. nyíltszövegC blokkokból Ez a szubkulcsok generálási módjának a következménye. Ha az „eredeti” kulcs megfelel bizonyos kritériumoknak, akkor a DES szubkulcs generálási módszere a 16 különböz. szubkulcs helyett csak 2 különböz. szubkulcsot állít el és mindegyiket nyocszor használja az algoritmusban Ehhez hasonlóan van olyan eset is, amikor csak négy különböz. szubkulcs generálódik. 29 Lásd a 11. oldalon az
er/s és a gyenge titkosításról mondottakat 30 Tekintettel arra, hogy egy-egy iterációs ciklusban a DEA csak az „eredeti” 64 bites kulcs feléb/l számítja a szubkulcsokat, gyenge kulcsok az olyanok is, amelyeknek a fele áll azonos bitekb/l s a másik fele másmilyen, de egymás között ismét azonos bitekb/l. FileNév: A DES.doc - 50/79 - Utolsó módosítás:2002.0819 de 7:54 Az ilyen eseteket félig-meddig gyenge (semi-weak) kulcsoknak nevezzük. A következ. két táblázatban összefoglaltuk a kerülend gyenge kulcsokat és a féligmeddig gyenge kulcspárokat, amelyek a kulcsok kiválasztásakor természetesen kerülend.k A paritásbiteket is tartalmazó gyenge kulcsok hexadecimális alakjai31: 0101 0101 0101 0101 1F1F 1F1F 0E0E 0E0E E0E0 E0E0 F1F1 F1F1 FEFE FEFE FEFE FEFE A DES félig-meddig gyenge (semi-weak) kulcspárjai hexadecimális alakban (a paritásbitjeikkel együtt): 01FE 01FE 01FE 01FE és FE01 FE01 FE01 FE01 1F1F 1FE0
0EF1 0EF’ és E01F E01F F10E F10E 010E 010E 01F1 01F’ és E001 E001 F101 F101 1FFE 1FFE 0EFE 0EFE és FE1F FE1F FE0E FE0E 011F 011F 010E 010E és 1F01 1F01 0E01 0E01 E0FE E0FE F1FE F1FE és FEE0 FEE0 FEF1 FEF1 A lehetséges gyenge kulcsok száma összesen 64, míg az összes lehetséges kulcsok száma 72 057 594 037 927 936. Egy gyenge kulcs véletlen kiválasztásának a valószínCsége kisebb, mint egy hónapban kétszer telitalálatot elérni a lottón. 31 Természetesen 64 bites kulcsokról van szó. FileNév: A DES.doc - 51/79 - Utolsó módosítás:2002.0819 de 7:54 A DES üzemmódjai Az Egyesült Államok kormányának Szövetségi Információfeldolgozási Szabványai (FIPS: Federal Information Processing Standards) közül a 74-81-es közlemény a DES négyféle üzemmódját határozza meg, amelyek gyakorlatilag az összes olyan alkalmazást felölelik, amelyekben a DES-t alkalmazni lehet. Ezeket a következ
táblázatban foglaljuk össze, majd részletesen is megmagyarázzuk mindegyiket. Az üzemmódok megnevezésekor az angol megnevezéseket is megadjuk, hogy érthet.ek legyenek az üzemmódok egyébként elterjedten használt rövidítései A táblázat „leírás” oszlopában nem tüntetjük fel azt a tényt, hogy mindegyik DES algoritmus 64 bites blokkokra osztja a nyílt szöveget, s az üzemmódok lényegében e blokkok kezelési módjában különböznek egymástól Üzemmód Leírás Tipikus alkalmazás Electronic CodeBook (ECB) Elektronikus kódkönyv A nyíltszöveg minden egyes 64- Egyedi értékek (pl. egy titkosító bites blokkját a többi blokktól kulcs) biztonságos továbbítására függetlenül titkosítják ugyanaz- használható leginkább. zal a kulccsal. Cipher Block Chaining (CBC) A titkosított blokkok láncolása A titkosító az i-edik 64 bites Általános célú, blokk-szervezés( nyíltszöveg-blokkhoz el/bb bi- kommunikációra való. tenkénti
mod2 összeadással hozzáadja az el/z/ tehát az (i-1)-edik blokk titkosított szövegét s csak aztán végzi el rajta a DEA szerinti komplex titkosítást. Cipher FeedBack (CFB) Nem kell a titkosítandó nyíltszö- Az illetékesség ellen/rzésére A titkosított blokkok visszacsato- vegnek egésszámú 64 bites (authentication) használható lása blokkokból állnia, hanem jóval kisebb egységekre (pl. 8 bites byte-okra) is bontható és ezeket külön-külön titkosítjuk a DES-sel de úgy, hogy mindegyik byte titkosított formája az összes korábbi byte-tól is függ. Lényegében karakterenként titkosítjuk a nyílt szöveget. Output FeedBack (OFB) A kimenet visszacsatolása A CFB-hez hasonló módszer azzal a különbséggel, hogy míg a CFB-nél a megel/z/ blokkot kombináljuk a j<64 bites (pl 1 byte-os) szövegegységgel, addig az OFB-nél a teljes 64-bites ciphertextet csatoljuk vissza. Folyamatos szervezés( kommunikációra használható zajos csatornán
keresztül. Ilyen pl a szatellites kommunikáció FileNév: A DES.doc - 52/79 - Utolsó módosítás:2002.0819 de 7:54 Az ECB üzemmód. Ha eltekintünk attól, hogy a DES önmagában is éppen eléggé bonyolult a sok egymásba épül. transzformáció miatt, akkor az ECB üzemmódot viszonylag egyszerCnek tekinthetjük. A nyílt szöveget 64 bites blokkokra bontja és mindegyik blokkot külön-külön titkosítja a DEA eljárással. Ráadásul mindegyik blokkhoz ugyanazt a kulcsot használja. A „kódkönyv” elnevezés azért illik erre az eljárásra, mert mindegyik 64-bites szövegblokkhoz elvileg egy kódkönyvb.l is kinézhet lenne a hozzátartozó titkosított szövegblokk. (Persze minden kulcshoz más-más kódkönyvnek kellene tartoznia és minden kódkönyvben 264 tétel szerepelne) A gyakorlatban el.forduló szövegek binárisan kódolt alakjai ritkán egésszámú többszörösei 64-nek és a szöveg végén csonka blokk is el.fordulhat, amit valamilyen módon
egész blokká kell kitölteni. Az ECB folyamatosan kiértékelhet jelfolyamot alkot. Tekintettel arra, hogy egy üzenetsor végig ugyanazt a kulcsot használja, az azonos nyíltszövegC 64-bites blokkokhoz azonos rejtjeles blokkok tartoznak. Ez ennek a módszernek a fogyatékossága is, mert segítséget nyujthat az illetéktelen megfejtéshez a kriptoanalízis modern módszereivel. Emiatt a fogyatékosság miatt Randall K. Nichols [1] nem ajánlja ennek a módszernek az alkalmazását32 A titkosítás (Encryption) 1. ütem P1 K DES titkosító K C1 2. ütem n. ütem P2 Pn DES titkosító . K DES titkosító C2 Cn C2 Cn A megfejtés (Decryption) C1 K DES megfejt. P1 32 K DES megfejt. P2 . K DES megfejt. Pn Ha történetesen egy-egy byte-ot használunk a karakterkódoláshoz, akkor a binárisan kódolt nyíltszöveg végül is egy-egy 8-karakteres szövegrésznek felel meg. Az itt említett ismétl/dés tehát azt jelenti, hogy egy-egy ilyen
nyolckarakteres szövegrész ismétl/dik-e az egy alkalommal küldött hosszabb üzenetben. Ha igen, akkor az nyomravezetheti az illetéktelen megfejt/t. Ha többször ismétl/dik, akkor még inkább nyomravezet/ lehet, de hát az azonos nyolckarakteres tömbök ismétl/dése végül is nagyon kis valószín(ség( ugyanabban a hosszabb üzenetben. Randall K Nichols ajánlása még ezt a kis valószín(séget is igyekszik kiküszöbölni (A lektor) FileNév: A DES.doc - 53/79 - Utolsó módosítás:2002.0819 de 7:54 A CBC üzemmód. A titkosított blokkok láncolása, azaz a CBC üzemmód, az ECB üzemmód továbbfejlesztett változata, amely biztosítja azt, hogy az azonos 64-bites nyíltszövegblokkokhoz ne tartozzék azonos rejtjelzett szövegblokk akkor sem, ha mindvégig azonos kulcsot használunk. Az i-edik 64-bites nyíltszöveg-blokkhoz elször bitrl bitre mod2 hozzáadjuk az el.z, (i-1)edik titkosítás 64-bites rejtjelzett blokkját s csak azután vetjük alá a DES
titkosító folyamatának. A legels. 64-bites nyíltszöveg-blokkot persze nem elzi meg egy elz titkosítás, ezért ekkor egy kezdeti, el.re meghatározott un initial vektort (=IV) kell hozzáadni a nyíltszöveg els. blokkjához, amit mind a szöveg küldjének, mind a vételi oldalon a címzettnek ismernie kell. Elfordulhat, hogy a CBC üzemmódnak éppen ez az IV vektor a gyenge pontja. A 64-bites nyíltszöveg blokkokat igen hatékonyan lehet az elmondott módon láncolni és a módszer biztosítja, hogy ha ismétl.dik is egy 64 bites blokk, akkor sem tartozik az azonos nyíltszöveg-blokkokhoz azonos rejtjeles blokk. A vételi oldalon a megfejtés (Decryption) egyszerCen a rejtjelzési eljárás fordítottja. A CBC üzemmódot végül is illetékesség-ellen.rzésre lehet használni A formális matematikai leírása a következ.: Cn = EK [Cn-1 Pn] DK[Cn] = DK[EK(Cn-1 DK[Cn] = Cn-1 Cn-1 (6-40) Pn)] Pn DK[Cn] = Cn-1 (6-41) (6-42) Pn = Pn (6-43) Ezek közül (6-40) azt
mondja el, hogy az el.z (tehát az n-1-edik) blokk titkosításának eredményét (Cn-1-et) kell mod2 hozzáadni az éppen titkosítandó (tehát az n-edik) 64-bites nyíltszöveg blokkhoz (Pn-hez) majd ezt kell a K kulccsal és a DES eljárással titkosítani (EK) ahhoz, hogy megkapjuk az n-edik rejtjelzett blokkot (Cn-et). (6-41) szerint az így kapott cyphertext megfejtését a DK dekódoló függvénnnyel kaphatjuk meg, amit az n-edik rejtjelzett blokkra (Cn-re) alkalmazva (6-42) szerint az el.z rejtjelzett blokk (Cn-1) és az éppen aktuális nyíltszöveg-blokk (Pn) mod2 összege határoz meg. (6-43)-ban az a „csel”, hogy a mod2 összeadás (azaz a logikai kizáró VAGY mCvelet sajátsága, hogy Cn-1 Cn-1 = Cn-1 Ezért (6-43)-ban DK[Cn] helyére behelyettesítve (6-42) jobboldalát végül is megkapjuk, hogy hogyan nyerhetjük vissza a megfejtésnél az n-edik nyíltszövegblokkot (Pn –et). A következ. oldal blokkvázlatán mind a titkosítási, mind a megfejtési
folyamat talán a fentieknél világosabban nyomonkövethet.: FileNév: A DES.doc - 54/79 - A titkosítás (Encryption): 1. ütem IV K Utolsó módosítás:2002.0819 de 7:54 2. ütem n. ütem P1 P2 Pn + + DES titkosító K C1 + Cn-1 DES titkosító K C2 DES titkosító Cn A megfejtés (Decryption): K IV 1. ütem 2. ütem n. ütem C1 C2 Cn DES megfejt. K DES megfejt. + + P1 P2 K Cn-1 DES megfejt. + Pn A CFB üzemmód A DES alapvet.en blokk titkosító eljárás, amely 64-bites blokkokat használ Van azonban mód arra is, hogy olyan karakterfolyam-titkosítóként alkalmazzuk, amely a nyíltszöveg minden egyes karakteréhez rendelt (64-bitnél nyilván rövidebb) bitcsomagot külön-külön titkosítson. Ezt teszi a CFB üzemmód és ezt teszi a következ pontban tárgyalandó OFB üzemmód is Elvileg is és gyakorlatilag is bármilyen rögzített hosszúságú j < 64 bites kódszavakra alkalmazhatjuk ezeket az üzemmódokat. Az
alábbiakban a könnyebb érthet.ség kedvéért ugyan byte-okról beszélünk (tehát ekkor j = 8) de emlékezzünk rá, hogy bármilyen bitcsoport-hosszra alkalmazhatók ezek az üzemmódok, s nem követelmény az sem, hogy a bitcsoport hossza (azaz j ) a DES-re jellemz. 64-bites blokkhosszúságnak osztója legyen A karakterfolyam-titkosítás eliminálja azt a problémát is, ami akkor adódik, ha a bináris nyíltszöveg nem osztható maradék nélkül 64-gyel, azaz a blokkokra való felosztás után a szöveg végén egy csonka blokk keletkezne. FileNév: A DES.doc - 55/79 - Utolsó módosítás:2002.0819 de 7:54 A karakterfolyam-titkosítás real time is mCködhet, azaz ha egy karakterfolyamot továbbítunk, akkor minden egyes karaktert külön-külön lehet titkosítani és rögtön a titkosítás után továbbítani. Ez a karakterenkénti továbbítás megköveteli, hogy a rejtjelfolyam ugyanannyi karakterb.l álljon, mint a nyílt szöveg (Ne feledjük, hogy itt a
„karakterfolyam” kifejezés byte-folyamot, vagy általában tetsz.legesen megállapodott j hosszúságú bitcsoportfolyamot is jelenthet) Ha ettl menet közben eltérünk, akkor ezzel csak az átviteli kapacitást vesztegetjük Az alább majd egy blokksémán bemutatjuk a teljes CFB üzemmódot. j-vel jelöljük a továbbítani kívánt bitcsoport hosszát, ami leggyakrabban egy byte, vagyis j=8. A CFB üzemmódban a nyíltszöveg (itt és most j hosszúságú) blokkjai ugyanúgy láncot alkotnak, mint ahogyan az el.bb bemutatott CBC üzemmódnál a 64-bites blokkokat öszszeláncoltuk. Itt és most is igaz, hogy bármilyen nyíltszöveg-egységhez tartozó rejtjelszöveg-egység az azt megel.z összes nyíltszövegtl is függ A folyamat els. lépéséhez itt is szükség van egy megegyezés szerinti kezdeti vektorra, amit mind a titkosító, mind a megfejt ismer (= IV) Foglalkozzunk el.ször a titkosítással Az IV kezdeti vektort betöltjük egy léptet.regiszterbe Az így kapott
64 bites blokkot alávetjük a DEA szerinti titkosításnak. Az eredményül kapott, ugyancsak 64 bites blokkból kiválasztjuk a baloldali j-bites bitcsoportot (a 64 bitb.l a többi 64-j bitet eldobjuk), majd ezt a bitcsoportot mod2 összeadjuk az els. j-bites nyíltszövegbitcsoporttal (P1-gyel) Ezzel megkapjuk az els j-bites rejtjelzett csoportot (C1-et), ami egyúttal a lánc következ. lépésénél a bemeneti léptetregiszterbe kerül Ezt az eljárást kell aztán mindaddig folytatni, amíg valamennyi nyíltszövegC, j-bites bitcsoporthoz megkapjuk a titkosított, egyenként ugyancsak j hosszuságú, titkosított blokkokat. Az els. lépést részletezi a következ oldalon lév blokkvázlat Figyeljük meg, hogy a bemeneti léptet.regiszterbl lépésrl-lépésre „kiszorul” a kezdet eltt betöltött IV vektor és pl j=8 esetén 64/8=8 lépés után már csak az elz lépések titkosított (C1, C2, C8) blokkjai határozzák meg azt a bitcsoportot, amihez mod2 hozzá kell adni az
éppen soronkövetkez. nyíltszöveges bitcsoportot FileNév: A DES.doc - 56/79 - Utolsó módosítás:2002.0819 de 7:54 Az IV kezdeti vektor C1 64 bit A 64-bites blokk teljes, DES szerinti titkosítása K j bit 64 bit j bit kiválasztása j bit P1 64 bit + C1 j bit Ez az eljárás mindaddig folytatódik, amíg valamennyi nyíltszöveg-egységet titkosítja. Figyeljük meg a következ. oldalon lév blokkvázlaton a megfejtés sémáját és vegyük észre, hogy ha a titkosított szöveg továbbításakor egy bit-hiba fordul el. C1-ben (azaz az els. titkosított, j-bites szövegblokkban), akkor az az összes további blokkot befolyásolja. Ha nem az els, hanem az i-edik blokkban frdul el bithiba az átvitel során, akkor az onnan kezdve a szöveg végéig mindent elront. Következésképp a CFB üzemmód igen érzékeny a titkosított szöveg továbbítása során esetleg bekövetkez. bit-hibákra, mert a hiba tovaterjed (propagálódik) FileNév: A DES.doc -
57/79 - Utolsó módosítás:2002.0819 de 7:54 A láncolt titkosítás a CFB módszer szerint: CM-1 64 bites kezdeti vektor IV DES titkosító K DES titkosító K + + P1 C1 DES titkosító K + P2 C2 PM CM A láncolt megfejtés a CFB módszer szerint: CM-1 64 bites kezdeti vektor IV K DES dekódoló DES dekódoló K + + P1 C1 P2 j bit j bit j bit DES dekódoló K + C2 j bit PM j bit Titkosításkor a fels. ábrán balról jobbra haladva rendre elállítjuk a C1, C2, CM rejtjeles bitcsoportokat (amelyek mindegyike j hosszúságú), a rejtjelzett szöveg megfejtésekor pedig az alsó ábrán szintén balról jobbra haladva és minden lépésnél bemenetnek tekintve a C1, C2, . CM rejtjeles blokkokat, rendre megkapjuk a P1, P2, PM nyílt szövegC bitcsoportokat, amelyek mindegyike jbit hosszúságú Az ábrából eléggé nyilvánvalóan kitCnik, hogy miért kell mind a rejtjelz.nek, mind a megfejt.nek ismernie a kezdeti IV vektort Ti annak
ismerete nélkül sem a rejtjelzéskor nem állítható el már az els bitcsoport sem, s megfejtéskor már az els nyiltszövegC bitcsoportot sem kaphatjuk meg, következésképp (mind a rejtjelzéskor, mind a megfejtéskor) a többit sem. Természetesen mindkét esetben szükség van mind a K kulcsnak, mind magának a DES eljárásnak az ismeretére is. A DES kódoló és dekódoló blokkok be- és kimenetei természetesen 64 bitesek. CM j bit FileNév: A DES.doc - 58/79 - Utolsó módosítás:2002.0819 de 7:54 Az OFB (Output FeedBack) üzemmód. Míg az el.bbi, CFB üzemmódnál a DES kódoló ill dekódoló egység bemenetére a j bites titkosított bitcsoportot (Ci = cyphertext) csatoltuk vissza33, addig az OFB üzemmódban a DES kódoló ill. dekódoló egység teljes, 64 bites kimenetét visszacsatoljuk a bemeneti léptet.regiszterre Egyébként struktúráikban a CFB és az OFB üzemmódok igen hasonlóak egymáshoz Használhatóságukban, az átviteli hibákkal és a
támadásokkal szembeni érzékenységüket illet.en azonban nem s erre alább még visszatérünk. Az OFB üzemmód blokkvázlata a következ: A láncolt titkosítás a OFB módszer szerint: 64 bites kezdeti vektor Léptet.-regiszter Léptet.-regiszter IV DES titkosító K C1 + DES titkosító K C2 + P1 DES titkosító K CM + PM P2 A láncolt megfejtés az OFB módszer szerint: 64 bites kezdeti vektor Léptet.-regiszter Léptet.-regiszter IV DES titkosító K C1 + P1 33 DES titkosító K + DES titkosító K C2 P2 és 64-j bitet egyszerüen „eldobtunk”, jóllehet a DEA ezeket is kiszámította. + PM CM FileNév: A DES.doc - 59/79 - Utolsó módosítás:2002.0819 de 7:54 Az OFB üzemmód egyik el.nye az, hogy a titkosított szöveg átvitelekor esetleg bekövetkez bithiba nem befolyásolja a további j– hosszúságú szövegblokkokat (nem terjed tovább, nem propagálódik) mint a CFB üzemmódnál Ez az üzemmódok blokkvázlatainak
összehasonlításából kitCnik Az OFB üzemmódnak ugyanez a tulajdonsága ( tehát az, hogy a bithiba nem terjed tovább) alkalmat ad az üzenetfolyam módosításával összefügg. támadásra is A titkosított szövegben (pontosabban annak j-hosszúságú blokkjában) célzatosan elidézett bitváltoztatás ugyanis a megfejtéskor csak az ugyancsak j-hosszúságú nyiltszöveg-blokkot módosítja és viszont Így a nyítlszövegben ellenrzött változtatásokat végrehajtva végül is következtetni lehet a titkosításnál használt szövegblokk hoszszára (azaz j-re) és magára a használt kulcsra is. Az ilyen egybites változtatásokat azonban a legtöbb hibavédelmi kódolási eljárás észreveszi és/vagy kijavítja. Az évek során a DES a gyakorlatban nagyon jól bevált kriptorendszer lett, amelyet els.sorban a kereskedelmi szférában és a bankoknál, biztosítóknál használtak, vagyis a civil szférában Mégis, a „mindössze” 56 bites titkosító kulcsa miatt
kezdettl fogva gyanakodtak arra, hogy esetleg túl könnyen sebezhet34 Más szóval a nyers er módszerén alapuló támadásoknak a számítási kapacitás technikai feltételeinek gyors fejl.dése során már nem képes eléggé ellenállni Ez sokakat arra ösztönzött, hogy olyan, a DES-t használó többszörös kriptográfiai rendszert keressenek, amely növeli a DES kriptográfiai er.sségét Ilyeneket mutatunk be a következkben A Dupla DES (Double DES) A dupla DES két, egymást követ. DES titkosítást alkalmaz, s mindegyiket más-más kulccsal. Ha P-vel jelöljük a nyílt szöveget, K1-gyel és K2-vel a két, különböz kulcsot és C-vel a titkosított szöveget (C: ciphertext) valamint EKi –val a Ki kulccsal végrehajtott titkosítási transzformációt (E: encription), DKi –vel pedig az utóbbi inverzét (D: decription), akkor a mondottak képletben a következ.képp írhatók le: C = EK2[EK1(P)] A mondottakból ugyan nyilvánvaló, hogy egymásba épül.
transzformációkról, összetett függvényekrl van szó, de az elv megfogalmazása (ti többszörös, multiplikált transzformáció) megtéveszt. lehet és valaki az ismételten végrehajtott titkosítási transzformációk szorzatára gondolhat. Nos, nem errl van szó A megfejtés a fordított sorrendben végrehajtott transzformációkkal lehetséges: P = DK1[DK2(C)] A következ. ábrákon az els titkosítás eredményét X-szel jelöltük, ahol X = EK1(P) és nyilvánvaló, hogy ezzel a segéd-jelöléssel a megfejtéskor X = DK2(C) 34 Err/l a DES születése kapcsán ennek az anyagnak a bevezet/jében szóltunk már. FileNév: A DES.doc - 60/79 - Utolsó módosítás:2002.0819 de 7:54 A Dupla DES titkosítási folyamatának blokkvázlata K1 P EK1 K2 X EK2 C A Dupla DES megfejtési folyamatának blokkvázlata K2 C DK2 K1 X DK1 P Winfield Diffie 1977-ben fogalmazta meg a kriptorendszerek elleni támadások u.n illetéktelenül beépült ellenfél (IBE)35
támadási módszerét, amelynek sémája a következ.: Támadás a kriptorendszer ellen az illetéktelenül beépült ellenfél (IBE) módszerével Man-In-the Middle (MIM) Anna IBE Béla Ebben a modellben Anna és Béla abban a tudatban kommunikálnak, hogy csak egymással folytatnak információcserét, valójában azonban az illetéktelenül beépült ellenfél (IBE) továbbítja ill. tetszése szerint nem továbbítja, vagy módosítja A és B üzeneteit. Tulajdonképpen nélküle nem is tudnának kommunikálni, csak éppen Annának és Bélának sejtelme sincs err.l 35 Az eredeti angol terminológiában Man-In-the Middle: MIM attack FileNév: A DES.doc - 61/79 - Utolsó módosítás:2002.0819 de 7:54 A dupla DES ezzel a támadási módszerrel szemben sérülékeny, de ugyanígy van ezzel majdnem minden blokk-titkosítási módszer. Ez a sérülékenység tehát nem a DES specifikus tulajdonsága, nem az annál alkalmazott transzformációktól függ. Az IBE támadás
arra épül, hogy az illetéktelen beépül.nek birtokába kerül valamilyen ismert nyíltszöveg (P) és a hozzátrtozó titkosított szöveg (C). Ezek után a nyers er. módszerét alkalmazva, els menetben a P ismert nyíltszövegblokk titkosítására kipróbálja az összes elképzelhet 56 bites Ki kulcsot Ilyen Ki kulcsból összesen 256 létezhet, ha eleve ki nem hagyjuk a korábban már említett gyenge kulcsokat, amelyek alkalmazása nem valószínC. Persze ezzel „csak” a szimpla DES esetében kapjuk meg a titkos kulcsot, a dupla DES-nél még csak a közbens. X titkosított szövegblokra kapunk 256 különböz értéket, amelyeket valamilyen alkalmas stratégia szerint rendezünk és tárolunk úgy, hogy nyilvántartjuk azt is, hogy melyik Xi-hez melyik K1i kulcs tartozik. A következ. menetben az ismert C érték megfejtésére alkalmazzuk mind a 256 féle K2i kulcsot és a kapunk ezzel 256 féle X’ értéket, amelyeket megint csak táblázatba rendezünk, mint az
el.bbi 256 féle X-et Ezek után az X és az X’ táblázatok között keresük egyez. párt Ha megtaláltuk, akkor megismertük az adott dupla DES eljáráshoz alkalmazott K1,K2 kulcspárt is. Ezt a kulcspárt aztán kipróbáljuk egy másik ismert és összetartozó P,C páron. Ha mCködik, akkor a továbbiakban mindaddig alkalmazható, amíg valamelyik kulcsot meg nem változtatják. Az „els. menet” tehát 256 kulccsal való titkosítási számítást és 256 darab egyenként 64 bites eredmény tárolását igényli. A „második menet” ugyanilyen számítási igényC, csak ennél az E titkosítás helyett a D megfejtési algoritmust alkalmazzák, de –mint a DEA leírásánál láttuk- az utóbbi számítási igénye pontosan ugyanaz, mint az E titkosítási algoritmusé. A „harmadik menet” a két, egyenként 256 elemC táblázat bejegyzéseinek minden lehetséges párosítását, azaz 256x256=2112 egyezés-vizsgálatot jelent. Mindez egyenértékC azzal, mintha a
dupla DES 112 bites kulcsot használna és bármelyik nyíltszöveg-blokkhoz 264 lehetséges titkosított szövegblokk tartozhatna. Stallings [6], aki a dupla DES elleni támadásokat vizsgálta kijelenti, hogy 1-216 annak a valószínCsége, hogy a fentiekben vázolt nyers er. módszerével megkaphatjuk a korrekt kulcspárt. Szerinte az IBE egy 256 rendC erfeszítéssel36 sikeresen támadhatja a dupla DESt 36 Nincs értelme valamilyen abszolut árat adni a megfejtésre, hiszen az a mindenkori számítási és tárolási technológia valamilyen egységárától függ. Ezért a megfejtések költségét egy szorzószámmal fejezik ki, amelyik megmutatja, hogy az éppen aktuális technológiai szint mellett milyen szorzófaktorral kell megszorozni az adott technológiára valamiképp jellemz/ egységárat. Ez ugyan közvetlenül nem alkalmas a megfejtés tényleges költségének a kiszámítására de nagyon is alkalmas a különböz/ módszerek megfejthet/ségének
összehasonlítására Az idézett „256 rend( er/feszítés” kifejezésben a 256 ilyen szorzószám. FileNév: A DES.doc - 62/79 - Utolsó módosítás:2002.0819 de 7:54 A tripla DES (Triple DES) Az IBE támadás kivédésére kézenfekv. ötlet azt annyira megnehezíteni, hogy a megfejtés ne legyen kifizet.d Egyik ilyen lehetség a tripla DES a maga 3x56=168 bites egyenértékC kulcsával. Elvileg ugyanúgy többszörös titkosításról van szó, mint amilyent a dupla DES-nél bemutattunk, csak itt a 3 kulccsal háromszor kellene titkosítani a következ. séma szerint: A Tripla DES titkosítási folyamatának egy elvi megoldása K2 K1 P X EK1 EK2 K3 Y EK3 C Tuchman azonban kihasználta azt, hogy a DES E titkosítási és a D megfejtési algoritmusai –a szubkulcs-sorrendt.l eltekintve- azonosak, s ezért mind a háromszoros titkosításnál, mind a megfejtésnél mind az E algoritmust, mind a D algoritmust alkalmazza, ahogyan ezt a következ. blokkvázlat
bemutatja: A 3DES titkosítási folyamatának kétkulcsos megoldása K2 K1 P EK1 X DK2 K1 Y EK1 C A 3DES megfejtési folyamatának kétkulcsos megoldása K2 K1 C DK1 Y EK2 K1 X DK1 P FileNév: A DES.doc - 63/79 - Utolsó módosítás:2002.0819 de 7:54 A tripla DES két kulccsal: 3DES Tuchman ötletét alkalmazva két kulcs használatával is ugyanolyan kriptográfiai er.sségC titkosítást lehet elérni, mint a csak elvben alkalmazott háromkulcsos DES titkosítással A 3DES tehát nem azonos a tripla DESsel! de azzal egyenértékC kriptográfiai er.sségC titkosításra alkalmas A 3DES titkosítási szekvenciája EDE ( Encrypt-Decrypt-Encrypt): C = EK1{DK2[EK1(P)]} A megfejtési szekvencia pedig DED (Decrypt-Encrypt-Decrypt) P = DK1{EK2[DK1(C)]} A 3DES igen népszerC és a kiemelt fontosságú magánlevelezésben37 szabványként is elfogadták. A kriptográfiai erssége meglehetsen nagy és ellenállt olyan kutatói szintC teoretikus támadásoknak is,
amit Merkle [8] és Oorschot [5] fejlesztettek ki. Mindkét támadás nyiltszöveg-párokra épült. A DES-család. A DES egy titkos-kulcsos, szimmetrikus kriptorendszer, amely alkalmazásakor mind a küld.nek, mind a megcímzett fogadónak ismernie kell ugyanazt a titkos kulcsot, amit mind a rejtjelzéshez, mind a rejtjelzett üzenet „kibontásához”, azaz nyíltszöveggé való alakításához használnak. A DES-t egyetlen felhasználó is alkalmazhatja pl. arra, hogy a saját file-jait titkosítva tárolja a háttértárolóin. Sokfelhasználós környezetben nehézségeket okozhat a titkos kulcs biztonságos eljuttatása minden illetékes felhasználóhoz. Többek között ennek a megoldására találták ki a nyilvános kulcsú kriptográfiát. A DES38 64 bites szövegblokkokkal és 8 byte-os kulccsal (amelyb.l „csak” 56 bitet független, byte-onkét 1 bit pedig paritásbit) mCködik és jól használható nagymennyiségC adathalmazok titkosítására. Az NIST39 hivatalos
amerikai kormányzati titkosító rendszerként 1977-ben szabványosította, majd minden öt évben újra hitelesítette a DES-t. Ez utoljára 1993ban történt meg, de az NIST már akkor jelezte, hogy 1997 után már nem fogja a DES-t alapértelmezésben újra hitelesíteni. Az NIST ezután felhívást tett közzé az un. AES (Advanced Encryption Standard) benyújtására ill. véleményezésére, amelyre 1998-ban 12 különböz országból 15 különböz. javaslatot nyújtottak be 1999 augusztusában egy sor szCrés után még mindíg a következ. öt javaslat látszott esélyesnek: 37 Private Enhanced Mailing (PEM). A vonatkozó szabványok: ANS X917 és az ISO 8732 38 Itt és most a „szimpla DES”-nek nevezett szimmetrikus kriptorendszerr/l van szó (amit néha Single DES-nek is neveznek), amely jelz/s szerkezetet a Dupla DES-t/l, a Tripla DES-t/l és a 3DES-t/l való megkülönböztetésre szokták használni, mióta az utóbbiak léteznek. 39 National Institute of
Standards and Technology – az USA szabványügyi hivatala FileNév: A DES.doc - 64/79 - Utolsó módosítás:2002.0819 de 7:54 1. MARS – egy az IBM által javasolt rendszer 2. RC6TM - az RSA Laboratories (Ron Rivest, 1988) által javasolt rendszer 3. Rijndael – egy belga rendszer (Joan Daemen és Vincent Rijmen) 4. Serpent – Ross Anderson (UK), Eli Biham (Izrael) és Lars Knudsen (Norvégia) javaslata 5. Twofish – több minneapolisi szerz közös javaslata Mindegyik javasolt algoritmus képes 128, 192 és 256 bites kulcsok kezelésére. A NIST nemzetközi felhívást intézett a kriptográfiai szakért.khöz, hogy vizsgálják meg minden lehetséges szempontból a javaslatokat a kriptográfiai er.sségük, a titkosítás és a megfejtés számítástechnikai igényessége, a nagy számítógépektl egészen a smart-card célú alkalmazásokig 1999 végéig két konferenciát tartottak err.l, s a következt 2000 áprilisában tartják meg. A legújabb AES szabványt
2001 nyarán szeretnék közzétenni Lehet, hogy ez a jelenleg még versenyben lév. javaslatokból többet, vagy azok kombinációit is tartalmazni fogja A szabvány körüli vitákról és egyéb aktuális hírekr.l a NIST honlapján lehet tájékozódni: wwwnistgov/aes Annak ellenére, hogy sok éven át sok kutató igyekezett feltörni a DES-t, azt hivatalosan sohasem törték fel. A feltörés egyik nyilvánvaló módszere a nyers er alkalmazása a lehetséges kulcsok tartományában végrehajtott teljes kulcs-keresésre Ez átlagosan 255 lépésbl állna A Bell-Northern kutatóintézet egy munkatársa, Michael Wiener kezdetben azt javasolta, hogy építsenek direkt erre a célra egy speciális számítógépet, amely elfogadható id. alatt el tudja végezni az említett kulcs-keresést és így fel tudja törni a DES-t. Késbb Hellman mutatott be egy olyan megoldást, amely mind a megoldáshoz szükséges id., mind a memóriaigény szempontjából jó kompromisszum lett volna, ha
megépítik, ti ez is rengeteg memóriát igényelt volna egy ugyancsak gépid.igényes elszámítási procedura után is Mindezek a feltörésre vonatkozó közlemények segítettek kétségeket ébreszteni a DES kriptográfiai biztonságával kapcsolatban. Az NSA-t még azzal is megvádolták, hogy szándékosan legyengítette a DES-t, hogy a kormányzati intézményeknek könnyebb legyen feltörni a kívülállók titkosított adatait. Mindezen gyanakvás ellenére nem tudunk olyan DES feltörési módszerr.l, amely a nyers ern alapuló teljeskörC keresésnél gyorsabban vezetne eredményre. Michael Wiener 1991-ben kb. 1 millió dollárra becsülte a teljeskörC kulcs-keresésre specializált számítógép árát, amely gép átlagosan 3,5 óra alatt lett volna képes egy DES kulcsot megtalálni. Michael Wiener 1998-ban ujraértékelte a tanulmányát és közzé is tette azt az RSA Labs Cryptobytes c. folyóiratában Az 1998-as technológiai szinten olyan specializált
kulcs-keres. chipekbl lett volna felépíthet Michael Wiener gépe, amelyek mindegyike 50 millió kulcsot vizsgált volna meg másodpercenként és a gép 57 600 ilyen chipet tartalmazott volna. Még mindíg kb 1 millió dollárba került volna, de egy DES kulcs feltöréséhez már csak 35 percre lett volna szüksége. A DES elleni támadások közül az els., nem a nyers ern alapuló és annál jobb eredménnyel kecsegtet támadási módszer Eli Biham és Adi Shamir un differenciális kriptoanalízis módszerét használta. Ehhez 247 nyíltszöveg-blokkal kell kisérletet végrehajtani A gyakorlatban mégsem használható, mert annak, aki a kulcsot meg akarja találni, a saját maga által választott nyílt szövegC blokkokkal hozzá kellene férnie az FileNév: A DES.doc - 65/79 - Utolsó módosítás:2002.0819 de 7:54 ismeretlen kulcsot használó titkosító bemenetéhez, ami rendszerint nem megy. Ma már lineáris kriptoanalízis néven ismert egy másfajta módszer is,
amely nem igényel a támadó által megválasztható nyíltszövegC blokkokat. A DES feltörhet/sége. A modern kriptoanalítikai rendszerek mind a differenciális-, mind a lineáris kriptoanalízis módszerét alkalmazzák, azonban mindkét módszerhez elképeszt. mennyiségC, összetartozó nyítszöveg-rejtjelszöveg párra van szükség A nyíltszöveg-blokkokhoz tartozó rejtjelzett blokkokat a differenciális kriptoanalízisnél a támadó által megadott nyíltszöveg blokkokból magának a titkosító eszköznek kell kiszámítania. Ez persze rendszerint nem lehetséges. A lineáris kriptoanalízis akkor is mCködni képes, ha az ilyen pároknak csak bizonyos százalékát ismerjük, és nincs szükség a nyíltszöveg-blokkoknak a támadó általi megválasztására. Persze ez a módszer annál több számítást igényel, minél kevesebb összetartozó párt ismerünk. A lineáris kriptoanalízis akkor is használható, ha a nyílt szövegnek csak bizonyos statisztikai
sajátságait ismerjük. Pl azt, hogy a nyíltszöveg ASCII kódot használ és a legmagasabb helyértékC bit konstansul nulla, vagy azt, hogy a byte-ban van egy paritásbit s hogy melyik az. Randall K. Nichols [1] szerint a mai modern iterált blokk-titkosítási algoritmusok (mint pl. a DES vagy a FEAL) megfejtésére használható módszerek közül a differenciális kriptoanalízis a legáltalánosabban használható módszer annak ellenére, hogy ez egy választott nyíltszövegC támadási mód. A következ. táblázatot Menezes [5] szerkesztette annak a bemutatására, hogy a DES milyen kriptográfiai er.sségC a különböz támadásokkal szemben A (szimpla) DES kriptográfiai er@ssége különböz@ támadásokkal szemben A támadás módja A nyíltszöveg-blokk A tárolókapacitás A processzálás ismert választott Kimerít/ (teljeskör() el/zetes processzálás - 1 256 1 (keresés táblázatban) Kimerít/ (teljeskör() keresés 1 - Elhanyagolható 256 243
(85%) - Csak a szövegekhez 243 243 (10%) - Csak a szövegekhez 250 - 247 Csak a szövegekhez 247 256 - Csak a szövegekhez 256 Lineáris kriptoanalízis (LK) Differenciális kriptoanalízis (DK) komplexitása FileNév: A DES.doc - 66/79 - Utolsó módosítás:2002.0819 de 7:54 Ahhoz, hogy reális jelent.ségük szerint értékeljük egymáshoz képest a különböz támadási módszereket, megfelel. súllyal kell figyelembe venni a megfejtéshez szükséges elképeszt mennyiségC választott vagy ismert nyílt szöveg elérhetségét is, ami rendszerint sokkal nehezebben megvalósítható, mint amennyivel több számítást kell végezni a saját számítógépünkön, ha a szövegblokk-párok nem állnak a rendelkezésünkre. A teljeskörC keresés egyetlen ismert nyíltszöveg-rejtjelszöveg blokkpár esetén a maga 256 DES mCveletével szignifikánsan sokkal valószerCbb a gyakorlatban mint a lineáris kriptoanalízis (a maga „csak” 243 ismert
blokk-párjával), különösen ha nagymértékben párhuzamosított céldhardvert használunk. Jóllehet mind a teljeskörC keresés, mind a lineáris és a differenciális kriptoanalízis valószínCsíti a kulcs, és azáltal az egész titkosított szöveg megfejtését a DES titkosítás esetén ha kb. 232 rejtjeles szövegblokkot analizálunk, Menezes szerint mégis hatékonyabb lehet, ha nem a teljes megoldásra törekszünk, csak a szöveg részleges megfejtésére. Ha a DES-t megfelel.en használják, akkor moderált biztonságot nyújt majdnem minden illetéktelen kiváncsiskodó ellen, kivéve a legnagyobb tudással és kapacitással rendelkez.ket A háromkulcsos Triple DES viszont képes biztonságot nyujtani gyakorlatilag minden illetéktelen megfejtés ellen A DES-t igen elterjedten használják a legkülönböz.bb kriptográfiai rendszerekben és ténykérdés, hogy a nyilvános kulcsú kriptorenszerek terjeszt.i valamilyen titkosítási szinten implementálják a
rendszereikbe a DES-t vagy a 3DES-t Vajon elég biztonságos-e a DES ma? Nos, nem az. Két, együttesen is alkalmazható dolgot szoktak tanácsolni arra, hogy a kulcs-keresési támadások veszélyét csökkentsék és növeljék a DES biztonságát: 1. Kerüljük el az ismert, vagy kitalálható nyílt szövegeket (Pl a megszólítás szokásos formáit.) 2. Gyakran kell a kulcsokat cserélni Az els.t nehéz elérni Az International Computer Security Agency egy csomó nyiltkulcsú kriptorendszert megvizsgált és legalább három szoftverterjeszt termékénél azt találta, hogy rögzített byte-hosszúságú (ráadásul ismert) file fejléceket alkalmaztak. Jó tudni, hogy mindössze két redundáns bit elegend. ahhoz, hogy a teljeskörC kulcskeresési eljáráshoz szükséges lépések számát csökkenteni lehessen A kulcs keresési eljárások kivédésére rendszerint a DES kulcs gyakori cseréjét ajánlják. Az alapfeltevés az, hogy a rejtjelzett információ a kulcs-csere
után már elévül Ha átlagosan 35 percet vesz igénybe a DES kulcs feltörése, akkor miért ne cseréljük a kulcsot ötpercenként? Ebben a következtetésben az a téveszme, hogy egy kulcs feltöréséhez nincs szükség mindíg 35 percre, mert az csak az átlagos keresési id. A feltöréshez szükséges id. (a 35 perces átlag mellett is) 0 és 70 perc közé esik Az 5 perces „ablak” megfelel egy 5/70 = 1/14 valószínCségC sikeres kulcs-feltörésnek. Más szóval átlagosan minden tinennegyedik DES kulcs feltörési kisérlethez elegend 5 perc akkor is, ha a kulcs-feltörések számítási ideje átlagosan 35 perc. Ez pedig igen szegényes védelmet nyújt ahhoz képest, amit egy hosszabb kulcsú ers kriptorendszer nyújtani tud Winn Schwartau [7] ír arról, hogy az NSA már az 1980-as évek közepén épített egy er.sen párhuzamosított DES kulcs-feltör gépet Mind a szövegösszefüggéseket felhasználó támadás (contextual attack), mind a szöveg statisztikai
szerkezetét kihasználó támadás (statistical attack) csökkenteni képes a DES effektív kulcs méretét Az NSA-nak mind a nyílt szövegekb.l, mind a rejtjelzettekbl óriási adatbázisa van arra, FileNév: A DES.doc - 67/79 - Utolsó módosítás:2002.0819 de 7:54 hogy el.készítse a feltöréshez szükséges számításokat, majd optikai diszkekhez fordulva ténylegesen fel is törje a kulcsot. Az NSA un „Allo” csoportja igen szorgalmasan törögeti az 56 bites DES kulcsokat már egy jó ideje Diffie mutatott rá arra, hogy az 1999-ben forgalomban lév. szimmetrikus kriptorendszerek többsége vagy könnyen feltörhet 40 bites kulcsokat, vagy nehézségekkel ugyan de szintén feltörhet. 56 bites kulcsokat használt A mai kriptoanalízisben tehát van szerepe a kulcs-gereblyézésnek40. Sokkal, de sokkal szövevényesebb, de szintén általánosan használható módszer a Berlekamp-Massey algoritmus. Ténykérdés, hogy egy elegenden hosszú lineáris
léptet.regiszterrel bármilyen bitszekvencia ill ilyenek sorozata (un keystream) elállítható41 A Berlekamp-Massey algoritmus automatikusan szolgáltatja a megfejtéshez megfelel. léptetregisztert A modern kriptorendszerek egyik f tervezési kritériuma az, hogy a ”megfelel. léptetregiszter” legyen túl hosszú ahhoz, hogy a gyakorlatban alkalmazható legyen. Diffie úgy véli, hogy az NSA lehallgató készüléke meglehet.sen hatékony Az NSA és a Szoftver Kiadók Társasága42 már 1998-ban megegyezett, hogy a nagyobb szoftverekbe beépített kriptográfiai rendszerek szabadon exportálhatók, ha nem használnak 40 bitnél hosszabb kulcsokat.43 Mivel a modern számítógépes munkaállomások kb. Egy óra alatt el tudnak végezni 240 mCveletet, ezért a 40 bites kulcsok nem jelentenek komoly védelmet a kereskedelmi rendszerek szempontjából. Másrészrl viszont nem valószínC, hogy a célhardverrel megvalósított lehallgató rendszerek teljesít.képessége sokkal jobb
lenne Pedig ezek árai összemérhet.ek a nagyteljesítményC munkaállomások áraival Mivel nem órák, hanem a másodperc tört része alatt dönteni kell a gyanus üzenetek lehallgatásáról, jobb ha feltételezzük, hogy az NSA tudja, hogy hogyan kell a kérdéses üzenetet úgy feltörni, hogy a feltöréshez szükséges munka-tényez. (work factor) lényegesen kevesebb legyen 240-nél. Daniel J. Ryan a SAIC (Science Applications International Corporation) társelnöke érdekes táblázatot állított össze, amely a 40 és az 56 bites kriptográfiai kulcsok feltörhet.ségéhez szükséges idt mutatja meg különböz integrált technológiára épül. és különböz költségC célberendezéseken 1999-es technológiai és árszinten A táblázatban az FPGA rövidítés a Field Programmable Gate Arrays integrált áramköri technológiát, az ASIC rövidítés pedig az Application Specific Integrated Circuits technológiát jelenti. A táblázatban ugyancsak el.forduló
„veszteségid” azt jelenti, hogy azt az idt használjuk ki, amikor a gépünk processzorát éppen nem terheli semmilyen más, hasznos feladat. 40 Így nevezik azt, amikor az összes lehetséges kulcsot átnézzük, kipróbáljuk, hogy rátaláljunk arra az egyetlenre, amit keresünk. Az eredeti angol terminológiában: dragging key, ami ebben a szövegkörnyezetben hajtóvadászatot, átsz(rést, fenékhálóval való halászatot is jelenthet a keresett kulcs után. 41 A (szimpla) DES m(ködése kapcsán a kulcs-ütemezéssel kapcsolatban, a 29. oldalon lényegében ugyanilyen eljárást mutattunk be. 42 NSA=National Security Agency; A Szoftverkiadók Társasága: Software Publisher’s Association. 43 Ezt a korlátozást már a legelején megkerülték azzal, hogy az ilyen szoftverek szállítói Európában leányvállalatokat hoztak létre, amelyekre nem vonatkozott a korlátozás és amelyek aztán nyugodtan eladhattak Európában olyan biztonsági szoftvereket,
amelyek 40 bitnél hosszabb kulcsokat használnak. 2000 januárjában aztán feloldották ezt az export korlátozást, mert az NSA is kénytelen volt tudomásul venni, hogy a gyakorlatban úgysem m(ködik. FileNév: A DES.doc - 68/79 - Utolsó módosítás:2002.0819 de 7:54 A feltöréshez szükséges id@ A feltörés kezdeményez@je Hacker Kisvállalkozás Korporáció Nagy korporáció Kormányzat Költségnagyságrend Technológia Elhanyagolható Veszteségid/ 40 bites kulcs esetén 56 bites kulcs eetén 1 hét Keresztülvihetetlen FPGA 12 perc 556 nap 300 K$ FPGA vagy ASIC 24 másodperc 19 nap 10 M$ FPGA vagy ASIC 0,7 másodperc 13 óra FPGA 0,2 msec 12 másodperc 10 K$ 300 M$ Mindez persze az USA vállalkozásainak számítástechnikai beruházási kapacitására és az 1999-es technológiára ill. árszintekre vonatkozik Egyrészt várható, hogy a számítástechnikai technológia (különösen a számítások párhuzamosításával) lényeges
árnövekedés nélkül is jelent.sen fejldik, másrészt az is várható, hogy más országok kormányzatai sohasem engedhetnek meg maguknak akkora kormányzati beruházásokat kizárólag kódfeltörési célra, mint amekkorát az USA kormányszervei erre költhetnek. Ezek a szegényebb országok kénytelenek lesznek jogi korlátozásokat alkalmazni a titkosító kódok használatára, mint amilyenekre már van is példa Angliában, Franciaországban és Oroszországban. (Magyarországon 2000 elején még nincs erre vonatkozó jogi szabályozás, s ami készül.ben van az –eddig- semmi jót sem igér) Jóllehet nem a titkosított információ feltörésére, hanem éppen a titkosítás el.segítésére alkották meg az alábbi, 2000 januári rövid hírben közölteket: Gyorsitott titkositási eljárás a Compaq-tól (IDG-InteRNeTTo) A titkositási eljárás idötartamának csökkentése érdekében alkotta meg a Compaq az AXL200 nev< eszközt. A titkositó eljárás, ami minden
e-business alapvet követelménye, jelents számitási igényt támaszt a webszerverek proceszszora iránt, ami lassitja a tranzakció lebonyolódásának idtartamát. Az AXL200 Accelerator PCI kártya ezen a problémán kiván segiteni oly módon, hogy nem a CPU dolgozik a titkositással, hanem a kártya, ezzel tehermentesitve a központi egységet. A négy processzorral felszerelt egység akár hússzorosára is gyorsithatja a Secure Socket Layer (SSL) m<kodését, Az AXL200 -as Intel alapú szervereken NT Server 4.0 vagy Windows 2000 alatt m<ködik, de kompatibilis Sun Solaris 26 -os Sparc rendszerrel, és készül már a Linux verzió is. Ugyanezek a technológiák természetesen nemcsak titkosításra, hanem a titkosított üzenetek feltörésére is alkalmazhatók és a fenti hír csak egy minta arra, hogy a digitális technológia fejl.désével a kriptográfia eszközkészlete s mind a titkosítás, mind a feltörés gyakorlatilag kivitelezhet. módszerei is fejldnek
FileNév: A DES.doc - 69/79 - Utolsó módosítás:2002.0819 de 7:54 Az EFF DES feltör/gép (EFF DES-Cracker Machine) 1998 júliusában hirdette meg az EEF (Electronic Frontier Foundation)44 ) a DES feltör. projektjét Az EEF megszervezett és finanszírozott is egy olyan projektet, amelynek az volt a célja, hogy 250 000 dollárt meg nem haladó költségkeretbl megépítsen egy DES feltör.t Mint lenni szokott több, váratlan és merben különböz eredménye is lett ennek a projektnek. Egyrészt az EEF-hez és azon belül is John Gilmore nevéhez fCz.dik, hogy gyakorlatilag már a projekt meghírdetése eltt megépített egy olyan célgépet, amely a hasonló árkategóriájú feltörgépek korábbi 39 napos feltörési rekordját kevesebb, mint 3 napra csökkentette. (A korábbi 39 napos feltörési rekordot néhány tízezer számítógép összekapcsolásával érték el Gilmore célgépének a költségérl csak azt lehet tudni, hogy az jóval kevesebbe került a
pályázatban meghírdetett negyedmillió dollárnál.) Az EEF-nek egyik alapítója volt John Gilmore és éppen az DES feltör gépének adatai alapján hírdette meg az EEF a mondott pályázatot, miután 1998 nyarán a második nemzetközi DES feltör.-versenyen (DES Challenge II)45 könnyedén vitte el a 10 000 dolláros els díjat Gilmore DES feltör-gépe Alig 6 hónappal kés.bb, 1999 január 19-én els alkalommal történt, hogy a világhálót egyetlen egyesített intelligens rendszerként használták egyetlen meghatározott célra. Nevezetesen a világhálóra csatlakozott PC üzemeltetk önkéntes részvételét kérték egy DES feltörési versenyhez. Ez volt a III nyilvános DES-feltör verseny (DES Challenge III) és a feladatra a világhálón keresztül több, mint 100 000 gép kapcsolódott össze és ebben az integrált rendszerben részt vett John Gilmore célgépe is. Sikerült is a feltörési rekordot 22 óra 15 percre csökkenteni Az integrált számítási
teljesítmény 245. 109 kulcs per sec volt A sajtóközlemények azt írták, hogy ez a rekord-döntési eredmény verte be az utolsó szöget a DES koporsójába. Ez persze jól hangzott, csak éppen nem volt igaz A 22 óránál valamivel hosszabb id. a versenyen feltörésre adott kulcs megfejtéséhez kellett s ez hosszabb is, meg rövidebb is lehet, mint az alkalmazott módszer átlagos feltörési ideje. (valójában rövidebb volt, de erre még visszatérünk) Másrészt (ma még) nyilván nincs mindennapi értelemben vett gyakorlati haszna egy olyan rendszernek, amelyben 100000 PC-nek kell együttmCködnie. John Gilmore DES-feltör. célgépében mindössze 1500 mikroprocesszor méretC speciális chip mCködött párhuzamosan, hogy átgereblyézze a teljes kulcsmez.t A speciális Chipeknek a „Deep Crack” nevet adták. Matt Blaze, az AT&T Labs híres-nevezetes kriptográfusa fogalmazta meg azt a róla elnevezett problémát, hogy egy DES feltörési kisérlet során
el.ször is meg kell találni azt a kulcsot, amelyik egy csupa ismétl.d számjegybl álló nyíltszöveget csupa ismétld digitbl álló rejtjelszöveggé alakít át 44 Szabad fordításban: Kihívás az elektronika határai ellen alapítvány. 45 A dátumok és a rekordok sorrendben a következ/k: DES-Challenge I: 1997 január, Rocke Verser Loveland, Colorado, 96 nap. DES-Challenge II-1: 1997 február, Distributed Net, 41 nap DES-Challenge II-2: 1998. julius, EFF, 56 óra (Gilmore célgépével) DES-Challenge III: 1999.január 19 DistributedNet és az EFF, 20 óra 15 perc, (Gilmore célgépe és 100 000 PC a világhálón. FileNév: A DES.doc - 70/79 - Utolsó módosítás:2002.0819 de 7:54 Gilmore gépe a feltörési kisérlet során el.ször is a Matt Blaze problémát oldotta meg és azt találta, hogy az hexadecimális 8787878787878787 nyíltszöveget az ugyancsak hexadecimális 0000000000000000 számmá kódolja a következ. hexadecimális kulcs: 0E 32 92 32 EA 6D 0D
73 (ezek mindegyike 64 bites bináris számokká alakítható, ami éppen a DES blokkhosszúsága.) Az 1998-as DES-feltör. verseny során az 56 bites kulcsot 56 óra alatt találta meg úgy, hogy a teljes kulcsmez.nek a 24,8 %-át kellett ehhez átgereblyéznie46 Tette ezt úgy, hogy másodpercenként 88.109 kulcsot tesztelt Randall K. Nichols szerint ez meggyz bizonyíték arra, hogy a kriptográfiai rendszerek tervezi ettl (azaz 1998 közepétl) kezdve semmi olyan kriptorendszert ne tervezzenek, amely a szimpla DES-re támaszkodik Az eredmény azt is sugalmazza, hogy a fejleszt.knek az 56 bites kulcsot, mint opciót el kell távolítani a kriptográfiai szolgáltatások köréb.l Lényegesen nagyobb kriptográfiai er.sségC a háromkulcsos 3DES47Ugyanazt a blokkméretet, ugyanazt a hardvert használja, mint a szimpla DES, de három különböz., egyenkét 56 bites kulcsot alkalmaz, ami ekvivalens egy 168 bites kulcs használatával Az ezzel titkosított üzenet annyira
fehérzaj-szerC, amennyire csak lehetséges Az NSA 1998 juniusában közzétette az addig legtitkosabb, 80 bites algoritmusát, a SKIPJACK-et. Az NSA ezt a féltékenyen .rzött algoritmusát használta a Clipper48 chipekben A Clipper 80 bites kulcsának közzététele is jelzi, hogy az NSA már nem tartja ezt a kulcsot elegend.en biztonságosnak, nem is beszélve a DES 56 bites változatáról Az EFF minimum 90 bites kulcsméretet javasol. Randall K Nichols pedig azt mondja, hogy a 120 bites, vagy annál hosszabb kulcsok azok, amelyek inkább elfogadhatóak. A szimpla DES-t már a legkülönböz.bb szinteken kiváltották valami mással A pénzügyi cégek ott tartanak (1999-ben), hogy útjára bocsássák a # DES X9F1 szabványát. Az NIST –mint az el.z pontban írtunk róla- nemzetközi pályázatot hírdetett meg és a beérkezett javaslatokat megszCrve a 2000. év elején 5 még mindíg versenyben van. Az IETF szabványok felölelik a 3DES-t és az RC5-öt Az IPSEC szabvány
még mindíg tartalmazza ugyan a DES-t, de már opcionálisan elébe helyezi a 3DES-t. A DES jeleníti meg a klasszikus és a modern kriptográfia közötti fordulópontot. A DES alapjai az információelméletig nyúlnak vissza és az 1950-es évekig megismert matematikai mCveletek49 nagyon komplex kombinációját tartalmazza. 46 Statisztikai alapon belátható, hogy ez a gép ill. módszer kb Az 56 órás rekordid/ kétszeresének megfelel/ átlagos feltörési id/vel ekvivalens. 47 Eddig err/l nem volt szó. Lényegében ugyanazt a m(ködési sémát követi, mint amit a 62 oldalon bemutattunk, de teszi ezt 3 kulccsal. 48 Másutt (nem a DES kapcsán) szólunk a Clipperr/l. Itt csak annyit emlékeztet/ül, hogy egy olyan chipr/l van szó, amelyet a mobiltelefon kommunikációban akartak használni a gyártókkal megegyezésben, de azzal a szándékkal, hogy a kormányzatnak bármikor módjában álljon az így titkosított kommunikáció megfejtése. A közfelháborodás (az
USA-ban és Angliában) végül is nem engedte ezt a tervet megvalósítani, legalább is a közvélemény így tudja. 49 Itt a matematikának olyan, a gyakorlatban korábban nem, vagy csak igen kevéssé használt területeir/l van szó, mint pl. a számelmélet vagy a bonyolultság-elmélet, de ez a sor még folytatható lenne FileNév: A DES.doc - 71/79 - Utolsó módosítás:2002.0819 de 7:54 A DES igen hosszú id.t élt meg a civil szférában való alkalmazását tekintve, de lassan kiöregszik. Az egyszerü DES elleni modern támadások (mint amilyen pl az EFF DES-tör.je) hatálytalanította a további kommerciális alkalmazását A háromkulcsos, 168 bites 3DES a korábbinál sokkal megbízhatóbb megközelítést igér a kommerciális célú titkosításra. A DES eszköz arra, hogy a nyíltszövegC információt véletlenszerCvé tegyük. A DESnek valószínCleg a legfontosabb kriptográfiai hatása a lavinahatás A DES üzemmódjai felszínre hozták valamennyi
modern titkosítási üzemmódot ill. azok variációit. A DES gyenge láncszeme (ti ma) az 56 bites kulcshosszúság ezért a DES kriptorendszerek biztonságának növelésére a többszörös titkosítási módszereket vezették be. A modern támadási módszerek hatálytalanították az 56bites kulcs használatát, de ennek ellenére a DES-t még nagyon sok mai kriptográfiai termék használja és ajánlja. A NIST AES pályázata új kriptorendszerekre, az a tény, hogy az NSA nyilvánosságra hozta a SKIPJACK-et, valamint az EFF DES-tör.je mind jelzések, amelyeket nem lehet figyelmen kívül hagyni. Arra kell törekednünk tehát, hogy a legjobb kriptorendszert használjuk a leghosszabb kulccsal. FileNév: A DES.doc - 72/79 - Utolsó módosítás:2002.0819 de 7:54 Tárgymutató 3DES . 6, 73 Deep Crack . 72 A Szoftverkiadók Társasága: . Software Publisher’s Association . 69 Denning modell . 9 AES (Advanced Encription Standard) 6 DES Challenge II. 72 AES
szabvány. 66 DES Challenge III. 72 aktív beavatkozás . 13 DES szabvány. 49 Amerikai Biztonságtechnikai . Társaság . 18 DES üzemmódok . 53 ASCII kód. 21 ASIC=Application Specific . Integrated Circuits . 70 DES. 26 DES-Cracker Machine . 72 differenciális kriptoanalízis . 5,67 Diffie, Winfield . 62 autenticitási probléma . 9 diffuzió. 8 authentication. 53 Denning, Dorothy . 9 authenticity. 13 dragging key . 69 Berlekamp-Massey algoritmus. 69 dupla DES. 61 beültetett rekord problémája . 10 ECB üzemmód . 54 Biham. 5 EEF (Electronic Frontier Foundation)72 bizonytalanság mértéke . 21 ekvivokáció . 20, 22 Blaze, Matt . 72 els. generáció 4 blokk-láncolás . 55 encyphering key . 6 blokk-titkosítás . 28 Enigma. 23 böngészés. 13 er.sség (ti a titkosításé) 14 browsing. 13 eseti kulcs . 51 brute force. 19 expansion permutation. 30 C mint Cyphertext . 7 Expansion Permutation . 50 CBC üzemmód. 55 Feistal, Horst . 5 CFB
üzemmód . 56 félig-meddig gyenge kulcsok . 52 chosen plaintext attack . 10 félszó. 48 cipher text-only attack . 9 feltétel nélkül biztonság. 11 Clipper . 73 feltételes entrópia. 22 computationally secure or strong . 12 feltört rendszer . 7 contextual attack . 69 FIPS: Federal. Information Processing Standards 53 cryptosecrecy. 18 csapóajtó függvények . 6 FPGA=Field Programmable . Gate Arrays . 70 De Vigenere . 4 Gilmore, John. 72 DEA (Data Encryption Algorithm). 5,27 gyenge kulcs . 51 FileNév: A DES.doc - 73/79 - Utolsó módosítás:2002.0819 de 7:54 Hagelin gép. 23 known plaintext attack. 10 harmadik generáció . 4 kompressziós eljárás. 45 hiba tovaterjedés. 58 komprimálás. 30 hitelesség. 13 kompromittált rendszer. 7 Huffmann-féle kódolás . 8 konfuzió. 8 IBE támadás . 63 konkatenáció . 48 ideálisan titkos . 18 kriptoanalízis . 7 id.bélyegz 13 kriptorendszer . 6 illetékesség-ellen.rzés 55 kriptorendszer
biztonság . 18 illetéktelenül beépült ellenfél . (IBE) . 11, 62 kulcs-gereblyézés . 69 inference . 13 kulcs-ütemez. algoritmus 26 információelméleti entrópia . 20 lavina kritérium . 50 IP (initial permutation) . 28,46 lavinahatás. 30, 31, 38, 50 kulcs-ütemezés . 31,32 -1 IP (inverse initial permutation) . 46 leakage . 13 initial vektor . 55 lineáris kriptoanalízis. 67 invertálható transzformáció . 6 LUCIFER. 5, 24, 26 invertálhatóság. 7 M -mint Message. 7 involució . 6 Man-In-the Middle: MIM attack. 9,11,62 iteráció . 48 második generáció . 4 iterált kriptorendszerek. 26 masquerading . 14 játékelmélet. 8 mássalhangzó-torlódás . 21 jelmezes beavatkozás. 14 megfejtés exisztencia-kritériuma . 22 karakterfolyam-titkosító . 56 Menezes . 67 Kerckhoff. 19 message interception . 13 keveréses transzformáció . 24 Meyer, Carl . 5 keystream . 69 mixing transformation. 24 kezdeti permutáció. 28 Morze kód . 21
kezdeti transzpozició. 28 multiplikált transzformáció. 61 kezdeti vektor. 57 negyedik generáció . 4 kikövetkeztetés . 13 kiszivárogtatás . 13 NIST: National Institute of . Standards and Technology .65 kiterjesztés . 37 NSA=National Security Agency. 18,69 kiterjesztési müvelet. 30 nyers er. (brute force) módszere 19 kiterjesztési permutáció . 30 nyilt szöveg . 7 kiutasítási probléma . 9 OFB üzemmód . 60 FileNév: A DES.doc - 74/79 - Utolsó módosítás:2002.0819 de 7:54 one time code pad . 12,18 statistical attack. 69 one-way trapdoor functions. 6 substitution box . 26,41 Output FeedBack . 60 szelekció . 30 összetett függvények . 61 Szövetségi Információ. feldolgozási Szabványok . 53 perfect secrecy. 18 permutációs mátrix. 24 permutation box . 41 Photuris módszer . 11 plaintext. 7 planted record problem . 10 pre-otput blokk (DES) . 45,48 privacy problem. 9 Private Enhanced Mailing (PEM) . 65 product cipher . 23
produkt-transzformáció . 23 redundancia . 20 rejtjelzés (Encryption) . 6 rejtjelzési kulcs. 6 repudiation . 9 rund. 26 rund-függvény . 26 S dobozok . 26,41 Selection Box . 41 semi-weak key . 52 sérülékenység. 63 session key . 51 Shamir . 5 Shannon-Fano féle kódolás . 8 SKIPJACK. 73, 74 spoofing . 14 szubkulcs . 26, 30 szubstring. 8 támadás . 9 tampering . 13 terjeng.sség 20 time stamp . 13 titkosítás biztonsága. 23 tökéletes titkosítás. 17 tökéletes biztonság . 18 transzpozició . 24 tripla DES. 5,64 trükkös támadás. 14 Tuchman, Walter. 5 unconditional security. 11 unicitási távolság. 8, 18, 22, 23 unilaterális transzformáció . 25 uniliterális transzformáció. 25 üzenet elfogása. 13 védelem mértéke. 14 veszteség nélküli tömörítés . 20 veszteséges tömörítés . 20 veszteségid. 70 wiretapping. 14 work factor . 69 FileNév: A DES.doc - 75/79 - Utolsó módosítás:2002.0819 de 7:54 Irodalomjegyzék (válogatás) Könyvek és
cikkek: [1] Randall K. Nichols: International Computer Security Association Guide to Cryptography. McGraw-Hill, 1999 [2] Tóth Mihály: bevezetés az információelméletbe. BMF-KKVFK-SzGTI fiskolai jegyzet, Budapest, 2000 január. Táskaszám:143/99 [3] Tóth Mihály- Tóth Gergely: Az elektronikus információ titkosítása és hitelesítése A Gépipari Tudományos Egyesület Gépgyártástechnológia c. folyóiratának 1999. októberi különkiadása a Dunaujvárosi MCszaki Fiskola 199-es jubileumi tudományos ülésszakán elhangzott el.adásokról p 241 Ugyanennek a cikknek a html változata megtalálható a www.kersofthu/crypto webkiköt.n is [4] Nemetz Tibor- Vajda István: Bevezetés az algoritmikus adatvédelembe. Akadémiai Kiadó, Budapest, 1991. [5] Ködmön József: Kriptográfia. Computerbooks Kiadói KftBudapest, 1999/2000, [6] Alfred J.Menezes – Van Oorschot at al: Handbook of Applied Cryptography, CRC press, 1997. [7] William Stallings: Cryptography and
network Security: Principles and practice, 2nd Ed. PrenticeHall, 1998 [8] W. Schwartau:Information Warfare 2nd Ed New York,1997 Thunder’s Mouth Press [9] R.Merkle: Fast Software Encryption Functions, Proceedings of Crypto ’90 Webkiköt/k: [10] Az elektronikus információ titkosítása és hitelesítése www.kersofthu/crypto [11] Internet standard tracks protocol for providing commonly-understood means of secure data transmission between PPP implementations. RFC2419 - PPP DES Encryption http://www.cisohio-stateedu/htbin/rfc/rfc2419html [12] Read this document on the Cipher Block Chaining mode of Data Encryption Standard security transform for the IP Encapsulating Security Payload RFC1829 - ESP DES-CBC Transform http://www.cisohio-stateedu/htbin/rfc/rfc1829html [13] Electronic Frontier Foundation built a supercomputer specifically to crack the US Data Encryption Standard. EFF DES Cracker Project. Current project news (Press release) http://www.efforg/DESCracker/ [14] Building a
Corporate Public Key Infrastructure http://www.infosecengcom/corppkihtm FileNév: A DES.doc - 76/79 - Utolsó módosítás:2002.0819 de 7:54 [15] Building a Corporate Public Key Infrastructure. Abstract A worldwide Public Key Infrastructure (PKI) that supports international, government, and. Last modified on: 15-Mar-1999 - 50K bytes - in English (Win-1252) http://www.vinteccom/uhs spechtm [16] UIC Honors Seminar in Cryptography Spring, 1997 The Data Encryption Standard (Jó kiindulás további forrásokhoz) http://raphael.mathuicedu/~jeremy/crypt/deshtml [17] Data Encryption Standard, an Encarta Encyclopedia Article Titled "Data Encryption Standard" (Kiindulást nyújt népszer< egyéb forrásanyagokhoz.) http://encarta.msncom/index/conciseindex/06/006dd000htm [18] IDEA [International Data Encryption Standard] international data encryption standard (engl.) - internationaler Verschlüsselungsstandard IDEA wurde von Xueija Lai und James Massey entwickelt. Seine
Vorgänger waren PES (Proposed Encryption Standard). A zürichi M<egytemen kifejlesztett IDEA iterációs kriptorendszerbe enged igenigen rövid betekintést német nyelven. Az IDEA méltó versenytásra a DES-nek és nagyon hasonlít is hozzá http://www.igcstu-berlinde/ap/rg/002/glossar/i-terms/ideahtml [19] Definition of DES. http://www.whatiscom/deshtm