IMPLEMENTACIÓN DE CURVAS ELÍPTICAS HESSIANAS EN HARDWARE RECONFIGURABLE (FPGA). I. INTRODUCCIÓN. Las técnicas para la implementación de la seguridad en el manejo, administración y almacenamiento de información, son proporcionadas por la criptografía, la cual puede ser sucintamente definida como el estudio del problema de cómo establecer un intercambio de información seguro en presencia de un canal de comunicación que no lo es. Entre los servicios más importantes directamente relacionados a la criptografía, podemos mencionar: encriptación de datos, dinero digital, firmas digitales, elecciones digitales, autenticación de usuarios y de sistemas en la red, distribución de datos y procesamiento de información en tarjetas inteligentes (smart cards). La seguridad de los cripto-sistemas que están actualmente en uso, está basada en la complejidad computacional para resolver un problema matemático asociado con los diferentes esquemas criptográficos modernos. Algunos ejemplos de tales problemas matemáticos son: Factorización de números grandes, cómputo de logaritmos discretos también para números grandes, etc. Se cree, sin que exista una certidumbre absoluta, que estos problemas son extremadamente difíciles de resolver. En la práctica sin embargo, sólo un reducido número de estructuras matemáticas han podido ser aplicadas hasta ahora para construir los mecanismos de los sistemas criptográficos. La mayoría de estas estructuras provienen de la teoría elemental de números. En 1985, N. Koblitz y V. Miller propusieron independientemente el uso de curvas elípticas en sistemas criptográficos. Cuando una curva elíptica es definida en un campo finito, los puntos de la curva forman un grupo abeliano. Se considera que el cómputo del logaritmo discreto en este grupo, es un problema matemático extremadamente complejo de resolver. Debido a esta dificultad, es posible obtener con los cripto-sistemas de curvas elípticas niveles de seguridad similares a los proporcionados por otros sistemas criptográficos, al precio de campos finitos muchos menores a los requeridos en otros esquemas. Campos finitos pequeños, implican automáticamente claves públicas y secretas también pequeñas, lo que a su vez implica mayor velocidad, y menores necesidades de memoria y de poder de cómputo para la implementación de los algoritmos correspondientes a este esquema. Estas características son irresistiblemente atractivas para el diseñador criptográfico, especialmente para aplicaciones como el de las tarjetas inteligentes, sistemas embebidos, etc. en los cuales el poder de cómputo es típicamente, muy limitado. En particular, la forma Hessiana de curvas elípticas sobre campos finitos binarios, permiten un nivel de paralelismo que no se encuentra en otras representaciones más tradicionales, y que permiten obtener hasta un 40% de mejora en la velocidad de cómputo del producto escalar en curvas elípticas [1]. La mejora se basa en el hecho que la ley de grupo para sumar dos puntos arbitrarios P, Q de la curva Hssiana es particularmente simple y susceptible de ser paralelizada. Dados P x1 , y1 , z1 y Q x2 , y 2 , z 2 , se define: P y1 , x1 , z1 P Q y3 , x 3 , z 3 Donde: x3 y1 z13 x13 , z x y 3 x1 y13 z13 , z3 1 3 1 y 3 1 Aprovechando la simetría inherente en las ecuaciones anteriores, la adición de dos puntos en la curva elíptica puede ser equivalentemente calculada de una forma altamente paralela, de acuerdo a las siguientes ecuaciones: 1 y1 x 2 4 z1 x 2 s1 16 t1 2 5 2 x1 y 2 5 z1 y 2 s 2 2 3 t 2 1 4 3 x1 z 2 6 z 2 y1 s 3 5 4 t 3 6 3 x3 s1 t1 y3 s2 t 2 z 3 s3 t 3 (*) Similarmente, la operación de doblado de un punto P, también puede ser calculada eficientemente de forma paralela. Las ventajas de la forma Hessiana se vuelven especialmente atractivas para implementaciones en hardware tales como: VLSI, FPGAs, microcontroladores, o microprocesadores DSPs; pues es necesario contar con 3 multiplicadores de campos finitos operando en paralelo para explotar a totalidad el paralelismo inherente en las ecuaciones (*). II. OBJETIVOS. GENERAL: Implementación eficiente en hardware reconfigurable de curvas elípticas Hessianas. PARTICULARES: Asistir a un seminario sobre diseño de circuitos y sistemas en FPGAs. Estudio de la teoría de curvas elípticas Hessianas. Implementación eficiente de multiplicadores en campos finitos GF(2m). Estudio e implementación de algoritmos paralelos para desarrollar aritmética de curvas elípticas Hessianas. III. REFERENCIAS. 1) “The Hessian Form of an Elliptic Curve”, N. P. Smart, CHES 2001, Paris France. 2) Handbook of applied cryptography, Menezes, Oorschot, Vanstone. Crc press, New York, fifth edition (2001) 3) Software Implementation of Elliptic Curve Cryptography over Binary Fields, D. Hankerson, J López Hernández, Alfred Menezes.