What is cryptography?
Cryptography is the science of using mathematics to encrypt (encipher) and decrypt (decipher) information. Once the information has been encrypted, it can be stored on insecure media or transmitted on an insecure network (like the Internet) so that it cannot be read by anyone except the intended recipient.
What is the encryption and decryption process?
Encryption is the process in which data is converted into something that seems to be random and meaningless. Decryption is the process in which the encoded information is converted back to its original form.
What is a cryptographic algorithm?
A cryptographic algorithm, or cipher, is a mathematical function employed in the encryption and decryption process. A cryptographic algorithm works in combination with a key (a number, word, or phrase) to encrypt and decrypt information. To encrypt, the algorithm mathematically combines the information to be protected with a supplied key. The result of this combination is the encrypted data. To decrypt, the algorithm performs a calculation combining the encrypted data with a supplied key. The result of this combination is the decrypted information. If either the key or the data is modified, the algorithm produces a different result. The goal of every encryption algorithm is to make it as difficult as possible to decrypt the generated data without using the correct key. If a really good encryption algorithm is employed, then there is no technique significantly better than methodically trying every possible key. Even for a key size of just 40 bits, this works out to 2^40 (just over 1 trillion) possible keys.
Differences between symmetric and asymmetric algorithms.
Symmetric algorithms encrypt and decrypt with the same key. Main advantages of symmetric algorithms are its security and performance. Asymmetric algorithms encrypt and decrypt with different keys. Data is encrypted with a public key and decrypted with a private key. Asymmetric algorithms (also known as public-key algorithms) need at least a 3,000-bit key to achieve the same level of security of a 128-bit symmetric algorithm. Asymmetric algorithms are also incredibly slow and it is impractical to use them to encrypt large amounts of data. Symmetric algorithms are about 1,000 times faster than asymmetric ones.