implementación de un criptosistema de llave pública usando el

Anuncio
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  16
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.
Descargar