Substitution Frequency Solver Assist

Frequency-rank substitution assistance; zero-count ties alphabetic, mapping is only a caller-ranked hypothesis, not recovered plaintext.

Description

Pair observed ciphertext letter ranks with a caller-supplied plaintext rank as a tentative substitution.

Frequency ranking can help form a tentative monoalphabetic substitution hypothesis. This tool pairs observed ciphertext letter ranks with a plaintext ranking supplied by the caller, making the assumption explicit.

When to use this tool

Pair observed ciphertext letter ranks with a caller-supplied plaintext rank as a tentative substitution. Use it when the input measurements and conventions below match the operation you need.

  • Prepare ciphertext, callerPlaintextRank, 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.

Supply a permutation of uppercase A through Z as the plaintext rank and ciphertext containing only ASCII letters and whitespace. The tool counts letters case-insensitively, ranks all 26 by descending count with alphabetical ties, then pairs that rank with the supplied plaintext order.1

Input fieldMeaning and unitsAccepted input
ciphertextCiphertext.Text
callerPlaintextRankCaller plaintext rank.Text
Output fieldInterpretation
resultObject containing the following named result fields.
result.observedAlphabetCountsObserved alphabet counts list, in the ordering described in the calculation.
result.observedCipherRankObserved cipher rank; use the stated units and sign convention.
result.hypothesisPairsHypothesis pairs list, in the ordering described in the calculation.
json
{
  "input": {
    "ciphertext": "BBB AA C",
    "callerPlaintextRank": "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  },
  "output": {
    "result": {
      "observedAlphabetCounts": [
        2,
        3,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "observedCipherRank": "BACDEFGHIJKLMNOPQRSTUVWXYZ",
      "hypothesisPairs": [
        "B\u2192A",
        "A\u2192B",
        "C\u2192C",
        "D\u2192D",
        "E\u2192E",
        "F\u2192F",
        "G\u2192G",
        "H\u2192H",
        "I\u2192I",
        "J\u2192J",
        "K\u2192K",
        "L\u2192L",
        "M\u2192M",
        "N\u2192N",
        "O\u2192O",
        "P\u2192P",
        "Q\u2192Q",
        "R\u2192R",
        "S\u2192S",
        "T\u2192T",
        "U\u2192U",
        "V\u2192V",
        "W\u2192W",
        "X\u2192X",
        "Y\u2192Y",
        "Z\u2192Z"
      ]
    }
  }
}

Limitations and assumptions

  • Zero-count letters still appear in the ranking. Short texts and language variation can mislead frequency analysis; the mapping is a hypothesis, not a solved key or verified decryption.
  • 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: Substitution Frequency Solver Assist — tool.io

Similar or alternative tools

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