Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

There are three desirable properties for cryptographic hash functions: Preimage

ID: 3869702 • Letter: T

Question

There are three desirable properties for cryptographic hash functions: Preimage resistant (or onewayness), Second preimage resistant, and Collision-resistant. For each of the following applications of hash functions, explain which of these three properties are needed and which are not.

• Alice poses to Bob a tough math problem and claims she has solved it. Bob would like to try it himself, but would yet like to be sure that Alice is not bluffing. Therefore, Alice writes down her solution, prepends and appends some random bits to it, computes the cryptographic hash of the result and tells Bob the hash output (keeping the solution secret). This way, when Bob comes up with the solution himself a few days later, Alice can verify his solution but still be able to prove that she had a solution earlier.

• A system administrator is concerned about possible breakins in her system. Therefore, she computes the hash of important system binaries and stores the hash values in a read-only file. A program periodically recomputes the hash values of the files containing the system binaries, and compares them to the stored values. A malicious user who is able to overwrite one of the “protected” files should not be able to change the file without detection.

Explanation / Answer

Solution============================

1) Collision-Resistant Algorithm: Suppose, there is a finite number of possible answers, of which one is correct; Bob wants to be sure, and he also have the hashed value of correct answer provided by Alice . In this case, what they need is a collision resistant algorithm. If she could easily find collisions, Alice could simply write down each of the answers, and append arbitrary bits such that they all hashed to the same value.

2)Second Pre-image: The System administrator here is trying to keep track of System's integerity by keeping hashes of each of those System files, if the hash of the file matches, it should guarantee that the system file is unmodified. In other words, she wants to be sure that only one plaintext corresponds to each hash. Even if the attacker has access to both the plaintexts and the hashes, he will need to find a second pre-image for a given hash.