Modelo de Criptoprocesador de Curvas Elípticas en GF(2m) Basado en Hardware Reconfigurable

MOTIVACION ----------------- La seguridad electronica ha sido uno de los hitos que mas ha evolucionado en los ultimos anos, seguramente debido al incremento de las transacciones de este tipo que se realizan diariamente. Sin embargo, las tecnologias actuales requieren claves cada vez mas grandes, incrementandose la complejidad y el area de los disenos ademas del tiempo de procesado. La criptografia de curvas elipticas ofrece mayor seguridad por bit de clave utilizado en los sistemas de clave publica, por ejemplo el RSA con 1024 bits de clave tiene una seguridad similar a un criptosistema basado en Curvas Elipticas (CCE) de 160 bits. La ventaja de utilizar claves tan pequenas hacen a los sistemas CCE particularmente atractivos para utilizar en aplicaciones en las que el procesamiento de memoria sea restrictivo, asi como en sistemas embebidos. Se considera que un criptosistema de curvas elipticas con 160bits sea seguro en los proximos 10 anos y uno de 193 bits lo sea en los proximos 20 anos. En un CEE las operaciones se realizan dentro de un cuerpo finito, siendo los mas comunmente utilizados GF(p) y GF(2m). La operacion basica dentro de un CCE es la multiplicacion de puntos y, por tanto, se requerira una multiplicacion eficiente en cuerpos finitos. Como consecuencia, uno de los principales puntos donde se realiza el mayor esfuerzo de investigacion esta enfocado a la implementacion hardware de la multiplicacion modular de forma eficaz y segura. Las propuestas de implementacion de arquitecturas sobre hardware reconfigurable y ASIC suelen utilizarse cuando ser requieren altas prestaciones, frecuentemente a costa de sacrificar aspectos como puede ser la superficie del chip empleada para dicha implementacion. Esta idea nos conduce al establecimiento de campos finitos y polinomios irreducibles de tamano fijo. En las implementaciones sobre un ASIC, el circuito queda sin posibilidades de modificacion, mientras que el uso de plataformas reconfigurables como son las FPGA nos ofrecen la opcion de modificacion a traves de la reconfiguracion. Esta funcionalidad hasta hace muy poco obligaba a la reprogramacion completa del sistema, pero hoy podemos realizar una reconfiguracion on-the-fly que nos permite, por ejemplo, solamente la reconfiguracion del circuito encargado de realizar la reduccion modular por otro mas eficiente con total flexibilidad. DESARROLLO -------------------- En esta tesis utilizaremos la criptografia basada en curvas elipticas como base para desarrollar una propuesta de modelo de criptoprocesador capaz de trabajar en campos finitos de caracteristica 2. Como parte inicial de este trabajo se ha llevado a cabo el estudio del estado de la situacion del tema que se aborda, para lo cual se han revisado las principales implementaciones hardware de criptosistemas de clave publica, partiendo desde los primeros sistemas basados en RSA. Posteriormente se ha realizado una descripcion comparativa entre estos criptosistemas basados en RSA y los basados en curvas elipticas que nos ayudan a ubicarnos en su situacion actual. Como tarea inicial se realiza modelado de un microprocesador de 8 bits en VHDL como plataforma inicial de trabajo del criptosistema. Una vez desarrollado plasmaremos sobre el los algoritmos capaces de realizar las operaciones necesarias trabajando sobre coordenadas afines y utilizando como base una tarjeta Nexys 2 de Digilent. Una vez detectadas sus carencias se proponen las posibles modificaciones que permitan mejorar el funcionamiento y sus tiempos de respuesta. Como resultado se pone de manifiesto la importancia de disponer de una multiplicacion eficiente, por lo que se propone un algoritmo de multiplicacion paralelo de digitos en serie con reduccion intercalada capaz de trabajar en GF(2m). En primer lugar para campos que sean multiplo del tamano de digito seleccionado y que posteriormente se generaliza y se hace independiente del mismo. Estos algoritmos se describen en VHDL y se plasman en hardware para evaluar los resultados obtenidos y poder seleccionar las caracteristicas que debera tener para un funcionamiento que se adapte a las necesidades buscadas. Posteriormente se integra este multiplicador conjuntamente con el resto de operadores necesarios para poder realizar las operaciones necesarias para implementar los principales protocolos de criptografia de clave publica basados en curvas elipticas en un sistema criptoprocesador que trabaja con coordenadas afines y obtener el modelo buscado capaz de trabajar en los diferentes campos recomendados por diferentes organismos internacionales. El modelo se valida mediante la comparacion con varios dispositivos disenados para trabajar en ambitos similares. CONCLUSIONES ------------------------- Esta tesis presenta un paso mas hacia la proteccion de la seguridad de las comunicaciones a traves de canales inseguros mediante el uso de la criptografia de clave publica. Para ello se presenta un modelo de criptoprocesador capaz de trabajar en cualquier campo finito de caracteristica 2 dotado de un nuevo operador que incorpora un multiplicador paralelo de digitos en serie en GF(2m), puesto que la multiplicacion escalar es la operacion basica a realizar en un criptosistema basado en curvas elipticas. Los resultados obtenidos en su tiempo de respuesta ponen de manifiesto su validez.