0% found this document useful (0 votes)
86 views5 pages

Digital Signature Process: Signature Generation Signature Verification

Digital signatures allow for the verification of a message's authenticity and integrity. The process involves: 1. Generating a signature by hashing the message, generating a random number, and encrypting these values with the private key. 2. Transmitting the message, signature, and public key to the recipient. 3. Verifying the signature by decrypting it with the public key, re-hashing the message, and comparing the results to validate the signature.

Uploaded by

Subhadip Maity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views5 pages

Digital Signature Process: Signature Generation Signature Verification

Digital signatures allow for the verification of a message's authenticity and integrity. The process involves: 1. Generating a signature by hashing the message, generating a random number, and encrypting these values with the private key. 2. Transmitting the message, signature, and public key to the recipient. 3. Verifying the signature by decrypting it with the public key, re-hashing the message, and comparing the results to validate the signature.

Uploaded by

Subhadip Maity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Digital Signatures

Digital Signature Process

Signature Generation Signature Verification

Message/Data Message/Data

Hash Hash
Function Function

Message digest Message digest

Signature Signature
Generation Verification Valid/Invalid
Signature

Private Key Public Key


Digital Signature Standard
General idea of DSS

Alice (signee) Bob (verifier)

S1

[r, Pk] S1 yes


f1()
=
Accept

[h(M), d, r, S1] f2() S2 [S1, S2, Pk, h(M)] f3()

Signing Verifying

S1,S2 : Signatures d : Alice’s private key


M : Message Pk: Alice’s public key
h(M) : hash of M r : random secret
Digital Signature Standard
Key Generation

Before signing a message to any entity, Alice(the signee) must generate keys
and announce the public keys to the public

Choose a prime p, between 512 and 1024 bits in length. The number of bits
in p must be a multiple of 64
Choose a 160-bit prime q in such a way that q divides (p-1)
Choose a primitive root e0 in Zp
Create e1 such that : e1 = e0(p-1)/q mod p
Chose d as private key and calculate e2 = e1d
Alice’s public key Pk is (e1, e2, p, q); Private key is d
Digital Signature Standard
Signing

Pk
f1
S1 = (e1r mod p) mod q S1
r

f2

[d, Pk] S2
S2 = (h(M)+d*S1) r-1 mod q

M hash h(M)
Digital Signature Standard
Verifying
check whether
S1 is equal to V

S1 == yes
S1 Accept
V

f3

S2
Pk (V = e1h(M)S2-1 * e2S1S2-1 mod p) mod q

M hash h(M)

You might also like