Digital Signatures


                                             

In olden days we used to verify authenticity and legitimacy of a document using unique Fingerprint or a Signature. But as time changed ,the world shifted towards working with digital documents and data. Now the question arises about digitally signing any form of data on the internet .

The solution to this problem is a digital signature (a digital proof) which is being attached along with the data being sent or received digitally .
One of the famous Public Key algorithms of Cryptography - RSA can be used to generate Digital Signature . Other algorithms are - ECDSA ( Elliptical curve digital signature algorithm ) , DSS (Digital Signature Standard) ,ed25519 ( Edward Curve Digital Signature algorithm)
RSA is a type of public key encryption algorithm( keypairs - publickey to encrypt data and privatekey to decrypt data) which is used to securely transmit data in order to maintain confidentiality between sender and receiver.
This algorithm can be used in a reversible manner to achieve :

  1. Data integrity - verifying that the data remains consistent over its complete lifecycle without being tampered or altered by any external agent
  2. Non-repudiation - verifying the authenticity of the sender, in other words the sender cannot deny that he sent a particular file to someone
Non-repudiation - verifying the authenticity of the sender, in other words the sender cannot deny that he sent a particular file to someone


Working of the Algorithm :


   

The steps:

  1. The first step is the keypair generation using any cryptographic asymmetric algorithms like RSA, AES, DES , ECDSA , DSS etc
  2. Now the sender has both public and private key , keys are nothing but mathematical real numbers used in the algorithm for encryption and decryption. RSA algorithm will be explained in the upcoming blogs .
  3. Sender will use any hashing algorithm like SHA256 to hash the data. hashing is a process of converting any form of data to a fixed length of Hexacedimal bytes which is irreversible in nature, that is we cannot get the message back from a hash.
  4. The resultant hash along with original data is combined together and it is encrypted using the sender's private key. Here encryption is a process of converting data to a sequence of random alphanumeric characters which is a form of cipher to protect the original message.
  5. Now the encrypted data is combined with the sender's publickey ,this combination is called as the digital signature of the sender. Later this data is sent to the receiver.
  6. Receiver decrypts the data using sender's public key , he will recover the original data or message along with the hash , if this step is successful then we will achieve Non-repudiation
  7. Receiver passes the data to the SHA 256 algorithm and verifies it with the hash received along with the data. If hash is verified we will achieve integrity of data.

Data integrity can be checked if both the hashes match together , this helps us to understand that data is not tampered during transmission.

The identity of the sender can also be verified as data can be decrypted with the public key mapped to the sender.


By,Nagaprasad V R





Comments

Popular posts from this blog

The Women Achievers of Indian Aerospace

Breaking Down Blockchain