Information Security Basics

For storing passwords, it is recommended not to use a fast hash function such as SHA-256 directly but a scheme deliberately designed to take time to compute, such as bcrypt or Argon2. Why?

  1. ASlow schemes have longer outputs, so collisions no longer occur
  2. BSpending time on the computation lets only legitimate users recover the original password from the hash value
  3. CIf the stored hash values are leaked, each guess an attacker tries also becomes expensive, greatly increasing the time needed for brute-force and dictionary attacks
Show answer and explanation

Answer: C. If the stored hash values are leaked, each guess an attacker tries also becomes expensive, greatly increasing the time needed for brute-force and dictionary attacks

If password hashes are leaked, attackers can hash candidate passwords one after another on their own computers and look for a match. General-purpose hash functions such as SHA-256 are built to process large amounts of data quickly, so with GPUs and similar hardware an enormous number of candidates can be tried per second. Schemes designed for password storage, such as bcrypt and Argon2, have an adjustable number of iterations (cost) and deliberately make each computation heavy. Making each computation a million times slower, for example, makes a brute-force search take a million times longer as well. A legitimate user logging in needs only one computation, so a delay of around 0.1 seconds is not a problem. Argon2 can also be configured to use a lot of memory, which makes massively parallel computation on GPUs or dedicated circuits difficult. Whichever scheme is used, it is combined with a per-user salt.

  • A. Computation time has nothing to do with output length. The aim is not to prevent collisions but to slow down brute-force attacks.
  • B. No scheme can recover the original password from the hash value; even for legitimate users, the entered password is simply hashed again and compared.
  • C. Correct. Making each guess expensive greatly increases the time a brute-force attack takes after a leak.
Practice this topic Back to topic

Related calculators

Books on Information Security Basics Ad

As an Amazon Associate I earn from qualifying purchases.

More Information Security Basics questions

  1. An 8-character password is searched for by brute force, trying every candidate. If 1×10^10 candidates can be tried per second, which combination is closest to the time needed to try all candidates for a password made only of lowercase letters (26 kinds) and one made of uppercase letters, lowercase letters and digits (62 kinds)?
  2. A attaches a digital signature to a document sent to B. Which combination correctly gives the keys used to create and verify the signature and what the digital signature can confirm?
  3. Which statement correctly compares a message authentication code (MAC) with a digital signature?
  4. It has been discovered that the private key corresponding to a web server's server certificate may have been leaked. The certificate has not yet expired. What is the most appropriate action for the operator?
  5. Of the three factors of authentication used to verify a user (knowledge, possession and inherence), which one applies to authentication with an employee ID smart card?