public-key cryptography
Főnév
public-key cryptography (tsz. public-key cryptographies)
A nyilvános kulcsú kriptográfia (angolul: public-key cryptography, más néven aszimmetrikus titkosítás) egy olyan kriptográfiai módszer, amelyben a titkosításhoz és a visszafejtéshez külön kulcsokat használnak: egy nyilvános kulcsot (public key), amit bárki ismerhet, és egy magánkulcsot (private key), amit csak a tulajdonosa ismer.
Ez a módszer forradalmasította a modern informatikát, különösen az internetes kommunikációt és a biztonságos adatcserét, hiszen lehetővé teszi, hogy a felek előzetes kulcscsere nélkül titkosan kommunikáljanak egymással.
🧠 Alapelvek
A nyilvános kulcsú titkosítás két fő műveleten alapul:
- Titkosítás:
- A nyilvános kulccsal titkosítjuk az adatot.
- Csak a hozzá tartozó privát kulccsal lehet visszafejteni.
- Digitális aláírás:
- A privát kulccsal aláírjuk az adatot.
- Bárki ellenőrizheti az aláírást a nyilvános kulccsal.
🔐 A kulcspár
| Kulcs | Funkció |
|---|---|
| Nyilvános kulcs | Bárki számára elérhető, titkosításhoz vagy ellenőrzéshez használható |
| Privát kulcs | Titokban tartandó, visszafejtéshez vagy aláíráshoz használható |
A két kulcs matematikailag összefügg, de az egyikből a másik kiszámítása gyakorlatilag lehetetlen (nagy számelméleti problémák miatt, pl. prímtényezős felbontás).
🛠️ Hogyan működik?
Titkosítás:
- Alice szeretne üzenetet küldeni Bobnak.
- Alice Bob nyilvános kulcsával titkosítja az üzenetet.
- Bob a saját privát kulcsával visszafejti.
Digitális aláírás:
- Bob alá akar írni egy dokumentumot.
- Bob a privát kulcsával aláírja.
- Bárki ellenőrizheti a hitelességet Bob nyilvános kulcsával.
📦 Példák algoritmusokra
| Algoritmus | Leírás |
|---|---|
| RSA | Klasszikus, elterjedt algoritmus, nagy prímszámokra épül |
| DSA | Digitális aláírás algoritmus |
| Diffie-Hellman | Kulcscsere, nem titkosításra használják |
| Elliptikus görbe (ECC) | Gyorsabb, kisebb kulcsokat igénylő modern alternatíva |
| ElGamal | Biztonságos és ritkábban használt |
🧪 RSA példa egyszerűsítve
- Válassz két nagy prímszámot:
p = 61,q = 53 - Számold ki:
n = p × q = 3233 - Számold ki:
φ(n) = (p−1)(q−1) = 3120 - Válassz
e = 17(publikus kulcs része) - Számold ki a privát kulcsot:
d = e⁻¹ mod φ(n)→d = 2753
Így: - Nyilvános kulcs = (e=17, n=3233) - Privát kulcs = (d=2753, n=3233)
🔐 Mire használjuk a nyilvános kulcsú titkosítást?
1. Biztonságos kommunikáció (pl. HTTPS)
- Böngésződ lekéri a szerver tanúsítványát (ami tartalmazza a nyilvános kulcsot).
- Az adatokat ezzel titkosítva küldi el.
- Csak a szerver tudja visszafejteni a saját privát kulcsával.
2. Digitális aláírás
- Email, dokumentumok, programok hitelesítése.
- Aláíró fél garantálja az eredetiséget, sértetlenséget.
3. Tanúsítványok és PKI (Public Key Infrastructure)
- Hitelesítési rendszer, ahol megbízható harmadik felek (CA-k) garantálják, hogy egy adott nyilvános kulcs valóban egy adott szervezethez tartozik.
4. SSH (Secure Shell)
- A nyilvános kulcsot feltöltöd a szerverre.
- Privát kulccsal be tudsz jelentkezni – nincs szükség jelszóra.
🧩 Előnyök
| Előny | Magyarázat |
|---|---|
| Nincs szükség előzetes kulcscserére | Bárki titkosíthat egy nyilvános kulccsal |
| Skálázható nagy rendszerekben | Nem kell minden párnak külön kulcs |
| Digitális aláírás lehetősége | Integritás + hitelesítés biztosítható |
| Alapja az internet biztonságának | HTTPS, e-mail, VPN, titkosításos alkalmazások |
⚠️ Hátrányok
| Hátrány | Miért probléma |
|---|---|
| Lassabb, mint szimmetrikus titkosítás | Nagy számításigényű műveletek |
| Nagyobb kulcsméret kell ugyanazon biztonsághoz | RSA 2048 = AES 128 |
| Privát kulcs elvesztése végzetes | Visszafejtés lehetetlenné válik |
| Privát kulcs kompromittálása súlyos kockázat | Bárki visszafejtheti az adatokat |
🔐 Hybrid titkosítás – kombinált megoldás
A legtöbb modern rendszer (pl. HTTPS) nem csak nyilvános kulcsú, hanem hibrid titkosítást alkalmaz:
- A kliens nyilvános kulccsal titkosít egy szimmetrikus kulcsot (pl. AES).
- Ezt elküldi a szervernek.
- A további kommunikáció már gyorsabb, szimmetrikus kulccsal történik.
Ezáltal a biztonság és a sebesség kombinálódik.
🛡️ PKI – Public Key Infrastructure
A nyilvános kulcsok hitelesítésére szolgáló infrastruktúra:
- CA (Certificate Authority): Hitelesítik a kulcsokat (pl. Let’s Encrypt, DigiCert).
- Tanúsítvány (X.509): Tartalmazza a nyilvános kulcsot és a tulajdonos adatait.
- CRL / OCSP: Lejárt vagy visszavont tanúsítványok listája.
🧠 Összefoglalás
| Fogalom | Magyarázat |
|---|---|
| Public-key cryptography | Kétkulcsos titkosítás: nyilvános kulcs titkosít, privát kulcs visszafejt |
| Cél | Biztonságos kommunikáció, hitelesítés, aláírás |
| Kulcspár | Public key (nyilvános), private key (titkos) |
| Algoritmusok | RSA, ECC, DSA, ElGamal |
| Használat | HTTPS, e-mail, SSH, tanúsítványok |
| Előny | Biztonság előzetes kulcscsere nélkül |
| Hátrány | Lassabb, nagyobb kulcsméret, érzékeny a privát kulcs védelmére |
| PKI | Infrastruktúra a nyilvános kulcsok megbízhatóságának biztosítására |
A nyilvános kulcsú kriptográfia az információs társadalom biztonsági gerince. Nélküle nem lenne biztonságos online vásárlás, bankolás, csevegés vagy akár VPN-használat sem.
- public-key cryptography - Szótár.net (en-hu)
- public-key cryptography - Sztaki (en-hu)
- public-key cryptography - Merriam–Webster
- public-key cryptography - Cambridge
- public-key cryptography - WordNet
- public-key cryptography - Яндекс (en-ru)
- public-key cryptography - Google (en-hu)
- public-key cryptography - Wikidata
- public-key cryptography - Wikipédia (angol)