katana.units.crypto.polybius — Polybius Square Cipher

Attempt to decrypt a Polybius Square cipher.

You can read more about the Polybius Square cipher here: https://en.wikipedia.org/wiki/Polybius_square

This unit will search for numbers and translate them to the proper mapping within a Polybius square.

class katana.units.crypto.polybius.Unit(manager: katana.manager.Manager, target: katana.target.Target)

Bases: katana.unit.RegexUnit

GROUPS = ['crypto', 'polybius']

These are “tags” for a unit. Considering it is a Crypto unit, “crypto” is included, as well as the name for this unit.

PATTERN = regex.Regex(b'([1-5]+ ?)+', flags=regex.A | regex.S | regex.M | regex.V0)

This pattern is used specifically for this unit to detect the data used for the Polybius cipher.

PRIORITY = 50

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty. This unit has a default priority.

evaluate(match) → None

Evaluate the target.

Parameters:match – A single regular expression match. In this case, this should retrieve numbers to be used to map to letters within the Polybius Square.
Returns:None. This function should not return any data.