diff -r 06d5fc15594d -r 3cb200fa6d6a handouts/ho01.tex --- a/handouts/ho01.tex Wed Nov 26 10:15:43 2014 +0000 +++ b/handouts/ho01.tex Thu Nov 27 17:52:17 2014 +0000 @@ -286,14 +286,25 @@ problem). So encryption seems to not solve the problem we face with the integrity of our counter. -Fortunately, \emph{hash functions} seem to be more suitable -for our purpose. Like encryption, hash functions scramble data -in such a way that it is easy to calculate the output of a -hash function from the input. But it is hard (i.e.~practically -impossible) to calculate the input from knowing the output. -Therefore hash functions are often called \emph{one-way -functions}\ldots you cannot go back from the output to the -input (without some tricks, see below). There are several such +Fortunately, \emph{cryptographic hash functions} seem to be +more suitable for our purpose. Like encryption, hash functions +scramble data in such a way that it is easy to calculate the +output of a hash function from the input. But it is hard +(i.e.~practically impossible) to calculate the input from +knowing the output. This is often called \emph{preimage +resistance}. Cryptographic hash functions also ensure that +given a message and a hash, it is computationally infeasible to +find another message with the same hash. This is called +\emph{collusion resistance}. Because of these properties hash +functions are often called \emph{one-way functions}\ldots you +cannot go back from the output to the input (without some +tricks, see below). + + + + + +There are several such hashing function. For example SHA-1 would hash the string \pcode{"hello world"} to produce the hash-value