Skip to content

Sistema de login que implementa el algoritmo de cifrado ElGamal para garantizar la autenticación segura de usuarios. Las credenciales se encriptan con claves asimétricas, ofreciendo protección robusta contra la interceptación y el acceso no autorizado.

Notifications You must be signed in to change notification settings

brosgor/elgamal-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ElGamal API

Este proyecto proporciona una API para cifrado y autenticación usando el algoritmo ElGamal.

Requisitos

Asegúrate de tener Python instalado en tu sistema. Se recomienda usar un entorno virtual para gestionar las dependencias.

Instalación

  1. Clona el repositorio:

    git clone https://github.com/lpedraoss/elgamal-api.git
    cd elgamal-api
  2. Crea y activa un entorno virtual:

    python -m venv venv
    source venv/bin/activate  # En Windows: venv\Scripts\activate
  3. Instala las dependencias:

    pip install -r requirements.txt
  4. Instala MySQL Server y MySQL Workbench:

  5. Configura la base de datos:

    • Abre MySQL Workbench.
    • En la barra lateral izquierda, en la sección "SCHEMAS", asegúrate de que elgamaldb esté visible.
    • Haz doble clic en elgamaldb para seleccionarla como la base de datos activa.
    • Abre una nueva pestaña de consulta (Query Tab).
    • Copia y pega el siguiente script SQL en la nueva pestaña de consulta:
    USE elgamaldb;
    
    CREATE TABLE IF NOT EXISTS users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(255) NOT NULL UNIQUE,
        password TEXT NOT NULL,
        p VARCHAR(255) NOT NULL,
        a VARCHAR(255) NOT NULL,
        c1 VARCHAR(255) NOT NULL
    );
    • Ejecuta el script (puedes hacerlo presionando el botón de rayo o usando el atajo de teclado Ctrl+Enter).

Ejecución de la API

  1. Inicia la aplicación:

    flask run
  2. Endpoints Disponibles:

    • Registro de Usuario

      • Método: POST
      • Endpoint: /api/register
      • Descripción: Registra un nuevo usuario en el sistema.
      • Cuerpo de la Solicitud: JSON con el siguiente formato:
        {
          "username": "tu_usuario_aqui",
          "password": "tu_contraseña_aqui"
        }
    • Inicio de Sesión

      • Método: POST
      • Endpoint: /api/login
      • Descripción: Autentica un usuario comparando la contraseña ingresada con la almacenada.
      • Cuerpo de la Solicitud: JSON con el siguiente formato:
        {
          "username": "tu_usuario_aqui",
          "password": "tu_contraseña_aqui"
        }

Notas Adicionales

  • Asegúrate de que el archivo requirements.txt esté actualizado con las últimas dependencias usando pip freeze > requirements.txt.
  • Consulta la documentación de Flask para más detalles sobre el framework.

Contribuciones

Si deseas contribuir a este proyecto, por favor envía un pull request con tus cambios.

About

Sistema de login que implementa el algoritmo de cifrado ElGamal para garantizar la autenticación segura de usuarios. Las credenciales se encriptan con claves asimétricas, ofreciendo protección robusta contra la interceptación y el acceso no autorizado.

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •