Propuestas de temas para Trabajo Final de Grado (TFG) en ingeniería
Diseñar un acelerador de hardware (co-procesador criptográfico en VHDL/Verilog) en una FPGA para las operaciones de campo finito ($\mathbb{F}_{2^m}$ o $\mathbb{F}_p$) y la multiplicación escalar ($kP$). Comparar métricas de consumo de recursos (LUTs, DSPs), latencia y consumo de energía frente a una implementación puramente por software en un microcontrolador (ej. ESP32 o STM32). Selección de la curva (ej. Curve25519 o Edwards), algoritmos de multiplicación escalar (Montgomery ladder, Double-and-Add) y la aritmética de campos
Implementar ECC en un microcontrolador de bajo costo y evaluar su vulnerabilidad a Side-Channel Attacks (SCA), específicamente Análisis de Potencia Simple (SPA) o Análisis de Potencia Diferencial (DPA) utilizando hardware accesible como ChipWhisperer. Diseñar e implementar contramedidas a nivel de software/hardware (point blinding, scalar blinding, ejecuciones en tiempo constante) y demostrar la mitigación de la fuga de información. Explicar cómo la estructura del grupo y las representaciones de puntos (coordenadas proyectivas vs. afines) evitan divisiones/inversiones que delatan operaciones en el perfil de potencia.
Medición del impacto de la negociación de llaves ECC (ECDH) y firma digital (EdDSA) en la autonomía de nodos sensores inalámbricos operando bajo redes LoRaWAN o IEEE 802.15.4 (Zigbee/6LoWPAN). Evaluar cómo el sobrecosto de cómputo y el tamaño de los paquetes afectan la vida útil de la batería (modelado de consumo energético real) y la latencia del canal de comunicación. Definir las curvas de alta eficiencia (ej. curvas de Edwards o Montgomery) y la optimización de la representación compacta de puntos.
Implementación e ingeniería de rendimiento de esquemas de codificación basados en Códigos de Goppa o Códigos de Geometría Algebraica (AG) sobre curvas elípticas/hiperelípticas para criptografía post-cuántica. Los algoritmos criptográficos basados en códigos (como McEliece) dependen fuertemente de la estructura algebraica de las curvas sobre cuerpos finitos $\mathbb{F}_{q^m}$. El reto de ingeniería es optimizar la suma/multiplicación en campos de Galois y la decodificación para procesadores embebidos o FPGAs, minimizando el consumo de memoria y ciclos de reloj. Se espera un benchmark comparativo en Python/C++ o FPGA (VHDL/Verilog) analizando throughput, uso de recursos y latencia frente a perturbaciones o ataques de canal lateral (Side-Channel Attacks).
Evaluación y optimización del algoritmo de decodificación en lista de Guruswami-Sudan para códigos Reed-Solomon extendidos y códigos AG en canales 3GPP/SATCOM. En comunicaciones satelitales (p. ej., CubeSats) o nodos IoT remotos, la relación señal-ruido (SNR) es sumamente baja. Los códigos de geometría algebraica permiten superar la barrera teórica de la mitad de la distancia mínima mediante decodificación en lista, usando interpolación polinómica y factorización de curvas algebraicas. Se desarrollará una librería orientada a la ingeniería de procesamiento de señales (en C++ / GNU Radio) y simulación Monte Carlo para medir la Tasa de Error de Bit (BER) vs. relación señal-ruido ($E_b/N_0$).
Diseño y simulación de Códigos de Regeneración Local (LRC) basados en curvas algebraicas para sistemas de almacenamiento masivo y Cloud Computing. Grandes centros de datos necesitan reparar nodos fallidos consumiendo el mínimo ancho de banda de red posible. La geometría aritmética permite construir códigos geométricos sobre superficies que garantizan baja "localidad de reparación" (Repair Locality). Implementación de un prototipo de red en Docker donde varios nodos almacenan datos codificados y se evalúa el tráfico de red, tiempo de reconstrucción y tolerancia a fallos múltiples.
Iniciación científica para estudiantes de grado y postgrado
Si te interesa alguno de los siguientes temas de iniciación científica, ¡contáctame!
-Criptografía, códigos correctores de errores.
-Polinomios y álgebra computacional, programación en Python y Magma.
-Procesamiento de imágenes, programación en Python, Matlab.
-Estimación de parámetros.