KDF Iterations Doubling-Time Check
Audit actual two KDF iteration/time measurements against ideal linear work scaling, distinct from forward bcrypt exponent; no verified benchmark conditions or cost recommendation.
Description
Iteration scaling compares an observed work factor with an observed timing factor.
Iteration scaling compares an observed work factor with an observed timing factor.1
A near-linear measurement does not select a secure parameter or predict every hardware workload. Use KDF Iterations Doubling-Time Check to evaluate the supplied inputs under the specific model below.
When to use KDF Iterations Doubling-Time Check
Use KDF Iterations Doubling-Time Check to evaluate the supplied inputs under the specific model below. Choose the intended encoding, alphabet or check and keep the exact character, key and measurement conventions described below.
How to use KDF Iterations Doubling-Time Check and understand its results
- Choose the intended encoding, alphabet or check and keep the exact character, key and measurement conventions described below.
- Enter Observed base iterations, Observed base milliseconds, Observed doubled iterations, Observed doubled milliseconds, Caller maximum relative doubling deviation using the field table and validation rules below, then run the tool.
- Read Observed iteration factor, Observed time factor, Signed relative scaling deviation, Within caller scaling deviation and interpret units, signs, ordering and placeholders as explained below.
- If the tool reports an input error, correct that field and rerun. A successful false result, empty match list or unknown-evidence placeholder has the specific meaning described here; check the limitations before applying the result.
| Input field | Meaning | Value type | Requirement |
|---|---|---|---|
| observedBaseIterations | Observed base iterations | number | Required; constraints below |
| observedBaseMilliseconds | Observed base milliseconds | number | Required; constraints below |
| observedDoubledIterations | Observed doubled iterations | number | Required; constraints below |
| observedDoubledMilliseconds | Observed doubled milliseconds | number | Required; constraints below |
| callerMaximumRelativeDoublingDeviation | Caller maximum relative doubling deviation | number | Required; constraints below |
Enter positive integer base and comparison iteration counts no greater than 1000000000, positive observed times in ms and a nonnegative tolerance. Divide the time multiplier by the iteration multiplier and subtract 1; compare the absolute deviation with tolerance. The counts need not literally double. No KDF is run and a matching timing ratio does not establish password security.
deviation = (comparisonTime/baseTime)/(comparisonIterations/baseIterations)−1; within = abs(deviation)≤tolerance Field order, units and branch conditions follow the implementation explanation above.
| Output field | Meaning | Value type |
|---|---|---|
| observedIterationFactor | Observed iteration factor | number |
| observedTimeFactor | Observed time factor | number |
| signedRelativeScalingDeviation | Signed relative scaling deviation | number |
| withinCallerScalingDeviation | Within caller scaling deviation | boolean |
{
"input": {
"observedBaseIterations": 100,
"observedBaseMilliseconds": 10,
"observedDoubledIterations": 200,
"observedDoubledMilliseconds": 25,
"callerMaximumRelativeDoublingDeviation": 0.1
},
"output": {
"observedIterationFactor": 2,
"observedTimeFactor": 2.5,
"signedRelativeScalingDeviation": 0.25,
"withinCallerScalingDeviation": false
}
} Limitations and assumptions
A near-linear measurement does not select a secure parameter or predict every hardware workload. Apply the exact scope and assumptions described above.
All listed fields require explicit values. Unexpected fields, incorrect types, nonfinite numbers and sparse arrays fail validation. Domain-specific bounds, alignments and supported tokens are stated above; extremely large inputs or outputs can also be rejected. These errors differ from successful results such as false, no matches or unknown evidence.
Alternative or Complementary methods
Use bcrypt Cost Time Scaling Lookup for a related task: A bcrypt cost exponent implies an idealized doubling of work for each increment.
Use Argon2 Memory Tradeoff Note Lookup for a related task: Argon2 memory is declared per invocation and shared among its lanes.
References
-
KDF Iterations Doubling-Time Check — tool.io
Similar or alternative tools
- bcrypt Cost Time Scaling Lookup
A bcrypt cost exponent implies an idealized doubling of work for each increment.
- Argon2 Memory Tradeoff Note Lookup
Argon2 memory is declared per invocation and shared among its lanes.