Kriptográfiai rendszerek

Az SOS electronic cégnek lehetősége nyílt az együttműködésre Ing. Dušanom Levický egyetemi professzorral, aki az idén adta ki az Alkalmazott kriptográfia könyvét. A könyv néhány gondolata annyira megtetszett nekünk, hogy úgy döntöttünk, cikket írunk róla. Van elég bátorsága belevetnie magát a titkosítás rejtelmeibe?

Ez egy régebbi cikk, amelynek közzétételi időpontja 2018.03.01 volt. Némely benne foglalt információ mára már elavult lehet. Kérdésével bátran forduljon hozzánk, szívesen segítünk!

(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.

Ne maradjon le a hasonló cikkekről!

Önnek is tetszenek cikkeink? Ne maradjon le egyről sem! Nem kerül erőfeszítésébe, mi eljuttatjuk Önhöz.

A cookie-k segítenek szolgáltatásaink nyújtásában, melyek igénybevételével Ön beleegyezik a cookie-k használatába.