block cipher
Főnév
block cipher (tsz. block ciphers)
- (informatika) A blokk rejtjelezés (block cipher) a kriptográfia egyik legalapvetőbb és legszélesebb körben használt módszere, amelyet adatbiztonságra, titkosításra alkalmaznak. Lényege, hogy rögzített méretű adatblokkokat (pl. 64 vagy 128 bit) titkosít egy adott kulccsal. Ez az ellentéte a folyamrejtjelezésnek (stream cipher), amely biteken vagy bájtokon dolgozik sorban.
A blokk rejtjelezés minden modern titkosítási rendszer alapját képezi, beleértve az AES-t (Advanced Encryption Standard), DES-t, Triple DES-t, és még sok más algoritmust.
🧠 Alapelvek
Mi az a blokk rejtjelezés?
- Egy algoritmus, amely fix méretű adatblokkokat (pl. 128 bit) titkosít.
- Minden blokkot egy kriptográfiai kulcs és az algoritmus szabályai alapján dolgoz fel.
- Az eredmény ugyanakkora hosszúságú titkosított blokk.
🔄 Működési elv
- A bemeneti adathalmazt felosztják fix méretű blokkokra (pl. 128 bites blokkokra).
- Minden blokkot külön-külön titkosítanak a kiválasztott algoritmus és kulcs alapján.
- Ha a végső blokk nem elég hosszú, kitöltést (padding) alkalmaznak.
🔐 Alkalmazott algoritmusok
| Algoritmus | Blokk méret | Kulcs méret | Megjegyzés |
|---|---|---|---|
| DES (Data Encryption Standard) | 64 bit | 56 bit | Elavult, gyenge |
| 3DES (Triple DES) | 64 bit | 112/168 bit | Lassú, de biztonságosabb |
| AES (Advanced Encryption Standard) | 128 bit | 128/192/256 bit | Ipari szabvány |
| Blowfish | 64 bit | 32–448 bit | Gyors, szabadon használható |
| Twofish | 128 bit | 128–256 bit | AES döntős volt |
| Camellia | 128 bit | 128–256 bit | Japán AES alternatíva |
🧪 Példa – AES működése
- Az AES fixen 128 bites blokkokkal dolgozik.
- A titkosítás során több körös transzformáció (pl. SubBytes, ShiftRows, MixColumns, AddRoundKey) történik.
- A kulcs hosszától függ a körök száma:
- 10 kör – 128 bites kulcs
- 12 kör – 192 bites kulcs
- 14 kör – 256 bites kulcs
🔁 Blokk rejtjelezési módok (block cipher modes of operation)
Mivel a blokk rejtjelezés csak egy blokkot képes kezelni egyszerre, különböző módokat dolgoztak ki a több blokk titkosítására:
| Mód | Teljes név | Jellemzők |
|---|---|---|
| ECB | Electronic Codebook | Egyszerű, de nem biztonságos (ismétlődő minták megmaradnak) |
| CBC | Cipher Block Chaining | Minden blokk függ az előzőtől, IV szükséges |
| CFB | Cipher Feedback | Folyamként működik, kisebb késleltetés |
| OFB | Output Feedback | Hasonló a CFB-hez, de előre kiszámítható kimenet |
| CTR | Counter Mode | Minden blokkhoz egy számlálót használ, gyors és párhuzamosítható |
| GCM | Galois/Counter Mode | Titkosítás + hitelesítés (AEAD – authenticated encryption) |
🧩 Példa – CBC mód működése
- Minden blokkhoz hozzáadódik az előző titkosított blokk (XOR).
- Az első blokkhoz egy véletlenszerű kezdőérték (IV) kerül.
- Ez biztosítja, hogy ugyanaz az üzenet ne adjon ugyanazt a titkosított kimenetet kétszer.
📦 Padding – mi van, ha a szöveg nem tökéletesen illeszkedik?
A blokkokhoz néha kitöltést (padding) alkalmaznak, például ha a szöveg nem osztható pontosan a blokk méretével.
Gyakori padding szabvány: PKCS#7
Példa: - Blokkméret = 16 byte - Szöveg = 13 byte → 3 byte hiányzik → 3 darab 0x03 értéket adunk hozzá
🔐 Előnyök
| Előny | Miért jó? |
|---|---|
| Nagyobb biztonság | Jól implementált algoritmusok törhetetlenek a gyakorlatban |
| Szimmetrikus | Ugyanazzal a kulccsal titkosítunk és visszafejtünk |
| Gyors | AES például hardveresen is gyorsítható |
| Alkalmas nagy adatmennyiséghez | Nagyobb fájlok, adatbázisok, VPN-forgalom |
⚠️ Hátrányok
| Hátrány | Miért gond? |
|---|---|
| Szimmetrikus kulcskezelés nehézsége | Mindkét félnek ismernie kell a kulcsot |
| Támadások ECB mód ellen | Ismétlődő minták nyomot hagynak |
| Padding támadások | Rosszul implementált padding érzékeny lehet |
🛡️ Védekezés – jó gyakorlatok
- Ne használd ECB módot éles környezetben.
- Használj véletlenszerű IV-t (initialization vector) CBC vagy CTR módban.
- Használj GCM módot vagy külön MAC-et (pl. HMAC) a hitelesítéshez.
- Mindig ellenőrizd a paddinget, hogy ne legyen támadható.
📚 Használati területek
| Terület | Funkció |
|---|---|
| HTTPS, TLS | AES-GCM a TLS 1.2/1.3 protokollban |
| VPN-ek (pl. IPSec) | Titkosított IP forgalom AES-sel vagy 3DES-sel |
| Fájl- és lemeztitkosítás | VeraCrypt, BitLocker, FileVault AES-t használ |
| Üzenettitkosítás | Signal, WhatsApp (AES + public-key kombináció) |
| Adatbázis-titkosítás | Transparent Data Encryption (TDE) |
🔐 AES vs 3DES vs Blowfish
| Algoritmus | Előnyök | Hátrányok |
|---|---|---|
| AES | Nagyon gyors, biztonságos, hardveres támogatás | Kulcskezelés szimmetrikus |
| 3DES | Háromszorosan biztonságosabb DES | Lassú, elavult, 64 bites blokk |
| Blowfish | Ingyenes, gyors | Nem ideális hosszú adatfolyamokhoz, 64 bites blokk |
🧠 Összefoglalás
| Fogalom | Jelentés |
|---|---|
| Block cipher | Fix méretű adatblokkokat titkosító algoritmus |
| Példák | AES, DES, 3DES, Blowfish, Camellia |
| Módok | ECB, CBC, CTR, GCM stb. |
| Használat | VPN, HTTPS, fájltitkosítás, üzenetek |
| Előny | Gyors, stabil, széleskörűen támogatott |
| Hátrány | Kulcskezelés, padding problémák, rossz módválasztás |
A block cipher az egyik legfontosabb eszköz a modern adatbiztonságban. A titkosított kommunikáció, fájlrendszerek, VPN-ek, mobilalkalmazások mind ezen alapulnak.
- block cipher - Szótár.net (en-hu)
- block cipher - Sztaki (en-hu)
- block cipher - Merriam–Webster
- block cipher - Cambridge
- block cipher - WordNet
- block cipher - Яндекс (en-ru)
- block cipher - Google (en-hu)
- block cipher - Wikidata
- block cipher - Wikipédia (angol)