Skip to content

JoelHernandez343/crypto-project

Repository files navigation

Proyecto de criptografía 2020

Screenshot00

Problemática

In a certain company, they have a server to store sensitive information. To keep it secure, every file stored in this server must be encrypted. The CEO have realized that they are storing duplicated files. The company has financial problems, thus it is not possible to buy more servers. Still they need to keep secure the sensitive information, but without duplicates. The CEO has discovered that there is a cryptographic technique to solve this problem, called secure deduplication, but he does not know anything about cryptography.

Imagine that you have a company that provides security services and designa a software to help the company with the problem.

Descripción

CryptoDplication es una aplicación multiplataforma que encripta archivos utilizando las llaves RSA que se encuentran en el sistema operativo del usuario y permite guardarlos junto con sus metadatos criptográficos en Google Drive.

Tecnologías utilizadas

Tecnología Uso
React Js UI
Tailwind CSS + JIT UI
Node Crypto Module Encriptación de archivos
GoogleOAuth2 Inicio de sesión con Google
Electron JS Aplicación de escritorio

Uso

Instalar dependencias utilizando Yarn:

yarn install

Instalar el servidor de llaves criptográficas y ponerlo en funcionamiento

Iniciar servidor de desarrollo:

// Node v17+
npm run dev:n17
// Node >v17
npm run dev

Generando llaves ssh RSA

En el repositorio se incluyen 3 archivos de ejemplo, la clave privada key, la clave pública key.pub y la clave pública en formato PEM key.pub.pem.

NOTA IMPORTANTE: Estas llaves incluídas en el repositorio no son seguras, solo para demostración.

Para generar claves personales, ejecutar el siguiente comando:

ssh-keygen -t rsa -b 1024 -m PEM -f "./key" -N '""' && ssh-keygen -f .\key.pub -e -m pem > key.pub.pem

Establecer llaves

Al establecer las llaves criptográficas de usuario, la aplicación preguntará primero por la llave pública (Elegir key.pub.pem o *.pub.pem), luego la aplicación pedirá la llave privada (elegir el archivo sin extensión key).

Capturas

Interfaz principal (sin iniciar sesión):

Screenshot01

Menú desplegable para iniciar sesión:

Screenshot02

La aplicación automáticamente redirige al navegador para iniciar sesión con Google:

Screenshot03

Sesión iniciada (se guarda de forma persistente):

Screenshot04

Llaves agregadas exitósamente:

Screenshot05

Archivos agregados para encriptar:

Screenshot06

Archivos encriptados en la cola, se pueden agregar más archivos a encriptar o subirlos a la nube:

Screenshot06

Archivos en proceso de carga:

Screenshot06

Sección de descargas, aquí se muestran los archivos que se encuentren en la nube del usuario y se permite seleccionar la ruta dónde se van a guardar los archivos:

Screenshot06

Al actualizar la sección, se muestran los archivos en la nube:

Screenshot06

Se pueden descargar los archivos encriptados y automáticamente la aplicación los desencriptará y guardará en la carpeta indicada:

Screenshot06

About

Proyecto de Criptografía 2020 @ESCOM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published