Hi Cheerag,
Key based encryption can seem complex but it's really quite simple.
Public Key
Think of a public key as being the lock rather than a key, it's a padlock you can make lots of copies of and distribute wherever you want. For example, if you want to put your ‘padlock' on an ssh account on another machine, you would copy it to ‘authorized_keys' in the ~/.ssh folder.
Private Key
The private key is the actual key. This is what you use to open the padlock that is stored on the other machine. Anyone who has this key will be able to authenticate via key based SSH authentication.