A kriptográfia története

A Wikipédiából, a szabad lexikonból.

Ezt a cikket formázni kellene a wiki jelölőnyelv szabályai alapján.

Tartalomjegyzék

[szerkesztés] Az ókori kriptográfia

Szteganográfia
Az üzenetek titkos továbbításának legősibb módja az üzenet elrejtése, a szteganográfia.
  • Hérodotosztól származik az első feljegyzés, amelyben az ie. V. századi esetet ír le, ahol egy palatáblán viasszal fedték le az üzenet szövegét, így azt sikerült átjuttatni az ellenséges vonalakon.
  • Egy másik leírásában a küldönc kopasz fejbőrére írták az üzenetet, majd megvárták, míg haja újranő, és elrejti a szöveget.
  • Ide tartozik a láthatatlan tinta használata is, mint például a pitypang tejnedve, mely melegítés hatására megbarnul és feltárja a titkos szöveget.


Kriptográfia
A kriptográfia a szteganográfiával egyidőben alakult ki, és célja nem magának az üzenetnek, csupán csak a tartalmának, jelentésének elrejtése, kódolása.
A kriptográfia maga is két ágra oszlik: átrendezésre (keverésre) és behelyettesítésre.


[szerkesztés] Átrendezés

Átrendezésnek nevezzük azt a titkosítási módszert, amikor az üzenet szövegének betűit véletlenszerűen, vagy valamilyen szabályrendszer alapján átrendezik - a betűk megtartják eredeti hangértéküket, de megváltoztatják a pozíciójukat.

Már az ókori görögök is használták, Lüszandrosz spártai hadvezér a szkütalé szalag révén kapott információkat ie. 404-ben a perzsák várható támadásáról.

Anagrammák
Az üzenetet alkotó betűket véletlenszerűen összekerverik. Hátránya, hogy a betűk számának növekedésével a megoldás megtalálásának esélye rohamosan csökken.
Fésűs módszer
A módszer lényege, hogy az üzenet egymást követő betűit kettő vagy több sorba írták, majd az így kapott sorokat egymás után helyezték.
Példa:
Az üzenet: Géza kék az ég. Az ibafai papnak fapipája van.
A kódolás: g z k k z g z b f i a n k a i á a a
  é a é a é a i a a p p a f p p j v n
A kódolt szöveg: gzkkzgzbfiankaiáaaéaéaéaiaappafppjvn
Szkütalé
Szkütalé
Szkütalé módszer
Az első ismert katonai rejtjelező módszer. Egy szíjat vagy szalagot egy szabályos sokszögalapú hasábra, pálcára csavartak fel, majd erre a pálca tengelyének irányában felírták az szöveget. Letekerve a szíj csak betűk értelmetlen sorozata mindaddíg, míg a címzett fel nem tekeri egy ugyanolyan átmérőjű rúdra.


[szerkesztés] Behelyettesítés

A behelyettesítéses módszer esetén a nyílt szöveg minden betűjét egy másikkal helyettesítik - a betűk megtartják pozíciójukat, de megváltozik a hangértékük.

E titkosításról szóló első leírás érdekes módon a Káma-szutrá-ban található, amelyet a IV. században vetett papírra egy brahmin tudós, Vátszjájana, egy kétszáz évvel régebbi kézirat alapján.

Időszámításunk első évezredének titkosírás-művészetét - egyszerűsége és megbízhatósága révén - a behelyettesítéses kód uralta.

[szerkesztés] Monoalfabetikus kódok

Azokat a behelyettesítéses kódábécéket nevezzük monoalfabetikusnak, amelyek egy betűt egy másik betűvel vagy szimbólummal helyettesítenek.

A Káma-szutrá-ban található módszer
Ez a leírás az ábécé betűinek véletlenszerű párosítását és egymásnak kölcsönös megfeleltetését ajánlja.
Például a 26 betűből álló angol ábécé esetén:
Betűk megfeleltetése Kódolás
A D H I K M O R S U W Y Z
V X B G J C Q L N E F P T
Az üzenet: egyedem begyedem
A kódolt szöveg: UIPUXUC HUIPUXUC
Atbas
Az atbas egy egyszerű helyettesítő rejtjel a héber ábécéhez.


Polübiosz-négyzet
A A Polübiosz-rejtjelegy egyszerű titkosítási eljárás, melynél az ABC 25 betűjét egy táblázatba foglalták. Itt a rejtjelezett betűk a mátrix elemeinek feleltek meg, a sorok és az oszlopok azonosítójából olvasták le a kétjegyű kódot. A rejtjelezett kódot fáklyákkal adták tovább, a jobb- és balkézben egytől ötig terjedő égő fáklyákkal. A módszer hátránya az volt, hogy csak sötétben, jól látható magaslatról volt használható, illetve a szöveget betűnként küldte el.
Kódtábla Kódolás
Polübiosz-tábla
Polübiosz-tábla
Az üzenet: wikipedia
A kódolt szöveg: 5-2 2-4 2-5 2-4 3-5 1-5 1-4 2-4 1-1
A Caesar-rejtjel
Az ún. Caesar-rejtjel, melyet Julius Caesar írt le, mint általa használt eljárást. Ez egy ún. szubsztitúciós, vagy betűhelyettesítéses algoritmus, mely a nyílt szöveg minden betűjét az ABC egy másik betűjével helyettesíti, úgy, hogy ha az n. betű kódja az m.-edik betű, akkor az n+1-edik betű kódja az m+1-edik betű, ahol a + összeadás az ABC elemszáma mint modulus szerinti moduláris összeadás (vagyis az ABC utolsó betűje utáni +1-edik pozíció az ABC-ben az első pozíció. A kulcs ez esetben például az A betű kódja, ennek ismeretében az összes többi betű kódja kiszámolható). Ezen eljárásnak a hátránya az, hogy csak 25 féle kódábécé lehetséges, így ha valaki sejti, hogy a szöveget ezzel az algoritmussal kódolták, akkor maximum 25 próbálkozással eljut az értékes információhoz.
Ceasar a saját ábécéjét három hellyel mozdította el, tehát minden betűt az utána következő harmadikkal helyettesített.
Például a 26 betűből álló angol ábécé esetén:
Betűk megfeleltetése Kódolás
Nyílt ábécé a b c d e f ... u v w x y z
Kód ábécé D E F G H I ... X Y Z A B C
Az üzenet: caesar
A kódolt szöveg: FDHVDU
Érdekesség, hogy napjainkban is gyakran használják az 1980-as években elterjedt ROT13 nevű speciális Caesar-kódot.


Általános behelyettesítéses algoritmus
Ez az algoritmus kiküszöböli a Caesar eltolásos ábécéjének gyengeségét, ugyanis a kódábécé a nyílt ábécé bármelyik tetszőleges átrendezése lehet, így a lehetséges változatok száma 1016 nagyságrendű. Hátránya, hogy a véletlenszerű párosítás miatt a kódot nehezen lehet fejben tartani.


Általános behelyettesítéses algoritmus kulcsszó vagy kulcsmondat alkalmazásával
Az előző módszeren alapuló algoritmus, ám a kulcsmondat alkalmazásának következtében a kódábécé megjegyzése egyszerűbbé válik. A kódábécé a kulcsmondat különböző betűivel fog kezdődni, majd annak utolsó betűjétől a normál ábécé szerint folytatódik (természetesen a már felhasznált betűk kihagyásával). Igaz ugyan, hogy e megszorítások miatt a lehetséges kulcsok számának csökken, de a feltörés szempontjából nem számottevő mértékben.
Például a 26 betűből álló angol ábécé esetén:
Betűk megfeleltetése Kódolás
Kulcsmondat: JULIUS CAESAR -- > JULISCAER
Nyílt ábécé a b c d e f g h i j k l m n o p q r s t u v w x y z
Kód ábécé J U L I S C A E R T V W X Y Z B D F G H K M N O P Q
Az üzenet: veni vidi vici
A kódolt szöveg: MSYR MRIR MRLR

[szerkesztés] A középkor kriptográfia

[szerkesztés] Javított monoalfabetikus kódok

A XV. századra Európában a kriptográfia széles körben elterjedt, és felbukkantak azok az emberek, akik tudományos módszerekkel igyekeztek megfejteni a titkos üzeneteket. Valószínű, hogy az európai titoknokok maguktól fedezték fel a kriptoanalízist, de az is lehet, hogy az araboktól tanulva kezdték el alkalmazni a gyakoriságelemzést.


Behelyettesítéses algoritmus nullitásokkal
A nyugati reneszánsz idején azokban az országokban, ahol már felismerték a monoalfabetikus kód gyenge pontjait, elkezdték keresni azokat a lehetőségeket, amikkel ellenállóbb titkosításokat tudnának létrehozni. Egyik ilyen javítás a nullitások, tehát a nem valós betűket jelölő elemek bevezetése volt. A nullitások véletlenszerű és változó gyakoriságú használata megnehezíti a szöveg gyakoriságelemzéssel való analizálását, ezáltal pedig a megfejtést.


Behelyettesítéses algoritmus és nómenklátor
A monoalfabetikus kód feljavítását célozta a szólajstromok (nómenklátorok) bevezetése is, ami azt jelentette, hogy a titkosítandó szöveg egyes szavait külön szimbólummal jelölték, a fennmaradó részt pedig a szokásos módon titkosították.
Ilyen típusú titkosítást használt Mária skót királynő és a Babington-összeesküvésben résztvevők, ám Thomas Phelippes (I. Erzsébet államminiszterének, Sir Francis Walsinghnek a titoknoka) megfejtette a levelezést és az összeesküvőket elítélték.


Homofonikus behelyettesítés
A rejtjelezők olyan közbülső megoldást kerestek, ami megtartja a monoalfabetikus kódok könnyű kezelhetőségét, voszint a biztonság szempontjából a polialfabetikus kódok felé közelít. Ilyen az igen megbízható homofonikus behelyettesítéses kód, amelyben minden betűnek több sifréje is lehet: általában annyi, ahány százalékban az adott betű előfordul az ábécében, így minden sifre körülbelül egy százalékban fog előfordulni a kódolt szövegben. Sifrírozáskor az adott betűhöz tartozó sifrék közül véletlenszerűen választják ki a konkrét rejtjelet.
Példa egy homofonikus behelyettesító kódra (26 betűből álló angol ábécé esetén):
a b c d e f g h i j k l m n o p q r s t u v w x y z
64 65 20 42 56 74 21 43 57 90 91 22 44 58 23 45 59 24 46 60 02 11 16 38 52 70
14 15 25 47 61 87 99 17 39 53 71 36 37 26 62 88 89 48 49 31
54 50 51 27 63 06 72 32 55 79 00 12 34
73 33 10 66 07 68 03 01 13 35 18
67 19 76 81 93 28 29 30 40
75 08 41 09 82 94 80 77 96
97 84 86 85
05 92 78
83 95
04
69
98
Az üzenet: egyedem begyedem
A kódolt szöveg: 56-21-52-61-42-27-44 65-10-99-31-19-47-08-71


Grand chiffre
Ezzel az eljárással kódolták a Napkirály, XIV. Lajos legtitkosabb üzeneteit. A rendszert Antoine és Bonaventure Rossignol (apa és fia) dolgozta ki 1650 körül. A kód 587 féle számot tartalmazott, melyek betűket, szótagokat jelöltek, sőt voltak olyanok is, amik csapdába ejtették a kódfejtőt. Használtak például olyan kódszámot, ami csak az előtte lévő szám törlését volt hivatva jelölni.
A kódot végül is több mint kétszáz után, 1893-ban - francia hadsereg rejtjelfejtési osztályán dolgozó - Étien Bazeries őrnagynak sikerült feltörnie három évig tartó kemény munkával. Sok zsákutcába jutott elképzelés után kezdett gyanakodnia arra, hogy a számok esetleg szótagokat jelölhetnek. Ezek után sikerült egy számcsoportot azonosítania, amely viszonylag gyakran fordult elő a szövegben, és amiről Bazeries feltételezte, hogy az ellenség karaktersorozatot jelenti (124-22-125-46-345 les-en-ne-mi-s). Innen már viszonylag egyenes úton következtetette ki újabb és újabb kódszámok jelentését, míg végül megfejtette a szöveget.


[szerkesztés] Polialfabetikus kódok

Polialfabetikusnak nevezünk minden olyan helyettesítő rejtjelezést, amely többféle kódábécét használ az üzenet sifrírozásakor.

Fő szócikk: Polialfabetikus rejtjel


Vigenère-kód
A Vigenère-kód a polialfabetikus rejtjelek egy egyszerű fajtája, amely a rejtjelezés során egy adott kulcsszó betűitől függően, különböző Caesar-kódokat használ.
Fő szócikk: Vigenère-rejtjel


[szerkesztés] Kriptográfia az Újkorban

[szerkesztés] Poligrafikus helyettesítő rejtjelek

[szerkesztés] Kriptográfia a I. Világháború alatt

[szerkesztés] Kriptográfia a II. Világháború alatt

Megkezdődött a titkosító gépek gyártása. Ezek leghíresebb példája II. világháborúban a németek által alkalmazott Enigma, az e géppel előállított kódot a németek megfejthetetlennek tartották. Ez a vélekedés tévesnek bizonyult, noha a kódot az angolok valóban nem puszta matematikai, hanem titkosszolgálati módszereket is alkalmazva törték fel. A világháború és hidegháború valósággal gondolatháborút jelentett a harcoló felek titkosítással foglalkozó szakemberei között is, és óriási lendületet adott a matematika és az informatika fejlődésének.

[szerkesztés] Kriptográfia a Hidegháború idején

[szerkesztés] Modern kriptográfia

Részben e folyamat eredménye, hogy megjelentek a nagy teljesítményű számítógépek. Ezek aztán további lökést adtak a kriptográfiának, mivel segítségükkel bonyolult és a hagyományos módszerekkel fejthetetlennek feltételezhető kódokat lehet előállítani. Ilyenek a DES és az RSA, illetve ezek továbbfejlesztései; melyeket az internet- és mobilkommunikáció alkalmaz, illetve alkalmazott.

A jövő egyik lehetséges útja a kvantumkriptográfia.