Paralelización de la
multiplicación escalar en curvas elípticas en una
arquitectura multinúcleo de intel
Gabriel Labrada Hernández
|
Texto completo de la Tesis
Resumen
La innovación
tecnológica en las computadoras ha permitido que la Ley
de Moore mantenga su vigencia hasta ahora, a más de 43
años que fuera
propuesta por el co-fundador de Intel: Gordon E. Moore. Esta ley
expresa que "aproximadamente cada 24 meses se duplica la capacidad de
los procesadores digitales" [14]. Este hecho probablemente se ha visto
influenciado debido a que desde la creación de la primera
computadora,
ha habido una demanda general por mayor capacidad de procesamiento. A
medida que aumenta la demanda de velocidad y rendimiento, los
diseñadores de procesadores enfrentan el desafío de
requerir más
energía para aumentar la capacidad de procesamiento. Sin
embargo, el
incremento en el consumo de energía tiene como consecuencia
tener que
administrar mayores niveles de disipación de calor y de
potencia. La
tecnología multi-núcleos surge como una alternativa para
el diseño
de procesadores de mayor rendimiento, ya que permite realizar
múltiples operaciones en un mismo ciclo de reloj y permite
incrementar
la capacidad de cómputo sin tener que seguir creciendo en
velocidad
para lograrlo. Los procesadores "Dual-core" lanzados al mercado en 2005
y los "Quad-core" en 2007, son apenas el comienzo de la estrategia de
este tipo de arquitecturas. Actualmente se continúan
desarrollando
nuevas tecnologías que multiplican la cantidad de núcleos
contenidos
en un procesador. Debido a esta tendencia tecnológica, resulta
conveniente para las aplicaciones y algoritmos en diferentes
áreas,
tales como la criptografía, utilizar las características
que ofrecen;
ya que se busca que los algoritmos se ejecuten de manera rápida
y
eficiente.
Esta tesis presenta la paralelización de un algoritmo
criptográfico
que permite utilizar los recursos y las ventajas que ofrecen las
arquitecturas multinúcleo. El problema para poder paralelizar la
multiplicación escalar en curvas binarias para punto P
desconocido, es
el hecho que se requiere de una recodificación del escalar k
para poder
hacer uso simultáneo del doblado y de la bisección de
punto. Se
realizó la implementación paralela de la
multiplicación escalar en
curvas elípticas binarias y se obtuvo una versión
paralela que
permite mejorar los tiempos de ejecución respecto a las
versiones
secuenciales. La importancia de los resultados obtenidos es que la
multiplicación escalar es la operación básica en
curvas elípticas y
resulta ser la operación más costosa. Por tal motivo, al
reducir los
tiempos de ejecución de esta operación se reducen
implícitamente los
tiempos de ejecución de las aplicaciones que se basan en
criptosistemas de curvas elípticas.
Abstract
Technological innovation in computers
has enabled Moore's
Law remain in force until now, more than 43 years it was proposed by
the co-founder of Intel: Gordon E. Moore. This law states that "about
every 24 months, the capacity of digital processors is doubled." This
fact has probably been in
uenced because since the creation of the first
computer, there has been a huge demand for greater processing capacity.
With the increasing need for speed and performance, processor designers
are challenged to require more energy to increase processing capacity.
However, more energy consumption results in having to manage higher
levels of heat dissipation and power. Multi-core technology is emerging
as an alternative for designing higher performance processors, because
it allows multiple operations to be executed in one clock cycle and it
also allows to increase computing capacity without having to continue
increasing clock speed. "Dual-core processors released to the market"
in 2005 and "Quad-cores" released in 2007, are just the beginning of a
strategy that takes advantage of this kind of architectures. Nowadays
processor vendors continue developing new technologies that multiply
the number of cores within a processor. Due to this technological
trend, it is convenient for applications and algorithms in different
areas such as cryptography, to use the new features that they offer, as
our goal is that algorithms run quickly and efficiently.
This thesis presents the parallelization of a cryptographic algorithm
that let us take advantage of multi-core architecture features. The
problem to parallelize the scalar multiplication on binary curves for
unknown point P is the fact that it requires a recoding of the scalar k
in order to make it possible to use simultaneously the point doubling
and point halving. We implemented a parallel version of the elliptic
curve scalar multiplication over binary fields and we improved
execution
time compared with sequential versions. The importance of the results
is that scalar multiplication is the basic operation in elliptic curves
and it is also the most expensive operation. Therefore, reducing
execution time of this operation also reduces execution time of
applications based on elliptic curve cryptosystems.