Soluciones de Seguridad de Datos en C++ y Python

Introducción
Este proyecto implementa diversas técnicas de procesamiento y protección de datos para procesar información e forma segura y eficiente mediante técnicas de cifrado, enmascaramiento, tokenización y truncado.
El proyecto se desarrolla como una aplicación basada en consola, que permite al usuario interactuar con diferentes métodos de manipulación de datos. Cada funcionalidad está diseñada para abordar un aspecto específico de la seguridad de datos:
- Cifrado: Protege la información transformándola en un formato ilegible sin la clave correspondiente.
- Enmascaramiento: Oculta parte de los datos sensibles para mostrar solo la información necesaria.
- Tokenización: Convierte datos originales en tokens únicos que no revelan información real.
- Truncado: Recorta los datos a una longitud específica para fines de almacenamiento o presentación.
Objetivos
El objetivo principal de este proyecto es implementar funciones seguras y prácticas para la protección de datos en C++ y Python.
Estructura del Proyecto
El proyecto está organizado en diferentes módulos. Cada uno contiene una clase con métodos específicos para realizar operaciones de cifrado, enmascaramiento, tokenización y truncado.
Proyecto/ ├── include/ │ ├── Cifrado.h │ ├── Enmascarado.h │ ├── Tokenizado.h │ ├── Truncado.h │ └── Utils.h ├── src/ │ ├── cifrado.cpp │ ├── enmascarado.cpp │ ├── tokenizado.cpp │ ├── truncado.cpp │ ├── utils.cpp │ └── main.cpp ├── py_rsa/ │ ├── cifrarRsa.py | └── descifrar.py ├── archivo.txt # Archivo de entrada de ejemplo ├── archivo_cifrado.txt # Ejemplo de archivo generado como resultado └── README.md # Acceso a documentación del proyecto
Guía de Uso
Compilación en C++
Para compilar el proyecto, ejecutar el siguiente comando en la terminal:
g++ -std=c++11 src/*.cpp -o main
Ejecución
Para ejecutar el programa, usar el siguiente comando:
./main
Interacción
El programa desplegará un menú y pedirá al usuario que elija una opción para cifrar, enmascarar, tokenizar o truncar datos. Se deben seguir las instrucciones en pantalla para seleccionar la operación deseada y proporcionar los datos de entrada.
=================================== | Selecciona una opción | =================================== | [1] Cifrado | | [2] Descifrado | | [3] Enmascarado | | [4] Tokenizado | | [5] Truncado | | [6] Salir | ----------------------------------- -->
Ejecución en Python
Para ejecutar el cifrado RSA en Python, usar el siguiente comando:
python3 py_rsa/cifrarRSA.py
Para ejecutar el descifrado RSA en Python, usar el siguiente comando:
python3 py_rsa/descifrar.py
Nota: Se requiere la librería "pycryptodome" para que funcione el código. Se puede instalar mediante el siguiente comando:
pip3 install pycryptodome
Adicional: Se recomienda crear un entorno virtual para instalar la librería "pycryptodome".
Comando para crear entorno virtual:
python3 -m venv env
Comando para activar entorno virtual:
source env/bin/activate
Referencias
Proyecto desarrollado por Diego Córdova y Nikole Morales, como parte del programa de capacitación Nuevos Talentos en RSec.
Para más información, acceder al repositorio en GitHub: Criptography
