• Nenhum resultado encontrado

Segurança do bit menos significativo no RSA e em curvas elípticas

N/A
N/A
Protected

Academic year: 2022

Share "Segurança do bit menos significativo no RSA e em curvas elípticas"

Copied!
64
0
0

Texto

(1)

Segurança do bit menos significativo no RSA e em curvas elípticas

Defesa de dissertação de mestrado

Dionathan Nakamura Routo Terada (orientador)

Instituto de Matemática e Estatística da USP - DCC

16 de dezembro de 2011

*Durante o desenvolvimento desse projeto o autor recebeu auxílio financeiro da CAPES

(2)

Sumário

1 Introdução

2 Trabalhos para o RSA

3 Trabalhos para o DHCE

4 Resultados e trabalhos futuros

(3)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(4)

Introdução

Resumo

Existem algoritmos que conseguem inverter sistemas criptográficos fazendo uso de oráculos que predizem o LSB (Least Significant Bit);

A teoria em torno da segurança do LSB está relacionada com a

construção de geradores de números aleatórios (hardcore bit

theory ).

(5)

Objetivos

Fazer a implementação e verificar a viabilidade dos métodos;

procurar possíveis melhorias nos algoritmos.

(6)

Introdução

Oráculo para o LSB

Esse trabalho supõem a existência de um oráculo que retorna o LSB de x dado RSA(x ):

O(x e mod N) =

0 se x é par,

1 se x é ímpar.

(7)

Oráculo para o LSB com vantagem ε

Suponha a existência de um oráculo que retorna o LSB de x dado RSA(x ) com taxa de acerto de 1 2 + ε:

O N (x e mod N) =

0 se x é par,

1 se x é ímpar.

(8)

Introdução

Vantagem do oráculo no DHCE

Dizemos que um oráculo tem vantagem ε se ele acerta o LSB com uma probabilidade igual ou superior a 1 2 + ε.

Por exemplo, para o DHCE em uma curva E, gerador G de ordem q e a, b distribuídos uniformemente em [1, q − 1], o algoritmo A é um oráculo com vantagem ε em predizer o LSB da coordenada x da função Diffie-Hellman e denotamos:

Adv X E,G (A) =

Pr

a,b [A(E, G, aG, bG) = LSB(x )] − 1 2 ]

> ε

(9)

Trabalhos relacionados ao RSA

1982 Goldwasser, Micali e Tong [1] foram os primeiros a invertigar a segurança do LSB, provaram que era 1 21 n

-seguro;

1983 Ben-Or, Chor e Shamir [2] provaram ser

1

4 + poli(n) 1

-seguro, mas tinha problemas por dobrar o erro do oráculo;

1984 Vazirani e Vazirani [3] resolveram o problema da dobragem de erro e provaram ser 0,232-seguro;

1985 Goldreich [4] refinou o trabalho anterior e provou ser 0,225-seguro;

1988 (ACGS) enfim, Alexi, Chor, Goldreich e Schnorr [5] provaram ser ε-seguro;

1997 (FS) adicionalmente Fischlin e Schnorr [6] apresentaram uma

nova abordagem para o ACGS para valores práticos do RSA.

(10)

Introdução

Trabalhos relacionados ao DHCE

2001 (BS) Boneh e Shparlinsk [7] mostraram que o LSB da abscissa do ponto combinado é imprevisível. Utilizou famílias isomórficas de curvas elípticas;

2008 (JV) Jetchev e Venkatesan [8] expandiram o resultado anterior

para isogenias entre curvas.

(11)

Significado geral

Fatoração em primos = ⇒ Rabin

Rabin = ⇒ Fatoração em primos Rabin ⇐⇒ Fatoração em primos LSB do Rabin ⇐⇒ Rabin

LSB do Rabin ⇐⇒ Fatoração em primos

(12)

Introdução

Significado geral

∃ oráculo para o LSB −→ invertemos o Rabin invertemos o Rabin ⇐⇒ o PFP não é difícil mas nós assumimos o PFP difícil ⇐⇒ @ oráculo para o LSB

@ oráculo para o LSB ⇐⇒ LSB é imprevisível

LSB é imprevisível ⇐⇒ pseudoaleatório é imprevisível

(13)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(14)
(15)

Exemplo

Seja N = 37 . 31 = 1147, n = 11, m 7 = 81: (m = 107) i r [i] ANS[i] t (i)

1 81 1 00001101011

2 313 0 1000001000

3 334 0 100000100

4 1060 0 10000010

5 761 1 1000001

6 236 1 011101

7 34 1 01111

8 627 0 0110

9 211 1 011

10 79 0 00

11 601 0 0

(16)

Goldwasser, Micali e Tong, 1982

Exemplo detalhado

i m[i] bits(m) ANS[i] t (i)

1 107 1101011 1 00001101011

2 520 1000001000 0 1000001000

3 260 100000100 0 100000100

4 130 10000010 0 10000010

5 65 1000001 1 1000001

6 541 1000011101 1 011101

7 303 100101111 1 01111

8 422 110100110 0 0110

9 211 11010011 1 011

10 468 111010100 0 00

11 234 11101010 0 0

(17)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(18)

Ben-Or, Chor e Shamir, 1983

Algoritmo de Euclides Binário

Esse algoritmo é baseado nas seguintes idéias de [9] (Knuth — The Art of Computer Programming):

se |b| e |c| são ambos pares, então gcd (b, c) = 2.gcd ( b 2 , c 2 );

se |b| é par e |c| ímpar, então gcd (b, c) = gcd ( b 2 , c);

se |b| e |c| são ambos ímpares, então gcd (b, c) = 2.gcd ( b+c 2 , b−c 2 );

adicionalmente, no último caso, ou b+c 2 ou b−c 2 é divisível

novamente por 2.

(19)

Oráculo para dizer em que metade do conjunto está

Esse oráculo (Half ) diz em que metade do conjunto a mensagem está:

H(x e mod N) =

0 se x < N/2

1 se x > N/2

Na verdade um oráculo para o LSB é equivalente a um para o Half,

pois um pode simular o outro.

(20)

Ben-Or, Chor e Shamir, 1983

Propriedade sobre Half

Seja A(x ) = 2.

N x1 2

. Então para um i aleatório:

A(x ) = Pr [H(i) = H(i + x )]

(21)

Caso de probabilidade alta

0

x pequeno N/2 N

0

N/2 N

x grande

0

N/2 N

0

N/2 N

(22)

Ben-Or, Chor e Shamir, 1983

Caso de probabilidade baixa

0

x N/2 N

0

N/2 N

0

N/2 x N

0

N/2 N

(23)

Escolha inicial

Seja I ε =

N.ε 2 , N.ε 2

e J ε = N 2 + I ε , então:

x ∈ I ε ⇒ A(x) ≥ 1 − ε

2 ⇒ s(x) > 1 2 x ∈ J ε ⇒ A(x ) ≤ ε

2 ⇒ s(x ) < 1 2

Assim, a paridade pode ser avaliada e vamos poder usar nosso GCD binário:

|x | par ⇒ x 2 ∈ I ε

|x | ímpar ⇒ x

2 ∈ J ε

(24)

Ben-Or, Chor e Shamir, 1983

Descrição do Algoritmo

Dado RSA(x ), pegue aleatoriamente i, j até ambos satisfazerem s(i.x ), s(j.x ) > 1/2:

Início faça b ← i.x, c ← j.x. Enquanto s(2 −1 .b) > 1 2 faça b ← 2 −1 .b (e similarmente para c).

Laço b ← b+c 2 , c ← b−c 2 . Elimine potências de 2 até que sobre apenas números ímpares.

Fim se mais de lg N fatores de 2 forem encontrados, aborta e

recomeça; se mais de 2. log 4/3 N iterações ocorrerem dentro do

laço, aborta e recomeça. Se b = 0 ou c = 0 recomeça. Se

b = 1, −1 ou c = 1, −1, use os coeficientes para representar

1 = k .x e assim recuperar x = k −1 mod N. Verifique a resposta

aplicando RSA.

(25)

Análise

A escolhas iniciais estarão dentro de I ε com probabilidade ≥ ε 2 Serão relativamente primos com probabilidade ≥ π 6

2

Tempo total com alta probabilidade: π 6

2

· ε −2 · 2 log 4/3 N

(26)

Alexi, Chor, Goldreich e Schnorr, 1988

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(27)

Algoritmos

Ver algoritmos.

(28)

Alexi, Chor, Goldreich e Schnorr, 1988

Técnica de suposição

escolha de maneira uniforme e independente k , l ∈ Z N ;

computamos m valores [r i x ] N de modo que [r i x ] N = [(k + il)x ] N , com i = 1, 2, . . . , m;

se chamarmos y = [kx ] N e z = [lx] N , então [r i x ] N ≡ y + iz mod N;

suponha que conhecemos a localização de y dentro de um dos 4ε −1 intervalos

j εN

4 , (j + 1) εN 4

, 0 ≤ j < 4 ε

suponha que conhecemos a localização de z dentro de um dos 4mε −1 intervalos

j εN

4m , (j + 1) εN 4m

, 0 ≤ j < 4m

ε

suponha que conhecemos LSB(y ) e LSB(z).

(29)

Técnica de suposição

com o conhecimento da localização nos intervalos e do LSB de y e z é fácil calcular LSB(r i x );

note que das suposições, temos ao todo 2 · 4ε −1 · 2 · 4mε −1 = 2 6−2 possibilidades

rodamos o ACGS com cada uma dessas alternativas;

em apenas uma delas estaremos computando corretamente

LSB(r i x ) e chamaremos essa instância de alternativa correta.

(30)

Alexi, Chor, Goldreich e Schnorr, 1988

Tempo de computação

O tempo do algoritmo é composto pelos seguintes fatores:

escolha de 2 múltiplos pequenos: −2 ; a chance deles serem coprimos: π 6

2

; número de linhas de execução: 2 6 .m. −2 ; número de chamadas ao oráculo: 6n + 3;

número de medidas m: por def. m = 64.n. −2 .

−2 .

6

π 2

−1

.2 6 .m. −2 .(6n + 3).m ≈ −4 .m 2 .n.64.π 2 /3

= −4 .(64n −2 ) 2 .n.64.π 2 /3

= 64 3 .(π 2 /3).n 3 . −8

≈ 3 · 2 20 ε −8 n 3

(31)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(32)

Fischlin e Schnorr, 1997

Princípio — divisão binária

(33)

Divisão binária

0 x par N/2 N

0 N/2 N

(x+n)/2 x+N

x ímpar

(34)

Fischlin e Schnorr, 1997

Tempos

FS1 Tempo original: 3 · 2 9 ε −6 n 2 ;

FS2 Hoeffding’s Bound: 9 · 2 8 ε −6 n lg n.

(35)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(36)

Boneh e Shparlinsk, 2001

Classes de isomorfismo

Os autores consideram um oráculo O P com vantagem ε em predizer o LSB na curva E 0 . Isso quer dizer que O P não tem vantagem em todas as curvas na família φ λ (E 0 ) λ∈F

P

.

Por definição, é considerado que O P mantém essa vantagem para pelo menos uma fração δ das curvas na família de isomorfismo:

sem oráculo B : δ = 1;

com oráculo B : δ pequeno.

(37)

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(38)

Jetchev e Venkatesan, 2008

Classes de isomorfismo Weierstrass

r Im1

Im2

Im3

Im4

E1, E3, E99...

curvas diversas

curvas isomorfas

fração da classe de isomorfismo

Onde temos 0 < r < 1.

(39)

Classes de isogenia Weierstrass

r Ig1

Ig2

Ig3

Ig4

E1, E3, E99...

curvas diversas

curvas isógenas

fração da classe de isogenia

Im1 Im2

curvas isomorfas

Onde temos 0 < r < 1.

(40)

Jetchev e Venkatesan, 2008

Nosso grafo de isogenia

E1

E2

E3

E4

1 2 3

(41)

Nosso grafo de isogenia

E1

E2

E3

E4

1 2 3

(42)

Resultados

Próximo assunto

1 Introdução Introdução

2 Trabalhos para o RSA

Goldwasser, Micali e Tong, 1982 Ben-Or, Chor e Shamir, 1983

Alexi, Chor, Goldreich e Schnorr, 1988 Fischlin e Schnorr, 1997

3 Trabalhos para o DHCE Boneh e Shparlinsk, 2001 Jetchev e Venkatesan, 2008

4 Resultados e trabalhos futuros

Resultados

(43)

Diminuindo o número de amostras

m def = 64n ε 2

m def = 4

ε 2

(44)

Resultados

Redução no limitante do BKGCD

o objetivo do ACGS é inverter o RSA dentro da alternativa correta;

Então, devemos ter o limitante do BKGCD direcionado para essa alternativa;

rodamos o ACGS para um RSA de 128 bits apenas na alternativa correta;

dentro de 200 testes, a função BKGCD fez de 324 a 368 chamadas à função PAR;

algo entre 2,53n e 2,88n;

mudamos limiteGCD = 6n + 3 para limiteGCD = 3n.

(45)

Tempo consumido em relação ao número de amostras

0 10 20 30 40 50 60 70

16 32 64 128 256 512 1024

T empo (segundos)

Amostras 0,997 2,088 4,355 8,034

16,146 35,270

66,092

(46)

Resultados

Linearidade do tempo

0 10 20 30 40 50 60 70

0 200 400 600 800 1000 1200

T empo (segundos)

Amostras

(47)

Amostragem original

128 bits 1024 bits 5000 bits

0,4 51.200 409.600 2.000.000

0,3 91.023 728.178 3.555.556

0,2 204.800 1.638.400 8.000.000

0,1 819.200 6.553.600 32.000.000

0,05 3.276.800 26.214.400 128.000.000

0,01 81.920.000 655.360.000 3.200.000.000

(48)

Resultados

Número de amostras em relação à vantagem

0 500 1000 1500 2000

0,01 0,05 0,10 0,20 0,30 0,40

Amostr as

Vantagem (ε) 40000

1600

400

100 44 25

(49)

Comparação entre as complexidades existentes

Estimativa 1024 bits 2048 bits 5000 bits

PFP exp(1,9(ln N)

13

(ln ln N)

23

) 6,409 · 10

25

5,817 · 10

34

3,755 · 10

50

ACGS orig. 3 · 2

20

ε

−8

n

3

3,378 · 10

31

2,702 · 10

32

3,932 · 10

33

ACGS novo 3 · 2

11

ε

−8

n 6,292 · 10

22

1,258 · 10

23

3,072 · 10

23

FS 1 3 · 2

9

ε

−6

n

2

1,611 · 10

21

6,443 · 10

21

3,840 · 10

22

FS 2 9 · 2

8

ε

−6

n lg n 2,359 · 10

19

5,191 · 10

19

1,498 · 10

20

(50)

Resultados

Tempo da função PAR no ACGS (m = 16)

0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7

128 256 512 1024 2048 5000

T empo (segundos)

Tamanho dos operandos (bits) 8,554

0,003 0,007 0,023

0,111

0,685

(51)

Tempos estimados para execução do algoritmo ACGS

n (bits) tPAR (s) Alt. correta Tempo total 1024 0,111 19,7 dias 138,4 · 10 3 anos 2048 0,685 243,5 dias 1,7 · 10 6 anos 5000 8,554 20,3 anos 52,1 · 10 6 anos

ε = 10%

(52)

Resultados

Tempo da função PAR no DHCE sem B (m = 40000)

0 0, 05 0, 1 0, 15 0, 2 0, 25

160 224

T empo (segundos)

Tamanho dos operandos (bits) 0,175

0,223

(53)

Tempos estimados para execução do algoritmo BS

n (bits) tPAR (s) Alt. correta Tempo total 160 0,175 5,6 minutos 54,6 anos 224 0,223 9,9 minutos 97,3 anos

ε = 10%

δ = 100%

(54)

Resultados

Função PAR no DHCE com B P (m = 50 e m2 = 10)

0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9

160 224

T empo (segundos)

Tamanho dos operandos (bits) 0,401

0,820

(55)

Tempos estimados para BS usando o oráculo B P

n (bits) tPAR (s) Alt. correta Tempo total 160 0,401 15,6 anos 80 · 10 6 anos 224 0,820 44,7 anos 229 · 10 6 anos

ε = 10%

δ = 10%

(56)

Resultados

Tempos estimados para JV usando o oráculo B P .

n (bits) tPAR (s) Tempo total 160 0,401 8,8 · 10 29 anos 224 0,820 7,3 · 10 31 anos

ε = 10%

δ = 10%

(57)

Considerações finais

provê uma implementação da segurança do LSB no RSA;

provê uma implementação da segurança do LSB no DHCE;

identificação dos parâmetros relevantes do tempo de execução;

identificação dos erros superestimados;

inferimos o tempo de execução para o método de JV;

conseguimos uma redução no limitante da função de paridade;

encontramos uma melhoria no número de acessos ao oráculo;

com as melhorias, o ACGS passou a ser mais rápido que o PFP para valores práticos;

mostramos como provas teóricas podem não definir de maneira

precisa o tempo de execução de um algoritmo.

(58)

Resultados

Outras contribuições

implementação em Relic;

artigo com Goya e Terada no SBSEG;

correção dos tipos na função de benchmark ; correção com fp_cmp_dig;

adição do gt_exp → fb4_exp;

correção de bilinearidade do emparelhamento simétrico;

expansão de pontos para NIST_P224;

problemas com linker.

(59)

Trabalhos futuros

algoritmo Rabin;

algoritmo FS;

prova de conceito com ataque de canal secundário.

(60)

Resultados

Geradores de números aleatórios

Mostrar geradores.

(61)

[1] Shafi Goldwasser, Silvio Micali, and Po Tong.

Why and how to establish a private code on a public network (extended abstract).

In FOCS, pages 134–144, Chicago, Illinois, November 1982. IEEE.

[2] M. Ben-Or, B. Chor, and A. Shamir.

On the cryptographic security of single RSA bits.

In ACM Symposium on Theory of Computing (STOC ’83), pages 421–430, Baltimore, USA, April 1983. ACM Press.

[3] Umesh V. Vazirani and Vijay V. Vazirani.

RSA bits are .732 + secure (preliminary abstract).

In David Chaum, editor, CRYPTO ’83, pages 369–375. Plenum Press, 22–24 August 1983.

[4] Oded Goldreich.

On the number of close-and-equal pairs of bits in a string.

(62)

In T. Beth, N. Cot, and I. Ingemarsson, editors, EUROCRYPT 184, volume 209 of LNCS, pages 127–141. Springer-Verlag, 1985.

[5] Werner Alexi, Benny Chor, Oded Goldreich, and Claus-Peter Schnorr.

RSA and Rabin functions: Certain parts are as hard as the whole.

SIAM Journal on Computing, 17(2):194–209, April 1988.

[6] Roger Fischlin and Claus-Peter Schnorr.

Stronger security proofs for RSA and Rabin bits.

In EUROCRYPT ’97, volume 1233 of LNCS, pages 267–279, Berlin, 1997. Springer-Verlag.

[7] Dan Boneh and Igor Shparlinski.

On the unpredictability of bits of the elliptic curve Diffie-Hellman

scheme.

(63)

In Joe Kilian, editor, CRYPTO 2001, volume 2139 of LNCS, pages 201–212. Springer, 2001.

[8] Dimitar Jetchev and Ramarathnam Venkatesan.

Bits security of the elliptic curve Diffie-Hellman secret keys.

In David Wagner, editor, CRYPTO 2008, volume 5157 of LNCS, pages 75–92. Springer, 2008.

[9] Donald E. Knuth.

The Art of Computer Programming, volume 2, Seminumerical Algorithms.

Addison-Wesley, Reading, MA, 2 edition, 1981.

(64)

Dúvidas?

Perguntas???

nakamura@ime.usp.br

http://lsd.ime.usp.br/

Referências

Documentos relacionados

Como posso saudar a mim mesmo no Eu, pois eu sou (eu próprio) a Ventura Suprema Eterna que não tem distinção de cores tais como o branco, etc, que não se acha preso por causa e

popular pela forma destinar-se-ia mais aos membros do Jockey Club do que aos da Confederação Geral do Trabalho; quanto aos temas, os romances populares satisfazem tão

A utilização do método estatístico metodologia de superfície de resposta foi eficiente na otimização das condições de extração com CO 2 supercrítico da

Sobre a relação entre a força de embutimento e lubrificantes, quando os resultados dos ensaios foram segregados para raio da ferramenta com 8 mm, sem a

• A decisão final, a emitir sobre o pedido, compete ao chefe de finanças da área de situação dos prédios, nos termos do artigo 131.º do CIMI... INFORMATIZAÇÃO

A partir desse cenário, esse artigo traz a apresentação do relato de experiência da implantação dos modelos de rotação por estação e laboratório rotacional,

BA MG SP SC RS AM PE CE BA - Pilar GO PR A KLABIN NO PARANÁ INAUGURAÇÃO DA PRIMEIRA UNIDADE EM TELÊMACO BORBA - PR 1946 MAIS DE COLABORADORES 10.000 Terminal Portuário PLANTA DE

 Alta taxa de fluxo com baixa perda de carga  Abertura e fechamento fácil da válvula  Regulação precisa e estável.  Baixa pressão de abertura e acionamento 