The primary purpose of encryption is to protect the confidentiality of digital data stored on computer systems or transmitted via the Internet or other computer networks. Modern encryption algorithms play a vital role in the security assurance of IT systems and communications as they can provide not only confidentiality, but also the following key elements of security:
1) Authentication: the origin of a message can be verified.
2) Integrity: proof that the contents of a message have not been changed since it was sent.
3) Non-repudiation: the sender of a message cannot deny sending the message.