Bevezetés a nyilvános kulcsú titkosításba
A nyilvános kulcs titkosítását aszimmetrikus kulcs titkosításnak is nevezik. Mivel a név maga aszimmetrikus kulcsot mond, két különféle kulcsot használunk a nyilvános kulcs titkosításához. Az egyik kulcsot a titkosítási folyamathoz, a másik kulcsot a dekódolási folyamathoz használják. Miután a kulcs titkosításra és dekódolásra került, más kulcsot nem fog használni. E két kulcs közül az egyiket nyilvános kulcsnak, a másik kulcsát pedig privát kulcsnak nevezik.
Tegyük fel, hogy szeretne kommunikálni a barátokkal az interneten keresztül, és a biztonságos kommunikáció elindításához mind nyilvános, mind magánkulcsot kell szereznie. A privát kulcs egy titkos kulcs, ezt titokban kell tartani. Ha a privát kulcsot egy másik fél rendelkezésére bocsátják, fennáll a támadás esélye a harmadik fél révén.
Tegyük fel, hogy X biztonságosan szeretne kommunikálni Y-vel, akkor mind X-nek, mind Y-nek nyilvános és magánkulccsal kell rendelkeznie.
- X-nek titokban kell tartania a magánkulcsát.
- X-nek tájékoztatnia kell nyilvános kulcsát Y-ről.
- Titokban kell tartania a magánkulcsát.
- Y-nak értesítenie kell X nyilvános kulcsát.
Hogyan működik a nyilvános kulcsú titkosítás?
A nyilvános kulcsú titkosítás működését az alábbiakban ismertetjük:
1. eset
Amikor X kommunikálni akar Y-val, X az Y nyilvános kulcsával titkosítja az üzenetet, ez lehetséges, mert Y megosztja nyilvános kulcsát X-el.
- X a titkosított üzenetet küld Y-nek.
- Y megkapja az üzenetet X-től.
- Y visszafejti az üzenetet, azaz a Y privát kulcsával.
Megjegyzés: Csak Y tudja, hogy a személyes kulcsa és üzenete visszafejteni tudja Y titkos kulcsát. Ennek előnye, hogy a fél nem tudja visszafejteni az üzenetet, mert nem ismeri az Y privát kulcsát. Csak Y privát kulcsa tudja visszafejteni az üzenetet.
2. eset
Amikor Y kommunikálni akar X-kel, Y használja az X nyilvános kulcsát az üzenet titkosításához. Ez azért lehetséges, mert X megosztja nyilvános kulcsát Y-val.
- Y elküldi a titkosított üzenetet az X-nek.
- X megkapja az üzenetet Y-től
- X visszafejti az üzenetet, azaz X magánkulcsával.
Alkatrészek
Az alábbiakban bemutatjuk a nyilvános kulcsú titkosítás összetevőit:
- Sima szöveg: Az olvasható formátumú és bárki számára érthető szöveget egyszerű szövegnek hívják. A sima szöveget használják a titkosítási folyamat bemeneteként.
- Ciphertext: Ezt a szöveget titkosításnak nevezzük, amely a titkosítási algoritmus segítségével olvashatatlan formátumba konvertálható nem olvasható formátumban. A rejtjel szövege a titkosítási folyamat kimenete. Nem olvasható formátumban van, és senki sem érti meg.
- Nyilvános kulcs: A kulcs, amely mindenki számára ismert, nyilvános kulcsként is ismert. A nyilvános kulcsot általában a feladó oldalán található titkosítási folyamathoz használják.
- Privát kulcs: A kulcs, amelyet mindenki nem tud, és amelyet titokban tartanak, magánkulcsként is ismert. A privát kulcsot a vevőoldal dekódolási folyamatához használják.
- Titkosítási algoritmus: A sima szöveg titkosításra konvertálására használt algoritmus titkosítási algoritmusként ismert.
- Dekódolási algoritmus: A rejtjelszöveg egyszerű szöveggé konvertálására használt algoritmus dekódolási algoritmusként ismert.
Nyilvános kulcsú titkosítási algoritmusok
Az alábbiakban bemutatjuk a nyilvános kulcsú titkosítás algoritmusait.
RSA algoritmus
Az RSA a legnépszerűbb nyilvános kulcsú titkosítási algoritmus. Az RSA algoritmus azon a matematikai számításon alapszik, amelyben nagy prímszámot azonosítottak és megszorozni könnyű, de nehéz tényezőt bevezetni. Az RSA-ban használt privát és nyilvános kulcsok nagy prímszámok.
Az RSA algoritmusok lépései:
- Válasszon két nagy prímszámot X és Y.
- Számítsa ki a terméket N = X * Y.
- Válassza ki az E nyilvános kulcsot úgy, hogy az ne legyen (X - 1) és (Y - 1) tényező.
- Válassza ki a D magánkulcsot úgy, hogy a következő egyenlet valóra váljon.
- (D * E) mod (X - 1) * (Y - 1) = 1
- A titkosításhoz számítsuk ki a CT-t, mint CT = PT E mod N.
- Küldje el a CT-t a vevőnek.
- A dekódoláshoz számítsuk a PT-t PT = CT D mod N értékre.
ElGamal kriptográfia algoritmus
Az ElGamal egy másik népszerű nyilvános kulcsú titkosítási algoritmus.
ElGamal kulcsgeneráció:
- Válassza ki a P nagy prímszámát nyilvános kulcsként, a Q pedig privát kulcsként.
- Válassza ki a második titkosítási kulcsot mint E1.
- Válassza ki a harmadik titkosítási kulcsot E2-ként úgy, hogy E2 = E Q mod P ElGamal-kulcs titkosítás.
- Válasszon R véletlenszámot
- Számítsa ki a rejtjelezhetõ szöveget CT = E1 R mod P formátumban.
- Számítsa ki a második Cipher szöveg CT2 = (PT * E2 R) mod P ElGamal kulcs visszafejtését
- Számítsuk ki az egyszerű szöveget PT = (CT2 * (CT Q) - 1) mod P-ként.
Ajánlott cikkek
Ez egy útmutató a nyilvános kulcsú titkosításhoz. Itt tárgyaljuk a nyilvános kulcsú titkosítást, annak alkotóelemeit és működését, valamint példákat. A következő cikkeket is megnézheti további információkért -
- Mit tehet a szimmetrikus kulcs titkosítással?
- Kriptográfia vs titkosítás
- Szimmetrikus algoritmusok típusai
- A Dropbox legfontosabb jellemzői