Bevezetés a digitális aláírás titkosításhoz

A digitális aláírás egy kriptográfiai matematikai technika az adatok integritásának és biztonságának igazolására. A digitális aláírás a kriptográfia segítségével megszünteti a megszemélyesítés és a digitális manipuláció valós problémáit. Valós szavakkal megosztani a bizalmas információkat és biztosítani a bizonyítékok eredetét, az elektronikus dokumentum állapotát. A kriptográfia digitális aláírása nyilvános / magánkulcs-rendszert használ. A kulcsokat véletlenszerű hexadecimális számban ábrázoltuk. Rejtjeles digitális aláírás létrehozásához az aláírandó adatok egyirányú kivonása. A titkos kulcs titkosításával a hash titkosításra kerül.

A digitális aláírás rejtjelezése két kulcsfontosságú kifejezéssel lehetséges:

  1. Privát kulcs
  2. Nyilvános kulcs

Privát kulcs : A számlatulajdonos rendelkezik olyan kulccsal, amely véletlenszerű hexadecimális szám. A privát kulcs bizalmas lesz a számlatulajdonos számára, ahelyett, hogy a valós helyzetbe kerülne

Nyilvános kulcs : véletlenszerű hexadecimális szám, amelyet nyilvánosan megosztanak. A nyilvános kriptográfiai digitális aláírás létrehozásához az üzenetet először digitálisan aláírják, majd titkosítják a feladó privát kulcsával és a fogadó nyilvános kulcsával. A feladó és a fogadó között megosztott üzenetek visszafejtéséhez a címzettnek vissza kell dekódolnia az információ belső rétegét a feladó nyilvános kulcsával, és az információ külső rétegét a magánkulccsal kell dekódolni, amelyet a fogadó tart.

Digitális aláírás kriptográfiai architektúra

A digitális aláírás kriptográfia segítségével történő végrehajtásához a következőket kell végrehajtani:

A feladó végén az üzenetet / információt titkosítva kell használni egy kivonási funkció segítségével a feladó privát kulcsával. Az információt a közbenső digitális aláírási modell segítségével továbbítják a vevő végéhez. A vevő végén a vevő ellenőrzi a digitális aláírást azáltal, hogy a hash funkcióval visszafejti a kapott információt. A dekódolás úgy történik, hogy a belső réteget kibontja a nyilvános kulcs segítségével, a külső réteget pedig a magánkulcs segítségével. Az információk biztonságos megosztásának egyik fő kihívása az üzenet titkosított formában történő elküldése. A digitális aláírással rendelkező, a külső világgal megosztott nyilvános kulcsú kriptográfia esetén van esély arra, hogy valaki megtéveszti a titkosítást.

A digitális aláírások titkosítását két fő formában lehet végrehajtani:

1. Digitális aláírás, amelyet titkosítás követ

Ebben a módszerben a fogadó aláírást kihasználja és a titkosítás nélkül megosztja az információkat a külső féllel. Mivel ez a forma kevésbé biztonságos, ez az iparban nem előnyös.

2. Titkosítás, amelyet digitális aláírás követ

Az iparban a leggyakoribb megközelítés a titkosítás, amelyet egy digitális aláírás követ, ahol a feladó a titkosított adatokat digitális aláírással küldi el. Amikor a fogadó megkapja az üzenetet a végén, a feladó megosztott üzenetet a feladó nyilvános kulcsának és a fogadó magánkulcsának felhasználásával dekódolja.

Kriptográfiai digitális aláírás az RSA-val

A következő kódrészlet megmagyarázza, hogyan valós időben valós időben valós időben valósul meg a digitális aláírással végzett kriptográfia végrehajtása, valamint elmagyarázza, hogyan történik a titkosítás és a visszafejtés digitális aláírással az RSA használatával. A digitális aláírással végzett kriptográfia elvégzéséhez szükségünk van a pycrypto csomag telepítésére, majd írjuk be az alábbi kódrészletet.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

A digitális aláírással történő kriptográfia végrehajtásához a privát kulcs és a nyilvános kulcs inicializálását kell elvégezni. Hozzunk létre egy funkciót az RSA-kulcsok generálására, amelynek lesz egy privát kulcs és nyilvános kulcs:

defrsa_keys():
l=1024
private_key = RSA.generate(l, Random.new().read)
public_key = private_key.publickey()
return private_key, public_key
The above snippet returns the private key and public key.

1. Titkosítási funkció

defencrypt(public_key, text):
c_text=public_key.encrypt(text, 32)(0) val_cipher=base64.b64encode(c_text)
return val_cipher

Az üzenet titkosításához a fenti kódot használjuk, amely az rsa_publickey és a szöveget veszi paraméterként a titkosítási funkcióhoz. A titkosítási funkció végrehajtja a nyilvános kulcs titkosítását és generálja a rejtjelet, a létrehozott rejtjelet a funkcióhívás meghívásakor adják vissza.

2. Titkosítási funkció

defdecrypt(private_key, val_cipher):
d_cipher = base64.b64decode(val_cipher)
text = private_key.decrypt(d_cipher)
return text

Rejtjelezés digitális aláírással, nyilvános kulcsú titkosítással és szöveges visszafejtéssel, a magánkulcs felhasználásával. Hogy megértsük a titkosított szöveg rejtjelként megosztott szövegét, létrehoztuk a visszafejtési funkciót. A függvény a private_key-t és a titkosítási funkció által generált rejtjelet veszi. A dekódolási módszerrel létrehoz egy dekódolt rejtjelet, a dekódolási módszerrel pedig visszaadja a dekódolt szöveget.

3. Végrehajtás

Ebben a példában megvizsgáljuk, hogyan történik a szöveg titkosítása, és hogyan magyarázza el, hogyan dekódolja vissza az eredeti szöveghez a privát kulcs segítségével. A titkosítás és a visszafejtés funkciót használják a mintában annak megmutatására, hogy a rejtjelek hogyan lesznek titkosítva és dekódolva.

Kód:

importCrypto
fromPublicKey importRSA
fromCrypto import Random
importbase64
defrsa_keys():
l=1024
private_key = RSA.generate(l, Random.new().read)
public_key = private_key.publickey()
returnprivate_key, public_key
defencrypt(public_key, plain_text):
c_text=public_key.encrypt(plain_text, 32)(0) val_cipher=base64.b64encode(c_text)
returnval_cipher
defdecrypt(private_key, val_cipher):
d_cipher = base64.b64decode(val_cipher)
text = private_key.decrypt(d_cipher)
returntext
private_key, public_key=rsa_keys()
txt=b"Hello Peers!"
enc_cipher=encrypt(public_key, txt)
print('**'*10)
print("The ecncrypted text is ()".format(enc_cipher))
print('**'*10)
dec_cipher=decrypt(private_key, enc_cipher) #decryption
print("The decrypted cipher text is ()".format(dec_cipher))
print('**'*10)

Kimenet:

Mint láthatjuk a titkosítási funkcióhoz átadott „Hello Peers!” Bemeneti szöveget a nyilvános kulcs segítségével titkosítják. A titkosított rejtjel, amelyet paramként továbbítottak a dekódolási funkcióhoz, a vevő privát kulcsával megosztott eredeti üzenetet dekódolja. A digitális aláírás kriptográfiai elvégzéséhez a 'sign' és 'ellenőrzés' módszerekre van szükség, a jelzést a küldő fogja elvégezni a magánkulccsal, amikor az információ átkerül a vevőhöz, az ellenőrzési funkciót a nyilvános kulcs segítségével hajtják végre.

A kriptográfia digitális aláírásának érdemei

  1. Javítani kell az információátadás biztonságát.
  2. Javítsák jobban a digitalizált munkafolyamatot.
  3. Jobb vevői élmény.
  4. Az üzleti hatékonyság és a jogi érvényesség javítása.
  5. Csökkenti a kézi erőfeszítést és időt takarít meg.

A kriptográfia digitális aláírásának hátrányai

  1. Nagyon sok időt igényel az ellenőrzés.
  2. Nem védi a sebezhetőségeket
  3. Az infrastruktúra és a kriptográfia felállítása nem költséghatékony.

Következtetés

A modern digitális világban a kriptográfiával ellátott digitális aláírási algoritmus alapvető szerepet játszik a biztonságos környezet biztosításában, és ez az egyik jobb eszköz a hitelesítéshez. A növekvő technológiai világban kulcsszerepet játszik a fenyegetések és sebezhetőségek elleni biztonság szempontjából.

Ajánlott cikk

Ez egy útmutató a digitális aláírás titkosításhoz. Itt tárgyaljuk a digitális aláírás kriptográfiai architektúráját és a kód megvalósítását. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Digitális aláírás szoftverek működőképes
  2. Kriptográfia vs titkosítás | A 6 legjobb összehasonlítás
  3. Mi az aszimmetrikus titkosítás?
  4. Bevezetés a digitális aláírástípusokba

Kategória: