Encryption can be defined as a process in which messages or the information are encoded in such a manner that hackers or eavesdroppers will not be able to access it. These encoded messages and information can only be read by the parties who are authorized in this respect. In encryption, the information or message (referred as plaintext) is encrypted by using an algorithm of encryption, turning the text into unreadable cipher text. This is generally done by an encryption key, which enumerates the way of encoding the text. A party, who has been authorized for encoding; however, is capable for decoding the cipher text by using decryption algorithm. For some technical reasons, the encryption scheme generally requires key-generation algorithm in order to produce keys randomly.
Encryption schemes are basically divided into two types, these include; Public-Key encryption and Symmetric-Key encryption. In case of Public-Key type schemes, the encryption key is generally published for anybody to utilize and to encrypt messages. On the other hand, in the schemes of symmetric-key, the decryption and encryption keys are the alike. Therefore, both the parties are supposed to be agreed on the main secret key prior to the communication. However, receiving party only has the access to decryption key. This party is also capable of interpreting encrypted messages
Symmetric-Key (SK) Algorithms
The algorithms used for cryptography and similar cryptographic keys are used for both cipher text decryption and plaintext encryption. These keys are identical or may be some transformation in order to set out between two keys. The keys, practically, represent a secret in between the two parties in order to maintain link of private information. This is one of the drawbacks that both the parties know the key as compared to Public-Key encryption wherein the one party does not know .
Types SK Algorithms
- Stream ciphers encode the contents (usually bits) of an information sequentially.
- Block ciphers are the algorithms which encode large number of bits simultaneously. Generally 64 bits blocks are used by this type of algorithms.
Security and Implementation
Examples of well-respected and popular symmetric algorithms comprise Serpent, Twofish, AES, CAST5, RC4, Blowfish, IDEA and 3DES. Symmetric ciphers generally are used in achieving several cryptographic primitives other than plain encryption. The process of encrypting any message usually does not ensures that the message remains intact while encryption. Therefore, generally an authentication code can be provided along with the encrypted data in order to ensure that the modifications are transmitted to the receiver as well. Several message authentication codes are used by constructing those from various symmetric ciphers. The symmetric cyphers can also be used in various non-repudiation ways. Another widely used application of symmetric cyphers is to build several hash functions through utilizing block cyphers. The symmetric ciphers are known to have been historically susceptible and weak too in respect of many plain text and several other attacks and threats. Carefully constructing the functions in case of every single round tends to reduce risks and threats of various attacks significantly .
The pseudorandom type of key generators can be used in generation of sessional keys for symmetric cipher. This technique is used with help of asymmetric ciphers that are for key transfer. Any sort of lack or deficiency of randomness within these key generators or may be in the initialization vectors can be disastrous and highly risky which may lead to several cryptanalytic breaks as evident from past. Consequently, an implementation of such keys must be used with source of quite high entropy for the initialization.
Public-Key encryption refers to specific encryption system which requires two unique keys, out of these two keys, one is a secret key while the other key is public. Although dissimilar, these two fragments of a key pair have relevance mathematically. One of the keys encodes or locks the information, and the second key is used to decode or unlock the same information. Neither of these keys can be used to perform both the functions simultaneously for same information. The generally known public key is made published without any risk of compromising the security of information whereas the special private key is not supposed to be revealed under any circumstances to the public in order to keep the information secured.
Public-Key encryption uses several algorithms known as asymmetric key algorithms. It can be referred as a general term “Asymmetric key cryptography”, which is more commonly used. Most of the algorithms which are used for this technique have basis of specific mathematical relationships. These mathematical relationships are more critical in discrete logarithms and integer factorization this presumably has no specialized efficient solution. Even though, generating the private and public keys is quite easy job computationally for the recipient of the information in order to decode the message through using a private key. In such case it is easy for sender as well to encode the information using public key.
For general public other than intended recipient of the information, it becomes close to impossible to decode the information without having the private key only on the basis of public key. This is the main reason that contrary to SK algorithms, the public key algorithms do not need to have a specific secure exchange of secret keys in between the receiver and sender. The utilization of such algorithms allows authentication of information which is to be verified by generating a special digital signature in the information or the message through utilization of private key. This can be checked by utilizing a public key as well. Practically, a part of a message or information is encoded for the verification of signature .
Public-Key type of cryptography is extensively used in various applications. It is one of the approaches used by several cryptographic algorithms. It reinforces various levels of Internet standards that include TLS, CPG, and PGP. There exist, three primary types of these algorithms which include distribution systems based on public key, public key cryptosystems and several other systems used for digital signature. These algorithms are basically capable of performing distribution of public keys as well as other services related to digital signatures. In practical usages, the Diffie–Hellman exchange for key is mostly used distribution system related to public key. On the other hand, the algorithms related to digital signature are the widest used systems for digital signatures. Two major uses for the Public-Key encryption are as following:
- A message encoded with special public key can’t be decoded by general people other than a holder of relevant private key. This ensures confidentiality of the information for both user.
- A message with digital signature through private key is verified by the recipient to access the public key associated with the encoded information. This ensures that the information was not tampered during its transmission.
Uses of Encryption
Encryption has widely been used in military and government applications in order to facilitate all the secret communications. It is also commonly used for protecting information in many types of civilian applications. Encryption can also be used for protection of data which is at rest. This includes files on storage devices including computers. In quite recent years, several incidents of exposing of personal confidential records have been reported. This includes personal records of customers and clients which may get exposed due to theft or loss of their backup drives or laptops. Encrypting such type of files which are at rest assist in protecting them when physical security fails. Several management systems for digital rights are in effect for the prevention of data from unauthorized usage and plagiarizing copyrighted content. Encryption is also used in preventing most of the commercial software from getting revers-engineered.
Some encryption algorithms can be more secure on the basis of presumed difficulty in a mathematics problem, like factoring a product consisting of two primes and computing the discrete logarithms. The word “Secure” brings some special meaning mathematically and there may be several unique definitions of stating some encryption method as secure. It totally depends on the context of the way in which the information is viewed as secure. It also depends on the threats from hackers and other eavesdroppers who may try to sneak into the information. The best use related to the encryption method involving public key is the confidentiality in which a message sent by the sender using encryption method with a public key is decrypted by receiver using a private key. This is carried out with an assumption that no data corruption in the algorithm occurs during the course of such communication.
Another widely used application in the field of encryption is the scheme using digital signature. This scheme can generally be used in the aspects of sending the information with a sender authentication which ensures that the information received by the recipient is from a specific sender. This type of scheme has a property of facilitating retrieval of signature through using private key. In order to verify that the message was signed by some specific user and during the course of transmission it was not tempered the receiver uses its public key only. In many cases, such schemes are quite similar to normal encryption schemes. In some other cases, the algorithms do not necessarily resemble any of the encryption schemes. In order to achieve confidentiality and authentication, the sender of the message can sign it using a private key which then encrypts the message as well as the signature requiring only public key at the receiver’s end .
A safe computing environment can’t be achieved without utilizing the encryption technology. Encryption is the term which is used for protecting some information through the means of encoding it to some other form by utilizing special algorithms. This encoded information can only be decoded by authorized persons who hold the key that is required to decode the information. This ensures secure delivery of information to the persons it was intended. Encryption is basically a process of converting data into a different form in order to prevent any unauthorized person from modifying or viewing it. Using encryption for securing data has become a basic need of the modern digital world. It has applications ranging from securing customers personal information to protection against misuse of copyright materials.
Chatterjee, Sanjit. Identity-Based Encryption. New York City: Springer, 2011. Print.
Furht, Borko, Edin Muharemagic and Daniel Socek. Multimedia Encryption and Watermarking. New York City: Springer, 2005. Print.
Salomon, David. Data Privacy and Security: Encryption and Information Hiding. New York City: Springer, 2003. Print.