Kriptográfia — titkosítás, kulcsok és kriptoanalízis alapjai

Kriptográfia: áttekintés a titkosítás, kulcsok és kriptoanalízis alapjairól — modern módszerek, alkalmazások (bankkártya, jelszavak) és biztonsági szemlélet.

Szerző: Leandro Alegsa

A kriptográfia vagy kriptológia az információ elrejtésének gyakorlata és tanulmányozása. Néha kódolásnak is nevezik, de ez nem igazán helyes elnevezés. Ez a tudomány arra szolgál, hogy megpróbáljuk az információt titokban és biztonságban tartani. A modern kriptográfia a matematika, az informatika és az elektrotechnika keveréke. A kriptográfiát használják a bankkártyáknál, a számítógépes jelszavaknál és az internetes vásárlásnál.

Amikor egy üzenetet kriptográfiával küldenek, az üzenet küldése előtt megváltozik (vagy titkosítják). A szöveg megváltoztatásának módszerét "kódnak", pontosabban "rejtjelezésnek" nevezik. A megváltoztatott szöveget "rejtjelezett szövegnek" nevezzük. A változtatás megnehezíti az üzenet olvashatóságát. Valakinek, aki el akarja olvasni, vissza kell változtatnia (vagy visszafejteni). Hogy hogyan lehet visszaváltani, az titok. Az üzenetet küldő és az üzenetet megkapó személynek is tudnia kell a titkos módját, de másoknak nem szabad tudniuk. A titkosított szöveg tanulmányozását a titok feltárása érdekében "kriptoanalízisnek" vagy "feltörésnek" vagy néha "kódtörésnek" nevezik.

A különböző típusú kriptográfiák könnyebben vagy nehezebben használhatók, és jobban vagy rosszabbul rejtik el a titkos üzenetet. A titkosítások egy "kulcsot" használnak, amely egy titok, amely elrejti a titkos üzeneteket. A kriptográfiai módszernek nem kell titkosnak lennie. Különböző emberek használhatják ugyanazt a módszert, de különböző kulcsokat, így nem tudják elolvasni egymás üzeneteit. Mivel a Caesar-féle rejtjelezésnek csak annyi kulcsa van, ahány betű van az ábécében, könnyen feltörhető az összes kulcs kipróbálásával. A több milliárd kulcsot lehetővé tevő rejtjeleket bonyolultabb módszerekkel lehet feltörni.

Caesar óta számos továbbfejlesztett cifrázó készült. Némelyikben ügyes matematikát alkalmaztak, hogy ellenálljanak az okos rejtjelelemzésnek. A 20. században a számítógépek váltak a kriptográfia fő eszközévé.

Alapfogalmak röviden

  • Egyszerű szavakban: a titkosítandó eredeti üzenetet nevezik nyílt szövegnek (plaintext), a titkosított változatát rejtjelezett szövegnek (ciphertext).
  • Kulcs: egy titok (szám, karakterlánc vagy adat), amely szabályozza a titkosítás és visszafejtés működését. Ugyanaz a módszer különböző kulcsokkal más-más eredményt ad.
  • Visszafejtés: a rejtjelezett szöveg visszaalakítása olvasható nyílt szöveggé a megfelelő kulcs segítségével.
  • Hash (összegző függvény): egyirányú művelet, ami tetszőleges hosszúságú bemenetből rögzített hosszúságú ujjlenyomatot (digest) készít; nem fordítható vissza.

Főbb titkosítási típusok

  • Szimmetrikus (vagy titkos kulcsú) titkosítás: ugyanaz a kulcs használatos titkosításra és visszafejtésre. Gyors, ezért nagy mennyiségű adat titkosítására alkalmas. Példa: AES, ChaCha20.
  • Aszimmetrikus (nyilvános kulcsú) kriptográfia: két kulcs van: egy nyilvános (mindenki tudja) és egy privát (titok). A nyilvánossal titkosítanak, a priváttal visszafejtenek; vagy a priváttal aláírnak, a nyilvánossal ellenőriznek. Példa: RSA, ECC (elliptikus görbe kriptográfia).
  • Hash függvények és MAC-ok: üzenetek integritásának ellenőrzésére szolgálnak. MAC (Message Authentication Code) titkos kulcsot is használ, hash önmagában csak ujjlenyomatot ad. Példa: SHA-2, SHA-3, HMAC.
  • Digitális aláírások: a hitelességet és nem-letihetetlenséget biztosítják (pl. ECDSA, RSA-sig).

Gyakori alkalmazások

  • Biztonságos webkapcsolat: TLS/HTTPS védi az internetes forgalmat (weboldalak, banki műveletek).
  • Elektronikus aláírások és hitelesítés: e-ügyintézés, szoftverfrissítések aláírása.
  • Tárolt adatok védelme: merevlemezek és felhőtárhely titkosítása.
  • Jelszókezelés: jelszavak biztonságos tárolása sózással és erős hash-függvényekkel (pl. Argon2, bcrypt, scrypt).
  • Üzenetküldés: végpontok közötti titkosítás (end-to-end) üzenetküldő alkalmazásokban.

Kriptoanalízis és támadási módok

A kriptoanalízis a titkosítások feltörésének tudománya és gyakorlata. A támadások lehetnek:

  • Brutál erővel (brute force): minden lehetséges kulcs kipróbálása; a kulcsterület mérete (key space) határozza meg a nehézséget — ezért fontos a megfelelő kulcshossz.
  • Ismert szöveg/ismert pár (known-plaintext): ha a támadónak van némi pár nyílt- és rejtjelezett szövege, az segíthet a kulcs visszanyerésében.
  • Választott szöveg/választott rejtjelezett szöveg (chosen-plaintext/ chosen-ciphertext): a támadó képes kiválasztani bemeneteket és elemezni a kimeneteket.
  • Oldalsáv (side-channel) támadások: nem a matematikát, hanem a megvalósítást támadják (időzítés, elektromos zaj, fogyasztás), ezért a biztonságos implementáció is kritikus.
  • Matematikai törések: elméleti áttörések az algoritmus gyengeségeire építve (például egy nem megfelelő paraméterezés vagy új elméleti eredmény).

Például a Caesar-rejtjelezés nagyon kis kulcsteret ad, ezért egyszerűen feltörhető minden lehetséges eltolás kipróbálásával — ezért nem használják modern célokra.

Modern problémák és válaszok

  • Kulcsgazdálkodás: a kriptográfia sokszor csak annyira erős, amennyire a kulcsok kezelése biztonságos. Biztonságos tárolás, rotálás és megsemmisítés szükséges (HSM-ek, kulcstárak).
  • Véletlenség: jó minőségű véletlenszám-generátor (CSPRNG) nélkül a kulcsok kiszámíthatóak lehetnek — ez súlyos biztonsági kockázat.
  • Post-quantum (kvantumellenálló) kriptográfia: a kvantumszámítógépek bizonyos aszimmetrikus algoritmusokat (pl. RSA, ECC) veszélyeztethetnek. A NIST már kiválasztotta az első post-quantum algoritmusokat (pl. Kyber, Dilithium) szabványosításra; a migráció folyamatban van.

Gyakorlati tanácsok — legjobb gyakorlatok

  • Használj bevált, szabványos algoritmusokat és implementációkat, ne találj fel saját titkosító módszereket.
  • Alkalmazz megfelelő kulcshosszokat: például szimmetrikus titkosításhoz legalább 128 bit (AES-128), aszimmetrikusnál az alkalmazástól függően nagyobb paraméterek (RSA 3072+ vagy megfelelő ECC paraméterek) — kövesd a hivatalos irányelveket és frissítéseket.
  • Használj erős jelszókezelést: sózás és erős hash-függvények (Argon2, bcrypt), többtényezős azonosítás (2FA) ahol lehet.
  • Frissítsd a rendszereket és könyvtárakat: sebezhetőségek gyakran a régi, hibás implementációkban találhatók.
  • Biztosítsd a kulcsok megfelelő fizikai és logikai védelmét: HSM, kulcspénztárok, titkosított tárolás.

Összefoglalás

A kriptográfia ma a mindennapi digitális biztonság alapja: adatvédelmet, hitelességet és integritást biztosít. A fejlődés folyamatos — matematikai eredmények, implementációs gyakorlatok és a kvantumszámítástechnika egyaránt hatnak rá — ezért fontos a bevált módszerek követése, a jó kulcsgazdálkodás és a rendszeres frissítések végrehajtása.

20. század eleji rejtjelező kerékZoom
20. század eleji rejtjelező kerék

Szimmetrikus

A szimmetrikus kulcsú algoritmusban az adó és a vevő osztozik a kulcson. A feladó a kulcsot az üzenet elrejtésére használja. Ezután a vevő ugyanazt a kulcsot fordított módon használja az üzenet felfedéséhez. Évszázadok óta a legtöbb kriptográfia szimmetrikus. Az Advanced Encryption Standard széles körben használt. Ez azonban nem tévesztendő össze a szimmetriával.

Aszimmetrikus

Az aszimmetrikus kriptográfiát nehezebb használni. Minden aszimmetrikus kriptográfiát használni kívánó személy egy titkos számot (a "magánkulcsot") használ, amelyet nem osztanak meg, és egy másik számot (a "nyilvános kulcsot"), amelyet mindenkinek elmondhatnak. Ha valaki más üzenetet akar küldeni ennek a személynek, akkor a neki megmondott számot használja az üzenet elrejtéséhez. Most az üzenetet még a feladó sem tudja felfedni, de a címzett a titkos vagy "privát kulcsával" könnyen felfedheti az üzenetet. Így senki másnak nem kell ismernie a titkos kulcsot.

Az aszimmetrikus kriptográfia általában több időt vesz igénybe és több számítógépes teljesítményt igényel, ezért a legtöbbször nem használják. Ehelyett gyakran használják számítógépes aláírásokhoz, amikor a számítógépnek tudnia kell, hogy bizonyos adatokat (például egy fájlt vagy egy weboldalt) egy bizonyos feladótól küldtek. Például azok a számítógépes szoftvercégek, amelyek frissítéseket adnak ki a szoftverükhöz, aláírhatják ezeket a frissítéseket, hogy bizonyítsák, hogy a frissítést ők készítették, így a hackerek nem tudnak saját frissítéseket készíteni, amelyek kárt okoznának. A HTTPS-t használó webhelyek egy népszerű RSA nevű algoritmust használnak tanúsítványok létrehozására, amelyek bizonyítják, hogy a webhely a tulajdonukban van, és hogy az biztonságos. A számítógépek aszimmetrikus titkosításokat is használhatnak, hogy egymásnak átadják a szimmetrikus titkosítások kulcsait.

Számítógépek

A számítógépek gyorsan tudnak számolni. Nagyon erős titkosításra képesek, és a 21. századi kriptográfia nagy része ezeket használja. Ilyen például az RSA, az AES és még sok más számítógépes algoritmus. Az ilyen jó algoritmusok használatával nagyon nehéz lehet elolvasni az elküldött információt.

Emberek

Mivel az emberek lassabbak, mint a számítógépek, az általuk használt kriptográfiát valószínűleg fel lehet törni, ha a módosítás titkos módját eléggé ismerik.

A kriptográfia egyszerű, gépek nélkül is elvégezhető formái a Caesar-kódok és a transzpozíciós kódok, de sok más fajtát is használtak már a számítógépek használata előtt.

Kérdések és válaszok

K: Mi az a kriptográfia?


V: A kriptográfia vagy kriptológia az információ elrejtésének gyakorlata és tanulmányozása. A matematika, az informatika és az elektrotechnika keverékét foglalja magában az információk titokban és biztonságban tartása érdekében.

K: Hogyan használják a kriptográfiát?


V: A kriptográfiát használják a bankkártyáknál, a számítógépes jelszavaknál és az internetes vásárlásnál. Amikor egy üzenetet kriptográfia segítségével küldenek, az üzenet az elküldés előtt megváltozik (vagy titkosítva lesz).

K: Mit jelent a szöveg megváltoztatása kriptográfiával?


V: A szöveg kriptográfiával történő megváltoztatása egy "kód" vagy "rejtjel" használatát jelenti. A megváltoztatott szöveget "rejtjelezett szövegnek" nevezzük. Ezáltal az üzenet nehezen olvashatóvá válik, így valakinek vissza kell azt változtatnia (vagy visszafejtenie).

K: Hogy hívják a rejtjelszöveg tanulmányozását a titok felfedezéséhez?


V: A titok felfedezése érdekében a rejtjelszöveg tanulmányozását "kriptoanalízisnek" vagy "feltörésnek", néha "kódfeltörésnek" nevezik.

K: Milyen típusú kulcsot használnak a rejtjelezők?


V: A rejtjelezők "kulcsot" használnak, amely egy titok, amely elrejti a titkos üzeneteket.

K: Hány kulcsa van a Caesar-féle rejtjelezésnek?


V: A Caesar-féle rejtjelezésnek csak annyi kulcsa van, ahány betű van az ábécében, így az összes lehetséges kulcs kipróbálásával könnyen feltörhető.

K: Hogyan kerültek a számítógépek a 20. században a kriptográfiába?


V: A 20. században a számítógépek a kriptográfia fontos eszközévé váltak, mert lehetővé tették a rejtjelek feltörésének bonyolultabb módszereit, amelyek több milliárd kulcsot tesznek lehetővé.


Keres
AlegsaOnline.com - 2020 / 2025 - License CC3