Hashing

Galois HASH (GHASH) and RSA are cryptosystem hashing algorithms. Hashes are a fixed length string or number that is generated from a string of text. Algorithms, more specifically hashing algorithms, are devised so that the resultant hashes cannot be reverse engineered. We use hashing to store passwords that are generated with a salt.

Salts, in cryptology, are random data that are used as input for a hashing function to generate a password. Salts help protect against rainbow table attacks and dictionary attacks.

The following graphic illustrates the basics of how hashing works:

Hashing overview

As you can see, the Hashing Algorithm is fed with plaintext and a Salt, resulting in a new hashed password and the Salt being stored. Here is the same graphic with a sample input/output to demonstrate the functionality:

Hash and salt functionality

The validation process, as shown in the following diagram, starts with the user entering their plain text password. The hashing algorithm takes that plain text and rehashes it with the stored salt. Then, the resulting hashed password is compared to the stored one:

Hashing match verification
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset