Thursday, 24 March 2016

An Overview of Encryption and Hashing Algorithms

An algorithm is a sequence of instructions aimed at performing a specific task. It is independent of any programming language and as a result can be implemented using any language, be it Java, JavaScript, PHP, VBScript, C, C++ and so on. Algorithms provide programmers with a general approach to solving problems. Encryption and Hashing are a kind of solution to security issues involving access control and thus have different algorithms that aid their implementation. The most recent ones tend to be more effective than previous ones. In this post I’ll briefly discuss about some encryption and hashing algorithms.

According to Webopedia, an encryption algorithm is a mathematical procedure for performing encryption on data. Encryption is one of the common forms of security technologies that PC users know about. It comes in many forms. The major difference between them is key size and strength. Below are some of the most common Encryption algorithms arranged from the weakest to strongest:

Data Encryption Standard (DES): This is the first and the weakest encryption algorithm. It is a symmetric key algorithm for encryption of electronic data. Hackers were able to defeat it with relative ease not too long after its introduction into the security industry.

Triple DES: Designed to replace DES and used to be the most widely used symmetric algorithm before it was phased out. The total key length for triple DES is 168 bits. 

RSA: This is an asymmetric algorithm that uses a pair of keys – a public key for encryption and private key for decryption. RSA is a standard for encrypting data over the internet as it is so complex that it takes attackers quite a bit of time and processing power to break. PGP (Pretty Good Privacy) and GPG (Gnu Privacy Guard) programs also use it as their encryption method.

Blowfish: Blowfish is a fast and very effective symmetric cipher that splits messages into 64 bits block and individually encrypts them. It is widely believed that this encryption algorithm has never been broken.
Twofish: This is an open source standard regarded as one of the fastest of its kind and ideal for both hardware and software environments. As a symmetric technique, only one key which may be 256 bits in length is needed.

Advance Encryption Standard (AES): Uses 128, 192 and 256 bits depending on the purpose of encryption. It is widely believed that only brute force attack can break it. However, security experts still believe that AES will eventually be hailed the de facto standard for encrypting data in the private sector.

Hashing algorithms are mostly used for authentication systems. Hashes are used in verifying file integrity, hashing passwords and in digitally signed documents. The popular hash algorithms from weakest to strongest are as follows:
1.      MD4: A 128 bits hash algorithm that is now obsolete.
2.      MD5: An industrial-strength hash algorithm that is also 128 bits.
3.      RIPEMD – 160 (160 bits)
4.      SHA – 1 (160 bits)
5.      SHA-256, SHA-384, and SHA-512 are most recent and stronger versions of SHA-1 

You have just read a brief note on encryption and hashing algorithms that can give you a good start in case you desire to go in-depth. One thing to keep in mind when studying these algorithms is that the stronger the algorithm, the more processing power needed to run them. This is why the ones that are less secure are faster as they need lesser processing power. Thanks for reading and don’t forget to keep checking back for more posts.


Post a Comment

Add a comment here