Source: https://guthlabs.ai/docs/instruments/password-passphrase-entropy-estimator/mechanism/

instrument mechanism / verified-with-binding-errata

# Password / Passphrase Entropy Estimator mechanism

The inspectable method record for Password / Passphrase Entropy Estimator, kept separate from implementation and qualification.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Model scope

The core formulas are mathematically standard under explicit uniform-randomness assumptions, but the instrument specification is incomplete for direct human-password analysis, qualitative labels, and crack-time ranges. It must distinguish exhaustive from expected crack time, define attacker-rate tables and units, specify validation constraints, and clearly label results as model-based estimates rather than guarantees.

- H=L·log2(N) is correct only when each character is selected independently and uniformly from a known character set of size N; it is not a valid entropy estimate for typical human-chosen passwords without a separate password-modeling method.

- H=W·log2(wordlist_size) is correct only when words are selected independently and uniformly from the stated wordlist; natural-language phrases, reused phrases, and patterned selections have lower effective entropy.

- 2^H/guesses_per_sec represents exhaustive-search time under the stated model, not expected time to find a randomly selected secret; expected time is approximately 2^(H-1)/guesses_per_sec for an ordered exhaustive search.

- The specification does not define the numeric attacker guess rates needed to produce a crack-time range.

- The specification does not define the qualitative strength-label thresholds.

- For direct password/passphrase analysis, the specification does not define how the effective character set, wordlist, length, patterns, substitutions, repetitions, or dictionary membership are determined.

## Units and conventions

- N and wordlist_size are dimensionless counts of possible symbols or words.

- L and W are nonnegative integer counts; L is characters and W is words.

- guesses_per_sec is a positive rate measured in guesses per second.

- Crack-time outputs are in seconds unless explicitly converted.

- Entropy is measured in bits because log2 is used.

- The empty-string edge case uses one possible candidate, so 2^0=1 candidate.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "mode": "charset",
    "charset_size": 26,
    "length": 8,
    "guesses_per_sec": 1000000000
  },
  "expected_outputs": {
    "entropy_bits": 37.6035177451,
    "exhaustive_crack_time_seconds": 208.827064576
  },
  "working": "H = L·log2(N) = 8·log2(26) = 8·4.70043971814 = 37.6035177451 bits. Search space = 2^H = 26^8 = 208,827,064,576 guesses. Time = 208,827,064,576 / 1,000,000,000 = 208.827064576 seconds."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

Invalid zero guess rates can trigger undefined division, and the specification leaves exhaustive-versus-average crack time and rate-unit conventions insufficiently explicit. Zero-length input also requires explicit weak/invalid handling.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/password-passphrase-entropy-estimator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/password-passphrase-entropy-estimator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/password-passphrase-entropy-estimator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
