Úvod do kryptografie digitálního podpisu

Digitální podpis je kryptografická matematická technika pro ověření integrity a bezpečnosti dat. Digitální podpis s kryptografií má vyřešit problém předstírání identity a digitálního manipulace v reálném světě. Reálnými slovy pro sdílení důvěrných informací a zajištění původu důkazů, stav elektronického dokumentu. Kryptografický digitální podpis používá systém veřejného / soukromého klíče. Klíče byly reprezentovány v náhodném hexadecimálním čísle. Pro vytvoření kryptografického digitálního podpisu je jednosměrné hašování dat, která mají být podepsána. Pomocí soukromého klíče bude provedeno šifrování hash.

Kryptografie digitálního podpisu je možná se dvěma klíčovými pojmy:

  1. Soukromý klíč
  2. Veřejný klíč

Soukromý klíč : Držitel účtu drží klíč, který je náhodným hexadecimálním číslem. Soukromý klíč bude pro majitele účtu spíše důvěrný než pro skutečný svět

Veřejný klíč : Náhodné hexadecimální číslo, které je sdíleno veřejně. Pro vytvoření veřejného kryptografického digitálního podpisu bude zpráva nejprve podepsána digitálně, poté je šifrována privátním klíčem odesílatele a veřejným klíčem příjemce. Aby bylo možné dešifrovat zprávy sdílené mezi odesílatelem a příjemcem, musí příjemce dešifrovat vnitřní vrstvu informace pomocí veřejného klíče odesílatele a dešifrovat vnější vrstvu informace pomocí soukromého klíče, který příjemce drží.

Architektura kryptografie digitálního podpisu

Pro provedení digitálního podpisu pomocí kryptografie je třeba provést následující:

Na konci odesílatele by měla být zpráva / informace šifrována pomocí hashovací funkce s soukromým klíčem odesílatele. Informace budou předány na konec přijímače pomocí přechodného modelu digitálního podpisu. Na konci přijímače přijímač ověří digitální podpis dešifrováním přijatých informací pomocí hashovací funkce. Dešifrování bude provedeno extrahováním vnitřní vrstvy pomocí veřejného klíče a vnější vrstvy extrahované pomocí soukromého klíče. Jednou z hlavních výzev k bezpečnému sdílení informací je odeslání zprávy v šifrovaném formátu. V kryptografii s digitálním podpisem s veřejným klíčem sdíleným s vnějším světem existuje šance, že by někdo mohl šifrování zkazit.

Šifrování digitálních podpisů lze provádět dvěma hlavními formami:

1. Digitální podpis následovaný šifrováním

V této metodě je podpis odesílatele využíván přijímačem a informace jsou sdíleny s externí stranou bez šifrování. Protože tato forma je méně zabezpečená, není to v průmyslu preferováno.

2. Šifrování následované digitálním podpisem

Nejobvyklejším přístupem v oboru je šifrování následované digitálním podpisem, kde odesílatel zašle zašifrovaná data digitálním podpisem. Když příjemce přijme zprávu na svém konci, dešifruje zprávu sdílenou odesílatelem pomocí veřejného klíče odesílatele a soukromého klíče příjemce.

Kryptografický digitální podpis s RSA

Následující úryvek kódu vysvětlí, jak je kryptografie s digitálním podpisem implementována v reálném čase v pythonu, a také vysvětlí, jak je šifrování a dešifrování prováděno pomocí digitálního podpisu pomocí RSA. K provedení kryptografie s digitálním podpisem potřebujeme nainstalovaný balíček pycrypto, poté napište níže úryvek.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

K provedení kryptografie pomocí digitálního podpisu je třeba inicializovat soukromý klíč a veřejný klíč. Vytváříme funkci pro generování RSA klíčů, které budou mít soukromý klíč a veřejný klíč:

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. Funkce šifrování

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

K šifrování zprávy používáme výše uvedený kód, který vezme rsa_publickey a text jako parametry funkce šifrování. Šifrovací funkce provede šifrování veřejného klíče a vygeneruje šifru, generovaná šifra je vrácena, když je vyvoláno volání funkce.

2. Dešifrovací funkce

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

Kryptografie s digitálním podpisem pomocí šifrování pomocí veřejného klíče a textového dešifrování prováděného pomocí soukromého klíče. Abychom porozuměli významu šifrovaného textu sdíleného jako šifra, vytvořili jsme dešifrovací funkci. Funkce vezme privátní klíč a šifru generovanou šifrovací funkcí. Pomocí metody dekódování vytvoří dešifrovanou šifru a pomocí metody dešifrování vrátí dešifrovaný text.

3. Implementace

V tomto příkladu se podíváme na to, jak se provádí šifrování textu a jak se dešifruje zpět na původní text pomocí soukromého klíče. Funkce šifrování a dešifrování bude použita ve vzorku, aby ukázala, jak bude šifra šifrována a dešifrována.

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)

Výstup:

Jak vidíme, vstupní text „Hello Peers!“ Předaný šifrovací funkci je šifrován pomocí veřejného klíče. Šifrovaná šifra předaná jako parametr dešifrovací funkci dešifruje původní zprávu sdílenou pomocí soukromého klíče příjemce. Pro provedení digitálního podpisu s kryptografií bude vyžadovat metodu 'sign' a 'verify', bude signatura provedena odesílatelem pomocí soukromého klíče, když jsou informace přeneseny do příjemce, ověřovací funkce je prováděna pomocí veřejného klíče.

Přednosti kryptografického digitálního podpisu

  1. Zlepšit zabezpečení přenosu informací.
  2. Vylepšete pracovní postup více digitalizovaným.
  3. Lepší zkušenosti se zákazníky.
  4. Zlepšit efektivitu podnikání a právní platnost.
  5. Snižuje ruční úsilí a šetří čas.

Demerity kryptografického digitálního podpisu

  1. Vyžaduje to hodně času na ověření.
  2. Nechrání se před zranitelnostmi
  3. Infrastruktura a nastavení kryptografie nejsou nákladově příznivé.

Závěr

V moderním digitálním světě hraje algoritmus digitálního podpisu s kryptografií zásadní roli při zajišťování bezpečného a bezpečného prostředí a je jedním z lepších nástrojů pro ověřování. V rostoucím technologickém světě bude hrát klíčovou roli, pokud jde o bezpečnost před hrozbami a zranitelnostmi.

Doporučený článek

Toto je průvodce kryptografií digitálního podpisu. Zde diskutujeme architekturu digitálního podpisu kryptografie spolu s implementací kódu. Další informace naleznete také v dalších navrhovaných článcích -

  1. Softwarové programy pro digitální podpisy s prací
  2. Kryptografie vs. šifrování Porovnání top 6
  3. Co je asymetrické šifrování?
  4. Úvod do typů digitálních podpisů

Kategorie: