În criptografie, care este diferența dintre „Algoritmul de semnătură” și „Algoritmul de hârtie de semnătură” din X.509?


Răspunsul 1:

să vedem mai întâi ce este ceva semnătură.

să presupunem că aveți o pereche de chei publice și private. acum, în scop de semnare, luați un mesaj și criptați-l folosind cheia privată. acum, că msg, împreună cu forma sa criptată, formează o semnătură. Pentru ca cineva să verifice dacă într-adevăr ați semnat documentul, puteți utiliza cheia publică pentru a decripta msg criptat și pentru a se potrivi cu mesajul orignal. Ambele ar trebui să se potrivească.

Un algoritm de semnătură devine un hash de semnatute atunci când este instalat mesajul simplu pe care îl utilizați utilizează valoarea lui de hash pentru criptare și potrivire. funcția hash ar trebui să fie în mod ideal o funcție de hash deschisă.

sper sa raspunda la intrebarea ta .. codare fericita .. :)


Răspunsul 2:

Algoritmii de semnătură sunt ceea ce utilizați creează și verifică o semnătură digitală. Exemple sunt RSA, DSA și EC-DSA

Algoritmii hash semnătură sunt identici cu algoritmii hash și sunt ceea ce utilizați pentru a produce valoarea hash pe care ați semna-o cu unul dintre algoritmii de semnătură de mai sus. Exemple sunt SHA-1, SHA-256, SHA-512 și MD5

Deci, dacă doriți să semnați ceva cu o pereche de chei RSA 4096 folosind un hash SHA-512, ar arăta ceva de genul:

hash = SHA512 ( )

sig = RSASign (hash, RsaPrivateKey)

și a verifica ar arăta

hash SHA512 ( )

valid = RSAVerify (hash, sig, RSAPublicKey)