# Cryptography Explained Image Credit: Google Image & The Economist

Cryptography is the branch of Computer Science that deals with applying mathematical techniques to information security to maintain authentication, integrity, and confidentiality of data.  It also prevents and detects malicious activities.

## Services of Cryptography:

Cryptography is mainly used to provide the following services:

Confidentiality is a service provided by the cryptography to make sure that data is secure and to make sure that the data is accessible to those who have access to it.

Data Integrity is another service from cryptography that is useful in detecting data manipulation by unauthorized parties. Manipulation of data may be insertion, deletion or modification of data.

Authentication, a service from cryptography that is useful in the identification of entities transferring data and is responsible for the safe transfer of right data.

Non-repudiation is a service from cryptography that prevents entities from denying previous commitments or actions.

Terms used in Cryptography:
To understand the cryptography, the knowledge on following terms is useful.
• Plain Text: Original Message is known as plain text
• Cipher Text: Modification or encoding of the original message using some mathematical techniques is known as ciphertext.
• Encryption: Process of converting plaintext to ciphertext is known as Encryption.
• Decryption: Process of converting ciphertext to plaintext is known as Decryption.
• Cryptanalysis: Processing of decrypting a message without any knowledge on the process of encryption is called Cryptanalysis.
• Cryptology: Areas of Cryptography and Cryptanalysis are together known as Cryptology.  ## Working of Cryptography:

A cryptographic algorithm is nothing but a mathematical function that is used to encrypt or decrypt data. The cryptographic algorithm is known as cipher.

To convert plain text to cipher text, an algorithm is used which may be a number or key. The security of the algorithm depends on the strength of the key used.
Cryptography algorithm, keys, and protocols that are used for cryptography are together called Cryptosystem.

## Example of the Cryptographic algorithm:

A simple example of the cryptographic algorithm is Caesar Cipher that uses simple mathematical operation for encryption and decryption.

### The algorithm works as below:

Let us represent the list of alphabets with numbers from 0-25. Here, the key is the number. Choose a key between 1-25.

Let us take Sample plain text as “Hello World” and the key is 3. For example, alphabet A is represented as D which is obtained by shifting right to the 3rd letter as the key is 3.
The cipher for plain text “Hello World” is “Khoor Zruog”. In the Decryption process, the shifting is done to the left side.

### Types of  Algorithms used in Cryptography:

There are various algorithms used for cryptography. Some of them are as below:
1. Symmetric Algorithm: Cryptographic algorithm that uses the same key for both encryption and decryption are Symmetric algorithms.
2. Asymmetric algorithms: It is also known as Public Key Cryptography. These algorithms use a pair of mathematically related keys for encryption & decryption known as a public key and private key. Public keys are shared but private keys are kept secret.

### Examples of Symmetric Algorithms:

1. Data Encryption Standard(DES): An Cryptographic algorithm that uses 56 bit key for encryption and decryption which is widely used
2. Advanced Encryption Standard(AES): Cryptographic algorithm more secure than DES and uses keys of length of 128, 192 and 256 bits
3. International Data Encryption Algorithm: An Cryptographic algorithm that uses the 128-bit key that has its application in Open PGP also.

### Examples of Asymmetric Algorithms:

• Diffie Hellman is an Asymmetric algorithm that provides secure encrypted communication by exchanging keys using physical channel
• RSA(Rivet-Shammir-Adlemen) is another Asymmetric algorithm that uses keys based on the factorization of prime numbers concept
• Elliptic Curve is a famous and widely used Asymmetric algorithm that is based on the concept of elliptic curves over finite fields.

## Free Resources to Learn Cryptography:

• Udemy has an extensive amount of resources to learn about cryptography and its implementation using various programming languages.
• Cybrary also provides a wide range of courses on Cryptography.