RunOpus 5.5repeat 1
Plan-execute-verify on OWASP vs NIST on password hashing
claude-opus-5-5__plan-execute-verify__research-password-hashing__r1
Score
0.875
- Cost
- $0.711
- + $0.112 judging
- Latency
- 2m 5s
- setup 0.0s, grading 5.1s
- Turns
- 42
- Tool calls
- 37
- Subagents
- 0
- Tokens in / out
- 319k / 13k
- 261,435 read from cache
Did the design run?
- Run completed: heldharness.run-completedThe environment was built, the architecture returned and grading finished, none of them throwing.
- No API failures: heldharness.apiNo model call failed at the API.
- Every call ended: heldharness.calls-endedEvery call ended with a result, or was stopped by the run's own limits.
- No harness tool denied: heldharness.harness-toolsThe sandbox guard never denied a harness tool, nor a tool the session itself offered.
- Tool servers connected: heldharness.mcp-connectedEvery tool server the harness gave a call was connected when the session started.
- No foreign tool servers: heldharness.mcp-hermeticNo call loaded a tool server the harness did not give it.
- Builtin tools: heldharness.builtin-toolsA check recorded with the run.
- Structured replies arrived: heldharness.structured-outputEvery call that asked for structured output and ran to the end got it.
- No silent fallbacks: heldharness.not-degradedNo phase fell back on a default (an empty plan, a default winner) instead of its output.
- Judge answered: heldharness.judgeAt least one grading call returned a usable verdict.
- The plan was a plan: heldplan-execute-verify.planThe planner’s reply was read through its schema and held at least one step.
- Every verdict was read: heldplan-execute-verify.verdictsEvery review round ended with a verdict read from the schema reply, not a default.
- The loop did what its verdicts said: heldplan-execute-verify.loopEvery verdict that called for a revision got one, and nothing was revised without such a verdict.
- Each call was shown the right tools: heldplan-execute-verify.toolsThe planner was shown no tools, the verifier the read-only ones, and the executor and reviser the full toolset.
Phases
Drawn from the phase records: timing and cost per call, no tool calls or messages.
| Phase | Duration | Cost | Turns | Tools | Model |
|---|---|---|---|---|---|
| Plan | 19.9s | $0.041 | 2 | 0 | claude-opus-5-5 |
| Execute | 1m 13s | $0.462 | 22 | 21 | claude-opus-5-5 |
| Verify | 32.2s | $0.208 | 18 | 16 | claude-opus-5-5 |
The call-by-call replay is not published for this run. Traces are large, so the repository keeps 9 of this run set’s 900 and leaves the rest out; the score, phases and final answer on this page come from the committed run record.
Runs you can replay
- A gate that blocked the right moveGated-execute · Haiku 4.5
- Three proposals beat one agentPropose-select · Haiku 4.5
- A verifier that earned its keepPlan-execute-verify · Sonnet 5.5
- A revision that did not helpPlan-execute-verify · Haiku 4.5
- The control, missing a stepSingle · Haiku 4.5
Record this cell yourself: npm run bench -- run --strategies plan-execute-verify --tasks research-password-hashing --models claude-opus-5-5 --repeats 1
Score breakdown
- passStates that OWASP recommends Argon2id first, with a minimum configuration of 19 MiB of memory, an iteration count of 2 and 1 degree of parallelism.1.00weight 0.19
met, backed by verified evidence E1. “Argon2id, with at least 19 MiB of memory, 2 iterations and parallelism 1.”
- passStates OWASP's alternatives as conditions: scrypt if Argon2id is not available, bcrypt only for legacy systems, and PBKDF2 (at least 600,000 iterations with HMAC-SHA-256) if FIPS-140 compliance is required.1.00weight 0.13
met, backed by verified evidence E2, E3, E4. “scrypt if Argon2id isn't available, with N=2^17, r=8, p=1.”
- passStates that the current NIST SP 800-63B (revision 4) requires passwords to be salted and hashed with a suitable password hashing scheme that takes a cost factor, and says an approved scheme from the latest revision of SP 800-132 (or updated NIST guidelines) SHOULD be used.1.00weight 0.19
met, backed by verified evidence E10, E11, E12. “Salt and hash them with "a suitable password hashing scheme."”
- passStates that the superseded revision 3 named PBKDF2 and Balloon as example key derivation functions and said a memory-hard function SHOULD be used, and that revision 4 no longer contains that wording.1.00weight 0.13
met, backed by verified evidence E18. “Rev. 3 named PBKDF2 and Balloon. It also said a memory-hard function SHOULD be used”
- passExplains that for this team the two do not actually conflict: OWASP's own guidance is to use PBKDF2 (HMAC-SHA-256, at least 600,000 iterations) when FIPS-140 compliance is required, and NIST permits PBKDF2, so PBKDF2-HMAC-SHA-256 satisfies both; Argon2id remains OWASP's choice only where FIPS does not apply.1.00weight 0.25
met, backed by verified evidence E4, E5. “Inside FIPS scope, use PBKDF2-HMAC-SHA-256 with at least 600,000 iterations”
- passStates at least one requirement both sources share, such as a unique salt for every password or a deliberately expensive hash with a tunable cost (work) factor instead of a fast general-purpose hash.1.00weight 0.13
met, backed by verified evidence E10, E12, E13. “Use a random per-password salt of at least 32 bits and store it next to the hash.”
Penalties
- hallucinated citationCited pages that were never opened×0.875
1 of 4 cited URLs were never opened: https://csrc.nist.gov/pubs/sp/800/63/b/4/final
Scorer metadata
- corpus
- {"version":2,"snapshot":"2026-10-01","hash":"e12dc326c69a32d91f85f6355dc63e2a7d672b605685a1ffa1582a42bb1c561e","documents":5}
- opened documents
- ["owasp-password-storage","nist-sp800-63b-4","nist-sp800-63b-3"]
- opened by role
- {"primary":["owasp-password-storage","nist-sp800-63b-4"],"superseded":["nist-sp800-63b-3"]}
- displayed share
- {"owasp-password-storage":0.9567,"rfc9106":0.0166,"nist-sp800-63b-4":0.1247,"nist-sp800-63b-3":0.0916,"owasp-authentication":0.0142}
- cited count
- 4
- verified count
- 3
- hallucinated count
- 1
- citation integrity
- 0.75 (75%)
- hallucinated urls
- ["https://csrc.nist.gov/pubs/sp/800/63/b/4/final"]
- evidence block
- true
- evidence block repaired
- false
- evidence count
- 19
- verified quote count
- 19
- verified quote rate
- 1
- evidence
- [{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP's first choice is Argon2id with minimum parameters of 19 MiB memory, 2 iterations and parallelism 1.","quote":"Use Argon2id with a minimum configuration of 19 MiB of memory, an iteration count of 2, and 1 degree of parallelism.","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP's second choice, when Argon2id isn't available, is scrypt.","quote":"If Argon2id is not available, use scrypt with a minimum CPU/memory cost parameter of (2^17), a minimum block size of 8 (1024 bytes), and a parallelization parameter of 1.","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP limits bcrypt to legacy systems, with a work factor of at least 10 and a 72-byte password limit.","quote":"For legacy systems using bcrypt, use a work factor of 10 or more and with a password limit of 72 bytes.","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP says to use PBKDF2-HMAC-SHA-256 with at least 600,000 iterations when FIPS-140 compliance is required.","quote":"If FIPS-140 compliance is required, use PBKDF2 with a work factor of 600,000 or more and set with an internal hash function of HMAC-SHA-256.","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP describes PBKDF2 as permitted by SP 800-63B-4 and available in FIPS-140 validated implementations.","quote":"Since PBKDF2 is permitted by NIST SP 800-63B-4 and has FIPS-140 validated implementations, it should be the preferred algorithm when these are required.","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP's PBKDF2-HMAC-SHA512 iteration count is 220,000.","quote":"PBKDF2-HMAC-SHA512: 220,000 iterations","verified":true,"document":"owasp-password-storage"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","claim":"OWASP says peppers are secrets to keep in vaults or HSMs.","quote":"Peppers are secrets and should be stored in \"secrets vaults\" or HSMs (Hardware Security Modules).","verified":true,"document":"owasp-password-storage"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 supersedes the earlier SP 800-63B.","quote":"This publication supersedes NIST Special Publication (SP) 800-63B.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-3/sp800-63b.html","claim":"The Rev. 3 page says it was superseded by SP 800-63-4 on August 1, 2025.","quote":"This revision of NIST SP 800-63 has been superseded by NIST SP 800-63-4 as of August 1, 2025.","verified":true,"document":"nist-sp800-63b-3"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 requires passwords to be salted and hashed with a suitable password hashing scheme.","quote":"Passwords SHALL be salted and hashed using a suitable password hashing scheme.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 recommends an approved hashing scheme from SP 800-132 and names no specific algorithm.","quote":"An approved password hashing scheme published in the latest revision of [SP800-132] or updated NIST guidelines on password hashing schemes SHOULD be used.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 says the cost factor should be as high as practical.","quote":"The chosen cost factor SHOULD be as high as practical without negatively impacting verifier performance.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 requires a salt of at least 32 bits.","quote":"The salt SHALL be at least 32 bits in length and chosen to minimize salt value collisions among stored hashes (i.e., to prevent multiple subscriber accounts from having the same hashed password).","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 recommends an extra keyed hashing or encryption step using a secret key.","quote":"In addition, verifiers SHOULD perform an additional iteration of a keyed hashing or encryption operation using a secret key known only to the verifier.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 says the secret key should be kept in an HSM or TEE.","quote":"It SHOULD be stored and used within a hardware-protected area, such as a hardware security module or trusted execution environment (TEE), such as a trusted platform module (TPM).","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 requires federal verifiers at AAL2 to use FIPS 140 Level 1 validated cryptography.","quote":"Cryptography used by verifiers operated by or on behalf of federal agencies at AAL2 SHALL be validated to meet the requirements of [FIPS140] Level 1 unless otherwise specified.","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-4/sp800-63b.html","claim":"SP 800-63B-4 says FIPS 140 is satisfied by CMVP-validated cryptography.","quote":"Throughout this document, [FIPS140] requirements are satisfied by security technologies, products, and services that utilize implementations of cryptography validated by the Cryptography Module Validation Program [CMVP].","verified":true,"document":"nist-sp800-63b-4"},{"url":"https://pages.nist.gov/800-63-3/sp800-63b.html","claim":"The superseded Rev. 3 named PBKDF2 and Balloon, while Rev. 4 does not mention PBKDF2.","quote":"Examples of suitable key derivation functions include Password-based Key Derivation Function 2 (PBKDF2) [SP 800-132] and Balloon [BALLOON].","verified":true,"document":"nist-sp800-63b-3"},{"url":"https://pages.nist.gov/800-63-3/sp800-63b.html","claim":"The superseded Rev. 3 suggested about 10,000 PBKDF2 iterations, far fewer than OWASP's 600,000.","quote":"Therefore, the iteration count SHOULD be as large as verification server performance will allow, typically at least 10,000 iterations.","verified":true,"document":"nist-sp800-63b-3"}]
- judge unverified quotes
- 0
- judge verdicts
- [{"owasp-argon2id":{"status":"met","support":["E1"]},"owasp-conditions":{"status":"met","support":["E2","E3","E4"]},"nist-current":{"status":"met","support":["E10","E11","E12"]},"nist-revision":{"status":"met","support":["E18"]},"reconciliation":{"status":"met","support":["E4","E5"]},"common-ground":{"status":"met","support":["E10","E12","E13"]}},{"owasp-argon2id":{"status":"met","support":["E1"]},"owasp-conditions":{"status":"met","support":["E2","E3","E4"]},"nist-current":{"status":"met","support":["E10","E11","E12"]},"nist-revision":{"status":"met","support":["E18","E19"]},"reconciliation":{"status":"met","support":["E4","E5"]},"common-ground":{"status":"met","support":["E10","E12","E13"]}},{"owasp-argon2id":{"status":"met","support":["E1"]},"owasp-conditions":{"status":"met","support":["E2","E3","E4"]},"nist-current":{"status":"met","support":["E10","E11","E12"]},"nist-revision":{"status":"met","support":["E18"]},"reconciliation":{"status":"met","support":["E4","E5"]},"common-ground":{"status":"met","support":["E13","E12","E4"]}}]
- judge failures
- 0
- grounded weight share
- 1
Final answer
I couldn't find a real conflict between the two sources. For the parts of the service that fall under FIPS, use PBKDF2-HMAC-SHA-256 from a FIPS 140-validated module. Set at least 600,000 iterations and add a per-password salt. Ideally, also add a keyed hashing step with a secret key held in an HSM. Argon2id, which OWASP ranks first, is only an option for code outside FIPS scope.
What OWASP recommends (https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html)
Order of preference:
- Argon2id, with at least 19 MiB of memory, 2 iterations and parallelism 1.
- scrypt if Argon2id isn't available, with N=2^17, r=8, p=1.
- bcrypt only for legacy systems, with a work factor of at least 10 and passwords capped at 72 bytes.
- FIPS: if FIPS-140 compliance is required, OWASP says to use PBKDF2 with HMAC-SHA-256 and at least 600,000 iterations. It says PBKDF2 should be preferred "since PBKDF2 is permitted by NIST SP 800-63B-4 and has FIPS-140 validated implementations."
- Other iteration counts: 220,000 for PBKDF2-HMAC-SHA512. PBKDF2-HMAC-SHA1 is legacy only, and OWASP says NIST SP 800-131A Rev. 2 disallows SHA-1 for new use after 2030.
- Pepper: OWASP suggests "considering" a pepper for defense in depth, kept in a secrets vault or HSM. It notes that a pepper adds no security on its own.
What NIST SP 800-63B-4 requires (https://pages.nist.gov/800-63-4/sp800-63b.html)
- Which revision is current: Rev. 4 says it supersedes SP 800-63B. The Rev. 3 page says it was replaced by SP 800-63-4 "as of August 1, 2025" (https://pages.nist.gov/800-63-3/sp800-63b.html). The CSRC page suggested in the plan (https://csrc.nist.gov/pubs/sp/800/63/b/4/final) returned a 404, so I took the date from that Rev. 3 banner.
Storage requirements (SHALL):
- Store passwords in a form that resists offline attacks.
- Salt and hash them with "a suitable password hashing scheme."
- Use a salt of at least 32 bits, and store the salt and the hash for every password.
Recommendations (SHOULD):
- Set the cost factor "as high as practical" and raise it over time.
- Use "An approved password hashing scheme published in the latest revision of [SP800-132] or updated NIST guidelines on password hashing schemes."
- Store a reference to the scheme and cost factor so you can migrate later.
- Run an extra keyed hashing or encryption step with a secret key known only to the verifier. If you do, the key SHALL come from an approved random bit generator and be stored apart from the hashes. It SHOULD be kept in an HSM or a trusted execution environment.
- Algorithms: Rev. 4 names none. The words "PBKDF2" and "memory-hard" don't appear anywhere in it. It points only to SP 800-132, which its reference list gives as the 2010 "Recommendation for Password-Based Key Derivation."
- The FIPS link: federal verifiers at AAL1 and AAL2 SHALL use cryptography validated to FIPS 140 Level 1. That means implementations validated by NIST's Cryptographic Module Validation Program (CMVP).
How the two differ
- Which algorithm comes first. OWASP puts Argon2id first. NIST Rev. 4 names no algorithm and just refers to "approved" schemes in SP 800-132.
- Whether PBKDF2 is named. OWASP says PBKDF2 is "permitted by NIST SP 800-63B-4", but Rev. 4 never names it. That statement is OWASP's reading of the SP 800-132 reference. I couldn't open SP 800-132 itself (its CSRC page returned 404), so I can't confirm from the source that it defines PBKDF2.
- Memory-hard functions and iteration counts. Rev. 3 named PBKDF2 and Balloon. It also said a memory-hard function SHOULD be used and suggested "typically at least 10,000 iterations." Rev. 4 drops all three points. OWASP's 600,000 is much higher than the old Rev. 3 figure, and Rev. 4 sets no number.
- Strength of the pepper advice. NIST makes the keyed step a SHOULD and wants the key in an HSM or TEE. OWASP only says to "consider" a pepper.
How to reconcile them
Inside FIPS scope, use PBKDF2-HMAC-SHA-256 with at least 600,000 iterations, or PBKDF2-HMAC-SHA-512 with at least 220,000. It must come from a CMVP-validated module, and you should not use SHA-1. Use a random per-password salt of at least 32 bits and store it next to the hash. Store the scheme and cost too, so you can raise the cost later. Add the keyed step with a key from an approved random bit generator, kept separately and ideally in an HSM.
This meets NIST's SHALLs, follows its SHOULD to use an SP 800-132 scheme, and matches OWASP's FIPS advice. I didn't find a NIST source saying outright that Argon2id or scrypt are "not approved." The basis for keeping them outside FIPS scope is that Rev. 4 doesn't name them, it points only to SP 800-132, and OWASP itself gives PBKDF2 as the FIPS option.
{"evidence": [
{"claim": "OWASP's first choice is Argon2id with minimum parameters of 19 MiB memory, 2 iterations and parallelism 1.", "quote": "Use Argon2id with a minimum configuration of 19 MiB of memory, an iteration count of 2, and 1 degree of parallelism.", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP's second choice, when Argon2id isn't available, is scrypt.", "quote": "If Argon2id is not available, use scrypt with a minimum CPU/memory cost parameter of (2^17), a minimum block size of 8 (1024 bytes), and a parallelization parameter of 1.", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP limits bcrypt to legacy systems, with a work factor of at least 10 and a 72-byte password limit.", "quote": "For legacy systems using bcrypt, use a work factor of 10 or more and with a password limit of 72 bytes.", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP says to use PBKDF2-HMAC-SHA-256 with at least 600,000 iterations when FIPS-140 compliance is required.", "quote": "If FIPS-140 compliance is required, use PBKDF2 with a work factor of 600,000 or more and set with an internal hash function of HMAC-SHA-256.", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP describes PBKDF2 as permitted by SP 800-63B-4 and available in FIPS-140 validated implementations.", "quote": "Since PBKDF2 is permitted by NIST SP 800-63B-4 and has FIPS-140 validated implementations, it should be the preferred algorithm when these are required.", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP's PBKDF2-HMAC-SHA512 iteration count is 220,000.", "quote": "PBKDF2-HMAC-SHA512: 220,000 iterations", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "OWASP says peppers are secrets to keep in vaults or HSMs.", "quote": "Peppers are secrets and should be stored in \"secrets vaults\" or HSMs (Hardware Security Modules).", "url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html"},
{"claim": "SP 800-63B-4 supersedes the earlier SP 800-63B.", "quote": "This publication supersedes NIST Special Publication (SP) 800-63B.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "The Rev. 3 page says it was superseded by SP 800-63-4 on August 1, 2025.", "quote": "This revision of NIST SP 800-63 has been superseded by NIST SP 800-63-4 as of August 1, 2025.", "url": "https://pages.nist.gov/800-63-3/sp800-63b.html"},
{"claim": "SP 800-63B-4 requires passwords to be salted and hashed with a suitable password hashing scheme.", "quote": "Passwords SHALL be salted and hashed using a suitable password hashing scheme.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 recommends an approved hashing scheme from SP 800-132 and names no specific algorithm.", "quote": "An approved password hashing scheme published in the latest revision of [SP800-132] or updated NIST guidelines on password hashing schemes SHOULD be used.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 says the cost factor should be as high as practical.", "quote": "The chosen cost factor SHOULD be as high as practical without negatively impacting verifier performance.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 requires a salt of at least 32 bits.", "quote": "The salt SHALL be at least 32 bits in length and chosen to minimize salt value collisions among stored hashes (i.e., to prevent multiple subscriber accounts from having the same hashed password).", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 recommends an extra keyed hashing or encryption step using a secret key.", "quote": "In addition, verifiers SHOULD perform an additional iteration of a keyed hashing or encryption operation using a secret key known only to the verifier.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 says the secret key should be kept in an HSM or TEE.", "quote": "It SHOULD be stored and used within a hardware-protected area, such as a hardware security module or trusted execution environment (TEE), such as a trusted platform module (TPM).", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 requires federal verifiers at AAL2 to use FIPS 140 Level 1 validated cryptography.", "quote": "Cryptography used by verifiers operated by or on behalf of federal agencies at AAL2 SHALL be validated to meet the requirements of [FIPS140] Level 1 unless otherwise specified.", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "SP 800-63B-4 says FIPS 140 is satisfied by CMVP-validated cryptography.", "quote": "Throughout this document, [FIPS140] requirements are satisfied by security technologies, products, and services that utilize implementations of cryptography validated by the Cryptography Module Validation Program [CMVP].", "url": "https://pages.nist.gov/800-63-4/sp800-63b.html"},
{"claim": "The superseded Rev. 3 named PBKDF2 and Balloon, while Rev. 4 does not mention PBKDF2.", "quote": "Examples of suitable key derivation functions include Password-based Key Derivation Function 2 (PBKDF2) [SP 800-132] and Balloon [BALLOON].", "url": "https://pages.nist.gov/800-63-3/sp800-63b.html"},
{"claim": "The superseded Rev. 3 suggested about 10,000 PBKDF2 iterations, far fewer than OWASP's 600,000.", "quote": "Therefore, the iteration count SHOULD be as large as verification server performance will allow, typically at least 10,000 iterations.", "url": "https://pages.nist.gov/800-63-3/sp800-63b.html"}
]}Provenance of the numbers on this page
- run set
- scaffold-or-scale-v1
- models
- Haiku 4.5, Sonnet 5.5, Opus 5.5
- effort
- high
- repeats
- 2
- fixtures
- replay
- runs
- 900 / 900
- strategy cost
- $354.44
- judge cost
- $9.19
- wall clock
- 9h 48m
- git
- fce5807b2d
Cost excludes judge calls, which are tracked separately so a scoring model never flatters or penalises an architecture. Every figure on this site is read from results/ at build time.