Hash Functions & Merkle Structures Checkpoint

Trace the representation, diagnose a boundary failure, and reconstruct a changed case.


Get every question correct to pass this checkpoint. You can review feedback, revise your answers, and submit again.

1. A server authenticates messages with SHA256(secret || message). Why can exposing that digest be dangerous for this Merkle-Damgard construction? Select one.

Select one answer.

2. An odd-leaf duplication Merkle tree has three leaf hashes A,B,C. How many sibling hashes are on C's path to the root?
3. Trees duplicate the last hash at odd levels. Compare leaves [A,B,C] with [A,B,C,C]. What can happen? Select one.

Select one answer.

4. A valid membership path is verified against a root supplied by the same untrusted sender as the leaf. What has been established? Select one.

Select one answer.

5. A Merkle tree consists of one leaf. How many sibling hashes does its membership proof need?
6. A commitment hashes a public salt concatenated with a secret chosen from only 20 candidates. How many candidate hashes suffice to enumerate all possibilities?
7. How many total bytes does a 56-byte message occupy after SHA-256 padding? Answer in decimal.
8. A two-block SHA-256 implementation resets a..h from the original IV before both blocks. What should replace that step for block two? Select one.

Select one answer.

9. The original key-plus-message length is 60 bytes. After glue padding, what msgLen goes to SHA256Continue before adding a suffix? Answer in decimal bytes.
10. A commitment uses a 2-byte nonce and a 3-byte message. With two one-byte tags and two eight-byte length fields, how many bytes are hashed before SHA padding? Answer in decimal.
Join Discord