Week 3 Discussion
A hash can simply be defined as a number generated from a string of text. Other literature can also call it a message digest. In essence, a hash is smaller than the text that produces it. It is generated in a way that a similar hash with same value cannot be produced by another text. From this definition, it can be seen that hashing is the process of producing hash values for the purpose of accessing data and for security reasons in communication systems. In principle hashing will take arbitrary input and produce a string with a fixed length. As a rule of the thumb, hashing will have the following attributes.
· A given known input must always produce one known output.
· Once hashing has been done, it should be impossible to go from the output to the input.
· Different multiple inputs should give a different output.
· Modifying an input should mean a change in the hash.
A hash function is any function that can be used to map data of arbitrary size to data of fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. One use is a data structure called a has function, widely used in computer software for rapid data lookup. For example, suppose that you want to count the number of occurrences of the alphabets in a string. Always remember that the hash digest returns an alphanumeric message which is the digest, also the hash function tries to map large data of variable length to a fixed length data.
References:
2. Finney, Hal (August 20, 2004). “More Problems with Hash Functions” . The Cryptography Mailing List. Archived from the original on April 9, 2016. Retrieved May 25, 2016.