Separately, I have discussed both the Wolfram Alpha computational knowledge engine and the practice of hashing information. The fact that WA allows anyone to do so easily has relevance for things like making bets online, in situations where players want to conceal their guesses until everyone else has put theirs up.
Here is an example. Say you want to place bets on who will win the next Republican presidential primary. You don’t want those who post later to have the advantage of knowing what others have already posted, so you do the following:
- Choose a hash algorithm (MD5 should be fine, but SHA is more secure)
- Have each participant put their guess into WA. Say I think it will be Sarah Palin. I would enter: “SHA “I think the primary winner will be Sarah Palin, though I fear what she will do with the country” into Wolfram Alpha, and it would spit out something like “f7ca 4adf 11c7 5b56 f355 1635 5b50 2eca 5950 5349”
- Note that the supplementary text, in addition to the name, is vital. Otherwise, it would be trivially easy for the other players to check the hashes for likely guesses and learn what people have chosen. Incorporating a salt into the hashing algorithm would be ideal, but WA doesn’t seem to have that capability.
- Have each participant post the hash of their response, saving the exact text somewhere secure to them.
- When the outcome is known, those who guessed correctly can confirm that fact, by providing text that hashes into their original post.
A somewhat roundabout and nerdy solution to a relatively unimportant problem, perhaps, but it illustrates some of the ways hashes can be used to prove what you said earlier, without having the content of your earlier message immediately accessible – a general ability with many applications.
One more fact about salts: they are the most straightforward way to foil attacks using rainbow tables.
b060 ea55 a27c c1ef 9224 4a41 e07a 9363 3f99 0e01
SHA “I think it will be Mitt Romney – funny Mormon underwear and all.”
347b 3eba 2eb5 6c07 2839 66f5 e0f2 643e bfc6 73ba