Ropogós

Nincsenek friss tartalmak.

» A teljes listához

Új hozzászólások

» 2017.02.16. 15:38:22, Noel @ Nem minden privacy tipp "tuti"

» 2016.11.13. 13:14:07, Illés bence jános @ Hogyan válasszunk erős jelszót?

» 2016.09.24. 07:22:07, Bola Online @ Alkalmazott kriptográfia – TrueCrypt

» 2015.12.25. 21:18:36, MobilKém @ Lehallgatható kikapcsolt állapotban a mobiltelefon?

» 2015.11.26. 21:38:36, [anonymous] @ Titokban összesúg a tévé és az okostelefon

Szimmetrikus kriptográfia

| | 2008.04.23. 17:42:34  Földes Ádám Máté  

Vissza

Ez a bejegyzés egy hosszabbra tervezett, kriptográfiai témájú sorozat második darabja. A bejegyzésekben nem bocsátkozom komoly elméleti fejtegetésekbe – csak a privátszféra védelme iránt érdeklődő laikus vagy szakmabeli számára potenciálisan érdekes dolgokat szeretném kifejteni. A sorozat első darabja itt olvasható:

http://pet-portal.eu//blog/read/64/2008-04-08-Kriptografia-hol-segit-a-privatszfera-vedelmeben-a-titkositas.php

Az előző részben adott, általánosabb jellegű bevezetés után picit közelebbről is megnézzük a kriptográfiai algoritmusokat. Csak a teljesség kedvéért: az algoritmus valamely feladat elvégzésére hivatott lépések véges sorozata (pl. a szakácskönyvek receptjei algoritmusoknak tekinthetőek). A kriptográfiai algoritmus tehát olyan módszer, mely rejtjelezéssel kapcsolatos feladatot hivatott megoldani (azért nem pusztán azt írtam, hogy „olyan módszer, mely rejtjelez”, mert így a definíció nem vonatkozna a hash függvényekre – róluk majd egy későbbi blogbejegyzésben írok).

A kriptográfiai algoritmusok nagy része a már az előző bejegyzésben is ismertetett rejtjelezéssel foglalkozik. Az ilyen algoritmusok bemenetét nyílt szövegnek (plain text), kimenetét pedig titkos szövegnek (ciphertext) nevezzük. (A modern kriptográfiában legtöbbször elvonatkoztatunk a „szöveg” szó általában használt jelentésétől, és úgy a nyílt szöveget, mint a titkos szöveget nullák és egyesek – más szóval bitek – sorozatának tekintjük. Ez tehát azt jelenti, hogy a nyílt szöveg lehet akár kép, hang, stb. is. Az is igaz továbbá, hogy minden „igazi” szöveg egyértelműen megfeleltethető nullák és egyesek sorozatának, lásd ASCII, UTF-8, stb.) Az algoritmusnak ezen felül van egy további paramétere, a kulcs (key), melyre a modern kriptográfiában szintén bitek sorozataként hasznos tekinteni. Ebben a paraméterben van az egész algoritmus lényege: ha az illetéktelen harmadik fél nem ismeri a megfelelő kulcsot, akkor nem lesz képes visszaalakítani a titkos szöveget nyílt szöveggé.

A rejtjelező algoritmusok többféleképpen oszthatóak további halmazokra. Ezen felosztások egyik legfontosabbika a szimmetrikus illetve az aszimmetrikus módszerek közti különbségtétel. A szimmetrikus kriptográfiában a rejtjelező algoritmus (encryption algorithm) és a hozzá tartozó visszafejtő algoritmus (decryption algorithm) ugyanazt a kulcsot használja. (Az aszimmetrikus kriptográfiában nem ez a helyzet – de erről majd egy következő blogbejegyzésemben írok bővebben.)

 

 

A legprimitívebb szimmetrikus rejtjelező algoritmusnak talán a Caesar-féle titkosító tekinthető. (Itt lehet róla olvasni.) Ennek a kezdetleges módszernek több nyilvánvaló hibája van. Csak hogy egyet említsek: az ún. kulcstér mérete vészesen kicsi (ha az angol ábécé a bemeneti ábécé, akkor 0-tól 25-ig választhatunk kulcsot), vagyis – értelmes nyílt szöveget feltételezve – pillanatok alatt meg lehet fejteni a titkos szöveget a nyers erő (brute force) módszerével, azaz a lehetséges kulcsok szisztematikus végigpróbálgatásával. A nyers erő módszere a legköltségesebb (vagyis idő- és erőforrás-igényesebb) eszköz a kriptanalízisben, előfordulhat azonban, hogy a titkos szöveg megfejtésére nincs hatékonyabb megoldás. Azt mondjuk, hogy egy rejtjelező algoritmus feltörhető, ha a nyers erőnél létezik hatékonyabb megoldás bármely titkos szöveg visszafejtésére. (Két megjegyzés: egyrészt lehetséges, hogy az algoritmus csak bizonyos körülmények között – például ún. gyenge kulcsok használata esetén – fordítható vissza a nyers erőnél hatékonyabban. Ilyenkor részleges törésről beszélünk. Másrészt egy teljes törés is lehet súlyosan számításigényes – lehetséges, hogy a nyers erő egy évezredes futási idejét egy évszázadra sikerül csak redukálni.)

A szimmetrikus kriptográfia a Caesar-rejtjelezőtől napjainkig nagyon sokat fejlődött. Nagyjából három szakaszra osztható ez a periódus: a kézi rejtjelek korára (Vigenère-titkosítás, Playfair-rejtjel, stb.), a mechanikus illetve elektromechanikus titkosítógépekére (Enigma, T52, Hagelin, stb.), valamint a modern, számítógépes rejtjelekére (OTP, DES, 3DES, AES, RC4, stb.). Az utóbbi két csoportba tartozó módszerek ismertetése túlmutat a Portál célkitűzésén, tekintve, hogy (talán az OTP-t kivéve) viszonylag bonyolultak, és nem is lenne egyszerű igényesen tárgyalni őket blogbejegyzésnyi terjedelemben. (A kézi rejtjelek megértése viszont többnyire nem nehéz, és a velük titkosított üzenetek megfejtése kiváló agytorna.)

A felsorolt számítógépes rejtjelek közül az OTP (One Time Pad, egyszeri kitöltés) koncepciója a legrégebbi. Egy későbbi bejegyzésben még írok róla, mert kiválóan képes illusztrálni, hogy miért nem igaz az a gyakran elhangzó tévhit, hogy minden algoritmusnál bármely titkos szöveg megfejthető a nyers erő módszerével. „Egy az egyben” azonban biztonságossága ellenére ritkán használják, mert a kulcsnak (legalább) ugyanolyan hosszúnak kell lennie mint a nyílt szövegnek, és egy kulcs csak egyszer használható fel biztonságosan. Mindez a legtöbb alkalmazásban nagyon súlyos megkötés.

A DES (Data Encryption Standard, adattitkosítási szabvány) az amerikai kormányügynökségek által 1976-ban kiírt pályázat győztese – illetve a nyertes algoritmus egy kicsit módosított változata. (Pont a máig nem ismert célú módosítás volt az oka annak, hogy az emberek nem bíztak teljes mértékig az algoritmusban, mert féltek, hogy a kormány elrejtett benne egy „hátsó ajtót”.) A DES 56 bit hosszú kulcsot használ. Ez ma már nem számít elégségesnek a nyers erő módszer ellen, bár egy egyszerű asztali számítógéppel valószínűleg azért még meglehetősen sok időbe telne egy titkos szöveget így megfejteni. A DES volt például a Unix rendszerek kezdeti jelszókódolási eljárásának alapja. A kulcshossz problémáját először a 3DES (tripla DES) nevű algoritmussal orvosolták, mely voltaképp három DES titkosítási művelet egymás után fűzése. A 3DES-t valamivel talán szélesebb körben használják a DES-nél (például az IPSec nevű hálózati rétegbeli rejtjelezési protokollban), de az AES az igazán jellemző.

Az AES (Advanced Encryption Standard, fejlettebb titkosítási szabvány) hasonló körülmények közt született 1998-ban, mint annak idején DES, pont ez utóbbi problémáinak orvoslására. 128, 192 és 256 bit hosszú kulcsot használhat – a 256 bit elégséges ahhoz, hogy az algoritmust a nyers erő módszerével a mai technikával évezredek alatt se lehessen feltörni. Az előző bejegyzésben említett EncFS „álfájlrendszer”, illetve a WLAN-ok védelméhez használt WPA2 (WiFi Protected Access 2, védett WiFi hozzáférés 2) is ezt használja.

Az RC4 (Rivest Cipher #4, Rivest negyedik rejtjele) eredetileg egy „céges” algoritmus volt – egészen 1994-ig üzleti titoknak számított, amíg ki nem szivárgott. Kulcshossza 40-től 128 bitig terjedhet. Az algoritmus a vezeték nélküli hálózatok védelméhez használt WEP (Wired Equivalent Privacy, vezetékessel egyenértékű „titkosság” ) és WPA módszerek alapja.

Az eddigiekben – nagyon távolról – bemutattam néhány szimmetrikus rejtjelező algoritmust, és hogy milyen technológiákban használjuk fel őket. A fájlrendszerek és a hálózatok forgalmának rejtjelezése egyaránt kardinális kérdés lehet a privátszféra védelme szempontjából. Az elmondottakból talán úgy tűnhet, hogy a titkosító algoritmusok abszolút mércéje a kulcshossz – ez azonban még a szimmetrikus rejtjelezők körén belül sem igaz. A kulcshossz pusztán arra ad teljesen biztos összehasonlítási alapot, hogy az egyes algoritmusokat mennyire nehéz a nyers erő módszerével feltörni. Egy algoritmus biztonságossága a kriptanalízissel szemben azonban nagyon sok tényezőtől függ. Az is előfordulhat például, hogy ugyanaz a rejtjelező algoritmus egy implementációban biztonságos, míg egy másikban nem (jó példa erre a WPA és a WEP).

Címkék: biztonság, kriptográfia

Permalink: https://pet-portal.eu/blog/read/66/2008-04-23-Szimmetrikus-kriptografia.php

Forrás: Introduction to cryptography, Part 2: Symmetric cryptography

Ajánló

Vissza


Hozzászólások

Összesen 0 hozzászólás látható.

Nincsenek hozzászólások.


Új hozzászólás beküldése

Bárki hozzászólhat, nem regisztrált beküldő esetén egyik adat megadása sem kötelező - a hozzászólás akár névtelen is lehet.

Név:
E-mail:
Blog:
Megerősítési kód (Új kép generálása a megerősítési kódról)

A BBCode egy egyszerű jelölő nyelv, amellyel a hozzászólásokat lehet formázni. Érvényes parancsok:

bold: [b]Maecenas at nisl.[/b]
italics: [i]Maecenas at nisl.[/i]
underline: [u]Maecenas at nisl.[/u]
url: [url]http://www.mysite.com[/url], [url=http://www.mysite.com]Maecenas at nisl.[/url]
image: [img]http://www.mysite.com/mypic.png[/img]
quote: [quote]Maecenas at nisl.[/quote]
code: [code]Maecenas at nisl.[/code]
size: [size=12]Maecenas at nisl.[/size]
color: [color=#FF0000]Maecenas at nisl.[/color]

Hozzászólok!





© International PET Portal, 2010 | Impresszum | Felhasználási feltételek | Adatvédelmi Nyilatkozat