Final answer:
A dictionary attack requires hashes to crack, hashing and comparison functions, compute power and/or storage space, and a dictionary or wordlist. The actual plain-text passwords are not necessary, as the goal is to find them.
Step-by-step explanation:
To carry out a dictionary attack, one must have certain necessary components. These components include:
- Hashes to crack: These are typically passwords that have been stored in a hashed form for security reasons.
- Hashing and comparison functions: These functions are used to process the potential passwords from the dictionary and compare them to the hashed passwords you are attempting to crack.
- Compute power and/or storage space: Sufficient computational resources are needed to process the large number of password attempts quickly.
- Dictionary or a wordlist: This is a precompiled list of possible passwords often extracted from various sources like common password lists, breached databases, or other compilations of potential passwords.
Option C, Original passwords in plain-text, is not necessary for a dictionary attack as the whole point is to discover these passwords by testing potential matches against the hashed versions.
Therefore the correct option is A. Hashes to crack.