(Prof. Ing. Dušan Levický, CSc., a Kassai Műszaki Egyetem Elektronikai és Multimédiás Távközlési Tanszék professzora)
A kriptográfia gyökerei a régmúltra nyúlnak vissza. A titkosírás óriási fejlődésen ment át a Julius Caesar korabeli ún. Caesar-rejtjeltől, a középkorban is jelen lévő, feltörhetetlen titkosírási technikákon át egészen a rejtjelező gépek megalkotásáig, amilyen pl. az Enigma volt. A modern kriptográfiát elsősorban a matematika, az információelmélet és az információs és kommunikációs technológiák fejlesztése során használják.
Korszerű tudományággá nőtte ki magát, és máig is használatos mind a személyiségi jogok védelmére, mind pedig az elektronikus rendszerek és az elektronikus hírközlés biztonságának megtartására. A titkosítás legnépszerűbb alkalmazási területei az információ és a hálózati biztonság, az e-mail, a digitális televízió, az e-kereskedelem, a banki szolgáltatások és az e-learning, azaz elektronikus tanulás.
Az információátadás már a legősibb időkben szükségessé tette a biztonságos kommunikációt, amely lehetővé tette az üzenet vagy maga a kommunikáció titkosítását. Épp ezért alakult ki a titkos kommunikáció két formája, a szteganográfia és a kriptográfia.
A szteganografia rejtett üzenetek létrehozásának tudománya, miközben a kommunikáció nem titkos, csak az abban szereplő információk kerülnek rejtjelezésre.
A kriptográfia nem a titkos üzenet vagy kommunikáció létezésének eltitkolása, hanem a tartalom titkosítási módszerekkel történő elrejtése
Mit nevezünk titkosításnak?
A titkosítás olyan eljárás, amely során az információ tartalma titkossá, olvashatatlanná válik. A küldött üzenetet, amely általában szöveg formájú, nyílt szövegnek (plaintext) nevezzük. Az eredmény pedig titkosított információ, azaz titkosított szöveg (ciphertext). A titkosítás tehát nem más, mint a nyílt szöveg titkosítottá konvertálása. A nyílt szöveg titkosított szövegből történő visszafejtése pedig a dekódolás (deciphering, decryption). A titkosítási rendszereket vagy eszközöket kriptográfiai rendszereknek, vagy egyszerűbben titkosítóknak nevezik.
A titkosított szöveg nyílt szöveggé történő alakításának technikája a kriptoanalízis. A kriptográfiát és a kriptoanalízist magában foglaló tudományág pedig a kriptológia.
A hagyományos titkosítás elve
A klasszikus, azaz hagyományos kriptográfiai rendszer ugyanazt a kulcsot alkalmazza a titkosításra és megfejtésre egyaránt, ezért ezt a rendszert szimmetrikus kulcsú kriptográfiai rendszernek is nevezik. A titkosítás és dekódolás egyazon kulccsal történik (single key encryption).
A hagyományos titkosítás elve az ábrán látható.
A szimmetrikus titkosítás öt részből áll:
1. A nyílt szöveg valójában az az üzenet, vagy adat, amely belép a kriptográfiai rendszerbe; tehát ezek a titkosítási algoritmus bemeneti adatai.
2. A titkosítási algoritmus olyan algoritmus, amely végrehajtja a titkosítást, tehát a nyílt szöveg titkosított szöveggé alakítását különböző technikák segítségével, amilyenek pl. a helyettesítés vagy a permutáció.
3. A titkos kulcs szintén a kriptográfiai rendszer bementi egysége, és nem függ a nyílt szövegtől. A titkos kulcs határozza meg a nyílt szöveg titkosított szöveggé alakulásának formáját.
4. A titkosított szöveg már az algoritmus kimeneti egységéhez sorolható. Egyértelműen a nyílt szöveg és a titkos kulcs határozzák meg. Ha az adott nyílt szöveget két kulcs szerint titkosítjuk, 2 különböző titkosított szöveget kapunk.
5. A dekódoló algoritmus felelős azért, hogy a titkosított szöveget ismét nyílt szövegre fejthessük vissza. A dekódoláshoz szükséges titkos kulcs megegyezik a titkosításnál használt kulccsal
Mivel a kriptográfiai algoritmusokat nem lehet hosszú távon eltitkolni, a hagyományos titkosítás biztonsága kizárólag a kulcs biztonságán múlik.
Kriptográfiai rendszerek és működésük
A kriptográfiai rendszerek, azaz titkosítási algoritmusok 2 alapvető műveletsort használnak:
1. Helyettesítés, ahol a nyílt szöveg minden eleme (bit, betű, bit- és betűcsoport) a szöveg más elemére változik, miközben a megváltozott elemek a helyükön maradnak. A fogadó fél a rejtjelezett szöveget inverz szubsztitúcióval fejti meg.
2. Transzpozíció, amely során az eredeti szöveg elemeit bizonyos szabály szerint összekeverik, pl. permutációval. A fogadó fél a rejtjelezett szöveget inverz transzpozícióval fejti meg.
Leegyszerűsítve, szubsztitúciós és transzpozíciós rejtjelezésről beszélhetünk. A titkosítási műveletek alapkövetelménye, hogy alkalmazásuk során egyetlen információ sem veszhet el, azaz invertálhatónak kell lenniük.
A kulcsok számát és típusát tekintve a kriptográfiai rendszereket titkos kulcsú és nyilvános kulcsú kriptográfiai rendszerekre oszthatjuk.
Titkos kulcsú kriptográfiai rendszerek
Ezek a rendszerek ugyanazt a kulcsot használják a titkosítás és dekódolás során is, éppen ezért szimmetrikus rejtjelezésnek is nevezik. A rendszer biztonsága a kulcs titkosságában rejlik, amelyet a küldő és fogadó még a kommunikáció előtt megosztanak egymással, ami a rejtjelezés gyorsaságának szempontjából hátrányként hat.
Nyilvános kulcsú kriptográfiai rendszerek
Az ilyen rendszerek más kulcsot használnak a titkosításhoz és más kulcsot a dekódoláshoz, tehát nyilvános és titkos kulcsot is. A titkosítás során használt kulcs az ún. nyilvános kulcs, a dekódoló kulcs pedig a titkos kulcs, és csak a fogadó fél ismeri.
A nyilvános kulcsú kriptográfiai rendszereket aszimmetrikus kriptográfiai rendszereknek is nevezik, és a biztonságuk alapja a nyilvános kulcsból meghatározható titkos kulcs matematikai összetettsége.
A nyílt szöveg feldolgozásának módja szerint az algoritmus két alapvető módon működhet:
1. A blokk mód a blokk alapú titkosító eljárás (block cipher) alapja, amely a nyílt szöveget blokkokra osztja. Az eredmény blokk formájú titkosított szöveg, amelynek mérete rendszerint megegyezik a nyílt szöveg méretével.
2. A folyamatos mód a folyamatos rejtjelezés (stream ciphers) alapja, amely a nyílt szöveget elemi szinten folyamatosan dolgozza fel. A nyílt szöveg minden elemének tehát a titkosított szöveg egy eleme felel meg.
Algoritmus-biztonság = a megfejtésnek (feltörésnek) való ellenállás
Az abszolút biztonságos kriptográfiai rendszert az jellemzi, hogy a kriptoanalízist végző személy még akkor sem lesz képes a nyílt szöveget rekonstruálni, ha korlátlan számú kódolt szöveg és számítási kapacitás áll rendelkezésére. Ennek a kritériumnak csak az egyszeri hozzáadásos módszer (one time pad) felel meg, amelyet a gyakorlatban csak nagyon ritkán használnak.
A gyakorlatban a kriptográfiai algoritmusok biztonságát a megfejtésükhöz szükség erőfeszítés mértéke szabja meg. Gyakorlati szempontból a titkosítási algoritmusnak meg kéne felelnie ezen feltételeknek, de legalább egynek:
- Költség - a titkosítási algoritmus megfejtéséhez szükséges költség magasabb a titkosított szöveg értékénél
- Idő - az algoritmus feltörése hosszabb ideig tart, mint az adatok elrejtésére szánt idő
A felsorolt szempontok szemléltetik a kriptográfiai algoritmusok ún. gyakorlati biztonságát. A titkosító algoritmusok akkor tekinthetők erősnek (biztonságosnak), ha sem a napjainkban használt, sem pedig a feltételezett jövőbeli megfejtési eljárásokkal nem törhetők fel.
Önnek is tetszenek cikkeink? Ne maradjon le egyről sem! Nem kerül erőfeszítésébe, mi eljuttatjuk Önhöz.