Public key encryption is a part of the public key cryptography. There are two types of public key encryption namely:
- Symmetric key encryption and
- Asymmetric key encryption.
- Encryption of the plain text and
- Decryption of the cipher text
- Block ciphers:
- Stream ciphers:
- AES (rijndael)
- Known – plain text attacks
- Chosen plain text attacks
- Differential crypt – analysis
- Linear crypt – analysis
In this article we focus up on the former type i.e., the symmetric key encryption.
– Symmetric key encryption is done using the symmetric – key algorithms.
– This class of algorithms makes use of the same cryptographic keys for carrying out two main functions namely:
– The two keys might be identical or they may have some simple transformation that relates them to each other.
– A shared secret is represented by the two keys in practical implementation between two or more than two parties.
– A private information link between the parties is maintained using this shared secret.
– The symmetric key encryption requires that all the parties involved must have the access to this key and this is the biggest drawback of this type of key encryption when compared to the public – key encryption.
– The block ciphers or the stream ciphers are used by the symmetric – key encryption.
There are two types of symmetric key algorithms as mentioned below:
In this algorithm, the number of bits is taken. These bits are encrypted in to single unit. The plain text is padded to make it in to a number of block size. Usually the blocks of 64 bits are used. The NIST approved the AES (advanced encryption standard) algorithm in the year of December 2001. This algorithm makes use of the 128 – bit blocks.
In this algorithm, the bytes or the digits of the message are encrypted taking one at a time.
Some of the popular symmetric algorithms are:
– Symmetric ciphers are used for achieving the cryptographic primitives other than encryption.
– In the encryption of the message it is not guaranteed that the message will not be changed during the encryption process.
– This is why a message authentication code is often added to the cipher text for ensuring that the changes made to the cipher text will come to the notice of the receiver.
– Symmetric ciphers such as the CBC – MAC are used for the construction of the message authentication codes.
– However, for the purpose of the non – repudiation, the symmetric ciphers cannot be used.
– For this, the ISO 13888 – 2 standard is followed.
– From the block ciphers, the hash functions can be built.
– Horst Feistel proposed a construction called the Fiestel’s construction for building a number of modern block ciphers.
– The building of invertible functions has been made possible by the Fiestel’s construction.
– These functions are built from the functions are not actually invertible.
The symmetric ciphers are vulnerable to a number of kinds of attacks such as the following:
– The chances of the successful attack can be reduced to a great extent by the careful construction of the functions in each turn.
– Pseudo random key generators are used with the asymmetric ciphers for the transferring the key for generating the symmetric cipher session keys.
– There is a lack of randomness in the initialization vectors or the generators that can lead to disasters such as the crypt–analytic breaks.
– Therefore, it is necessary that the high entropy for the initialization is used for the implementation.
– This is how the key is generated in the case of the symmetric key encryption.