Question

Difficulty: MediumCryptographic Concepts and Algorithms

An organization is updating its credential storage architecture to protect user account passwords against offline precomputed table attacks. System analysis reveals that many users select identical plaintext passwords, which currently results in identical stored hash values within the credential database. Which of the following cryptographic techniques should the security administrator implement to ensure that identical passwords produce distinct stored hashes?

  1. Salting each password with a unique, randomly generated value prior to running the hashing algorithmAnswer
  2. B
    Encrypting the database password hashes using asymmetric RSA public keys
  3. C
    Digitally signing each password hash using the user's private key to ensure non-repudiation
  4. D
    Generating a Certificate Signing Request for each user to bind their hash to an authenticated X.509 certificate

Answer

Salting each password with a unique, randomly generated value prior to running the hashing algorithm ensures that identical plaintext passwords produce distinct hash values.
Salting involves appending a unique, random value to a password before hashing. This ensures that even if two users choose the exact same plaintext password, their resulting stored hashes will be completely different. Consequently, precomputed rainbow table attacks become ineffective because the attacker would need to build a distinct precomputed table for every unique salt value.

Step-by-Step Solution

1
Identify the primary threat described in the scenario
The system is vulnerable to offline precomputed table (rainbow table) attacks because identical plaintext passwords yield identical stored hashes.
Precomputed tables rely on looking up known hash outputs for common plaintext strings.
2
Evaluate the mechanism required to randomize hash output for identical inputs
Cryptographic salting appends a unique, random string of bits to each password input before the hashing function executes.
Because the input to the hash function becomes unique per user account (Password+SaltPassword + Salt), two identical passwords will result in completely different hash digest values.
3
Select the cryptographic technique matching the requirement
Cryptographic salting directly resolves duplicate hash entries and renders precomputed rainbow tables useless.
An attacker would have to compute a separate table for every unique salt value, making precomputation computationally infeasible.

Key Concept

Cryptographic Salting and Hashing
Estimated Time:1m 15s
Rate this question