We all need encryptions to keep safe every shade of information about us. Today we need in safety three different scenarios. They are the privacy of communication, the privacy of storage, and forward secrecy. Privacy of communication is concerned with the safety of the communication/ information while it is in the process of moving from the sender to the receiver. This is why the sender encrypts the information/ message and the receiver authenticates or verifies the same. Privacy of storage is about the security of our files and information that we store in our computers, USB drives or even cloud services. To secure these files, we need to encrypt them so that no one hacks into them. Forward secrecy maintains the secrecy of the communication not only at the time it occurs but also in the future.

The information that is scrambled using a code is called ciphertext or cryptogram. The set of rules that are used to encrypt information is called encryption algorithms. Normally the encoding of the message/ information needs an encryption key. To decode the message/ information, we need an appropriate decryption algorithm. With an appropriate decryption key, we can open the hidden message or information. Those who decode or hack into the ciphertext are called cryptanalysts and their art is termed as cryptanalysis.

There are different kinds of encryptions each with their advantages and disadvantages that help us to solve our needs for security. The first among them is called the symmetric key/ secret key encryption. The communicators, in this case, keep their key secret and share it with each other in advance. It hides the information very well. The receiver who has the key can decrypt the correct message. But the sender and receiver of the cryptogram/ message have to first exchange a secret key with each other before they send or receive any message. The next type encryptions are called asymmetric / public key. In this context, the encryption key is different from the decryption key, unlike the symmetric key where the encryption key is the same as decryption key. The encrypting key is usually made public but it is of no use to decrypt the message. The secrecy of this communication depends only on keeping the decryption key secret.

Modern algorithms of encryption do not make use of substitutions that we saw earlier. Instead, they to use a coding scheme that tends to convert the message/ information into a sequence of binary digits ( bits) that is zero and one. Most commonly used code of encryption in this context is called the Bit-sequence. The algorithm may act on a bit- sequence in several ways. Stream ciphers for instance, encrypts the sequence bit by bit while the block ciphers divides the sequence into blocks of predetermined size and then the encrypting algorithm acts on them. The same bit-string can be written in different ways depending on the size of the block.

To understand the complexity of representation of the plain text/message/information in the computers to form a bit-sequence, we will have to deal with binary numbers to the base two. When we deal with the binary numbers to the base two the basic digits are 1 and 2. Like the way we have units and tens and hundred …. columns when we deal with binary numbers to the base ten, we have in the context of binary numbers to the base two, we have units column, two’s column and four’s column and eight’s column and so on. This means every binary string can be regarded as a number. For instance, 101 in binary terms is 1 fours , 2 zeroes, and 1 (units) one. So the binary string will be (4×1)+(2X0)+(1×1) or 4+0+1= 5. In a similar manner 1101 in binary terms is 1 eights, 1 fours, 2 zeroes, and 1 one which makes the binary string 8+4+0+1=13. Thus, any positive integer can be written in a binary form. Based on this we calculate the bits. When we refer to an n-bit number, we mean that its binary form requires n-beats. Thus, for instance, the above instances 5 are a single bit number while 13 is a two-bit number.

Now American standard code of information exchange (ASCII) requires eight bits to represent one character and therefore for a block cipher, it has to be 64 bits block. In this case, the encryption algorithm acts on eight characters at once. For the stream-sequence, the encryption operations consist of only two operations: Change and live unchanged. This sequence is determined by an encryption key that we call the key stream sequence. Thus, we may agree to write 0 as unchanged and 1 as changed. Hence, suppose we have a plain text or stream sequence as 1100 101 and the key stream is 1000110 then 1 in the key stream means to change the bit of the plain text then 0100011 becomes the ciphered text. This is obtained just by placing both the sequence of the plain-text above the sequence of the key stream and then following our agreement to change one and leave zero unchanged we get 0100011. The stream ciphers can be still be encrypted through strong encryptions. To do this, we use the operation XOR which is a bit more complex and requires a lengthy elaboration. Modern cryptography is stronger and is used vigorously to guard precious information.