• Nenhum resultado encontrado

Reconstru¸c˜ao da Chave Secreta do RSA Multi-primo

N/A
N/A
Protected

Academic year: 2022

Share "Reconstru¸c˜ao da Chave Secreta do RSA Multi-primo"

Copied!
92
0
0

Texto

(1)

Reconstru¸ao da Chave Secreta do RSA Multi-primo

Reconstru¸c˜ ao da Chave Secreta do RSA Multi-primo

Reynaldo C´aceres Villena

([email protected])

Orientador: Routo Terada

Instituto de Matem´atica e Estat´ıstica - Universidade de S˜ao Paulo Setembro de 2013

(2)

Reconstru¸ao da Chave Secreta do RSA Multi-primo

Agenda

1 Objetivos

2 Conceitos B´asicos RSA

QC-RSA PKCS

Fatora¸c˜ao do inteiroN

3 Algoritmo de Reconstru¸c˜ao da Chave Secreta RSA Ataquescold-boot

C´alculo de Vari´aveis Auxiliares Corre¸c˜ao dos bits inferiores de:

Ideia do algoritmo de Reconstru¸c˜ao Lema de Hensel

Algoritmo de Reconstru¸c˜ao

Complexidade do Algoritmo de Reconstru¸c˜ao

4 Implementa¸c˜ao

5 Conclus˜oes

(3)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Objetivos

1 - Objetivos

1 Objetivos

2 Conceitos B´asicos RSA

QC-RSA PKCS

Fatora¸c˜ao do inteiroN

3 Algoritmo de Reconstru¸c˜ao da Chave Secreta RSA Ataquescold-boot

C´alculo de Vari´aveis Auxiliares Corre¸c˜ao dos bits inferiores de:

Ideia do algoritmo de Reconstru¸c˜ao Lema de Hensel

Algoritmo de Reconstru¸c˜ao

Complexidade do Algoritmo de Reconstru¸c˜ao

4 Implementa¸c˜ao

5 Conclus˜oes

(4)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Objetivos

Objetivos

Estudo e an´alise o algoritmo de reconstru¸c˜ao da chave secretask do criptossistema RSA b´asico (u= 2) apresentado por Heninger e Shacham.

Implementa¸c˜ao de um algoritmo de reconstru¸c˜ao da chave secreta sk para o criptossistema RSA multi-primo (u≥2).

(5)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Objetivos

Objetivos

Estudo e an´alise o algoritmo de reconstru¸c˜ao da chave secretask do criptossistema RSA b´asico (u= 2) apresentado por Heninger e Shacham.

Implementa¸c˜ao de um algoritmo de reconstru¸c˜ao da chave secreta sk para o criptossistema RSA multi-primo (u≥2).

(6)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

2 - Conceitos B´asicos

1 Objetivos

2 Conceitos B´asicos RSA

QC-RSA PKCS

Fatora¸c˜ao do inteiroN

3 Algoritmo de Reconstru¸c˜ao da Chave Secreta RSA Ataquescold-boot

C´alculo de Vari´aveis Auxiliares Corre¸c˜ao dos bits inferiores de:

Ideia do algoritmo de Reconstru¸c˜ao Lema de Hensel

Algoritmo de Reconstru¸c˜ao

Complexidade do Algoritmo de Reconstru¸c˜ao

4 Implementa¸c˜ao

5 Conclus˜oes

(7)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

RSA

O RSA ´e o criptossistema de chave p´ublica mais usado e imple- mentado at´e a data.

Seu nome ´e derivado das iniciais dos seus criadores: Ron (R)ivest, Adi (S)hamir e Len (A)dleman.

Desde sua publica¸c˜ao, nenhum ataque conseguiu quebr´a-lo, por- tanto n˜ao foi preciso mudar sua estrutura.

Foi criado em agosto de 1977 no MIT1e publicado em fevereiro de 1978.

1 Massachusetts Institute of Technology

(8)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos

1.-Algoritmo de Gera¸c˜ao das chaves N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di 2.- Algoritmo de encripta¸c˜ao

M ∈ZN, pkhN, ei C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN Criptossistema RSA B´asico(u= 2)

Criptossistema RSA Multi-primo (u≥3) O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(9)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos 1.-Algoritmo de Gera¸c˜ao das chaves

N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di

2.- Algoritmo de encripta¸c˜ao M ∈ZN, pkhN, ei

C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN Criptossistema RSA B´asico(u= 2)

Criptossistema RSA Multi-primo (u≥3) O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(10)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos 1.-Algoritmo de Gera¸c˜ao das chaves

N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di 2.- Algoritmo de encripta¸c˜ao

M ∈ZN, pkhN, ei C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN Criptossistema RSA B´asico(u= 2)

Criptossistema RSA Multi-primo (u≥3) O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(11)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos 1.-Algoritmo de Gera¸c˜ao das chaves

N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di 2.- Algoritmo de encripta¸c˜ao

M ∈ZN, pkhN, ei C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN

Criptossistema RSA B´asico(u= 2) Criptossistema RSA Multi-primo (u≥3) O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(12)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos 1.-Algoritmo de Gera¸c˜ao das chaves

N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di 2.- Algoritmo de encripta¸c˜ao

M ∈ZN, pkhN, ei C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN Criptossistema RSA B´asico(u= 2)

Criptossistema RSA Multi-primo (u≥3)

O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(13)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

RSA

Criptossistema RSA

O criptossistema RSA est´a conformado por 3 algoritmos 1.-Algoritmo de Gera¸c˜ao das chaves

N =

u

Q

i=1

ri ed= 1 modφ(N)

Chave p´ublicapkhN, eie chave secretaskhN, di 2.- Algoritmo de encripta¸c˜ao

M ∈ZN, pkhN, ei C=Me modN

3.- Algoritmo de decifra¸c˜ao C,skhN, di

M =Cd modN Criptossistema RSA B´asico(u= 2)

Criptossistema RSA Multi-primo (u≥3) O custo de execu¸c˜ao do algoritmo de decifra¸c˜ao ´e elevado.

(14)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

QC-RSA

QC-RSA (Decifra¸c˜ao usando TCR)

O QC-RSA foi proposto por J-J. Quisquater and C. Couvreur em 1982.

Esse m´etodo consiste em calcularM a partir deMi usando o Teorema Chinˆes do Resto (TCR) onde

Mi=Cd modri para 1≤i≤u Mi=Cdi modri para 1≤i≤u ondedi=d mod (ri−1).

Nova chave secretask

skhr1, r2, d1, d2, r−12 ,hr3, d3, t3i, ..,hru, du, tuiicom r2r2−1= 1 modr1

ti(

i−1

Y

j=1

rj)−1= 1 modri para 3≤i≤u

(15)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

QC-RSA

QC-RSA (Decifra¸c˜ao usando TCR)

O QC-RSA foi proposto por J-J. Quisquater and C. Couvreur em 1982.

Esse m´etodo consiste em calcularM a partir deMi usando o Teorema Chinˆes do Resto (TCR) onde

Mi=Cd modri para 1≤i≤u Mi=Cdi modri para 1≤i≤u ondedi=d mod (ri−1).

Nova chave secretask

skhr1, r2, d1, d2, r−12 ,hr3, d3, t3i, ..,hru, du, tuiicom r2r2−1= 1 modr1

ti(

i−1

Y

j=1

rj)−1= 1 modripara 3≤i≤u

(16)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

QC-RSA

QC-RSA (Decifra¸c˜ao usando TCR) Algoritmo 1: Decifra¸c˜ao-QC

Entrada: skhr1, r2, d1, d2, r−12 ,hr3, d3, t3i, ..,hru, du, tuii,C Sa´ıda:M

M1=Cd1 modr1; 1

M2=Cd2 modr2; 2

parai= 3toufa¸ca 3

Mi=Cdi modri; 4

M= ((M1M2)r−12 modr1)r2+M2; 5

R=r1; 6

parai= 3toufa¸ca 7

R=Rri−1; 8

M= (MiM)ti modri)R+M;

9

retornaM; 10

O tempo de execu¸c˜ao do QC-RSA:

No criptossistema RSA b´asico ´e at´e 4 vezes mais r´apido do que a execu¸c˜ao deM ←Cd modN.

No criptossistema RSA multi-primo ´e menor que do criptossistema RSA b´asico.

(17)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

QC-RSA

QC-RSA (Decifra¸c˜ao usando TCR) Algoritmo 2: Decifra¸c˜ao-QC

Entrada: skhr1, r2, d1, d2, r−12 ,hr3, d3, t3i, ..,hru, du, tuii,C Sa´ıda:M

M1=Cd1 modr1; 1

M2=Cd2 modr2; 2

parai= 3toufa¸ca 3

Mi=Cdi modri; 4

M= ((M1M2)r−12 modr1)r2+M2; 5

R=r1; 6

parai= 3toufa¸ca 7

R=Rri−1; 8

M= (MiM)ti modri)R+M;

9

retornaM; 10

O tempo de execu¸c˜ao do QC-RSA:

No criptossistema RSA b´asico ´e at´e 4 vezes mais r´apido do que a execu¸c˜ao deM ←Cd modN.

No criptossistema RSA multi-primo ´e menor que do criptossistema RSA b´asico.

(18)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

PKCS

PKCS - Public Key Cryptography Standards

O PKCS ´e um grupo de padr˜oes devenvolvido pelos laborat´orios RSA2

O PKCS cont´em especifica¸c˜oes para acelerar a implementa¸c˜ao e de- senvolvimento dos algoritmos dos criptossistemas de chave p´ublica.

PKCS #1

E o padr˜´ ao e cont´em defini¸c˜oes b´asicas e recomenda¸c˜oes para a implementa¸c˜ao do criptossistema RSA.

Representa¸c˜ao da chave p´ublica

1 pkhN, ei(C=Me modN) Representa¸c˜oes da chave secreta

1 skhN, di(M =Cd modN).

2 skhr1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii(QC-RSA).

2 Empresa dedicada `a criptografia e ao software de seguran¸ca

(19)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

PKCS

PKCS - Public Key Cryptography Standards

O PKCS ´e um grupo de padr˜oes devenvolvido pelos laborat´orios RSA2

O PKCS cont´em especifica¸c˜oes para acelerar a implementa¸c˜ao e de- senvolvimento dos algoritmos dos criptossistemas de chave p´ublica.

PKCS #1

E o padr˜´ ao e cont´em defini¸c˜oes b´asicas e recomenda¸c˜oes para a implementa¸c˜ao do criptossistema RSA.

Representa¸c˜ao da chave p´ublica

1 pkhN, ei(C=Me modN) Representa¸c˜oes da chave secreta

1 skhN, di(M =Cd modN).

2 skhr1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii(QC-RSA).

2 Empresa dedicada `

(20)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

PKCS

PKCS #1 - RSA (Recomenda¸c˜ao para implementa¸c˜ao do RSA) Representa¸c˜ao ANS.1 das chaves RSA segundo o padr˜ao PKCS #1.

skhN, e, d, r1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii.

(21)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Seguran¸ca do RSA

Requisito de um criptossistema de chave p´ublica

A recupera¸c˜ao da chave secretask a partir da chave p´ublica pk´e um problema computacionalmente invi´avel.

Temos os valorespkhN, ei, como achar od?

Euclides−estendido(e, φ(N))φ(N) =Qu

i=1(ri−1)F atorar(N)

Outros ataques como :

O c´alculo deφ(N) sem fatorarN

A determina¸c˜ao dedsem fatorarN e sem calcularφ(N) O c´alculo de umd0 equivalente a d

s˜ao mais dif´ıceis que oF atorar(N) Seguran¸ca do RSA

Est´a baseado no problema de fatora¸c˜ao de inteiros (problema NP).

(22)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Seguran¸ca do RSA

Requisito de um criptossistema de chave p´ublica

A recupera¸c˜ao da chave secretask a partir da chave p´ublica pk´e um problema computacionalmente invi´avel.

Temos os valorespkhN, ei, como achar od?

Euclides−estendido(e, φ(N))φ(N) =Qu

i=1(ri−1)F atorar(N) Outros ataques como :

O c´alculo deφ(N) sem fatorarN

A determina¸c˜ao dedsem fatorar N e sem calcularφ(N) O c´alculo de umd0 equivalente a d

s˜ao mais dif´ıceis que oF atorar(N)

Seguran¸ca do RSA

Est´a baseado no problema de fatora¸c˜ao de inteiros (problema NP).

(23)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Seguran¸ca do RSA

Requisito de um criptossistema de chave p´ublica

A recupera¸c˜ao da chave secretask a partir da chave p´ublica pk´e um problema computacionalmente invi´avel.

Temos os valorespkhN, ei, como achar od?

Euclides−estendido(e, φ(N))φ(N) =Qu

i=1(ri−1)F atorar(N) Outros ataques como :

O c´alculo deφ(N) sem fatorarN

A determina¸c˜ao dedsem fatorar N e sem calcularφ(N) O c´alculo de umd0 equivalente a d

s˜ao mais dif´ıceis que oF atorar(N) Seguran¸ca do RSA

Est´a baseado no problema de fatora¸c˜ao de inteiros (problema NP).

(24)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Algoritmos para fatorar inteiros

O algoritmo NFS(Number Field Sieve)´e o mais r´apido para fatorar primos de mais de 100 d´ıgitos. E seu tempo esperado ´e dado por

O(e1.923 log

1

3nlog23logn).

O maior inteiro fatorado foi de 232 d´ıgitos (768 bits) (12-dez-2009).

O ECM(Elliptic Curve Method)usado na fatora¸c˜ao pode calcular um fator primo do inteiroN. Seu tempo ´e dado por

O(log2ne

2 log12 n

ulog12lognu).

O maior fator encontrado foi de 75 d´ıgitos (2-ago-2012).

O m´aximo valor estimado parauconsiderando que o inteiroN´e seguro

´e dado por:

N´umero de bits (n) 1024 2048 3072 4096 8192 M´aximo n´umero de primes (u) 3 3 3 4 5

(25)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Algoritmos para fatorar inteiros

O algoritmo NFS(Number Field Sieve)´e o mais r´apido para fatorar primos de mais de 100 d´ıgitos. E seu tempo esperado ´e dado por

O(e1.923 log

1

3nlog23logn).

O maior inteiro fatorado foi de 232 d´ıgitos (768 bits) (12-dez-2009).

O ECM(Elliptic Curve Method)usado na fatora¸c˜ao pode calcular um fator primo do inteiroN. Seu tempo ´e dado por

O(log2ne

2 log12 n

ulog12lognu).

O maior fator encontrado foi de 75 d´ıgitos (2-ago-2012).

O m´aximo valor estimado parauconsiderando que o inteiroN´e seguro

´e dado por:

N´umero de bits (n) 1024 2048 3072 4096 8192 M´aximo n´umero de primes (u) 3 3 3 4 5

(26)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Algoritmos para fatorar inteiros

O algoritmo NFS(Number Field Sieve)´e o mais r´apido para fatorar primos de mais de 100 d´ıgitos. E seu tempo esperado ´e dado por

O(e1.923 log

1

3nlog23logn).

O maior inteiro fatorado foi de 232 d´ıgitos (768 bits) (12-dez-2009).

O ECM(Elliptic Curve Method)usado na fatora¸c˜ao pode calcular um fator primo do inteiroN. Seu tempo ´e dado por

O(log2ne

2 log12 n

ulog12lognu).

O maior fator encontrado foi de 75 d´ıgitos (2-ago-2012).

O m´aximo valor estimado parauconsiderando que o inteiroN´e seguro

´e dado por:

N´umero de bits (n) 1024 2048 3072 4096 8192 M´aximo n´umero de primes (u) 3 3 3 4 5

(27)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Fatora¸c˜ao do m´oduloN tendo informa¸c˜ao extra

Com rela¸c˜ao ao criptossistema RSA b´asico, temos que ´e poss´ıvel fatorar o m´oduloN =r1r2 em tempo polinomial tendo:

os n/4 bits menos significativos ou mais significativos de r1. os n/4 bits menos significativos de d.

os n/4 bits menos significativos de d1.

27% de bits aleat´orios da chave secreta sk(Algoritmo de reconstru¸c˜ao da chave secreta de Heninger e Shacham).

Com rela¸c˜ao ao criptossistema RSA multi-primo, temos que ´e poss´ıvel fatorar o m´oduloN=Qu

i=1ri em tempo polinomial tendo: os u(i+1)ni bits menos significativos ou mais significativos deri

para 1≤i≤u−1.

(28)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Conceitos B´asicos

Fatora¸ao do inteiroN

Fatora¸c˜ao do m´oduloN tendo informa¸c˜ao extra

Com rela¸c˜ao ao criptossistema RSA b´asico, temos que ´e poss´ıvel fatorar o m´oduloN =r1r2 em tempo polinomial tendo:

os n/4 bits menos significativos ou mais significativos de r1. os n/4 bits menos significativos de d.

os n/4 bits menos significativos de d1.

27% de bits aleat´orios da chave secreta sk(Algoritmo de reconstru¸c˜ao da chave secreta de Heninger e Shacham).

Com rela¸c˜ao ao criptossistema RSA multi-primo, temos que ´e poss´ıvel fatorar o m´oduloN=Qu

i=1ri em tempo polinomial tendo:

os u(i+1)ni bits menos significativos ou mais significativos deri

para 1≤i≤u−1.

(29)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

3 - Algoritmo de Reconstru¸c˜ao da Chave Secreta RSA

1 Objetivos

2 Conceitos B´asicos RSA

QC-RSA PKCS

Fatora¸c˜ao do inteiroN

3 Algoritmo de Reconstru¸c˜ao da Chave Secreta RSA Ataquescold-boot

C´alculo de Vari´aveis Auxiliares Corre¸c˜ao dos bits inferiores de:

Ideia do algoritmo de Reconstru¸c˜ao Lema de Hensel

Algoritmo de Reconstru¸c˜ao

Complexidade do Algoritmo de Reconstru¸c˜ao

4 Implementa¸c˜ao

5 Conclus˜oes

(30)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Ataquescold-boot

Ataquescold-boot

cold-bootouhard-boot

Se refere aobootde um computador depois de ter sido cortada sua fonte de energia abruptamente.

Remanescˆencia da mem´oria DRAM

Capacidade de conserva¸c˜ao de dados da mem´oria DRAM/SRAM depois de se aplicar umcold-boot.

Um ataquecold-boot´e um tipo de ataque onde o atacante utiliza dados que foram obtidos da mem´oria DRAM/SRAM depois de aplicar um cold-bootao computador.

(31)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Ataquescold-boot

Gerando imagem da mem´oria DRAM

Iniciando um programaSyslinux bootloaderpara obter uma imagem da mem´oria DRAM.

(32)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Ataquescold-boot

Defini¸c˜ao de sk˜

sk sk(δ)˜ sk

Ataque

Cold Boot

Algoritmo de

reconstru¸ao

Ondesk˜ cont´em uma porcentagem δde bits corretos desk.

(33)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Rela¸c˜oes matem´aticas da chave secreta

Temos a chave secreta

skhN, e, d, r1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii

segundo o padr˜ao PKCS # 1, onde suas rela¸c˜oes matem´aticas s˜ao dados por:

N =

u

Y

i=1

ri

e.d1= 1 mod (r1−1) e.d2= 1 mod (r2−1)

...

e.du= 1 mod (ru−1)

e.d= 1 mod

u

Y

i=1

(ri−1) r2.r−12 = 1 modr1

r1.r2.t3= 1 modr3

...

r1.r2...ru−1.tu= 1 modru

(34)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Rela¸c˜oes matem´aticas da chave secreta

Temos a chave secreta

skhN, e, d, r1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii

segundo o padr˜ao PKCS # 1, onde suas rela¸c˜oes matem´aticas s˜ao dados por:

N =

u

Y

i=1

ri

e.d1= 1 +k1(r1−1) e.d2= 1 +k2(r2−1)

...

e.du= 1 +ku(ru−1)

e.d= 1 +k

u

Y

i=1

(ri−1) r2.r−12 = 1 +g.r1

r1.r2.t3= 1 +g3.r3

...

r1.r2...ru−1.tu= 1 +gu.ru

(35)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Rela¸c˜oes matem´aticas da chave secreta

Temos a chave secreta

skhN, e, d, r1, r2, d1, d2, r2−1,hr3, d3, t3i, ..,hru, du, tuii

segundo o padr˜ao PKCS # 1, onde suas rela¸c˜oes matem´aticas s˜ao dados por:

N =

u

Y

i=1

ri

e.d1= 1 +k1(r1−1) e.d2= 1 +k2(r2−1)

...

e.du= 1 +ku(ru−1)

e.d= 1 +k

u

Y

i=1

(ri−1)

... r1.r2...ru−1.tu

(36)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando os valores dek, k1, ...ku

Analisando os valoresk, k1, ...ku.

N=

u

Y

i=1

ri

e.d= 1 +k

u

Y

i=1

(ri−1)

e.di= 1 +ki(ri−1)para 1≤i≤u

e,d∈Zφ(N)⇒e,d< φ(N)⇒k <e e,di ∈Zφ(ri)⇒e,d< φ(ri)⇒ki<e

0≤k, k1, ..., ku<e

Aplicando modepara calcular os valoresk, k1, ...ku. N=

u

Y

i=1

ri

0 = 1 +k

u

Y

i=1

(ri−1)

0 = 1 +ki(ri−1)para 1≤i≤u

N

u

Q

i=1

ki=

u

Q

i=1

(ki−1)

u

Q

i=1

ki=k(−1)u−1

(37)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando os valores dek, k1, ...ku

Analisando os valoresk, k1, ...ku.

N=

u

Y

i=1

ri

e.d= 1 +k

u

Y

i=1

(ri−1)

e.di= 1 +ki(ri−1)para 1≤i≤u

e,d∈Zφ(N)⇒e,d< φ(N)⇒k <e e,di ∈Zφ(ri)⇒e,d< φ(ri)⇒ki<e

0≤k, k1, ..., ku<e Aplicando modepara calcular os valoresk, k1, ...ku.

N=

u

Y

i=1

ri

0 = 1 +k

u

Y

i=1

(ri−1)

0 = 1 +ki(ri−1)para 1≤i≤u

N

u

Q

i=1

ki=

u

Q

i=1

(ki−1)

u

Q

i=1

ki =k(−1)u−1

(38)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando os valores dek, k1, ...ku

N

u

Q

i=1

ki =

u

Q

i=1

(ki−1)

u

Q

i=1

ki=k(−1)u−1

Onde o n´umero de solu¸c˜oes poss´ıveis para hk, k1, ..., kui:

α(u) =

0 seu= 1 eN ≡1 mode

1 seu= 1 eN 6≡1 mode

(e−2)u−1−α(u−1) seu>1

Para o criptossistema RSA b´asico (u= 2)

Percival formulou que existeeposs´ıveis solu¸c˜oes parahk, k1, k2i. E poss´ıvel encontrar melhores valores para o´ k?

(39)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando os valores dek, k1, ...ku

N

u

Q

i=1

ki =

u

Q

i=1

(ki−1)

u

Q

i=1

ki=k(−1)u−1

Onde o n´umero de solu¸c˜oes poss´ıveis para hk, k1, ..., kui:

α(u) =

0 seu= 1 eN ≡1 mode

1 seu= 1 eN 6≡1 mode

(e−2)u−1−α(u−1) seu>1

Para o criptossistema RSA b´asico (u= 2)

Percival formulou que existeeposs´ıveis solu¸c˜oes parahk, k1, k2i.

E poss´ıvel encontrar melhores valores para o´ k?

(40)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando melhores valores parak

Lema:

Para umepequeno, os nu bits mais significativos dedpode ser estimados eficientemente.

e.d= 1 +k

u

Y

i=1

(ri−1) +kN−k

u

Y

i=1

ri

d= 1 +kN

e +k

e(

u

Y

i=1

(ri−1)−

u

Y

i=1

ri))

d=d0+d1 ondelg|d1| ≈n−n

u

Em outras palavras, se calculamos o valor de d0(k0) =1 +k0N

e

com o valor correto de k0 = k, vamos ter em d0(k0) os nu bits mais significativos ded.

(41)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando melhores valores parak

Lema:

Para umepequeno, os nu bits mais significativos dedpode ser estimados eficientemente.

e.d= 1 +k

u

Y

i=1

(ri−1) +kN−k

u

Y

i=1

ri

d= 1 +kN

e +k

e(

u

Y

i=1

(ri−1)−

u

Y

i=1

ri))

d=d0+d1 ondelg|d1| ≈n−n

u Em outras palavras, se calculamos o valor de

d0(k0) =1 +k0N e

com o valor correto de k0 = k, vamos ter em d0(k0) os nu bits mais significativos ded.

(42)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando melhores valores parak

Lembramos que temossk˜ com uma porcentagemδde bits corretos Temos emd˜um total de δnbits corretos

Calculamos o valor ded0 para cada valor poss´ıvel dek0(0< k <e).

d0(k0) = 1 +k0N

e para 0< k <e onde um dosd0(k0) tem o bits nu mais significativos ded.

Os melhores valores parakest˜ao dados quando od0(k0) ed˜ tenham a menor distˆancia deHamming3

H(k0) =

n

X

i=n−nu

d0(k0)[i]⊕d[i]˜

Melhor valor para k

k={k/H(k) = min(H(1), H(2), ..., H(e−1))}

3 N´umero de bits diferentes entre duas vari´aveis

(43)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculando melhores valores parak

Lembramos que temossk˜ com uma porcentagemδde bits corretos Temos emd˜um total de δnbits corretos

Calculamos o valor ded0 para cada valor poss´ıvel dek0(0< k <e).

d0(k0) = 1 +k0N

e para 0< k <e onde um dosd0(k0) tem o bits nu mais significativos ded.

Os melhores valores parakest˜ao dados quando od0(k0) ed˜ tenham a menor distˆancia deHamming3

H(k0) =

n

X

i=n−nu

d0(k0)[i]⊕d[i]˜

Melhor valor para k

k={k/H(k) = min(H(1), H(2), ..., H(e−1))}

3 N´

(44)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculandohk1, ..., kuionde k´e conhecido

Determinando os valores dehk1, ..., kuia partir dek:

N

u

Q

i=1

ki =

u

Q

i=1

(ki−1)

u

Q

i=1

ki=k(−1)u−1 Vamos supor que temosL≡u−2Q

i=1

[1−(ki)−1] eM ≡u−2Q

i=1

ki. Portanto 0≡k2u−1−[(−1)ukM−1[N L−1−1] + 1]ku−1−(−1)ukM−1 Onde o n´umero de solu¸c˜oes poss´ıveis para hk1, ..., kuiconhecendok:

β(u)≤2(e−2)u−2

Para o criptossistema RSA b´asico (u= 2)

Heninger mostrou o seguinte sistema de equa¸c˜oes parahk, k1, k2i: 0 =k22−[k(N−1) + 1]k2−k

0 =k+k1k2

(45)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

alculo de Vari´aveis Auxiliares

Calculandohk1, ..., kuionde k´e conhecido

Determinando os valores dehk1, ..., kuia partir dek:

N

u

Q

i=1

ki =

u

Q

i=1

(ki−1)

u

Q

i=1

ki=k(−1)u−1 Vamos supor que temosL≡u−2Q

i=1

[1−(ki)−1] eM ≡u−2Q

i=1

ki. Portanto 0≡k2u−1−[(−1)ukM−1[N L−1−1] + 1]ku−1−(−1)ukM−1 Onde o n´umero de solu¸c˜oes poss´ıveis para hk1, ..., kuiconhecendok:

β(u)≤2(e−2)u−2 Para o criptossistema RSA b´asico (u= 2)

Heninger mostrou o seguinte sistema de equa¸c˜oes parahk, k1, k2i:

0 =k22−[k(N−1) + 1]k2−k 0 =k+k1k2

(46)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Corre¸ao dos bits inferiores de:

Corre¸c˜ao dos bits inferiores de:

Temosskh˜ d,˜r˜1,r˜2,d˜1,d˜2,hr˜3,d˜3i, ...,hr˜u,d˜uii

Sabemos queris s˜ao primos portanto podemos corrigir

˜

ri[0]= 1 para 1≤i≤u.

Sejaτ(x): o maior expoente da potˆencia de 2 tal que 2τ(x)|x. Sabemos que 2|ri−1, ent˜ao temos que 21+τ(ki)|ki(ri−1)

21+τ(ki)|edi−1 edi−1≡0 mod 21+τ(ki)

di≡e−1 mod 21+τ(ki) para 1≤i≤u portanto podemos corrigir

i[j]= (e−1 mod 21+τ(ki))[j] para 0≤j ≤1 +τ(ki)e 1≤i≤u

(47)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Corre¸ao dos bits inferiores de:

Corre¸c˜ao dos bits inferiores de:

Temosskh˜ d,˜r˜1,r˜2,d˜1,d˜2,hr˜3,d˜3i, ...,hr˜u,d˜uii

Sabemos queris s˜ao primos portanto podemos corrigir

˜

ri[0]= 1 para 1≤i≤u.

Sejaτ(x): o maior expoente da potˆencia de 2 tal que 2τ(x)|x.

Sabemos que 2|ri−1, ent˜ao temos que 21+τ(ki)|ki(ri−1) 21+τ(ki)|edi−1 edi−1≡0 mod 21+τ(ki)

di≡e−1 mod 21+τ(ki) para 1≤i≤u portanto podemos corrigir

i[j]= (e−1 mod 21+τ(ki))[j] para 0≤j ≤1 +τ(ki)e 1≤i≤u

(48)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Corre¸ao dos bits inferiores de:

Corre¸c˜ao dos bits inferiores de:

Sabemos que 2|ri−1, ent˜ao temos que 2u|

u

Q

i=1

(ri−1) 2u+τ(k)|k

u

Y

i=1

(ri−1) 2u+τ(k)|ed−1

ed−1≡0 mod 2u+τ(k)

d≡e−1 mod 2u+τ(k) para 1≤i≤u portanto podemos corrigir

d[j]≡(e−1 mod 2u+τ(k))[j] para 0≤j≤u+τ(k)

(49)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Ideia do algoritmo de Reconstru¸ao

Ideia do Algoritmo de Reconstru¸c˜ao

Temos as equa¸c˜oes do criptossistema RSA N =

u

Y

i=1

ri

ed= 1 +k

u

Y

i=1

(ri−1)

edi= 1 +ki(ri−1) para 1≤i≤u

(50)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Ideia do algoritmo de Reconstru¸ao

Ideia do Algoritmo de Reconstru¸c˜ao

Equa¸c˜oes RSA definidas como polinˆomios f1(x1, x2, .., xu) =N−

u

Y

i=1

xi

f2(x1, x2, ...xu, y) =ey−1−k

u

Y

i=1

(xi−1)

f3i(xi, yi) =eyi−1−ki(xi−1) para 1≤i≤u onde a raiz solu¸c˜ao desses polinˆomios ´e dado pela chave secretask

(y, x1, x2, y1, y2,(x3, y3), ...,(xu, yu)) =skhd, r1, r2, d1, d2,hr3, d3i, ...,hru, duii

(51)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Lema de Hensel

Lema de Hensel

Lema de Hensel para multivari´aveis

Uma raizr=(r1, r2, ..., ru)do polinˆomiof(x1, x2, ..., xu) modπj pode ser usada para gerar uma raizr+b modπj+1se

b= (b1πj, b2πj, ..., buπj), 0≤bi≤π−1 ´e uma solu¸c˜ao para a equa¸c˜ao f(r+b) =f(r) +P

ibiπjfxi(r)≡0 (modπj+1) (onde,fxj ´e a derivada parcial def com rela¸c˜ao axj) Onde a partir de uma raiz

hd0, r01, r02, d01, d02,hr03, d03i, ...,hr0u, d0uii|f1(r10, r20, .., r0u) mod 2j

f2(r10, r20, .., r0u, d0) mod 2j+τ(k) f3i(ri0, d0i) mod 2j+τ(ki)para 1≤i≤u

(52)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Lema de Hensel

Lema de Hensel

Lema de Hensel para multivari´aveis

Uma raizr=(r1, r2, ..., ru)do polinˆomiof(x1, x2, ..., xu) modπj pode ser usada para gerar uma raizr+b modπj+1se

b= (b1πj, b2πj, ..., buπj), 0≤bi≤π−1 ´e uma solu¸c˜ao para a equa¸c˜ao f(r+b) =f(r) +P

ibiπjfxi(r)≡0 (modπj+1) (onde,fxj ´e a derivada parcial def com rela¸c˜ao axj) vamos gerar uma raiz

hd, r1, r2, d1, d2,hr3, d3i, ...,hru, duii |f1(r1, r2, .., ru) mod 21+j

f2(r1, r2, .., ru, d) mod 21+j+τ(k) f3i(ri, di) mod 21+j+τ(ki)para 1≤i≤u.

(53)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Lema de Hensel

Lema de Hensel

Lema de Hensel para multivari´aveis

Uma raizr=(r1, r2, ..., ru)do polinˆomiof(x1, x2, ..., xu) modπj pode ser usada para gerar uma raizr+b modπj+1se

b= (b1πj, b2πj, ..., buπj), 0≤bi≤π−1 ´e uma solu¸c˜ao para a equa¸c˜ao f(r+b) =f(r) +P

ibiπjfxi(r)≡0 (modπj+1) (onde,fxj ´e a derivada parcial def com rela¸c˜ao axj) Segundo o lema de Hensel

d=d0+ 2j+τ(k)d[j+τ(k)]

ri =r0i+ 2jri[j] para 1≤i≤u di =d0i+ 2j+τ(ki)di[j+τ(ki)] para 1≤i≤u

(54)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Lema de Hensel

Lema de Hensel

Lema de Hensel para multivari´aveis

Uma raizr=(r1, r2, ..., ru)do polinˆomiof(x1, x2, ..., xu) modπj pode ser usada para gerar uma raizr+b modπj+1se

b= (b1πj, b2πj, ..., buπj), 0≤bi≤π−1 ´e uma solu¸c˜ao para a equa¸c˜ao f(r+b) =f(r) +P

ibiπjfxi(r)≡0 (modπj+1) (onde,fxj ´e a derivada parcial def com rela¸c˜ao axj) Onde devem se cumprir as seguintes equivalˆencias:

N−

u

Y

i=1

r0i

! [j]≡

u

X

i=1

ri[j] mod 2

ed0−1−k

u

Y

i=1

(r0i−1)

!

[j+τ(k)]≡d[j+τ(k)] mod 2

(edi−1−ki(r0i−1))[j+τ(ki)]≡ri[j]+di[j+τ(ki)] mod 2para 1≤i≤u

(55)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Algoritmo de Reconstru¸ao

Algoritmo de Reconstru¸c˜ao

Vamos definirroot[j−1]como um conjunto de ra´ızes do tipo hd0, r01, r02, d01, d02,hr03, d03i, ...,hr0u, d0uii

que ´e raiz comum dos polinˆomios RSA f1(r10, r20, .., ru0) mod 2j

f2(r10, r20, .., ru0, d0) mod 2j+τ(k) f3i(r0i, d0i) mod 2j+τ(ki)para 1≤i≤u

Algoritmo de Reconstru¸c˜ao

root[0]→root[1]→root[2]→...→roothn u i

onde:

root[0]= [he−1,11,12, e−11 , e−12 ,h13, e−13 i, ...,h1u, e−1u ii] com

e−1=e−1 mod 21+τ(k) ee−1

i =e−1 mod 21+τ(ki)para 1≤i≤u.

hd, r˜ 1, r2, d1, d2,hr3, d3i, ...,hru, duii∈rootn

u

(56)

Reconstru¸ao da Chave Secreta do RSA Multi-primo Algoritmo de Reconstru¸ao da Chave Secreta RSA

Algoritmo de Reconstru¸ao

Algoritmo de Reconstru¸c˜ao

Vamos definirroot[j−1]como um conjunto de ra´ızes do tipo hd0, r01, r02, d01, d02,hr03, d03i, ...,hr0u, d0uii

que ´e raiz comum dos polinˆomios RSA f1(r10, r20, .., ru0) mod 2j

f2(r10, r20, .., ru0, d0) mod 2j+τ(k) f3i(r0i, d0i) mod 2j+τ(ki)para 1≤i≤u

Algoritmo de Reconstru¸c˜ao

root[0]→root[1]→root[2]→...→roothn u i

onde:

root[0]= [he−1,11,12, e−11 , e−12 ,h13, e−13 i, ...,h1u, e−1u ii] com

e−1=e−1 mod 21+τ(k) ee−1

i =e−1 mod 21+τ(ki)para 1≤i≤u.

hd, r˜ 1, r2, d1, d2,hr3, d3i, ...,hru, duii∈rootn

u

Referências

Documentos relacionados

O objetivo foi avaliar a variabilidade genética existente entre isolados do gênero Fusarium presentes em tecido de bananeira e de solo, através de polimorfismo do DNA amplificado

Embora os estudos musicais em meio acadêmico e a própria estrutura universitária tendam frequentemente a seguir segregações de gênero musical muito mais defensáveis em

(1989) sugerem que os distúrbios da AV e motilidade visual resultam no déficit de desenvolvimento do córtex visual e conseqüentemente influenciam a inteligência não verbal

20 Apesar dos problemas de representação contidos em alguns mapas impressos, principalmente no que tange a ausência ou erro dos principais elementos do mapa

#cortes r , o n´ umero de cortes adicionados pelo usu´ ario na resolu¸c˜ ao da raiz; tempo r , o tempo computacional em segundos para a resolu¸c˜ ao da raiz; #n´ os, o n´ umero de

Writing – review &amp; editing: Gustavo Akira Toma, Francisco de Menezes Cavalcante Sassi, Luiz Antonio Carlos Bertollo, Ezequiel Aguiar de Oliveira, Petr Rab, Alexandr Sember,

Em primeiro lugar, devemos considerar que Sustentabilidade possui um conceito sistêmico, ou seja, a Sustentabilidade está relacionada com a manutenção dos aspectos