A rejtjelezett szöveg az egyszerű szövegből egy titkosítási algoritmus segítségével átalakított titkosított szöveg. A rejtjelezett szöveg addig nem olvasható, amíg egy kulcs segítségével át nem alakították egyszerű szöveggé (dekódolták). A dekódoló rejtjelező olyan algoritmus, amely a rejtjelezett szöveget visszaalakítja egyszerű szöveggé.
A rejtjelező kifejezést néha a rejtjelezett szöveg szinonimájaként használják. Ez azonban inkább a titkosítás módszerére utal, mint az eredményre.
A rejtjelek típusai
A rejtjeleknek különböző típusai vannak, többek között:
- Helyettesítő rejtjelek. A nyílt szövegben lévő biteket, karaktereket vagy karakterblokkokat alternatív bitekkel, karakterekkel vagy karakterblokkokkal helyettesítik a rejtjelezett szöveg előállítása érdekében. A helyettesítő rejtjelezés lehet monoalfabetikus vagy polialfabetikus:
- Egyetlen ábécét használnak a teljes nyílt szövegű üzenet titkosítására. Ha például az A betűt K betűként kódoljuk, akkor ez a teljes üzenetre is érvényes lesz.
- Egy összetettebb helyettesítés, amely vegyes ábécét használ a tisztán szöveges üzenet minden egyes bitjének, karakterének vagy karakterblokkjának titkosítására. Például az A betűt az üzenet egy részében K betűként kódolhatjuk, de később W betűként kódolhatjuk.
- Transzpozíciós kódolás. A helyettesítési kódokkal ellentétben, amelyek a betűket más betűkkel helyettesítik, a transzpozíciós kódok a betűket változatlanul hagyják, de sorrendjüket egy meghatározott algoritmus szerint átrendezik. Például egy egyszerű oszlopos transzpozíciós rejtjelezőben az üzenetet vízszintesen olvashatjuk, de a rejtjelezett szöveg előállításához függőlegesen kell írni.
- Poligrafikus rejtjelezők. A poligráfiai rejtjelezés egy betűt egy másik betűvel helyettesítve két vagy több betűcsoporttal hajt végre helyettesítést. Ez elrejti a betűk gyakorisági eloszlását, ami jelentősen megnehezíti a gyakorisági elemző támadásokat.
- Permutációs rejtjelek. Ebben a rejtjelezésben a nyílt szöveg által elfoglalt pozíciókat egy szabályos rendszerben eltolják úgy, hogy a rejtjelezett szöveg a nyílt szöveg permutációját képezze.
- Magánkulcsos rejtjelezés. Ebben a rejtjelezésben a küldőnek és a címzettnek rendelkeznie kell egy előre megosztott kulccsal. A megosztott kulcsot minden más fél előtt titokban tartják, és a titkosításhoz, valamint a visszafejtéshez használják. Ezt a kriptográfiát “szimmetrikus kulcsú algoritmusnak” is nevezik.”
- Nyilvános kulcsú kriptográfia. Ebben a rejtjelezésben két különböző kulcsot — nyilvános kulcsot és magánkulcsot — használnak a titkosításhoz és a visszafejtéshez. A küldő a nyilvános kulcsot használja a titkosításhoz, de a privát kulcsot titokban tartja a címzett előtt. Ezt “aszimmetrikus kulcsú algoritmusnak” is nevezik.”
A rejtjelezés felhasználása
A szimmetrikus rejtjelezéseket, amelyeket jellemzően az online kommunikáció biztosítására használnak, számos különböző hálózati protokollba építenek be, hogy az adatcserék titkosítására használják. A Transport Layer Security például az alkalmazási réteg adatainak titkosítására használ titkosításokat.
A távmunkásokat vagy távoli fióktelepeket a vállalati hálózatokba bekötő virtuális magánhálózatok szimmetrikus titkosításokat tartalmazó protokollokat használnak az adatkommunikáció védelmére. A szimmetrikus titkosítók védik az adatvédelmet a legtöbb Wi-Fi hálózatban, az online bankolásban, az e-kereskedelmi szolgáltatásokban és a mobiltelefonálásban.
Más protokollok, köztük a Secure Shell, az OpenPGP és a Secure/Multipurpose Internet Mail Extensions aszimmetrikus titkosítást használnak a végpontok titkosítására és hitelesítésére, de a szimmetrikus kulcsok biztonságos cseréjére is a munkamenetadatok titkosításához. Teljesítőképességi okokból a protokollok gyakran támaszkodnak a munkamenetadatok titkosítására.
Rejtjelszöveges támadások
Az ismert rejtjelszöveges támadás vagy csak rejtjelszöveges támadás (COA) a kriptoanalízisben használt támadási módszer, amikor a támadónak hozzáférése van egy adott rejtjelszövegkészlethez. Ennél a módszernél azonban a támadó nem fér hozzá a megfelelő tiszta szöveghez, azaz a titkosítatlanul továbbított vagy tárolt adatokhoz. A COA akkor sikeres, ha a megfelelő tiszta szöveg meghatározható egy adott rejtjelezett szövegkészletből. Néha a rejtjelezett szöveg titkosításához használt kulcs is meghatározható ebből a támadásból.
A kiválasztott rejtjelezett szöveg támadásban (CCA) a támadó ráveheti az áldozatot (aki ismeri a titkos kulcsot), hogy bármely rejtjelezett szöveget dekódoljon, és az eredményt küldje vissza. A támadó a választott rejtjelezett szöveg és a kapott megfelelő nyílt szöveg elemzésével megpróbálja kitalálni az áldozat által használt titkos kulcsot. A CCA célja olyan információk megszerzése, amelyek csökkentik a titkosítási séma biztonságát.
A rokonkulcsos támadás a kriptoanalízis bármely formája, ahol a támadó megfigyelheti egy titkosító működését több különböző kulcs alatt, amelyek értékeit a támadó kezdetben nem ismeri. A kulcsokat azonban valamilyen matematikai összefüggés köti össze, amelyet a támadó ismer.
Cifraszöveg példa
A legkorábbi és legegyszerűbb rejtjelek egyike a Caesar-rejtjelezés, amely szimmetrikus kulcsú algoritmust használ. A kulcs két (vagy több) fél között megosztott titokként működik, amely olyan titkos információ küldésére használható, amelyet a kulcs másolata nélkül senki sem olvashat el.
A Caesar-kód egy olyan helyettesítő kódolás, amelyben a nyílt szöveg minden egyes betűje az ábécében bizonyos számú helyet “eltolódik”. Például egy 1-es eltolással az A betűből B lenne, a B-t C-vel helyettesítené, stb. A módszer Julius Caesarról kapta a nevét, aki állítólag ezt használta a tábornokaival való kommunikációra.
Itt egy példa a Caesar-féle rejtjelezés titkosítási és dekódolási lépéseire. A titkosítandó szöveg: “védd meg a vár keleti falát”, 1-es eltolással (kulcs).
- Szöveg: védd meg a vár keleti falát
- Szöveg: efgfoe uif fbtu xbmm pg uif dbtumf