コード例 #1
0
ファイル: cif_lorenz.py プロジェクト: ankorecpy/criptografia
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
コード例 #2
0
ファイル: cif_enigma.py プロジェクト: ankorecpy/criptografia
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]
コード例 #3
0
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))
コード例 #4
0
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)