Úvod do kryptografie digitálneho podpisu
Digitálny podpis je kryptografická matematická technika na overenie integrity a bezpečnosti údajov. Digitálny podpis s kryptografiou má vyriešiť problém predstierania identity a digitálnej manipulácie v reálnom svete. Skutočným spôsobom zdieľať dôverné informácie a zabezpečiť pôvod dôkazov, stav elektronického dokumentu. Kryptografický digitálny podpis používa systém verejného / súkromného kľúča. Kľúče boli zastúpené v náhodnom hexadecimálnom čísle. Na vytvorenie kryptografického digitálneho podpisu je potrebné jednosmerné hashovanie údajov, ktoré sa majú podpísať. Pomocou súkromného kľúča sa vykoná šifrovanie hash.
Kryptografia digitálneho podpisu je možná s dvoma kľúčovými výrazmi:
- Súkromný kľúč
- Verejný kľúč
Súkromný kľúč : Majiteľ účtu má kľúč, ktorý je náhodným hexadecimálnym číslom. Súkromný kľúč bude skôr ako majiteľ účtu dôverný, ale nebude vystavený skutočnému svetu
Verejný kľúč : Náhodné hexadecimálne číslo, ktoré je verejne zdieľané. Aby sa vytvoril verejný kryptografický digitálny podpis, správa sa podpíše najprv digitálne, potom sa zašifruje súkromným kľúčom odosielateľa a verejným kľúčom príjemcu. Na dešifrovanie správ zdieľaných medzi odosielateľom a príjemcom musí prijímač dešifrovať vnútornú vrstvu informácií pomocou verejného kľúča odosielateľa a dešifrovať vonkajšiu vrstvu informácií pomocou súkromného kľúča, ktorý má príjemca.
Architektúra kryptografie digitálneho podpisu
Na vykonanie digitálneho podpisu pomocou kryptografie sa musí vykonať toto:
Na konci odosielateľa by sa správa / informácie mali šifrovať pomocou hashovacej funkcie so súkromným kľúčom odosielateľa. Informácie sa zašlú na koniec prijímača pomocou sprostredkujúceho modelu digitálneho podpisu. Na konci prijímača prijímač overí digitálny podpis dešifrovaním prijatých informácií pomocou hashovacej funkcie. Dešifrovanie sa uskutoční extrahovaním vnútornej vrstvy pomocou verejného kľúča a vonkajšej vrstvy extrahovanej pomocou súkromného kľúča. Jednou z hlavných výziev na bezpečné zdieľanie informácií je odoslanie správy v šifrovanom formáte. V kryptografii s digitálnym podpisom, ktorý má verejný kľúč zdieľaný s vonkajším svetom, existuje šanca, že by niekto mohol šifrovanie pokaziť.
Šifrovanie digitálnych podpisov sa môže uskutočňovať v dvoch hlavných formách:
1. Digitálny podpis nasledovaný šifrovaním
Pri tejto metóde podpis odosielateľa využíva prijímač a informácie sa zdieľajú s externou stranou bez šifrovania. Pretože táto forma je menej zabezpečená, nie je to v priemysle preferované.
2. Po šifrovaní nasledovaný digitálnym podpisom
Najbežnejším prístupom v priemysle je šifrovanie nasledované digitálnym podpisom, kde odosielateľ zašle zašifrované údaje digitálnym podpisom. Keď príjemca prijme správu na svojom konci, dešifruje správu zdieľanú odosielateľom pomocou verejného kľúča odosielateľa a súkromného kľúča príjemcu.
Kryptografický digitálny podpis s RSA
Nasledujúci útržok kódu vysvetlí, ako je kryptografia s digitálnym podpisom implementovaná v reálnom čase v pythone, a tiež vysvetlí, ako sa šifrovanie a dešifrovanie vykonáva pomocou digitálneho podpisu pomocou RSA. Na vykonanie kryptografie s digitálnym podpisom potrebujeme nainštalovaný balík pycrypto a potom napíšte nasledujúci úryvok.
importCrypto
fromPublicKey importRSA
fromCrypto import Random
Na vykonanie kryptografie pomocou digitálneho podpisu je potrebná inicializácia súkromného a verejného kľúča. Vytvoríme funkciu na generovanie RSA kľúčov, ktoré budú mať súkromný kľúč a verejný kľúč:
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. Funkcia šifrovania
defencrypt(public_key, text):
c_text=public_key.encrypt(text, 32)(0) val_cipher=base64.b64encode(c_text)
return val_cipher
Na zašifrovanie správy používame vyššie uvedený kód, ktorý vezme rsa_publickey a text ako parametre pre funkciu šifrovania. Funkcia šifrovania vykoná šifrovanie verejného kľúča a vygeneruje šifru, generovaná šifra sa vráti po vyvolaní volania funkcie.
2. Dešifrovacia funkcia
defdecrypt(private_key, val_cipher):
d_cipher = base64.b64decode(val_cipher)
text = private_key.decrypt(d_cipher)
return text
Kryptografia s digitálnym podpisom pomocou šifrovania verejným kľúčom a textového dešifrovania vykonávaného pomocou súkromného kľúča. Aby sme pochopili význam šifrovaného textu zdieľaného ako šifra, vytvorili sme dešifrovaciu funkciu. Funkcia vezme privátny kľúč a šifru vygenerovanú šifrovacou funkciou. Pomocou dekódovacej metódy vytvorí dešifrovanú šifru a pomocou metódy dešifrovania vráti dešifrovaný text.
3. Implementácia
V tejto ukážke sa pozrieme na to, ako sa vykonáva šifrovanie textu a ako sa dešifruje späť na pôvodný text pomocou súkromného kľúča. Funkcia šifrovania a dešifrovania sa použije vo vzorke, aby ukázala, ako bude šifrovaná a dešifrovaná šifra.
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ýkon:
Ako vidíme, vstupný text „Hello Peers!“ Odovzdaný šifrovacej funkcii je šifrovaný pomocou verejného kľúča. Šifrovaná šifra odovzdaná ako parameter dešifrovacej funkcie dešifruje pôvodnú správu zdieľanú pomocou súkromného kľúča prijímača. Na vykonanie digitálneho podpisu s kryptografiou bude vyžadovať metódu „podpis“ a „overiť“, podpis vykoná odosielateľ pomocou súkromného kľúča, keď sa informácie prenášajú do prijímača, overovacia funkcia sa vykonáva pomocou verejného kľúča.
Prednosti digitálneho podpisu kryptografie
- Zvýšiť bezpečnosť prenosu informácií.
- Zlepšiť digitalizovaný pracovný tok.
- Lepšie skúsenosti so zákazníkmi.
- Zlepšiť efektivitu podnikania a právnu platnosť.
- Znižuje manuálne úsilie a šetrí čas.
Demerity kryptografického digitálneho podpisu
- Vyžaduje si to veľa času na overenie.
- Nechráni pred zraniteľnosťou
- Infraštruktúra a nastavenie kryptografie nie sú finančne prijateľné.
záver
V modernom digitálnom svete hrá algoritmus digitálneho podpisu s kryptografiou rozhodujúcu úlohu pri zabezpečovaní bezpečného prostredia a je jedným z lepších nástrojov na autentifikáciu. V rastúcom technologickom svete bude hrať kľúčovú úlohu, pokiaľ ide o bezpečnosť pred hrozbami a zraniteľnosťou.
Odporúčaný článok
Toto je príručka pre kryptografiu digitálneho podpisu. Tu diskutujeme architektúru digitálneho podpisu kryptografie spolu s implementáciou kódu. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Softvér digitálneho podpisu s funkciou
- Kryptografia vs. šifrovanie Top 6 Porovnanie
- Čo je asymetrické šifrovanie?
- Úvod do typov digitálneho podpisu