You are on page 1of 3

Hashing Concept

Hashing algorithms are functions that generate a fixed-length result (the hash,
or hash value) from a given input. The hash value is a summary of the original
data.

Hashing functions are an essential part of


cybersecurity and some cryptocurrency
protocols such as Bitcoin.

What is hashing?
Hashing is a method of cryptography that converts any form of data
into a unique string of text. Any piece of data can be hashed, no
matter its size or type. I

Who uses hashing?

The average user encounters hashing daily in the context of


passwords. For example, when you create an email address and
password, your email provider likely does not save your
password. Rather, the provider runs the password through a
hashing algorithm and saves the hash of your password. Every
time you attempt to sign in to your email, the email provider
hashes the password you enter and compares this hash to the
hash it has saved. Only when the two hashes match are you
authorized to access your email.

Properties Hashing

 Non-reversibility, or one-way function. A good hash should make it


very hard to reconstruct the original password from the output or hash.
 Diffusion, or avalanche effect. A change in just one bit of the original
password should result in change to half the bits of its hash. In other
words, when a password is changed slightly, the output of enciphered
text should change significantly and unpredictably.
 Determinism. A given password must always generate the same hash
value or enciphered text.
 Collision resistance. It should be hard to find two different passwords
that hash to the same enciphered text.
 Non-predictable. The hash value should not be predictable from the
password.

The bad
 Attackers equipped with fast hardware can easily “crack” hashed
credentials.
 Good hash algorithms are designed to be collision-resistant, but
collisions are impossible to eliminate completely.
 Rainbow tables are “optimized lookup tables” that can be used to
reverse-engineer one-way hash functions. A rainbow table is basically a
pre-computed set of plaintext strings and their corresponding hashes.
Large rainbow tables are publicly available, and attackers can use one
of these tables to retrieve cleartext data that has been hashed.

 Rainbow tables are “optimized lookup tables” that can be used to


reverse-engineer one-way hash functions. A rainbow table is basically a
pre-computed set of plaintext strings and their corresponding hashes.
Large rainbow tables are publicly available, and attackers can use one
of these tables to retrieve cleartext data that has been hashed.

You might also like