In data security, a classical method of data encryption/ decryption that enables senders to encode and recipients to decode messages by means of using a common key or keys that can easily be calculated from each other, and that are kept secret.