Code documentation¶
TODO
-
class
epygma.epygma.Epygma(cfg_dict=None, device=None)¶ TODO
-
convert(text)¶ Encrypt a letter or an entire text
Parameters: text (str) – the text (or letter) to encrypt Returns: the encrypted text
-
extract_cfg()¶ Extract the rotors and steckers configuration from the complete configuration communicated
-
load_cfg(cfg_json)¶ Load the given configuration. Start by check its schema, then if ok, create the configuration
Parameters: cfg_json (file) – the json to load
-
reset()¶ TODO :return:
-
TODO
-
class
epygma.components.reflector.Reflector(model)¶ TODO
-
convert(letter_in)¶ Convert an input letter into another through reflector. Reference is alphabet
Parameters: letter_in (str) – the letter to convert Returns: the converted letter Return type: str
-
reset()¶ Allows to replace the rotor in its initial state
-
rotate()¶ Simulate a rotation of the rotor and increment its counter
-
set_offset(letter_offset)¶ Parameters: letter_offset – Returns:
-
set_start_letter(start_letter)¶ Define on which letter rotor must be set for first convertion
Parameters: start_letter (str) – the letter on chich start the rotation
-
TODO
-
class
epygma.components.rotor.Rotor(model)¶ Allows to simulate a rotor and drive each rotor created
-
convert_out(letter_in)¶ Convert a letter into another, from reflector to output. Reference is rotor.
Parameters: letter_in (str) – the letter to convert Returns: the converted letter Return type: str
-
TODO
-
class
epygma.components.stator.Stator(model)¶ Allows to simulate a stator and drive each rotor created
-
convert_out(letter_in)¶ Convert a letter into another, from reflector to output. Reference is rotor.
Parameters: letter_in (str) – the letter to convert Returns: the converted letter Return type: str
-
TODO
-
class
epygma.components.scrambler.Scrambler(cfg_json)¶ Allows to create and simulate an assembly of rotors and a reflector, and their rotations. Scrambler contains static rotor, dynamic rotor and reflector.
-
convert(letter_in)¶ Convert an incoming letter into another, through rotors and reflector.
Parameters: letter_in (str) – the letter to convert Returns: all the converted letters for historic Return type: list
-
reset_cfg()¶ Allows to reset the configuration of the rotors assembly, so you can reload another one
-
TODO
-
class
epygma.components.stecker.Stecker(list_steckers=None)¶ This class allows to simulate Stecker of Enigma engine.
Stecker was used to invert couple of letters. Max number of Stecker: 13 (26/2)
-
convert(letter_in)¶ Use all defined Stecker to convert letter. Check for each letter if there is an invertion. If yes, we check the following letter, else we return the last convertion.
Parameters: letter_in (str) – the letter to convert Returns: the converted letter after alls teckers Return type: str
-
get()¶ Allows to get the inverted letters
Returns: the Stecker names and associated letters Return type: dict
-
remove(name=None, letter=None)¶ Allows to remove a previously defined stecker by name or by letter. Name is test in first.
Parameters: - name (str) – the name of the stecker to remove
- letter (str) – the letter to disconnect. Use only if name is not defined
-
reset()¶ Allows to remove all the set Stecker on the engine
-
set(letter_one, letter_two, name)¶ Allows to set a new stecker. Assertion are made on letter and name, which are mandatory
Parameters: - letter_one (str) – first letter for connection
- letter_two (str) – second letter for connection
- name (str) – the name of the stecker
-