Previous lecture
Table of contents
Next lecture

Lecture #22:  Hashing


I reviewed how to check an ISBN number, and mentioned that it would detect one digit changes and transposition errors. I also rapidly alluded to how casting out 9's and 11's could help detect errors or mistakes: how a computation could be "authenticated".

A picture of a cuneiform table which had been enclosed in a cuneiform envelope was given out. I tried to discuss what social purpose these constructs could serve: many of these were found, mostly intact, dating from almost three thousand years ago. Apparently they were records of commercial deals, where the fact that a deal had been made was to be recorded and the details of the deal were to be kept confidential, but the deal could not be disavowed. If the parties to the deal disagreed, then the stored information could be consulted by a judicial authority (break the envelope!). How can we perform a similar social purpose in the digital era? I discussed briefly notary and timestamping services, and the difficulty of making cheap efficient registration of such contracts.

We investigated some circumstances in which things like this would be necessary. People suggested encryption as a method of authentication, and I explained that this frequently took time and was complicated, and the output was about as long as the input. I gave out the page on "Hash" [PDF|PS|TeX] and discussed it in detail, which took a while. I tried to emphasize the collision-free nature, and the relatively shorter length of the hash output. However, the ability of MD4's verification to be faked was noted. I then gave out the "Authentication" page [PDF|PS|TeX], and discussed the GAG algorithm and why it was or was not (the latter!) good.

Last semester I gave problems associated with the GAG algorithm mentioned in the authenticate page as homework. Students in that semester said that there was too much homework, and I became persuaded of this. I did, however, write some simple Maple routines to help me do the GAG homework.


Previous lecture
Table of contents
Next lecture