Saturday, May 21, 2016

What exactly is a hashcode? Ateneo mathematician explains...


We've often heard lawyers talk about Marlon Garcia changing the hashcode in the Transparency Server. What is this hashcode that they are talking about? And what does this hashcode have to do with our elections?

There are files which are so valuable that we want to make sure that their contents do not change. For example, a Windows installer "windows-10-installer.iso" can sometimes be corrupted when we download it from the Internet. Or the election results "results.txt" may be changed by corrupt IT practitioners to favor their candidates. In order to make sure that files like these two do not change by being corrupted during download, or by being maliciously changed to favor one candidate over another, mathematicians have invented a procedure for detecting any change in the contents of a file. This procedure is called hashing. The contents of a file are used to compute a value called hashcode or checksum or digest. Any change in the contents of the file, no matter how small, will change the value of the hashcode of the file. This change in the value of the hashcode serves as an indication that the contents of the file has changed.

For example, suppose we have the election results file whose contents are given below.

Duterte 15,970,018
Roxas 9,700,382
Poe 8,935,733
Binay 5,318,249
Santiago 1,424,520
Seneres 25,161

We can use the Android app called "Hashstamp" to compute an MD5 hashcode for this file, and we get the hashcode,

a705ec0947884537d812856ca3760a39

If we change the name of Seneres to Señeres, we get the new file,

Duterte 15,970,018
Roxas 9,700,382
Poe 8,935,733
Binay 5,318,249
Santiago 1,424,520
Señeres 25,161

and this file differs from the original one by just one character, namely the ñ character. If we use the Hashstamp app again to compute the hashcode of this file, we get,

d645ff71b248abc8401af51d21d19b22

So we see that a small change in the file produces a big change in the hashcode of the file.

Now you understand that it is wrong to say that Marlon Garcia changed the hashcode in the Transparency Server. The correct thing to say is that Marlon Garcia allegedly changed the spellings of the names of Señeres and Osmeña from the wrong spellings to the correct spellings, in the file "results_nle05092016_2000.txt", and as a result, the hashcode of that file changed, and observers saw the change, because they kept a record of the original hashcode.

The change in hashcode is an indication that the original file was changed in some way. Whether the vote counts were changed or not can not be proved by the change in hash code.

-----------------
Mathematician Pablo Manalastas as posted on Facebook:
https://m.facebook.com/story.php?story_fbid=10153741478008253&id=563973252

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...