Introduktion til digital signaturkryptografi

Digital signatur er en kryptografisk matematisk teknik til validering af datas integritet og sikkerhed. Digital signatur med kryptografi er at løse det virkelige problem med efterligning og digital manipulation. Med rigtige ord for at dele fortrolige oplysninger og sikre bevisets oprindelse status for det elektroniske dokument. Kryptografi digital signatur bruger offentlig / privat nøglesystem. Tasterne blev repræsenteret i et tilfældigt hexadecimalt tal. For at oprette en kryptografisk digital signatur skal envejs hashing af data, der skal underskrives. Med den private nøglen udføres kryptering af hash.

Kryptografi af en digital signatur er mulig med to nøgleudtryk:

  1. Privat nøgle
  2. Offentlig nøgle

Privat nøgle : Kontoindehaveren har en nøgle, der er et tilfældigt hexadecimalt tal. Privat nøgle vil være fortrolig for kontohaveren snarere end udsat for den virkelige verden

Offentlig nøgle : Et tilfældigt hexadecimalt tal, der deles offentligt. For at oprette en offentlig kryptografi digital signatur signeres meddelelsen først digitalt, derefter krypteres den med afsenderens private nøgle og med modtagerens offentlige nøgle. For at dekryptere de meddelelser, der er delt mellem afsender og modtager, skal modtageren dekryptere det indre lag af informationen med afsenderens offentlige nøgle og dekryptere det ydre lag af informationen ved hjælp af den private nøgle, som modtageren har.

Digital signatur kryptografisk arkitektur

For at udføre digital signatur ved hjælp af kryptografi skal følgende udføres:

I afsenderenden skal meddelelsen / informationen krypteres ved hjælp af en hashing-funktion med afsenderens private nøgle. Informationen videresendes til modtagerens ende med den mellemliggende digitale signaturmodel. I modtagerens ende verificerer modtageren den digitale signatur ved at dekryptere de modtagne oplysninger ved hjælp af hashing-funktionen. Dekrypteringen udføres ved at udtrække det indre lag ved hjælp af den offentlige nøgle og det ydre lag ekstraheret ved hjælp af den private nøgle. En vigtig udfordring til sikkert at dele information er at sende beskeden i et krypteret format. I kryptografi med digital signatur, der har en offentlig nøgle, der deles med den eksterne verden, er der en chance for, at nogen kan forfalske krypteringen.

Kryptering af digitale signaturer kan udføres i to hovedformer:

1. Digital signatur efterfulgt af kryptering

I denne metode udnyttes sendersignaturen af ​​modtageren, og informationen deles med den eksterne part uden kryptering. Da denne form er mindre sikret, foretrækkes dette ikke i industrien.

2. Kryptering efterfulgt af digital signatur

Den mest almindelige tilgang i branchen er kryptering efterfulgt af en digital signatur, hvor afsenderen sender de krypterede data med den digitale signatur. Når modtageren modtager beskeden på sin ende, dekrypterer den meddelelsen, som deles af afsenderen ved hjælp af afsenderens offentlige nøgle og modtagerens private nøgle.

Kryptografi digital signatur med RSA

Følgende kodestykker forklarer, hvordan kryptografi med digital signatur implementeres i realtid i python, og vil også forklare, hvordan kryptering og dekryptering udføres med digital signatur ved hjælp af RSA. For at udføre kryptografi med digital signatur kræver vi pycrypto-pakken installeret, og skriv derefter nedenstående uddrag.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

For at udføre kryptografi med den digitale signatur kræver vi initialisering af privat nøgle og offentlig nøgle. Vi opretter en funktion til at generere RSA-nøgler, som vil have en privat nøgle og offentlig nøgle:

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

For at kryptere meddelelsen bruger vi ovenstående kode, der tager rsa_publickey og tekst som parametre til krypteringsfunktionen. Krypteringsfunktionen udfører den offentlige nøglekryptering og genererer chifferet, den genererede ciffer returneres, når funktionskaldet aktiveres.

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 ved hjælp af offentlig nøglekryptering og tekstdekryptering udført ved hjælp af den private nøgle. For at forstå betydningen af ​​krypteret tekst, der deles som en chiffer, har vi oprettet en dekrypteringsfunktion. Funktionen tager privat nøgle og den ciffer genereret af krypteringsfunktionen. Ved hjælp af afkodningsmetoden opretter det en dekrypteret chiffer, og ved hjælp af dekrypteringsmetoden vil den returnere den dekrypterede tekst.

3. Gennemførelse

I denne prøve vil vi se på, hvordan kryptering af tekst udføres, og hvordan den dekrypteres tilbage til originaltekst ved hjælp af den private nøgle forklares. Funktionen af ​​kryptering og dekryptering vil blive brugt i prøven til at vise, hvordan man kan kryptere krypteres og dekrypteres.

Kode:

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 inputteksten "Hello Peers!", Der er sendt til krypteringsfunktionen, krypteres ved hjælp af den offentlige nøgle. Den krypterede chiffer, der sendes som parametre til dekrypteringsfunktionen, dekrypterer den originale meddelelse, der deles ved hjælp af modtagerens private nøgle. At udføre digital signatur med kryptografi kræver metoden 'tegn' og 'verificere', tegnet udføres af afsenderen ved hjælp af den private nøgle, når informationen overføres til modtageren, kontrolleres funktion udføres ved hjælp af den offentlige nøgle.

Fordele ved kryptografi digital signatur

  1. Forbedre sikkerheden ved informationsoverførsel.
  2. Forbedre arbejdsgangen mere digitaliseret.
  3. Bedre kundeoplevelse.
  4. Forbedre forretningseffektivitet og juridisk gyldighed.
  5. Reducerer manuel indsats og sparer tid.

Begrænsninger af kryptografi digital signatur

  1. Det kræver meget tid til verifikation.
  2. Det beskytter ikke mod sårbarheder
  3. Infrastruktur og opsætning af kryptografi er ikke omkostningsvenligt.

Konklusion

I den moderne digitale verden spiller den digitale signaturalgoritme med kryptografi en vigtig rolle i at skabe et sikkert og sikkert miljø og er et af de bedre værktøjer til godkendelse. I den voksende teknologiske verden vil det spille sin afgørende rolle med hensyn til sikkerhed mod trusler og sårbarheder.

Anbefalet artikel

Dette er en guide til digital signaturkryptografi. Her diskuterer vi Digital Signature Cryptography Architecture sammen med kodeimplementering. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Digital signatur-software med arbejde
  2. Kryptografi vs kryptering | Top 6 sammenligning
  3. Hvad er asymmetrisk kryptering?
  4. Introduktion til digitale signaturtyper

Kategori: