Introduktion till digital signaturkryptografi

Digital Signature är en kryptografisk matematisk teknik för att validera datans integritet och säkerhet. Digital signatur med kryptografi är att lösa det verkliga problemet med efterliggande och digital manipulering. I verkliga ord för att dela konfidentiell information och säkerställa bevisets ursprung, statusen för det elektroniska dokumentet. Cryptography digital signatur använder offentliga / privata nyckelsystem. Nycklarna representerades i ett slumpmässigt hexadecimalt antal. För att skapa en kryptografisk digital signatur, envägs hashing av data som ska signeras. Med den privata nyckeln kommer kryptering av hash att genomföras.

Kryptografi av en digital signatur är möjlig med två nyckeltermer:

  1. Privat nyckel
  2. Offentlig nyckel

Privat nyckel : Kontoinnehavaren har en nyckel som är ett slumpmässigt hexadecimalt antal. Privat nyckel kommer att vara konfidentiell för kontoinnehavaren snarare än utsatt för den verkliga världen

Public Key : Ett slumpmässigt hexadecimalt antal som delas offentligt. För att skapa en offentlig kryptografisk digital signatur kommer meddelandet att signeras först digitalt, sedan krypteras det med avsändarens privata nyckel och med mottagarens offentliga nyckel. För att dekryptera meddelanden som delas mellan avsändare och mottagare måste mottagaren dekryptera det inre lagret av informationen med avsändarens offentliga nyckel och dekryptera det yttre lagret av informationen med hjälp av den privata nyckeln som mottagaren har.

Arkitektur för digital signaturkryptografi

För att utföra digital signatur med hjälp av kryptografi måste följande utföras:

I avsändarens slut ska meddelandet / informationen krypteras med en hashfunktion med avsändarens privata nyckel. Informationen kommer att vidarebefordras till mottagarens slut med den mellanliggande digitala signaturmodellen. I slutändan verifierar mottagaren den digitala signaturen genom att dekryptera den mottagna informationen med hashingfunktionen. Avkrypteringen kommer att utföras genom att extrahera det inre lagret med den offentliga nyckeln och det yttre lagret extraherat med den privata nyckeln. En viktig utmaning att säkert dela information är att skicka meddelandet i ett krypterat format. I kryptografi med digital signatur som har en nyckel som delas med den yttre världen, finns det en chans att någon kan förfalska krypteringen.

Kryptering av digitala signaturer kan utföras i två huvudformer:

1. Digital signatur följt av kryptering

I den här metoden utnyttjas avsändarsignaturen av mottagaren och informationen delas med den externa parten utan kryptering. Eftersom denna form är mindre säkrad är detta inte att föredra i branschen.

2. Kryptering följt av digital signatur

Den vanligaste metoden i branschen är kryptering följt av en digital signatur där avsändaren skickar den krypterade informationen med den digitala signaturen. När mottagaren tar emot meddelandet i slutet avkrypterar det meddelandet som delas av avsändaren med avsändarens offentliga nyckel och mottagarens privata nyckel.

Cryptography Digital Signature with RSA

Följande kodavsnitt kommer att förklara hur kryptografi med digital signatur implementeras i realtid i python och kommer också att förklara hur kryptering och dekryptering utförs med digital signatur med RSA. För att utföra kryptografi med digital signatur kräver vi att pycrypto-paketet är installerat och skriv nedanstående kodavsnitt.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

För att utföra kryptografi med den digitala signaturen kräver vi initialisering av privat nyckel och offentlig nyckel. Vi skapar en funktion för att generera RSA-nycklar som kommer att ha en privat nyckel och offentlig nyckel:

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. Krypteringsfunktion

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

För att kryptera meddelandet använder vi ovanstående kod som tar rsa_publickey och text som parametrar för krypteringsfunktionen. Krypteringsfunktionen kommer att utföra krypteringen av den offentliga nyckeln och generera chifferet, det genererade chifferet returneras när funktionssamtalet startas.

2. Dekrypteringsfunktion

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

Kryptografi med en digital signatur med hjälp av offentlig nyckelkryptering och textdekryptering utförd med den privata nyckeln. För att förstå innebörden av krypterad text som delas som ett chiffer har vi skapat en dekrypteringsfunktion. Funktionen tar privat_nyckel och chifferet som genereras av krypteringsfunktionen. Med hjälp av avkodningsmetoden skapar det ett dekrypterat chiffer och med dekrypteringsmetoden kommer det att returnera den dekrypterade texten.

3. Genomförande

I det här exemplet kommer vi att titta på hur kryptering av text utförs och hur den dekrypteras tillbaka till originaltext med den privata nyckeln förklaras. Funktionen för kryptering och dekryptering kommer att användas i provet för att visa hur man ska kryptera kommer att krypteras och dekrypteras.

Koda:

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)

Produktion:

Som vi kan se inmatningstexten "Hello Peers!" Som skickas till krypteringsfunktionen krypteras med den offentliga nyckeln. Det krypterade chifferet som skickas som parametern till dekrypteringsfunktionen dekrypterar det ursprungliga meddelandet som delades med den privata mottagarens nyckel. För att utföra digital signatur med kryptografi krävs metoden "tecken" och "verifiera", tecknet kommer att utföras av avsändaren med den privata nyckeln, när informationen överförs till mottagaren utförs verifieringsfunktionen med den offentliga nyckeln.

Meriter med kryptografisk digital signatur

  1. Förbättra säkerheten vid informationsöverföring.
  2. Förbättra arbetsflödet mer digitaliserat.
  3. Bättre kundupplevelse.
  4. Förbättra affärseffektivitet och laglig giltighet.
  5. Minskar manuell ansträngning och sparar tid.

Begränsningar av kryptografisk digital signatur

  1. Det kräver mycket tid för verifiering.
  2. Det skyddar inte mot sårbarheter
  3. Infrastruktur och inställning av kryptografi är inte kostnadsvänligt.

Slutsats

I den moderna digitala världen spelar den digitala signaturalgoritmen med kryptografi en viktig roll för att tillhandahålla en säker och säker miljö och är ett av de bättre verktygen för autentisering. I den växande tekniska världen kommer det att spela sin avgörande roll när det gäller säkerhet mot hot och sårbarheter.

Rekommenderad artikel

Detta är en guide till kryptografi för digital signatur. Här diskuterar vi Digital Signature Cryptography Architecture tillsammans med kodimplementering. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Digitala signaturprogram med att arbeta
  2. Kryptografi vs kryptering | Topp 6 jämförelse
  3. Vad är asymmetrisk kryptering?
  4. Introduktion till digitala signaturtyper

Kategori: