def decrypt(lines, path_config): configs = file_mang.getLinesFile(path_config) gears = _create_gears(configs) deciphered_lines = [] if len(gears) == WHEELS_NUMBER: cypherMachine = CypherMachine(gears[0], gears[1], gears[2:7], gears[7:12]) for line in lines: deciphered_text = cypherMachine.decrypt(line) deciphered_lines.append(deciphered_text) return deciphered_lines
def _getDisks(path): linesConfig = _file.getLinesFile(path) disk1 = Disk(list(linesConfig[0].rstrip('\n')), list(linesConfig[1].rstrip('\n'))) disk2 = Disk(list(linesConfig[2].rstrip('\n')), list(linesConfig[3].rstrip('\n'))) disk3 = Disk(list(linesConfig[4].rstrip('\n')), list(linesConfig[5].rstrip('\n'))) reflex = Disk(list(linesConfig[6].rstrip('\n')), list(linesConfig[7].rstrip('\n'))) return [disk1, disk2, disk3, reflex]
def ejecutar_lorenz(entrada, clave, operacion_cifra): if file_mang.exist_file(entrada) and file_mang.exist_file(clave): salida = path_salida(entrada, operacion_cifra) if not file_mang.exist_file(salida): lineas_entrada = file_mang.getLinesFile(entrada) lineas_salida = cif_lorenz.encrypt( lineas_entrada, clave) if operacion_cifra else cif_lorenz.decrypt( lineas_entrada, clave) file_mang.createAndWrite(salida, lineas_salida) print("Proceso finalizado con exito\n") else: print("\nERROR: El fichero {0} ya existe\n".format(salida)) else: print("\nERROR: El fichero {0} no existe\n".format(entrada))
PATH_CONFIG = "config-cif-lorenz.txt" WHEELS_NUMBER = 12 def _create_gears(configs): gears = [] for line in configs: pins = [] pins.extend(line) pins.remove('\n') gears.append(Gear(pins)) return gears if __name__ == '__main__': #cypherMachine = CypherMachine(None, None, None, None) #print(cypherMachine.cypher("4")) configs = file_mang.getLinesFile(PATH_CONFIG) gears = _create_gears(configs) if len(gears) == WHEELS_NUMBER: cypherMachine = CypherMachine(gears[0], gears[1], gears[2:7], gears[7:12]) ciphered_text = cypherMachine.decipher("FR") print(ciphered_text) cypherMachine = CypherMachine(gears[0], gears[1], gears[2:7], gears[7:12]) deciphered_text = cypherMachine.decipher(ciphered_text)