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.
Megjegyzés: Az RSA algoritmusban a nyilvános kulcs és a privát kulcs kiválasztása és előállítása kritikus feladat.

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 -

  1. Mit tehet a szimmetrikus kulcs titkosítással?
  2. Kriptográfia vs titkosítás
  3. Szimmetrikus algoritmusok típusai
  4. A Dropbox legfontosabb jellemzői

Kategória: