Introduksjon til kryptografi av digital signatur

Digital Signature er en kryptografisk matematisk teknikk for å validere integriteten og sikkerheten til dataene. Digital signatur med kryptografi er å løse det virkelige problemet med etterligning og digital manipulering. Med ekte ord for å dele konfidensiell informasjon og sikre bevisets opphav, statusen til det elektroniske dokumentet. Kryptografi digital signatur bruker offentlig / privat nøkkelsystem. Nøkler ble representert i et tilfeldig heksadesimal antall. For å lage en kryptografisk digital signatur, må du ha enveis hashing av data som skal signeres. Med den private nøkkelen vil kryptering av hasj bli utført.

Kryptografi av en digital signatur er mulig med to nøkkelord:

  1. Privat nøkkel
  2. Offentlig nøkkel

Privat nøkkel : Kontohaveren har en nøkkel som er et tilfeldig heksadesimal tall. Privat nøkkel vil være konfidensiell for kontoinnehaveren i stedet for å bli utsatt for den virkelige verden

Offentlig nøkkel : Et tilfeldig heksadesimal nummer som deles offentlig. For å lage en digital kryptografisk digital signatur blir meldingen signert digitalt først, deretter blir den kryptert med den private nøkkelen til avsenderen og med den offentlige nøkkelen til mottakeren. For å dekryptere meldingene som er delt mellom avsender og mottaker, må mottakeren dekryptere det indre laget av informasjonen med den offentlige nøkkelen til avsenderen og dekryptere det ytre laget av informasjonen ved å bruke den private nøkkelen som mottakeren har.

Digital signatur kryptografisk arkitektur

Følgende må utføres for å utføre digital signatur ved bruk av kryptografi:

I avsenderenden skal meldingen / informasjonen krypteres ved hjelp av en hashing-funksjon med avsenderens private nøkkel. Informasjonen vil bli videresendt til mottakerens slutt med den mellomliggende digitale signaturmodellen. På slutten av mottakeren verifiser mottakeren den digitale signaturen ved å dekryptere informasjonen som er mottatt ved hjelp av hashing-funksjonen. Dekrypteringen vil bli utført ved å trekke ut det indre laget ved å bruke den offentlige nøkkelen og det ytre laget ekstrahert med den private nøkkelen. En stor utfordring for å dele informasjon på en sikker måte er å sende meldingen i et kryptert format. I kryptografi med digital signatur som har en fellesnøkkel som er delt med den ytre verden, er det en sjanse for at noen kan forfalske krypteringen.

Kryptering av digitale signaturer kan utføres i to hovedformer:

1. Digital signatur etterfulgt av kryptering

I denne metoden utnyttes avsenders signatur av mottakeren og informasjonen deles med den eksterne parten uten kryptering. Siden denne formen er mindre sikret, er dette ikke å foretrekke i industrien.

2. Kryptering etterfulgt av digital signatur

Den vanligste tilnærmingen i bransjen er kryptering fulgt av en digital signatur der avsenderen sender de krypterte dataene med den digitale signaturen. Når mottakeren mottar meldingen på slutten, vil den dekryptere meldingen som deles av avsenderen ved å bruke avsenderens offentlige nøkkel og mottakerens private nøkkel.

Kryptografi digital signatur med RSA

Følgende kodebit vil forklare hvordan kryptografi med digital signatur implementeres i sanntid i python, og vil også forklare hvordan kryptering og dekryptering utføres med digital signatur ved bruk av RSA. For å utføre kryptografi med digital signatur krever vi at pycrypto-pakken er installert, og skriv deretter tekstutdraget nedenfor.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

For å utføre kryptografi med den digitale signaturen, krever vi initialisering av privat nøkkel og offentlig nøkkel. Vi oppretter en funksjon for å generere RSA-nøkler som vil ha en privat nøkkel og offentlig nøkkel:

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

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

For å kryptere meldingen bruker vi koden ovenfor som tar rsa_publickey og tekst som parametere til krypteringsfunksjonen. Krypteringsfunksjonen vil utføre offentlig nøkkelkryptering og generere chiffer, den genererte chifferen returneres når funksjonsanropet blir påkalt.

2. Dekrypteringsfunksjon

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

Kryptografi med digital signatur ved bruk av offentlig nøkkelkryptering og tekstdekryptering utført ved bruk av den private nøkkelen. For å forstå betydningen av kryptert tekst som deles som en chiffer, har vi opprettet en dekrypteringsfunksjon. Funksjonen tar privat nøkkel og chiffer generert av krypteringsfunksjonen. Ved å bruke avkodingsmetoden oppretter den en dekryptert kode, og ved bruk av dekrypteringsmetoden vil den returnere den dekrypterte teksten.

3. Implementering

I denne prøven vil vi se på hvordan kryptering av tekst utføres og hvordan den dekrypteres tilbake til originaltekst ved bruk av den private nøkkelen blir forklart. Funksjonen til kryptering og dekryptering vil bli brukt i prøven for å vise hvordan man kan kryptere og krypteres.

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)

Produksjon:

Som vi kan se inndatateksten "Hello Peers!" Som sendes til krypteringsfunksjonen, blir kryptert med den offentlige nøkkelen. Den krypterte chifferen som sendes som parametere til dekrypteringsfunksjonen dekrypterer den opprinnelige meldingen som ble delt med den private nøkkelen til mottakeren. For å utføre digital signatur med kryptografi vil kreve metoden 'tegn' og 'bekrefte', skiltet vil bli utført av avsenderen ved å bruke den private nøkkelen, når informasjonen blir overført til mottakeren, bekreftes funksjonen utført med den offentlige nøkkelen.

Fordeler med kryptografi digital signatur

  1. Forbedre sikkerheten ved informasjonsoverføring.
  2. Forbedre arbeidsflyten mer digitalisert.
  3. Bedre kundeopplevelse.
  4. Forbedre forretningseffektivitet og juridisk gyldighet.
  5. Reduserer manuell innsats og sparer tid.

Begrensninger av kryptografi digital signatur

  1. Det krever mye tid for bekreftelse.
  2. Det beskytter ikke mot sårbarheter
  3. Infrastruktur og konfigurering av kryptografi er ikke kostnadsvennlig.

Konklusjon

I den moderne digitale verden spiller den digitale signaturalgoritmen med kryptografi en viktig rolle i å gi et trygt og sikkert miljø og er et av de bedre verktøyene for autentisering. I den voksende teknologiske verden vil den spille sin avgjørende rolle når det gjelder sikkerhet mot trusler og sårbarheter.

Anbefalt artikkel

Dette er en guide til kryptografi av digital signatur. Her diskuterer vi Digital Signature Cryptography Architecture sammen med kodeimplementering. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Programvare for digital signatur med arbeid
  2. Kryptografi vs kryptering | Topp 6 sammenligning
  3. Hva er asymmetrisk kryptering?
  4. Introduksjon til digitale signaturtyper