Given the following table describing the procedure for Alice to send a signed message with DSA signature to Bob, calculate the unknown entities and verify that Bob has received the correct message sent by Alice. Here, for simplicity we assume that the hash of a message m, h(m) is already computed and given to you. Alice Bob Choose p=19, q=7, α=2, d=6 Compute β= αd mod p = Public key: kpub = (p,q,α,β) = Private key: kpriv = (d) Send public key to Bob: (p,q,α,β)= Hash of message m , h(m) = 7 (given) Receive Alice’ public key (p,q,α,β)= Ephemeral key, kE = 5 Compute kE-1 mod q = Compute r= (αkE mod p) mod q Compute s= (h(m) + d*r)* kE-1 mod q = DSA Signature (r,s) = Send message (m, (r,s)) to Bob Receive message (m, (r,s)) from Alice; here we assume h(m)=7 as known Compute w = s-1 mod q = Compute u1 = w*h(m) mod q = Compute u2 = w*r mod q = Compute ν= (αu1 * βu2 mod p) mod q = Verification: compute µ = r mod q Verify if µ = ν?
] Given the following table describing the procedure for Alice to send a signed message with DSA signature to Bob, calculate the unknown entities and verify that Bob has received the correct message sent by Alice. Here, for simplicity we assume that the hash of a message m, h(m) is already computed and given to you.
Alice |
Bob |
Choose p=19, q=7, α=2, d=6 |
|
Compute β= αd mod p = |
|
Public key: kpub = (p,q,α,β) = Private key: kpriv = (d) |
|
Send public key to Bob: (p,q,α,β)= |
|
Hash of message m , h(m) = 7 (given) |
Receive Alice’ public key (p,q,α,β)= |
Ephemeral key, kE = 5 |
|
Compute kE-1 mod q = |
|
Compute r= (αkE mod p) mod q |
|
Compute s= (h(m) + d*r)* kE-1 mod q = |
|
DSA Signature (r,s) = |
|
Send message (m, (r,s)) to Bob |
|
|
Receive message (m, (r,s)) from Alice; here we assume h(m)=7 as known |
|
Compute w = s-1 mod q = |
|
Compute u1 = w*h(m) mod q = |
|
Compute u2 = w*r mod q = |
|
Compute ν= (αu1 * βu2 mod p) mod q = |
|
Verification: compute µ = r mod q |
|
Verify if µ = ν? |
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images