Ugrás a tartalomhoz

stream cipher

A Wikiszótárból, a nyitott szótárból


Főnév

stream cipher (tsz. stream ciphers)

  1. (informatika) A adatfolyam-rejtjelezés (stream cipher) egy olyan szimmetrikus titkosítási módszer, amely az adatokat egyesével, bitenként vagy bájtonként titkosítja, nem pedig blokkokban, mint a block cipher. Lényege, hogy egy kulcsalapú pszeudovéletlen bájtsorozatot (kulcsfolyamot) generál, amelyet az üzenet minden elemével (általában XOR művelettel) kombinálva hozza létre a titkosított adatot.

Ez a típusú titkosítás különösen előnyös valós idejű kommunikációban, például hang- vagy videóátvitelben, ahol a sebesség és alacsony késleltetés kiemelten fontos.



🧠 Mi az a stream cipher?

A stream cipher egy szimmetrikus kulcsú titkosítási algoritmus, amely: - egy kulcsból és indítóértékből (IV) kiindulva - egy pszeudovéletlen bitsorozatot (kulcsfolyamot) generál, - majd ezt bitenként vagy bájtonként kombinálja az üzenettel (általában XOR segítségével), - és így áll elő a titkosított adat.



🔁 Hogyan működik?

  1. Kulcs + IV → Pszeudovéletlen bájtsorozat generálása.
  2. Az üzenet minden bitjét vagy bájtját XOR-olják a megfelelő kulcsbit/bájt értékkel.
  3. Az eredmény: titkosított adat.
  4. A visszafejtéshez ugyanazt a kulcsfolyamot használjuk, és ismét XOR-ozunk.

Mivel a XOR b XOR b = a, a művelet reverzibilis, ha ugyanaz a kulcsfolyam áll rendelkezésre.



🧩 Alkalmazási példa (elvi szinten)

  • Kulcsfolyam: K = 10101100
  • Eredeti szöveg: M = 01010101
  • Titkosított adat: C = M ⊕ K = 11111001

Visszafejtés: - C ⊕ K = M



🔐 Előnyei a stream ciphernek

Előny Magyarázat
Gyors, alacsony késleltetés Nincs szükség blokkok előállítására
Hatékony valós idejű adatoknál Voice over IP, videó stream
Kisebb erőforrásigény Mobil, beágyazott rendszerekben előnyös
Bármilyen hosszú adatot kezel Nem kell padding



📦 Népszerű stream cipher algoritmusok

Algoritmus Jellemzők
RC4 Klasszikus, de elavult, sebezhető
Salsa20 / ChaCha20 Modern, gyors, erős biztonság
Grain Hardverbarát, kis méretű
Rabbit Estream projekt egyik döntőse
MICKEY Szintén alacsony energiaigényű eszközökre



⚠️ RC4 – a tanulság

  • Sokáig az egyik legnépszerűbb stream cipher volt (pl. WEP, SSL).
  • De gyenge kulcsmenedzsment, kulcsújrahasználás, és ismétlődő minták miatt sebezhetővé vált.
  • Ma már nem ajánlott a használata.



🧪 Modern alternatíva: ChaCha20

  • Biztonságos és gyorsabb, mint AES sok szoftveres környezetben.
  • 256 bites kulcsot és 96 bites nonce-ot használ.
  • Kombinálható Poly1305-tel hitelesítéshez: ChaCha20-Poly1305 – modern AEAD megoldás (pl. TLS 1.3, WireGuard VPN, OpenSSH használja).



🛡️ Védelem – mitől biztonságos egy stream cipher?

  1. Egyszeri kulcsfolyam használat – sose használd ugyanazt a kulcsot kétszer!
  2. Erős PRNG (pszeudorandom generátor) – a kulcsfolyam nem ismétlődhet, ne legyen kiszámítható.
  3. Megbízható kulcskezelés – ha a kulcs kompromittálódik, minden elveszik.



📉 Mi történik, ha újrahasználják a kulcsfolyamot?

Két üzenet:

  • M1 ⊕ K = C1
  • M2 ⊕ K = C2

Ha C1 ⊕ C2 = M1 ⊕ M2, a támadó ki tudja számítani a két eredeti üzenet XOR-ját, ami sok esetben visszafejthető, főleg ha az egyik ismert vagy ismétlődő mintákat tartalmaz.

Ez a hiba a WEP (Wired Equivalent Privacy) protokoll végét is jelentette.



🔄 Stream cipher vs Block cipher

Tulajdonság Stream cipher Block cipher
Adatfeldolgozás Bit/bájt alapon Blokk (pl. 128 bit)
Padding szükséges? Nem Igen, ha nem teljes a blokk
Sebesség Gyorsabb valós idejű adatnál Optimalizált nagy mennyiséghez
Használat VoIP, VPN, rádió HTTPS, fájl, lemeztitkosítás
Tipikus algoritmus ChaCha20 AES



🔐 AEAD és stream cipher

  • A stream cipher önmagában nem biztosít integritást.
  • Ezért kombinálják hitelesítési algoritmusokkal, pl.:
    • ChaCha20 + Poly1305
    • Salsa20 + UMAC

Így jön létre az AEAD (Authenticated Encryption with Associated Data), ami titkosít és hitelesít is egyszerre.



📚 Használati területek

Alkalmazás Algoritmus
VPN (WireGuard) ChaCha20
Web (TLS 1.3) ChaCha20-Poly1305
Üzenetküldés (Signal, WhatsApp) Double Ratchet + ChaCha20
Beágyazott rendszerek Grain, MICKEY
WEP (elavult) RC4



⚠️ Tipikus sebezhetőségek

Hiba Következmény
Kulcs újrahasználata C1 ⊕ C2 → üzenetek kapcsolatban
Ismétlődő nonce Kulcsfolyam újrahasznosul, támadás lehetséges
Gyenge PRNG Kulcsfolyam kiszámítható
Hiányzó hitelesítés Forgalom manipulálható, hamis üzenetek küldhetők



🧠 Összefoglalás

Fogalom Jelentés
Stream cipher Bitenként vagy bájtonként történő szimmetrikus titkosítás
Kulcsfolyam Pseudo-véletlen bájtsorozat, XOR-olják az üzenettel
Előny Gyors, alacsony késleltetés, padding nélküli
Hátrány Kulcs újrahasználata végzetes lehet, nincs integritás
Modern algoritmus ChaCha20 (gyors, biztonságos, AEAD-kompatibilis)
Felhasználás VPN, VoIP, rádiókommunikáció, mobileszközök
Védelem Erős kulcskezelés, nonce, AEAD használat



A stream cipher tehát kulcsfontosságú ott, ahol gyors és kis méretű titkosításra van szükség. Bár a block cipher az ipari szabvány fájl- és adatbázis-titkosításra, a stream cipher az élő adatfolyamok védelmében verhetetlen.