1. National Institute of Standards and Technology (NIST). (2015). FIPS PUB 180-4
Secure Hash Standard (SHS).
Section 5.1
"Padding the Message": This section details the process of taking the message of length l bits and padding it so that it can be processed. This confirms that the entire message is used as input
directly refuting option C.
Section 4
"PROPERTIES OF SECURE HASH ALGORITHMS": This section states
"For a given algorithm
the hash function is a one-way function; it is computationally infeasible to find a message that corresponds to a given message digest." This supports the correctness of option A. It also describes the goal of collision resistance
supporting option B.
Section 1
"INTRODUCTION": This section states that the secure hash algorithms "produce a condensed representation of a message called a message digest" and that this digest is a "fixed-size bit string." This supports the correctness of option D.
2. Katz
J.
& Lindell
Y. (2014). Introduction to Modern Cryptography (2nd ed.). CRC Press.
Chapter 5
Section 5.1
"Definitions": A hash function is formally defined as a function H that maps arbitrary-length inputs to a fixed-length output. This supports option D and refutes option C
which implies a partial or minimum input. The chapter further defines pre-image resistance (supporting A) and collision resistance (supporting B) as essential security properties.
3. Rivest
R. (1992). RFC 1321: The MD5 Message-Digest Algorithm. IETF.
Section 3
"MD5 Algorithm Description": The overview describes the algorithm operating on an "arbitrary-length message" to produce a "128-bit 'fingerprint' or 'message digest'." Step 1
"Append Padding Bits
" explicitly details how the original message is padded to a specific length for processing
confirming the entire message is the input. This supports options D and A
while refuting C.