What is the differences between hashing and hash brownies?
Following on from our previous articles on encryption we now come to the topic of hashing. Hashing is another form of encryption which is
associated with a message or a block of data. The way it functions is a grouping of random numbers (or message string) is generated through a one-way operation, whenever a message is created. This can take any length of text and turn it into a fixed length number. The hash should be unique to that message to prevent collision or confusion with another set of data. There are a number of different formats including MD5 (Message digest and SHA (Secure Hashing Algorithm). If that message is modified in anyway then the set of random numbers also changes to identify that variation. This adds robustness to the communication because if the hashes don’t match then it could mean that the communications have been tampered with in some way. If the message was received and the hashes do match, then that means the sender can not deny, or repudiate the contents.
Hashing in relation to blockchain
This same technique is used in the technology of block chain (currently the backbone of the bitcoin platform). Instead of messages it is used on chunks of data. Once the hash is located with that piece of data, the encryption sequence moves on to the next bit of data and then associates another hash and so on. If at any stage of the block anything is changed the changed hash would “clash” with other blocks in the chain and the change would not be allowed or be highlighted as the subsequent hashes or based in part on the numerical values of the previous hash.
Hashing and Rainbow table attacks.
This is used in database for reliance on the set of data coming before and for data privacy as the algorithm to unlock the code is nigh on impossible without the known key. As the hash value is just a mathematical formula from a set of inputs several templates have been developed to assist hackers into cracking the code with the known number of variables to start with. These are called “Rainbow tables” and have reproduced a lot of the mathematical work to get to the original formula. To counter this space has been made available for the input of “Null” values and other characters that then throw out any attempt to crack the code as it adds unknowns to the code. This known as “salting” which adds another random element to the equation which makes it much more difficult to crack. Salting is often used to protect a library of user passwords to prevent user accounts from being compromised.
Understanding this form of technology gives an appreciation of this type of encryption and how it can be applied to an organisations data protection needs.
For any assistance required with this see our services page.