Cryptography 101: Encryption, Hashing, Salting and why I should care

Here is a brief run down – or tl;dr of the common security paradigms:

Encryption – Encryption is the process of taking a block of data (called plaintext) and transforming it into something that would not be understood. This process renders stealing the data irrelevant because the person stealing it would be unable to use it.

Decryption – The opposite process to encryption it takes seemingly unusable data (called cyphertext) and turns it back into usable data.

Hashing – Hashing is similar to encryption in that it renders a useful plaintext into a seemingly random series of characters. However the same hashing function will render the same plaintext into the same cyper each time – it is one-way only therefore you can never recover the original plaintext.

Salting – Salting is the process of decorating some plaintext before hashing – this is a way of staving off a rainbow table attack.

Rainbow Table – A rainbow table can be generated from a list of the most common passwords. You can then take hashed passwords and search for them in the Rainbow Table. The corresponding entry will give you the original password.

This post is a short glossary. For why you should care about them please look here.

Posted in Security Tagged with: , , , , , , , ,

Leave a Reply