Black Hat Physical Device Security: Exploiting Hardware and Software

Hashing Information

The process of hashing involves taking a specific set of input data and producing a value that can be used to represent that data. Hashing processes by design produce values that cannot be reverse engineered. There is a purposeful translation or loss of information based on the specific algorithm used, and the design of the hash algorithm determines the size of the output value.

First, we should look at a standard functional use of hashing methods. Assume we have a file that contains 1 million different words. We want to sort the file and produce an alphabetically sorted list. We know that we can read each word from the file and compare it to the next word, and if it should be placed after that word, move it. If we continue in this manner, we will have to process the file for a very long time. One very efficient process of sorting requires hashing the word to produce a number. The control for this process is based on the position of each letter. We know we want the A's at the beginning. The hash process will take the first several bytes and generate a value. The most significant bits of the hash represent the first letter, so we can do a comparison based on a number, which is significantly faster than a string comparison. As we hash each word in the entire file, we write a second file so that the first entry in the list of words...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: File Compression Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.