From this article onwards, I’m going to elaborate on types of encryption. Each of these types has something in common. That is the sender encrypts the set of data ( particularly a file) using a password or a key. When the receiver receives this encrypted file, he is able to use the file using a password/key that he posses. Encryption can be mainly divided in to three categories.
- Symmetric-key encryption
- Asymmetric-key encryption
- Hash functions
The sender and the receiver must have the same key/password. Or if the keys are not identical, they must be related to each other in a predefined specific manner.
Ex:- Sending a password protected zip file to a friend ( you protect the file with a password and tell the password to your friend).
This method is also called as a private-key method and it can be further devided in to two sub-categories.
- Stream cypher
- Block cypher
In a stream cypher, the file is converted bit by bit. For added security the actual message is combined with a keystream. The plaintext gets encrypted adding different cyphertext ( as discussed in the cypher section in the previous article).
Block ciphers works on a set of bits. A set of bits gets transformed at a time.
Also called a public key method. This method requires two types of keys,one is called the public-key and the other is called the private-key. The public-keys are distributed publicly. The private-keys only reside with the recipient. The sender who does the encryption should have the public-key which matches the receivers private-key. So when the sender encrypts the file using a public-key, only the receiver with the matching private-key can decrypt it.
Hash encryption is an one way process and it cannot be reversed. So whats the use of it? Lets take an example from the real world to understand this.
The password for users in a linux operating system was used to be stored in the /etc/passwd file. But the password that was stored in this file was not the real password, but it’s hash value( generated using some unique algorithm-a hash function).When a user needs to login to the system, he enters his user name and password. The password that the user entered is fed to the hash function and the output from the hash function is compared with the hash value in the /etc/passwd file. If the two hash values match, the user was allowed to login to the system . The advantage of this method is the real password is never stored in the computer. So a hacker has no use of the file that contains the password( except if he is using a brute force method).
The aim of these two articles was to give you a basic understanding about cryptography and encryption. I hope you all got something out of it. All your comments are welcome…! .