-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshamir_shared_secret.py
44 lines (34 loc) · 1.65 KB
/
shamir_shared_secret.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"""
Archivo para el proceso del Secreto
Compartido de Shamir.
Author: @wallsified
Version: 1.0
"""
import argparse
import sys
from shamir_decrypt.decrypt_process import initiate_decrypt_process
from shamir_encrypt.encrypt_process import initiate_encrypt_process
# Limitamos a que solo se vean los mensajes de error personalizados
sys.tracebacklimit = 5
def parse_args():
"""
Método para pasar argumentos a la llamada del script.
"""
description = "Script para cifrar un archivo usando el Secreto Compartido de Shamir."
parser = argparse.ArgumentParser(description=description, prog="Secreto Compartido de Shamir",
epilog="¡Gracias por usar nuestro programa!")
parser.add_argument("--mode", help="Modo de Ejecución. Usa 'C/c' para cifrar y 'D/d' para descifrar",
type=str, required=True)
parser.add_argument("--file", help="Archivo a Cifrar o Descifrar", type=str, required=False)
parser.add_argument("--name", help="Nombre del Archivo Encriptado", type=str, required=False)
parser.add_argument("--divisions", help="Cantidad de Divisiones para el Archivo", type=int)
parser.add_argument("--min", help="Cantidad mínima de partes para descifrar", type=int)
parser.add_argument("--cyphered", help="Archivo con la información para descifrar", type=str)
arguments = parser.parse_args()
return arguments
if __name__ == "__main__":
argue = parse_args()
if argue.mode.lower() == "c":
initiate_encrypt_process(argue.file, argue.name, argue.divisions, argue.min)
if argue.mode.lower() == "d":
initiate_decrypt_process(argue.file, argue.cyphered)