Argon2 Memory Tradeoff Note Lookup

Budget Argon2 memory parameter as TOTAL per invocation (not per lane) and concurrent instances;8KiB/lane structural screen only, no secure parameter recommendation or runtime memory guarantee.

Description

Argon2 memory is declared per invocation and shared among its lanes.

Argon2 memory is declared per invocation and shared among its lanes.1

A concurrency budget does not establish total process memory or validate every hashing parameter. Use Argon2 Memory Tradeoff Note Lookup to evaluate the supplied inputs under the specific model below.

When to use Argon2 Memory Tradeoff Note Lookup

Use Argon2 Memory Tradeoff Note Lookup 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 Argon2 Memory Tradeoff Note Lookup and understand its results

  1. Choose the intended encoding, alphabet or check and keep the exact character, key and measurement conventions described below.
  2. Enter Caller argon2 memory kib per invocation, Caller concurrent invocations, Caller available memory kib, Caller argon2 parallelism lanes using the field table and validation rules below, then run the tool.
  3. Read Total caller invocation memory kib, Remaining memory kib, Memory budget fits, Minimum eight kib per lane satisfied and interpret units, signs, ordering and placeholders as explained below.
  4. 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 fieldMeaningValue typeRequirement
callerArgon2MemoryKibPerInvocationCaller argon2 memory kib per invocationnumberRequired; constraints below
callerConcurrentInvocationsCaller concurrent invocationsnumberRequired; constraints below
callerAvailableMemoryKibCaller available memory kibnumberRequired; constraints below
callerArgon2ParallelismLanesCaller argon2 parallelism lanesnumberRequired; constraints below

Enter integer memory per invocation from 8 to 1073741824 KiB, concurrent invocations from 1 to 10000, available KiB from 0 to 1099511627776 and lanes from 1 to 128. Total modeled demand is memory×concurrency; lanes are not an additional memory multiplier. Report signed available-minus-demand headroom, whether demand fits and whether memory is at least 8×lanes. Failing that Argon2 minimum is a false result rather than an input error; no allocation, rounding or password hash is performed.

totalKiB = memoryKiB×concurrency; remainingKiB = available−total; meetsArgon2Minimum = memoryKiB≥8×lanes

Field order, units and branch conditions follow the implementation explanation above.

Output fieldMeaningValue type
totalCallerInvocationMemoryKibTotal caller invocation memory kibnumber
remainingMemoryKibRemaining memory kibnumber
memoryBudgetFitsMemory budget fitsboolean
minimumEightKibPerLaneSatisfiedMinimum eight kib per lane satisfiedboolean
json
{
  "input": {
    "callerArgon2MemoryKibPerInvocation": 1024,
    "callerConcurrentInvocations": 4,
    "callerAvailableMemoryKib": 8192,
    "callerArgon2ParallelismLanes": 2
  },
  "output": {
    "totalCallerInvocationMemoryKib": 4096,
    "remainingMemoryKib": 4096,
    "memoryBudgetFits": true,
    "minimumEightKibPerLaneSatisfied": true
  }
}

Limitations and assumptions

The Argon2 memory parameter is memory for one invocation, not an additional amount per lane. The m≥8p check is a minimum-parameter check and not a password-security or timing recommendation.2

A concurrency budget does not establish total process memory or validate every hashing parameter. 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 KDF Iterations Doubling-Time Check for a related task: Iteration scaling compares an observed work factor with an observed timing factor.

Use bcrypt Cost Time Scaling Lookup for a related task: A bcrypt cost exponent implies an idealized doubling of work for each increment.

References

  1. Argon2 Memory Tradeoff Note Lookup — tool.io

  2. RFC 9106: Argon2 — IETF

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies