Kriptogrāfijā kāda ir atšķirība starp "Signature Algorithm" un "Signature Hash Algorithm" X.509?


Atbilde 1:

vispirms apskatīsim, kas ir parakstu algo.

pieņemsim, ka jums ir pāris publiskās un privātās atslēgas. Tagad parakstīšanas nolūkā jūs uzņemat ziņojumu un to šifrējat, izmantojot savu privāto atslēgu. Tagad šis ziņojums kopā ar šifrēto formu veido parakstu. Lai kāds varētu pārbaudīt, vai jūs patiešām esat parakstījis dokumentu, var izmantot publisko atslēgu, lai atšifrētu šifrēto ziņojumu un saskaņotu to ar sākotnējo ziņojumu. Viņiem abiem vajadzētu sakrist.

Parakstīšanas algoritms kļūst par parakstu atgriezenisko saiti, kad tiek pārbaudīts parastais ziņojums, kuru izmantojat, lai šifrētu un saskaņotu. hash funkcijai ideālā gadījumā vajadzētu būt atvērtai hash funkcijai.

ceru, ka tas atbildēs uz jūsu jautājumu .. laimīgu kodēšanu .. :)


Atbilde 2:

Paraksta algoritmi ir tie, ko izmantojat, lai izveidotu un pārbaudītu ciparparakstu. Piemēri ir RSA, DSA un EC-DSA

Parakstu hash algoritmi ir tādi paši kā hash algoritmi, un tos izmantojat, lai iegūtu hash vērtību, kuru jūs parakstītu ar kādu no iepriekšminētajiem paraksta algoritmiem. Piemēri ir SHA-1, SHA-256, SHA-512 un MD5

Tātad, ja jūs vēlaties kaut ko parakstīt ar RSA 4096 atslēgu pāri, izmantojot SHA-512 hash, tas izskatās šādi:

hash = SHA512 ( )

sig = RSASign (hash, RsaPrivateKey)

un lai pārbaudītu, tas izskatās

hash SHA512 ( )

derīgs = RSAVerify (hash, sig, RSAPublicKey)