Skip to content
All posts
Engineering2 min read

Why 600,000 iterations? PBKDF2, explained

A technical look at why MoolKey pauses briefly, what PBKDF2 does, and why repeated work makes large-scale guessing more expensive.

The MoolKey teamUpdated July 31, 2026
A row of illuminated computer servers receding into the distance.

MoolKey pauses briefly before it gives you a password. That delay is deliberate. It adds work to every password request, including every guess someone might try at scale.

You do not need to understand this article to use MoolKey. This is the technical explanation for readers who want to check the engineering claim.

What PBKDF2 does

PBKDF2 stands for Password-Based Key Derivation Function 2. It takes a private phrase and other account details, then repeats a cryptographic operation many times before producing a result.

MoolKey uses PBKDF2 with SHA-256 and 600,000 rounds.

key = private phrase + account details
repeat 600,000 times:
    key = HMAC-SHA256(key)
return key

The person creating a password pays this cost once. Someone testing many guesses must pay it for each attempt.

A flow from a private phrase through 600,000 rounds to a password.
PBKDF2 adds the same repeated work between the private phrase and every result.

Why 600,000 rounds

The count follows the OWASP password storage guidance for PBKDF2-HMAC-SHA256. Guidance changes as computers become faster, so the number is a setting rather than a timeless constant.

The product has to balance two costs:

  • The wait must be short enough for a normal password request.
  • The work must be expensive enough to slow repeated guessing.

MoolKey currently targets a pause of a few hundred milliseconds on common devices. Actual time varies by hardware and browser.

One password request compared with many repeated attacker guesses.
You wait once. A large guessing attempt repeats the same work for every candidate.

Why PBKDF2 instead of Argon2id

Argon2id is designed to make specialized guessing hardware pay a higher memory cost. It is a strong choice for many password storage systems.

MoolKey uses PBKDF2 because modern browsers provide it through the Web Crypto API. The web app can use the browser’s built-in implementation without shipping an additional cryptography package.

That choice is a portability trade-off, not a claim that PBKDF2 is the best tool for every password system. The 600,000-round setting compensates by making each attempt deliberately expensive while keeping the app usable on supported devices.

What the pause does not prove

A high iteration count cannot rescue a weak private phrase. Short, common, or predictable phrases are easier to guess because an attacker has fewer likely options to test.

The delay also does not replace the rest of the product’s security design. Input handling, browser behavior, account privacy, and software updates still matter.

The practical takeaway

The brief pause is expected. PBKDF2 repeats work 600,000 times so that one password request stays manageable while a large guessing attempt becomes more costly.

For a non-technical overview, read How MoolKey protects your passwords.

#cryptography#pbkdf2#performance

Make one account easier today.

Start with the password you keep reusing or the bank card that still shares a PIN. MoolKey is free, and you do not need to move everything at once.

Free forever Works offline Phone or computer