Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
What is Cryptography?
3.
Encryption Terminology used in Cryptography
4.
Cryptography tools and techniques 
4.1.
Secret Key Cryptography
4.2.
Public Key Cryptography
4.3.
Hybrid Cryptography
4.4.
Stream Cipher Algorithm
4.5.
Block Cipher Algorithm
4.6.
Hash Function
5.
Frequently Asked Questions
5.1.
What is cryptography?
5.2.
Which cryptography technique is widely used by the OS to encrypt passwords?
5.3.
Why is public-key cryptography used mainly for encrypting short-length messages?
5.4.
What is the drawback of using private-key cryptography over public-key cryptography?
6.
Conclusion
Last Updated: Mar 27, 2024

What are basic Cryptography tools?

Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @

Introduction

In the modern world, we want to communicate with others securely. We want our information and communication to be so secure that unauthorized individuals cannot access it. We will further see in this article that cryptography can accomplish this goal.

Cryptography tools and techniques

So, let us start our journey of knowing the cryptography tools starting with gathering knowledge about what cryptography is.

What is Cryptography?

Cryptography is the technique of transmitting secure information and communication so that only the destined person for whom the information is designated can process and understand it. Through this method, we can intercept unauthorized access to data. Cryptography is derived from two words “Crypt” and “graphy.” Crypt means hidden, and graphy means writing, giving us the meaning of cryptography.

Encoding data in cryptography follows techniques obtained from mathematical concepts and calculations described as algorithms. These algorithms encode information so that it becomes hard to decode. These enforce data privacy, digital signing, key generation, and web browsing and protect confidential credit and debit card transactions. The primary objective of organizations to use cryptography are:

  • Privacy: To keep the transmitted data safe. It should only be known to the intended individual, and no one else should get that information.
     
  • Reliability: The information should be unchanged without any modifications during the transfer and also in storage. 
     
  • Non-repudiation: The sender should acknowledge he sent data and not deny it later after transmission.
     
  • Authentication: The receiver and the sender must validate their identities to see and transmit the message, respectively.
Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

Encryption Terminology used in Cryptography

Following are some basic terminologies used in encryption:

  • Plain text: This is the unencrypted message. It does not always need to be text; it can be photos, spreadsheets, or any other information form.
     
  • Ciphertext: This is the encrypted information only for the intended individual. Nobody else should be able to access it.
     
  • Key: When converting plain text to ciphertext, we use a magic string to encode-decode information. This is called the key. The Key is optional as long as the text has to encode. It can be of short length and can be reused iteratively. But if longer keys are used, security increases since they are challenging to crack.  

Cryptography tools and techniques 

There are many tools and techniques for encoding and decoding data for security purposes. Some of the essential tools and techniques are:

  • Secret key cryptography
  • Public key cryptography
  • Hybrid Cryptography
  • Stream Cipher Algorithm
  • Block Cipher Algorithm
  • Hash Functions

Secret Key Cryptography

It is also known as Symmetric key cryptography. In this technique, the sender and receiver use a single shared key to encrypt and decrypt the information. The algorithms based on this technique are completely streamlined and thus fast in nature. The problem with this technique is that somehow the sender and the receiver have to exchange keys securely. A few types of symmetric cryptography are:

  • DES(Data Encryption System)
  • RC2
  • IDEA
  • Blowfish
Secret Key Cryptography

Public Key Cryptography

It is also known as Asymmetric key cryptography. In this technique, the sender and receiver use a pair of keys to carry on the encryption and decryption of data. The pair of keys is the public key and the private key. For encryption, a public key is used, and a private decryption key is used. Each person stores a private key, and a public key is shared across the network. Even after everyone on the network knows the public key, they cannot decode it. Only the intended user with the private key can decrypt the message. Some of the widely used kinds of asymmetric key cryptography are:

  • RSA
  • DSA
  • PKCs
  • Elliptic Curve Technique
Public Key Cryptography

 

Hybrid Cryptography

To achieve advantages of both public and private key cryptographies and nullify or reduce their shortcomings, we use a new technique called hybrid cryptography, a combination of both. 

Its working can be explained with an example, Assume that there are two ninjas, Ninja1 and Ninja2, and they want to communicate with secrecy, and the message is long. Since they have a long message, they can not use public-key cryptography because of their slow nature (that is why they are only used in short messages). Here they will use a combination of both. Ninja1 will choose a  secret key and encrypt the message using a secret-key(fast) cryptosystem. Then he encrypts this secret key using Ninja2’s public key. After which Ninja1 sends the ciphertext and the encrypted key to Ninja2. Ninja2 first uses his private decryption key to decrypt the secret key, and then he uses this secret key to decrypt the ciphertext.

Stream Cipher Algorithm

Stream Cipher algorithm is an algorithm that operates over a stream of information as it passes through the system. Since it can’t look ahead, it must be able to keep up with the speed of incoming data. It first uses the key to construct the keystream, a bitstream of the same length as plain text. The decoding part of this algorithm should be tolerant of missing bits of data. The most common example where these are used is the streaming of audio and video.

Stream cipher algo

Block Cipher Algorithm

It is an algorithm that divides the data into blocks. For example, it divides 64 bits in an 8X8 matrix block and encodes it at once. So, we can define blocks as fixed-size chunks of plain text. Block ciphers are generally very secure and very fast too. 

Block Cipher algo

Hash Function

The hash function follows an algorithm that takes an arbitrary length of data input and delivers a fixed data output size. This algorithm does not comprise the usage of any keys. A hash value is calculated as per the plain text, which is fixed in size. This hash value makes it impossible to recover the contents of the plain text, thus making it secure. So, this hash function is used in Operating Systems to encrypt passwords. 

Frequently Asked Questions

What is cryptography?

Cryptography is a method of encrypting and decrypting messages and information to establish a secure information exchange between the sender and the receiver.

Which cryptography technique is widely used by the OS to encrypt passwords?

Operating systems widely use the hash function technique to encrypt passwords and keep them safe and secure.

Why is public-key cryptography used mainly for encrypting short-length messages?

There is a major drawback of using a public-key cryptography system; it is much slower than a secret-key cryptography system. So, if the message is long, it will take much more time; therefore, public-key cryptography is used for short message encryption.

What is the drawback of using private-key cryptography over public-key cryptography?

The main drawback of using private-key cryptography is that for using private-key cryptography, the sender and receiver must have a predetermined secret key, which is not the case with public-key cryptography.

Conclusion

In this article, we discussed what cryptography is and its uses. We read about the techniques and tools required for cryptography and also understood their advantages and disadvantages.

We hope this blog increased your knowledge of cryptography and that you all enjoyed reading it. For more on cryptography, check out our other blogs, CryptosystemsDifference between Cryptography and Cyber Security, and Cryptography Hash Function.

Recommended Readings:

Please refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. And also, enroll in our courses and refer to the mock test and problems available. Have a look at the interview experiences and interview bundle for placement preparations.

Keep learning, and Keep Growing!

Happy Learning!

Previous article
What is Cryptography and Why Do We Use It?
Next article
What does Message integrity mean?
Live masterclass