Question

In: Computer Science

given a hash finction H(), and an RSA encrypting algorithm. The public and private keys for...

given a hash finction H(), and an RSA encrypting algorithm. The public and private keys for Alice are PUa, and PRa, respectively.

A. Describe how Alice can produce a digital siguature of a message "M. and how Bob can verify the sigature.

B. Does the process described in part (a) above provide authentication? Give reason.

Solutions

Expert Solution

A. Digital signature generation by Alice:

i. Alice composes a message M.

ii. Alice implements the secure hash function H( ) to generate a hash value H(M).

iii. Alice applies her private key PRa with the asymmetric algorithm in signature mode S (identical to decryption mode D of the RSA algorithm) to generate signature Sig(M) = S(H(M), PRa).

iv. Alice relay message M and signature Sig(M) to Bob along with her unique name and both of the algorithms she used i.e specification of the hash algorithm(function) and the asymmetric algorithm.

Digital signature validation by Bob:

i. Bob receives a message M’ (we will assume M', not M as the sender is not verified yet) along with the signature Sig(M).

ii. Bob applies the secure hash function H( ) on M’ to generate hash value h(M’ ).

iii. Bob retrieves the hash value H(M) from the acquired signature Sig(M) by utilizing Alice’s public key PUa with asymmetric algorithm in verify mode V (identical to encryption mode E of the RSA algorithm) to generate H(M) = V(Sig(M), PUa).

iv.Henceforth Bob verifies whether H(M) = H(M' ) is true if it is true then the message received is authentic and valid.

B .Yes, the above process in part (A) provides authentication.

If H(M) = H(M’ ) == TRUE,

then the signature Sig(M) is valid

and M’ = M.

(origin certain -- authenticated)

else

the signature Sig(M) is invalid,

and M’ ≠ M.

(origin uncertain-- not authentic)

However, the digital signature can convey the following two possible cases

a) The message was sent by Alice but she doesn't compulsorily oblige with its content.

b) The message was sent by Alice and she agrees with its content.

In both of the above cases, authentication of the sender is achieved.

Thanks!

Upvote if it helped!


Related Solutions

Suppose Alice and Bob have RSA public keys in a file on a server. They communicate...
Suppose Alice and Bob have RSA public keys in a file on a server. They communicate regularly, using authenticated, confidential message. Eve wants to read the messages but is unable to crack the RSA private keys of Alice and Bob. However, she is able to break into the server and alter the file containing Alice’s and Bob’s public keys. (1) How should Eve alter the file to so that she can read confidential messages sent between Alice and Bob, and...
WHAT ARE THE DIFFERENCES BETWEEN PUBLIC KEYS AND PRIVATE KEYS IN TERMS OF ENCRYPTION METHODS AND...
WHAT ARE THE DIFFERENCES BETWEEN PUBLIC KEYS AND PRIVATE KEYS IN TERMS OF ENCRYPTION METHODS AND BITS WISE UNDERSTANDING?
In python Write a program to implement RSA algorithm based on the public key. def encryptmessage():...
In python Write a program to implement RSA algorithm based on the public key. def encryptmessage(): def decryptmessage(): encryptmessage () decryptmessage () No in-built functions and third-party APIs will be allowed.
Given two prime numbers 17 and 19. Compute the encryption and the decryption keys using RSA...
Given two prime numbers 17 and 19. Compute the encryption and the decryption keys using RSA algorithm.
When using secure hash functions in an RSA signature, why do we sign the hash Sign...
When using secure hash functions in an RSA signature, why do we sign the hash Sign (H (m)) instead of taking the take the hash H (Sign (m)) ?
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure...
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure how to Create your public and private keys and create and encrypted message using python Then encrypt the message with your private key I need output of a Message you sent (in plain text and encrypted) Message you received (in plain text and encrypted)
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure...
RSA: Public and Private Key Encryption im doing this on an ubuntu virtual machine but unsure how to Create your public and private keys and create and encrypted message using python Then encrypt the message with your private key I need output of a Message you sent (in plain text and encrypted) Message you received (in plain text and encrypted)
1. Sort the given keys using Counting sort algorithm. Also write the algorithm.          4, 1,...
1. Sort the given keys using Counting sort algorithm. Also write the algorithm.          4, 1, 0, 2, 1, 5, 0, 4                                                                     No code or programs, please. Manually solve the problem, please. Thanks
IN PYTHON Generate valid keys (e, n) for the RSA cryptosystem.
IN PYTHON Generate valid keys (e, n) for the RSA cryptosystem.
Develop an algorithm to demonstrate hashing using hash table with modulo as the hash function. Assume...
Develop an algorithm to demonstrate hashing using hash table with modulo as the hash function. Assume the size of the hash table as 10. To avoid collisions in case of identical keys for two different elements, use Linear Probing collision resolution technique. using c++ add comment on the code
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT