• No se han encontrado resultados

Comparación con otras implementaciones

La tabla 5.1 presenta un comparación en términos de las operaciones aritméticas en Fp2 de nuestro trabajo contra las librerias de emparejamientos de [24, 47]. De la tabla

5.1, se puede observar que la combinación de algoritmos usados por nosotros, deriva en un ahorro del 39.5% y12% de multiplicaciones en Fp2, en comparación con [24] y [47],

Tabla 5.1:Una comparación de las operaciones aritméticas requiridas para el calculo las variantes del emparejamiento “ate”.

˜

m s˜ a˜ ˜i mξ

Hankersonet al. [24] Ciclo de Miller 2277 356 6712 1 412 Emparejamiento “R-ate” Exp. FinalTotal 1616 11973893 1553 15689 2 14748977 1 1062

Naehrig et al. [47] Ciclo de Miller 2022 590 7140 410 Emparejamiento óptimo “ate” Exp. FinalTotal 2700 2309 15061 1 1398678 1719 7921 1 988

Este trabajo Ciclo de Miller 1954 568 6912 400

Emparejamiento óptimo “ate” Exp. FinalTotal 2397 2287 13933 1 1298443 1719 7021 1 898

En la tabla5.2se muestran los tiempos registrados por las operaciones más representati- vas en diferentes arquitecturas. La biblioteca desarrollada con el trabajo producido por esta tesis es capaz de calcular el emparejamiento óptimo “ate” sobre un campo primoFp

de 254 bits en 2.33 millones de ciclos de reloj en un solo núcleo en una máquina Intel

Core i7 con un procesador a 2.8GHz. Lo anterior implica que el cálculo del empare- jamiento es realizado en 0.84msec. En comparación con los trabajos mencionados 5.1,

y en general con lo reportado en la literatura abierta, esta implementación es la primera en calcular un emparejamiento criptográfico en menos de un milisegundo en un nivel de seguridad alto en una computadora de escritorio.

En la segunda columna de la tabla 5.2, se aprecia el costo (en ciclos de reloj) que fué medido para la aritmética de Fp2 en una máquina con un procesador Core i7 son

˜

m= 435 y s˜= 342. Además, se midió˜a= 40.

Con motivos de comparación, en la misma tabla se muestra el desempeño de la bi- blioteca desarrollada por Naehrig et al. [47], la cual es la mejor implementación con la que se puede comparar la biblioteca presentada en esta tesis.1

La tabla5.3 concentra los mejores resultados publicados en la literatura abierta desde el 2007. Todos los trabajos mostrados en la tabla 5.3, están enfocados en un nivel de seguridad equivalente al del algoritmo AES-128, exceptuando [47] y la biblioteca cor-

respondiente a esta tesis. Aranha et al. [2] y Beuchat et al. [6] consideran solamente

1Los resultados del procesador Core 2 Quad están reimpresos de [47]. Para poder hacer la compara-

Tabla 5.2: Cuenta de ciclos por multiplicación enFp2, elevación al cuadradoFp2, y el emparejamiento

óptimo “ate” en diferentes máquinas.

Nuestros resultados

Core i7a Opteronb Core 2 Duoc Athlon 64 X2d

Multiplicación en Fp2 435 443 558 473

Elevación al cuadrado en Fp2 342 355 445 376

Ciclo de Miller 1,330,000 1,360,000 1,680,000 1,480,000

Exponentiación final 1,000,000 1,040,000 1,270,000 1,150,000

Emparejamiento óptimo “ate” 2,330,000 2,400,000 2,950,000 2,630,000

dclxvi [47,49]

Core i7 Opteronb Core 2 Quade Athlon 64 X2d

Multiplicación en Fp2 – 695 693 424

Elevación al cuadrado en Fp2 – 614 558 339

Ciclo de Miller – 2,480,000 2,260,000 2,360,000

Exponentiation final – 2,520,000 2,210,000 2,275,000

Emparejamiento óptimo “ate” – 5,000,000 4,470,000 4,635,000

a Intel Core i7 860 (2.8GHz), Windows 7, Visual Studio 2008 Professional b Quad-Core AMD Opteron 2376 (2.3GHz), Linux 2.6.18, gcc 4.4.1

c Intel Core 2 Duo T7100 (1.8GHz), Windows 7, Visual Studio 2008 Professional d Athlon 64 X2 Dual Core 6000+(3GHz), Linux 2.6.23, gcc 4.1.2

e Intel Core 2 Quad Q6600 (2394MHz), Linux 2.6.28, gcc 4.3.3

curvas elípticas supersingulares en característica2 y 3, respectivamente. El resto de los autores se concentró en curvas elípticas ordinarias.

De la tabla 5.3, se puede apreciar que el costo computacional estimado para el empare- jamiento óptimo “ate” esta dado como,

Costo del emparejamiento óptimo “ate” = 2397 ˜m+ 2287˜s+ 13933˜a+i

= 2397·435 + 2287·342 + 13933·40 = 2,382,169.

De lo anterior se concluye que los resultados experimentales presentados en la tabla5.2, concuerdan muy bien con el análisis teórico hecho previamente en5.4, y con lo mostado

Tabla 5.3:Una comparación del tiempo y total de ciclos requeridos para el cálculo de diversas variantes del emparejamiento de Tate. La frecuencia esta dada en GHz y los tiempos en milisegundos.

Algo. Arquitectura Ciclos Freq. Calc.

tiempo

Devegili et al. [13] “ate” Intel Pentium IV 69,600,000 3.0 23.20

Naehriget al. [46] “ate” Intel Core 2 Duo 29,650,000 2.2 13.50

Grabheret al. [22] “ate” Intel Core 2 Duo (Intel Core 2 Duo (1core) 23,319,673 2.4 9.72 2 cores) 14,429,439 6.01

Aranha et al. [2] ηT

Intel Xeon 45nm (1 core) 17,400,000

2.0 8.70

Intel Xeon 45nm (8 cores) 3,020,000 1.51

Beuchatet al. [6] ηT

Intel Core i7 (1 core) 15,138,000

2.9 5.22

Intel Core i7 (8cores) 5,423,000 1.87

Hankersonet al. [24] “R-ate” Intel Core 2 10,000,000 2.4 4.10

Fanet al. [18] “R-ate” 130 nm ASIC 59,976 .204 2.91

Naehriget al. [47] aopt Intel Core 2 Quad Q6600 4,470,000 2.4 1.80

Esta tesis aopt Intel Core i7 2,630,000 2.8 0.94

en la tabla 5.1.

Han sido varios los autores que han estudiado la implementaciones multi-core de los emparejamientos criptográficos [22, 6, 2]. De acuerdo a los resultados reportados en la tabla 5.3, es fácilmente apreciable que la aceleración obtenida de una implementación en n núcleos es siempre menor que la ideal (n× la aceleración). Lo anterior se debe

principalmente al costo de las operaciones aritméticas extras requeridas para combinar los resultados parciales generados por cada núcleo, y a la dependencia entre diferentes operaciones involucradas en la exponenciación final. Grabher et al. [22], concluyeron que la mejor manera de aprovechar una arquitectura multi-core en el cálculo de empare- jamientos, es dar a cada núcleo un emparejamiento. Tal premisa se ve respaldada por lo resultados obtenidos con las mejores implementaciones, incluyendo la prensentada en este trabajo de tesis.

Capítulo 6

Conclusiones

El presente trabajo de tesis consiste en el diseño e implementación eficiente de una biblioteca de software para el cálculo del emparejamiento óptimo “ate” en característica

p.

A lo largo del año durante el cual se desarrolló la tesis, hubo varias situaciones de las cuales se pueden destacar las siguientes conclusiones:

El auge de los emparejamiento bilineales como parte fundamental de protocolos novedosos que extienden y complementan a la criptografía basada en curvas elíp- ticas, es el principal motivador para generar implementaciones eficientes.

Se debe conocer a profundidad los nuevos procesadores con el fin de explotar las ventajas que éstos ofrecen. La gran mayoría de los procesadores actuales, cuentan con registros especiales sumamente veloces, sin embargo en tales registros se in- crementa la velocidad de operaciones que comúnmente suelen ser lentas, como la multiplicación de enteros y la aritmética de punto flotante, entre otras. De lo an- terior se deduce que no es aconsejable el uso de algoritmos que reducen el número de multiplicaciones a cambio de un incremento dramático en el uso de sumas. Se debe procurar reducir el costo de las operaciones que se utilizan más. El caso ideal sería aquel en el que la aritmética de los campos base es altamente eficiente. Tal es el caso del algoritmo presentado para calcular el emparejamiento, donde se puso especial atención en el diseño e implementación de las operaciones en Fp y

Fp2.

Hay que explotar al máximo la construcción de la torre de campos. Gracias a la forma de la torre de campos se pudo obtener una ahorro de operaciones tanto en el ciclo de Miller como en la exponenciación final.

El uso de los parámetros que seleccionamos arrojó una reducción de operaciones en el cálculo del emparejamiento.

La modificación del algoritmo óptimo “ate” presentada, donde se permite el uso de signos en los bits de 6t+ 2, ayuda a que tal valor pueda ser expresado con

un peso de Hamming muy bajo, lo cual también contribuye en la eficiencia del emparejamiento.

A juzgar por los resultados obtenidos, parece ser mejor buscar incrementos en el algoritmo del emparejamiento sin necesidad de paralelización, pues el resultado de ésta nunca es el ideal. En otras palabras, la mejor manera de aprovechar una arquitectura multinúcleo para el cálculo de varios emparejamientos, es darle un emparejamiento a cada núcleo.

6.1.

Resumen de resultados

En general la combinación de las diversas técnicas implementadas para lograr una aceleración en el cálculo del emparejamiento, produjo los siguientes resultados:

⊲ Se desarrolló un multiplicador polinomial muy eficiente el cual fue presentado en formato de póster en el congreso internacional CHES 2010.

⊲ La biblioteca desarrollada es la biblioteca de software más rápida reportada en la literatura abierta al momento de la escritura de esta tesis. Con ésta se logró reducir el tiempo necesario para el cálculo de un emparejamiento a 0.84 milise- gundos. Hasta donde sabemos esta es la primera vez que se puede calcular un emparejamiento, ya sea en uno o en varios núcleos, en menos de un milisegundo. La biblioteca es incluso más rápida que la mejor implementación en hardware para el cálculo de emparejamientos en curvas ordinarias.

⊲ El diseño e implementación de la biblioteca se concentraron en un artículo [7], el cual fue sometido y aceptado en el congreso internacional Pairings 2010.

⊲ Los resultados obtenidos han abierto las posibilidades de trabajar con varios de los investigadores más distinguidos en el área.

Documento similar