Hash Collision Birthday Attempts Estimate

Birthday-Poisson inverse estimate for independent uniform digests, not an exact integer collision probability.

Description

Estimate the ideal digest attempts giving a selected birthday-collision probability.

The birthday model estimates how many ideal digest attempts give a selected probability of any collision. This is different from finding a preimage for one chosen digest.

When to use this tool

Estimate the ideal digest attempts giving a selected birthday-collision probability. Use it when the input measurements and conventions below match the operation you need.

  • Prepare digestBits, targetProbability, respecting the measurement basis and boundaries below.
  • Compare the worked example with your intended operation before reusing its result.

How to use the tool and how it works

  1. Enter every field in the input table using the stated units and exact supported selector spelling where applicable.
  2. Run the tool. Correct input errors before interpreting an output.
  3. Read the result fields below; use accompanying flags and the stated sign, boundary or model convention when interpreting a number.

For an integer digest width from 1 to 1,024 bits and probability p strictly between zero and one, the tool returns sqrt(2 times -ln(1 minus p)) times 2^(bits/2). It uses log1p internally for the logarithm.1

Input fieldMeaning and unitsAccepted input
digestBitsDigest bits.Integer; from 1 to 1024 inclusive
targetProbabilityTarget probability.Finite number
Output fieldInterpretation
resultObject containing the following named result fields.
result.approximateAttemptsApproximate attempts; use the stated units and sign convention.
json
{
  "input": {
    "digestBits": 16,
    "targetProbability": 0.3934693402873666
  },
  "output": {
    "result": {
      "approximateAttempts": 256
    }
  }
}

Limitations and assumptions

  • This is a birthday approximation for independent uniform outputs, especially limited for very small spaces. It is not a password-cracking estimate, an exact discrete trial count or evidence of a real hash weakness.
  • Every declared field is required and unexpected fields are rejected. Numeric inputs must be finite; input errors are distinct from a valid false result or an explicitly qualified output.
  • Extremely large inputs and nonfinite or excessively large outputs are rejected. List positions reported by the tool use zero-based indices unless stated otherwise.

Alternative or Complementary methods

Use the applicable protocol specification and a reviewed implementation for real verification, hashing or key management. A format label, probability model or tentative text mapping does not replace that operation. Compare the scope of the nearby tools below before substituting one.

References

  1. Tool behavior and example: Hash Collision Birthday Attempts Estimate — tool.io

Similar or alternative tools

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