A continuación, se presenta la estrcutura del repositorio junto con el contenido y descripción decada uno de los archivos y directorios existentes
├── cryptopp # Librería Crypto++
│ ├── *.h # Archivos de encabezado de Crypto++
│ ├── *.cpp # Archivos fuente de Crypto++
│ └── ... # Otros archivos para el funcionamiento de la librería
├── images # Carpeta con imagenes de prueba
│ ├── PIA05566.tif # Imagen de prueba 5MB
├── media # Contenido audiovisual asociado a la solución
│ ├── videoExplicativo.mp4 # Video explicativo de la solución preliminar propuesta
├── documentacion.pdf # Documentación detallada de la solución propuesta
├── main.cpp # Archivo principal del programa
├── Makefile # Script de compilación
├── LICENSE # Archivo de licencia del proyecto
├── README.md # Archivo README del proyecto
Antes de comenzar, asegúrate de tener las herramientas necesarias instaladas. Puedes acceder a estas siguiendo los comandos específicados para tu sistema operativo:
Abre una terminal y ejecuta los siguientes comandos.
sudo apt update
sudo apt install build-essential
Disponible en este enlace: MSYS2 Installer
Sigue las instrucciones para instalar MSYS2. Después de la instalación, deberías tener una nueva terminal shell de MSYS2.
En la terminal de MSYS2, ejecuta el comando:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
Acepta el número predeterminado de paquetes en el toolchain presionando enter e ingresa Y para continuar con la instalación.
Si utilizaste las configuraciones por defecto, debes añadir C:\msys64\ucrt64\bin a la variable Path.
Abre una nueva terminal y ejecuta los comandos:
gcc --version
g++ --version
gdb --version
Si todo se instaló correctamente, deberías ver la versión correspondiente de cada herramienta.
Úbicate en la carpeta raiz del repositorio y ejecuta los siguientes tomando desde la terminal de tu dispositivo:
Para compilar el programa:
make
Al ejecutar este comando por primera vez, se compilará la librería estática de Crypto++, creando los object files que serán vinculados con el programa final. Crypto++ es una librería muy completa con muchos módulos, por lo que esto puede tomar unos minutos. Compilar de nuevo el programa no compilará de nuevo la librería.
Para utilizar el programa, sigue el patrón: ./main <operation> '<input_path>' '<output_path>', donde:
<operation>:encryptodecrypt<input_path>: La ruta de la imagen de entrada<output_path>: La ruta de la imagen de salida
Un ejemplo del comando para encriptar una imagen es:
./main encrypt '/home/user/Pictures/Linux_logo.tiff' '/home/user/Pictures/encrypted.tiff'
El proceso siempre se debe ejecutar de forma secuencial. Esto quiere decir que al encriptar una imagen la siguiente operación siempre debe ser desencriptarla.
Para compilar el programa:
mingw32-make
Al ejecutar este comando por primera vez, se compilará la librería estática de Crypto++, creando los object files que serán vinculados con el programa final. Crypto++ es una librería muy completa con muchos módulos, por lo que esto puede tomar unos minutos. Compilar de nuevo el programa no compilará de nuevo la librería.
Para utilizar el programa, sigue el patrón: main.exe <operation> "<input_path>" "<output_path>", donde:
<operation>:encryptodecrypt<input_path>: La ruta de la imagen de entrada<output_path>: La ruta de la imagen de salida
Un ejemplo del comando para encriptar una imagen es:
main.exe encrypt "Test Images/PIA05566.tif" "encrypted.tiff"
El proceso siempre se debe ejecutar de forma secuencial. Esto quiere decir que al encriptar una imagen la siguiente operación siempre debe ser desencriptarla.
- Nicolás Bedoya Figueroa -
nicobf56 - Manuela Pacheco Malagón -
itsmemanuu - Nicolás Rozo Fajardo -
MrCheesyBurgerU - Luis Felipe Torres Galvis -
Luisfetoga2
Este proyecto está bajo la GNU General Public License. Para más detalles, consulta el archivo LICENSE.