How it works
Decoding
The ASCII distribution chart will use decoded ciphertext content for charting the underlying bytes of data.
UTF-8, UTF-16, and UTF-32 will be converted to a byte array, and the bytes will be evaluated.
Ciphertext Settings
ASCII distribution takes into consideration the settings for each ciphertext. These settings currently include:
- Ignore whitespace
- Ignore punctuation
- Ignore casing
- Genericize text
ASCII Distribution Settings
Display range
The following options are given to adjust the display range of the chart. This can help focus on the relevant parts of the chart:- ASCII: range of 0-127. This is the standard ASCII table.
- Extended (Default): 0-255. This is the “extended” ASCII table (latin1).
- Input range: only displays data starting from the lowest charted byte and ending at the highest charted byte.
Count vs. Percentage
The y-axis can be toggled to use either a count or a percentage measurement.Count
The count option will chart the byte frequencies in terms of raw count, and how many times they appear in the ciphertext.Percentage
The percentage option will chart the byte frequencies in terms of raw count divided by total byte count.Practical Application
ASCII distribution analysis can be leveraged to:- Discover if a given stream of bytes has been shifted up or down along the ASCII table.
- Determine if two or more ciphertexts follow similar character distribution.
Caveats
- Use of this tool with UTF-8, UTF-16, and UTF-32 will produce mixed results, as these encodings do not use single bytes to represent characters.

