Reticulos t.n

24
Retículos. El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982)) Aplicaciones en Teoría de Números y Criptografía. Retículos, Algoritmos de Reducción de Base y su Aplicación a la Teoría de Números Computacional Ismael Jiménez Calvo Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Transcript of Reticulos t.n

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Retículos, Algoritmos de Reducción de Base ysu Aplicación a la Teoría de Números

Computacional

Ismael Jiménez Calvo

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Retículos

b

b

1

2

B =

(

b1

b2

)

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Retículos

b

b

1

2

B =

(

b1

b2

)

L(B) = {xb1 + yb2 : x , y ∈ Z}

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Retículos

b

b

b

b

1

2

1

2

B =

(

b1

b2

)

L(B) = {xb1 + yb2 : x , y ∈ Z}

(

b′1

b′2

)

=

(

3 12 1

) (

b1

b2

)

.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Retículos

b

b

b

b

1

2

1

2

B =

(

b1

b2

)

L(B) = {xb1 + yb2 : x , y ∈ Z}

(

b′1

b′2

)

=

(

3 12 1

) (

b1

b2

)

.

(

b1

b2

)

=

(

1 −1−2 3

)(

b′1

b′2

)

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Retículos

b

b

b

b

1

2

1

2

B =

(

b1

b2

)

L(B) = {xb1 + yb2 : x , y ∈ Z}

(

b′1

b′2

)

=

(

3 12 1

) (

b1

b2

)

.

|L(B)| = |B|

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Reducción de Gauss

b

b

2

1

O

H

En cada paso:{

b′1 = b1,

b′2 = b2 − tb1,

t =

OH|b1|

=

< b2, b1 >

|b1|2⌉

.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Reducción de Gauss

b

b

2

1

En cada paso:{

b′1 = b1,

b′2 = b2 − tb1,

t =

OH|b1|

=

< b2, b1 >

|b1|2⌉

.

(

b′1

b′2

)

=

(

1 0−t 1

)(

b1

b2

)

.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Reducción de Gauss

b

b

1

2

En cada paso:{

b′1 = b1,

b′2 = b2 − tb1,

t =

OH|b1|

=

< b2, b1 >

|b1|2⌉

.

(

b′1

b′2

)

=

(

1 0−t 1

)(

b1

b2

)

.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Reducción de Gauss

b

b

1

2

En cada paso:{

b′1 = b1,

b′2 = b2 − tb1,

t =

OH|b1|

=

< b2, b1 >

|b1|2⌉

.

Terminamos si:

|b2| ≥ (1 + ε)|b1|.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Complejidad de la Reducción de un Retículo

El Algoritmo de Reducción de Gauss encuentra la basemás pequeña de un Retículo en Tiempo Polinómico.

Para más de dos dimensiones el problema tienecomplejidad exponencial.

Van Em de Boas (1980) demostró que el problema esNP-Completo.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Vector más corto, λ(L)

Minkowski demostró que el vector más corto de un retículoes

λ(L) ≤√

n |L|1/n.

En 1982 Lenstra, Lenstra & Lovász publican un algoritmoque, en tiempo polinómico, es capaz de encontrar unvector

|b1| ≤ 2(n−1)/2 λ(L).

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Definición.Reducción de Gauss.Problema del vector más corto de un retículo

Vector más corto, λ(L)

Minkowski demostró que el vector más corto de un retículoes

λ(L) ≤√

n |L|1/n.

En 1982 Lenstra, Lenstra & Lovász publican un algoritmoque, en tiempo polinómico, es capaz de encontrar unvector

|b1| ≤ 2(n−1)/2 λ(L).

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.Proceso de ortogonalización de Gram-Schmidt

Proceso de ortogonalización de Gram-Schmidt

B = b1, b2, · · · , bn.

b∗1 = b1,

b∗2 = b2 −

< b2, b∗1 >

|b∗1|2

b∗1,

...

b∗i = bi −

i−1∑

j=1

µijb∗j , µij =

< bi , b∗j >

|b∗j |2

,

...

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.Proceso de ortogonalización de Gram-Schmidt

Algoritmo de Reducción LLL (Lenstra, Lenstra &Lovász.)

Para i = 2, · · · n,

bi ← bi −∑i−1

j=1

µij⌉

bj , µij =<bi ,b∗

j >

|b∗

j |2 ,

Si|b∗

i−1|2 ≤ (1 + ε)|b∗i + µi ,i−1bi−1|2

(Proyecciones en∑i−2

j=1 R bj de bi−1 y bi ),se intercambian bi−1 y bi y se repite el paso anterior.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.Proceso de ortogonalización de Gram-Schmidt

Algoritmo de Reducción LLL (Lenstra, Lenstra &Lovász.)

El algoritmo LLL se ejecuta en tiempo O(n3 log X ).

|b1| ≤ 2(n−1)/4|L|1/n.

|b1| ≤ 2(n−1)/2λ(L).

|b1| · · · · · |bn| ≤ 2(n2)/2|L|.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Relaciones lineales enteras entre irracionales

Objetivo: Encontrar una combinación lineal entera∑n

i=1 ciαi

pequeña, donde αi es un conjunto de números irracionales.Aplicamos el algoritmo LLL sobre la base:

1 0 0 · · · 0 Nα1

0 1 0 · · · 0 Nα2

0 0 1 · · · 0 Nα3...

......

. . ....

...0 0 0 · · · 1 Nαn

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Relaciones lineales enteras entre irracionales

Objetivo: Encontrar una combinación lineal entera∑n

i=1 ciαi

pequeña, donde αi es un conjunto de números irracionales.

c1

c2

c3...

cn

1 0 0 · · · 0 Nα1

0 1 0 · · · 0 Nα2

0 0 1 · · · 0 Nα3...

......

. . ....

...0 0 0 · · · 1 Nαn

.

b1 = (c1, c2, c3, · · · , cn, Nn

i=1

ciαi).

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Aplicaciones de las relacioiones lineales enteras

Relaciones entre constantes transcendentes. Borwein,Plouffe & Bailey (1996), descubren una formula que escapaz de dar el enésimo dígito exadecimal de π.

Una relación entera lineal nula de (α0, α1, α2, · · · , αn)identifica como algebraico a α y calcula el polinomio delcual es raiz.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Raices pequeñas de polinomios modulares. DonCoopesmith (1996).

Problema:

Dado f (x) mod N, con N de factorización desconocida,encontrar una raiz pequeña x0 < X.

Tiene aplicación para ataques directos al RSA (sin pasar por lafactorización del módulo N), cuando se conocen los bits altosdel mensaje en claro m = M + x .

Cifrado RSA: (M + x)e ≡ C mod N, N = pq.

f (x) = (M + x)e − C, f (x0) ≡ 0 mod N.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Solución de Coopersmith y Howgrave-graham

Observamos que si f (x0) = 0 mod N, x i f (x) = 0 mod N tienela misma raiz. Igualmente consideramos los polinomios

fi ,j(x) = Nd−jx i f (x)j mod Nd .

Cualquier combinación lineal de ellos, F (x), tendrán como raizx0 mod Nd .Se consideran los polinomios como vectores, cuyas entradasson los monomios dotados de peso X i .Una vez hecha la reducción LLL obtenemos un vector de bajanorma. Dividiendo cada término por X i recuperamos unpolinomio F (x), también de baja norma, que tiene como raizx0. Si F (X ) < Nd , el polinomio se puede resolver sobre losenteros, lo que nos proporciona x0.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Ejemplo simplificado

Buscamos una raiz x0 < X del polinomiof (x) = x3 + ax2 + bx + c mod N;

fi(x) = x i f (x) mod N, i = 0, 1, 2, 3.

Aplicamos el algoritmo LLL sobre la base

X 6 X 5 X 4 X 3 X 2 X 1

1 a b c 0 0 00 1 a b c 0 00 0 1 a b c 00 0 0 1 a b c0 0 0 0 N 0 00 0 0 0 0 N 00 0 0 0 0 0 N

,

|L| = N3X 21,

|b1| ≤ k |L|1/7 < N,

x0 < X ≤ N4/21.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Retículos.El Algoritmo de Reducción LLL (Lenstra, Lenstra & Lovász. (1982))

Aplicaciones en Teoría de Números y Criptografía.

Relaciones Lineales Enteras.Ataques a casos relajados del RSA.

Resultados del ataque por LLL al RSA relajado

Ataque de Coopersmith sobre RSA con bajo exponentepúblico y bits altos del mensaje conocidos:

El algoritmo es capaz de recuperar en tiempo polinómico1/e LSB del mensaje, conociendo el resto de los bits.

OAEP evita, entre otros, este tipo de ataque.

Ataque al caso de RSA con exponente privado d bajo(Wiener):

El atacante puede recuperar el exponente privado sid < N0,292.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números

Apéndice Surveys

Surveys

Matthew C. CareyLattice Basis Reduction Algorithms and applications. 2002.

Alexander MayUsing LLL-Reduction for Solving RSA and FactorizationProblems: A Survey.

Ismael Jiménez Calvo Algoritmos de Reducción de Base en Teoría de Números