Cryptography Tutorial

The term cryptography is derived from two Greek words: krypto, which means concealed, and graphene, which means writing. Individuals of all ages are compelled to exchange information discreetly or with a restricted group. In this Cryptography tutorial, we'll begin with the fundamentals of Cryptography and work our way through all of the important Cryptography principles that every Cryptography practitioner should be familiar with.

Cryptography is a combination of two Greek words, Krypto, which means hidden, and graphene, which means writing. People from ages are required to share the information secretly or to share it with a selective group. As per circumstances, these requirements enlighten this Cryptography technique that helps to share secrets easily. In this Cryptography tutorial, we are heading to know the concepts, components, and workings of Cryptography methods. Let’s get started.

Cryptography Tutorial for Beginners

In this Cryptography tutorial, we will start from the basics of Cryptography and learn all the major Cryptography concepts that a Cryptography professional must be aware of. Now, let’s have a look at the components of this tutorial.

What is Cryptography

Cryptography is the study of techniques for securing communication and data in the presence of adversaries. It hides the real meaning of the data by transforming it into a non-readable format by humans. It deals with analyzing and developing protocols that prevent the entry of malicious third parties from accessing data from being shared between the entities. In cryptography, an adversary is a malevolent entity that aims to retrieve data by mining the principles of information security.

If you want to enrich your career and become a professional in Cryptography, then enroll in "Cryptography Training" - This course will help you to achieve excellence in this domain.

The four principles of modern-day cryptography are as follows:

  • Data Confidentiality: Data Confidentiality refers to the guidelines and rules to follow to ensure the data is restricted to certain places or people.
  • Data Integrity: Data Integrity refers to maintaining and ensuring data accuracy and consistency over its life cycle.
  • Authentication: Authentication is the process of ensuring the data being claimed by the user belongs to it.
  • Non-repudiation: It refers to the capability to make sure a person associated with the contract cannot deny the authentication of the signature over the documents.

Evolution of Cryptography

The art of cryptography is born along with the art of writing. After civilization, people got organized into groups, kingdoms, and tribes and made to enlighten the idea of battle, politics, supremacy, and power. These ideas lighten the need to maintain the secrecy of data, and people also want to share their data with the selective recipient which ensures the continuous evolution of cryptography.

After the European Renaissance, several Papal and Italian states led to the rapid growth of cryptographic techniques. There are various techniques and analyses are developed and used to crack the secret code. 

  • In the 15th century, Vigenere coding, improved coding techniques came into existence that offered moving letters in the message.

  • After the 19th century, cryptography evolved from ad hoc approaches to encryption that made more sophisticated art of information security.

  • In the early 20th century, the invention of electromechanical and mechanical machines, such as the Enigma rotor machine, provided a more advanced and efficient means of coding data.

  • Both Cryptography and cryptanalysis became excessively mathematical at the time of World War II.

  • In 1975, the US Federal Register established the Data Encryption Standard (DES), which is an algorithm used to secure electronic communication in banks and financial organizations. Later in 1977, it was renamed the Federal Information Processing System (FIPS).

  • The FIPS and DES were officially restored by the Advanced Encryption Standard (AES) in 2001. However, the DES and other techniques were still used by the people.

Data encryption continues to evolve, and it leads to a long history.

Mindmajix Youtube Channel

Cryptography Algorithm

The scientific field of providing security for data by reversible alteration of data is known as cryptography. Cryptography algorithm which means the alter of data from readable format(Plaintext) to a protected format(ciphertext) and converting back to the readable format. Encryption is a process of changing plaintext to ciphertext. Decryption is a process of changing ciphertext to plaintext.

There are three main types of Cryptographic algorithms. They are as follows:

Symmetric Key Cryptography (Public Key)

Symmetric key encryption is a private key in which the sender and receiver use a common key for both encryption and decryption processes. It makes the process faster and easier, but the drawback is that the sender and receiver have to exchange their keys in a secure way. A popular example of Symmetric key cryptography is Data Encryption System (DES).

Asymmetric Key Cryptography (Private Key)

Asymmetric Key Cryptography uses a pair of keys to encrypt and decrypt the data. It is a public key where one key is used for encryption and the other for decryption. 

Hash Functions

Hash functions use a single mathematical transformation of data and are hard to reverse. A hash value with a fixed key length is calculated using plaintext, and that makes it difficult for plaintext to be recovered. 

Preparing for Cryptography? Here are the Top Cryptography Questions and Answers

What is cryptanalysis?

The art and science of breaking the ciphertext are known as Cryptanalysis. It is the branch of cryptography, and they both co-exist. The cryptographic process results in the ciphertext for storage or transmission. It includes the study of cryptographic mechanisms to crack the code. Cryptanalysis is used during the design of the new cryptographic techniques to test the strength of security.

Cryptanalysis uses mathematical algorithms and analysis to decipher the ciphertext. The success of cryptanalysis attacks depends on the availability of time, power, and storage capacity. The commonly used Cryptanalysis attacks are as follows:

  • Dictionary attack: It uses a wordlist to find a match of either the plaintext or key. This attack is mostly used when trying to crack encrypted passwords.
  • Brute force attack: It uses algorithms that try to guess all possible logical combinations of plain text that is ciphered and compared with the original text.
  • Rainbow table attack: It compares the ciphertext against pre-computed hashes to find matches.

What is Cryptology?

Cryptology combines the technique of cryptography and cryptanalysis.

Components of Cryptosystems

The following are the several components of a cryptosystem:

  • Plaintext: Plaintext is data that protects during transmission.

  • Encryption Algorithm: This algorithm undergoes a mathematical process that produces a ciphertext for an encryption key and plaintext.

  • Ciphertext: It is a scrambled version of the plaintext produced by the encryption algorithm using a specific encryption key. It allows interception by anyone who can access the communication channel.

  • Decryption algorithm: It is the mathematical process that gives a unique plaintext for any given decryption key and ciphertext. It is a cryptographic algorithm that considers ciphertext and a decryption key as input and plaintext as output. 

  • Encryption key: The encryption key is a value that is known to the sender. The sender inputs an encryption key into the encryption algorithm with the plaintext to execute the ciphertext.

  • Decryption key: The decryption key is a value that is known to the receiver. The decryption key is related to the encryption key but not identical to it. The receiver gives the decryption key to decode the algorithm with the ciphertext to analyze the plaintext.

  • Interceptor: An interceptor is an unauthorized entity that tries to determine the plaintext. He/She can see the ciphertext and may know the decryption algorithm but never know the decryption key.

Types of Encryption

There are two types of encryptions based on which encryption and decryption are carried out in the system. They are as follows:

  • Symmetric Key Encryption

  • Asymmetric Key Encryption

Symmetric Key Encryption

Symmetric Key Encryption is the encryption process where the same keys are used for decrypting and encrypting the data. The study of the symmetric cryptosystem is termed a secret key cryptosystem. Digital Encryption Standard (DES), BLOWFISH, Triple-DES, and IDEA are example methods of Symmetric Key Encryption. 

A person using symmetric key encryption has to share a common key that is used to exchange information or data. Keys are required to change frequently to prevent any attacks on the system. A robust mechanism is required to exchange the key between the parties that are communicating. 

The length of a key in this encryption is smaller. Thus the process of encryption-decryption is faster than asymmetric key encryption. processing power of the computer system is required to run the symmetric algorithm less.

Asymmetric Key Encryption

Asymmetric Key Encryption is an encryption process where different keys are used for encrypting and decrypting the data. The keys are different from symmetric keys and are related mathematically, retrieving the plaintext by decrypting the ciphertext is feasible. 

Every user in this system is required to have a pair of different keys, a private key, and a public key. These keys are related mathematically where one key is used to encrypt, and the other key is to decrypt the ciphertext to plaintext. It is required to safeguard the private key and the public key in the public repository. This process of encryption is called Public Key Encryption. Public and private key users are related; it is computationally not feasible to find one from another. 

When Host1 needs to send data to Host2 from the repository, encrypts the data, and transmits it. The length of the keys in this encryption is large, and the process of encryption and decryption is slower than symmetric key encryption. The processing power of the computer system required to run the asymmetric algorithm is higher.

How do various algorithms work?

The working process of various algorithms are as follows:

Symmetric Key Cryptography: Symmetric Key Cryptography is an encryption method in which the message of the sender and receiver share a common key that can be used to decrypt and encrypt the message. The most popular symmetric key system is the Data Encryption Standard (DES).

Transposition Ciphers: The transposition ciphers is a method of encryption by which the positions are held by the units of plaintext that are shifted as a regular system. Hence the ciphertext constitutes a permutation of the plaintext. 

Example: Consider a Plaintext “SEE YOU SOON” and change their positions to the key used in th

1

2

3

4

5

6

S

E

E

Y

O

U

S

O

O

N

  
      
      

 

4

3

6

1

5

2

Y

E

U

S

O

E

N

O

 

S

 

O

      
      

Ciphertext is YEUSOENOSO

Substitution Cipher: Substitution Cipher is the method of encryption done by which the unit of plaintext is changed with ciphertext, as per the fixed system. The units may be single letters, pairs of letters, triplets, mixtures of the above, etc.

Example: Consider a plaintext, using the Substitution Cipher method we are going to replace it with ciphertext.

Plaintext Alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Keyword: MINDMAJIX

Ciphertext Alphabet: MINDAJXBCEFGHKLOPQRSTUVWYZ

Stream Cipher: Stream cipher is a symmetric key where a plaintext digit is joined with the pseudorandom cipher digit stream which is called a keystream. Each plaintext digit is encrypted at a time with the respective keystream digit, to analyze the digit of the ciphertext system.

Block Cipher: A block cipher is an encryption technique that applies the algorithm along with a symmetric key to encrypt a block of text, rather than encrypting one bit at a time as in stream ciphers. 

RSA Algorithm: RSA stands for Rivest, Shamir, and Adelman inventors of this technique. It is an asymmetric algorithm that is used by modern systems to decrypt and encrypt messages. Both public keys and private keys are used as a key pair generator.

CrypTool

The CrypTool is an open-source tool that is used in various aspects of cryptanalysis and cryptographic concepts. It can analyze the encryption and decryption of multiple algorithms. CrypTool provides better documentation to achieve encryption and decryption, several algorithms, a graphical interface, and bundles of analytics tools. 

Download the CrypTool version and let’s try to create the RC4 stream cipher.

Creating the RC4 stream cipher

To create the RC4 stream cipher, do the following steps:

  • Open CrypTool.
  • Click on File in the Menu bar and select New.
  • Enter some text in the window, as shown in the figure.
  • Click on Encrypt/Decrypt option in the menu bar, select Symmetric (modern) from the list, and select RC4 from the list.
  • A window opens, enter the key length and click on Encrypt.
  • You will get the stream cipher encrypted code, as shown in the figure.
  • To decrypt the text, click on Encrypt/Decrypt option in the menu bar, select Symmetric (modern) from the list, and select RC4 from the list.
  • A window opens, enter the key length and click Decrypt.
  • You will see the decrypt stream ciphertext, as shown in the figure.

Attacking the stream cipher

To attack the stream cipher, do the following steps:

  • Click on Analysis on the menu bar, select Symmetric Encryption (modern), and select RC4 from the list.
  • Select the key length and make sure that the secret key length and this key length are of the same bits.
  • Click Start. It takes time to complete the analysis. The time taken depends on the length of key length and the processing capacity of the machine.
  • You will get the results when the analysis is completed.

Benefits of using Cryptography

The following are the benefits of using Cryptography.

  • Without detecting any suspicious activity, the data cannot be altered in storage or transmitted to the sender and also the receiver.

  • It can identify and confirm the identity and also the origin of the data. Cryptography helps to protect and store the data over all kinds of devices, wherever transferred.

  • Using Cryptography, the source of the data will never deny its activities regarding the transmission of data. 

  • Securing sensitive data is the main aim that achieves by using Cryptography. 

Disadvantages of using Cryptography

Along with the best benefits, there are few drawbacks of using Cryptography. There are as follows:

  • Cryptography does not safeguard against vulnerability and threats that come from poor designs of systems, procedures, and protocols. 

  • Strongly authenticated, encrypted, and digitally signed information is difficult to access for a legitimate user at the time of decision-making.

  • People cannot realize the need for information security of selective access control with the use of cryptography.

  • The security of the cryptographic technique is based on the computational difficulty of mathematical problems.

Conclusion

The use of robust encryption algorithms is essential to safeguard the information and data shared over the internet and to avoid any threats of attacks. Cryptography provides the best techniques that aim to protect the most confidential information. To know more about cryptography, check out our training program that helps you to learn the most modern methods of cryptography.

Course Schedule
NameDates
Cryptography TrainingJul 30 to Aug 14View Details
Cryptography TrainingAug 03 to Aug 18View Details
Cryptography TrainingAug 06 to Aug 21View Details
Cryptography TrainingAug 10 to Aug 25View Details
Last updated: 03 Apr 2023
About Author

Keerthana Jonnalagadda working as a Content Writer at Mindmajix Technologies Inc. She writes on emerging IT technology-related topics and likes to share good quality content through her writings. You can reach her through LinkedIn.

read less