Увод у криптографију дигиталног потписа

Дигитални потпис је криптографска математичка техника којом се валидира интегритет и сигурност података. Дигитални потпис с криптографијом решава проблем стварног понашања у дигиталном животу и дигиталног варања. Реалним речима делити поверљиве информације и обезбедити порекло доказа, статус електронског документа. Криптографски дигитални потпис користи систем јавних / приватних кључева. Кључеви су представљени насумичним хексадецималним бројем. Да бисте креирали криптографски дигитални потпис, једносмерно хеширање података које треба потписати. Са приватним кључем извршит ће се шифрирање хасх-а.

Криптографија дигиталног потписа могућа је са два кључна израза:

  1. Приватни кључ
  2. Јавни кључ

Приватни кључ : Власник рачуна држи кључ који је насумични шеснаестни број. Приватни кључ ће бити поверљивији за власника рачуна, а не изложен стварном свету

Јавни кључ : Насумични хексадецимални број који се јавно дели. Да бисте креирали дигитални потпис јавне криптографије, порука ће се прво потписати дигитално, а затим се шифрирати приватним кључем пошиљаоца и јавним кључем примаоца. Да би дешифровао поруке које деле између пошиљаоца и примаоца, прималац мора да дешифрује унутрашњи слој информација Јавним кључем пошиљаоца и дешифрује спољни слој информација користећи приватни кључ који прималац држи.

Криптографија архитектуре дигиталног потписа

Да бисте извршили дигитални потпис користећи криптографију, потребно је извршити следеће:

На крају пошиљаоца, порука / информација треба да се шифрирају помоћу функције хешинга са приватним кључем пошиљаоца. Подаци ће бити прослеђени до краја примаоца помоћу модела интермедијарног дигиталног потписа. На крају примаоца, пријемник верификује дигитални потпис дешифрујући информације примљене помоћу хасхинг функције. Дешифровање ће се извести екстрахирањем унутрашњег слоја јавним кључем, а спољног слоја издвојеним приватним кључем. Један од главних изазова за сигурно дељење информација је слање поруке у шифрованом формату. У криптографији са дигиталним потписом који има јавни кључ који се дели са спољним светом, постоји шанса да неко превари шифровање.

Шифрирање дигиталног потписа може се извршити у два главна облика:

1. Дигитални потпис праћен шифрирањем

У овом методу прималац искориштава потпис пошиљатеља, а информације се деле са спољном страном без шифрирања. Како је овај облик мање осигуран, то није пожељно у индустрији.

2. Шифрирање са дигиталним потписом

Најчешћи приступ у индустрији је шифрирање које прати дигитални потпис где пошиљалац шаље шифриране податке дигиталним потписом. Када прималац прими поруку на крају, дешифрује поруку коју је послао пошиљалац користећи јавни кључ пошиљаоца и приватни кључ примаоца.

Криптографски дигитални потпис са РСА

Следећи исјечак кода објасниће како се криптографија са дигиталним потписом реализује у стварном времену у питхон-у, а такође ће објаснити како се шифровање и дешифровање извршавају дигиталним потписом помоћу РСА. За извршавање криптографије дигиталним потписом потребан нам је инсталиран пицрипто пакет, а затим напишите исјечак доле.

importCrypto
fromPublicKey importRSA
fromCrypto import Random

За извршавање криптографије дигиталним потписом потребна нам је иницијализација приватног и јавног кључа. Стварамо функцију за генерисање РСА кључева који ће имати приватни и јавни кључ:

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. Функција шифрирања

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

Да бисмо шифровали поруку, користимо горњи код који ће рса_публицкеи и текст узети као параметре функцији шифрирања. Функција шифрирања извршит ће шифрирање јавног кључа и генерирати шифру, генерирани шифар се враћа кад се позива позив функције.

2. Функција дешифрирања

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

Криптографија дигиталним потписом помоћу шифрирања јавним кључем и дешифровање текста који се обавља помоћу приватног кључа. Да бисмо разумели значење шифрованог текста који се дели као шифра, направили смо функцију дешифровања. Функција узима привате_кеи и шифру коју генерише функција шифрирања. Кориштењем методе декодирања креира се дешифрирани шифар, а помоћу методе дешифрирања враћа декриптирани текст.

3. Имплементација

У овом примјеру ћемо погледати како се шифрира текст и како се дешифрује назад у изворни текст помоћу приватног кључа. У узорку ће се користити функција шифрирања и дешифрирања како би се показало како ће се шифрирати шифрирати и дешифрирати.

Шифра:

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)

Излаз:

Као што можемо видети да се улазни текст „Здраво вршњаци!“ Прослеђен функцији шифрирања шифрира помоћу јавног кључа. Шифрирани шифру прослијеђен као парам функцији дешифрирања дешифрира оригиналну поруку коју дијели користећи приватни кључ пријемника. За извршавање дигиталног потписа са криптографијом биће потребна метода 'сигн' и 'верифи', знак ће извршити пошиљалац користећи приватни кључ, а када се информације пренесу на примаоца, функција верификације се врши јавним кључем.

Заслуге криптографије дигиталног потписа

  1. Побољшајте сигурност преноса информација.
  2. Побољшајте радни ток више дигитализирано.
  3. Боље искуство купца.
  4. Побољшајте пословну ефикасност и правну ваљаност.
  5. Смањује ручни напор и штеди време.

Слабости криптографског дигиталног потписа

  1. Потребно је пуно времена за верификацију.
  2. Не штити од рањивости
  3. Инфраструктура и подешавање криптографије нису повољни.

Закључак

У модерном дигиталном свету алгоритам дигиталног потписа са криптографијом игра виталну улогу у обезбеђивању сигурног окружења и један је од најбољих алата за аутентификацију. У растућем технолошком свету играће своју кључну улогу у погледу безбедности од претњи и рањивости.

Препоручени чланак

Ово је водич за криптографију дигиталног потписа. Овде смо разговарали о криптографској архитектури дигиталног потписа заједно са имплементацијом кода. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Софтвер дигиталног потписа с радом
  2. Цриптограпхи вс Енцриптион | Топ 6 поређење
  3. Шта је асиметрична шифрирање?
  4. Увод у врсте дигиталног потписа

Категорија: