Professional Documents
Culture Documents
Digital signature is a type of Cryptography. It helps in keeping communications private. There are two types of Cryptography I. Secret key or Symmetric Cryptography II. Public key or Asymmetric Cryptography
In Symmetric Cryptography the sender and receiver of a message know and use the same secret key to encrypt the message, and the receiver uses same key to decrypt the message.
Asymmetric Cryptography
We use Asymmetric Cryptography for the implementation of Digital Signatures because of the following advantages. 1. Only one party needs to know the private key. 2. The knowledge of the public key by a third party does not compromise security of message transmission.
A digital signature scheme typically consists of three algorithms: 1. Key Generation algorithm. 2. Signing algorithm. 3. Signature verifying algorithm.
Key Generation
RSA involves a public key and a private key. The public key can be known to everyone and is used for encrypting messages. Messages encrypted with the public key can only be decrypted using the private key.
Encryption
Person A transmits his/her public key to person B, keeping his/her private key secret. If person B wants to send a message to person A, he now encrypts the message to be sent to person A using the public key of person A.
Decryption
The message encrypted using the public key of person A by person B is received by person A. This message is then decrypted using the private key of the person A. The message cannot be accessed by anyone other than the person having the private key.
Consider the following example, which shows the working of the RSA algorithm.
Key Generation
Select two large prime numbers p, q Compute n=pq v = (p-1) (q-1) Select small odd integer k relatively prime to v gcd(k, v) = 1 Compute d such that (d k)%v = (k d)%v = 1 Public key is (k, n) Private key is (d, n) example p = 11 q = 29 n = 319 v = 280 k=3 d = 187 public key (3, 319) private key (187, 319)
Encryption
Person A and person B would like to communicate in private Person A uses RSA algorithm to generate her public and private keys
person A makes key (k, n) publicly available to person B and anyone else wanting to send her private messages
Decryption
Person A receives E(M) and uses private key (d, n) to decrypt it:
compute D(M) = (E(M)d)%n decrypted message D(M) is original message M
THANK YOU