criptogra a de chave publica manuel barbosa (mbb at dcc.fc...

67
Criptografia Criptografia de Chave P´ ublica Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Upload: others

Post on 03-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

CriptografiaCriptografia de Chave Publica

Manuel Barbosa(mbb at dcc.fc.up.pt)

2018/2019

Page 2: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Parte I

Criptografia de chave publica

Page 3: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifras de chave publica

Esquemas hıbridos

Cifra RSA

Cifra ElGamal

Seguranca CCA

Page 4: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 5: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 6: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 7: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 8: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 9: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Sintaxe de uma cifra de chave publicaUm esquema de cifra de chave publica define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (sk, pk). Vamosassumir que |pk|, |sk| ≥ n e que o valor de n pode facilmente serobtido a partir de qualquer das chaves.

Um algoritmo de cifracao probabilıstico Enc que, dados uma chavepublica pk e uma mensagem m ∈ MsgSp, devolve um criptograma c.

Um algoritmo de decifracao determinıstico Dec que, dados umachave privada sk e um criptograma c, devolve uma mensagemm ∈ MsgSp, ou um sımbolo de falha ⊥.

A propriedade de correccao exige que, para todo o n, todos ospares de chaves (sk, pk) geradas por Gen(1n), e todas asmensagens m ∈ MsgSp tenhamos:

Pr[ Decsk(Encpk(m)) = m ] = 1 .

Apesar de MsgSp poder depender da chave publica, geralmenteusamos MsgSp = {0, 1}n ou MsgSp = {0, 1}∗.

Page 10: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca contra chosen-plaintext attacks

DefinicaoSeja o jogo Privcpa

A,Π aquele definido em baixo e seja Π = (Gen,Enc,Dec)um esquema de cifra de chave publica. Entao Π e IND-CPA-seguro se,para qualquer adversario PPT A = (A1,A2), existe uma funcaonegligenciavel negl tal que:

Pr[ PrivcpaA,Π(1n)⇒ T ] ≤ 1

2+ negl(n) .

Game PrivcpaA,Π(1n):

(sk, pk)←$ Gen(1n)(m0,m1, st)←$ A1(pk)b ←$ {0, 1}c←$ Encpk(mb)b′ ←$ A2(c, st)Return b = b′

O adversario e legitimo se |m0| = |m1|.

Page 11: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca contra chosen-plaintext attacks

Para cifras de chave publica e sempre possıvel efectuar um ataqueIND-CPA, mesmo um adversario passivo!

Por esse motivo, e impossıvel obter seguranca contra adversariospassivos se o adversario nao for limitado computacionalmente.Porque?

Da mesma forma, nenhuma cifra de chave publica determinısticapode atingir seguranca contra adversarios passivos.

Em contrapartida, qualquer cifra de chave publica que atinja estenıvel de seguranca, preserva esta propriedade mesmo quandomultiplas mensagens sao cifradas com a mesma chave.

Isto implica que podemos cifrar mensagens de tamanho arbitrario,de forma segura, partindo a mensagem em blocos e cifrando cadabloco de forma independente.

Page 12: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca contra chosen-plaintext attacks

Para cifras de chave publica e sempre possıvel efectuar um ataqueIND-CPA, mesmo um adversario passivo!

Por esse motivo, e impossıvel obter seguranca contra adversariospassivos se o adversario nao for limitado computacionalmente.Porque?

Da mesma forma, nenhuma cifra de chave publica determinısticapode atingir seguranca contra adversarios passivos.

Em contrapartida, qualquer cifra de chave publica que atinja estenıvel de seguranca, preserva esta propriedade mesmo quandomultiplas mensagens sao cifradas com a mesma chave.

Isto implica que podemos cifrar mensagens de tamanho arbitrario,de forma segura, partindo a mensagem em blocos e cifrando cadabloco de forma independente.

Page 13: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca contra chosen-plaintext attacks

Para cifras de chave publica e sempre possıvel efectuar um ataqueIND-CPA, mesmo um adversario passivo!

Por esse motivo, e impossıvel obter seguranca contra adversariospassivos se o adversario nao for limitado computacionalmente.Porque?

Da mesma forma, nenhuma cifra de chave publica determinısticapode atingir seguranca contra adversarios passivos.

Em contrapartida, qualquer cifra de chave publica que atinja estenıvel de seguranca, preserva esta propriedade mesmo quandomultiplas mensagens sao cifradas com a mesma chave.

Isto implica que podemos cifrar mensagens de tamanho arbitrario,de forma segura, partindo a mensagem em blocos e cifrando cadabloco de forma independente.

Page 14: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca contra chosen-plaintext attacks

Para cifras de chave publica e sempre possıvel efectuar um ataqueIND-CPA, mesmo um adversario passivo!

Por esse motivo, e impossıvel obter seguranca contra adversariospassivos se o adversario nao for limitado computacionalmente.Porque?

Da mesma forma, nenhuma cifra de chave publica determinısticapode atingir seguranca contra adversarios passivos.

Em contrapartida, qualquer cifra de chave publica que atinja estenıvel de seguranca, preserva esta propriedade mesmo quandomultiplas mensagens sao cifradas com a mesma chave.

Isto implica que podemos cifrar mensagens de tamanho arbitrario,de forma segura, partindo a mensagem em blocos e cifrando cadabloco de forma independente.

Page 15: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

DefinicaoSeja o jogo mPrivcpa

A,Π aquele definido em baixo e sejaΠ = (Gen,Enc,Dec) um esquema de cifra de chave publica. Entao Π eIND-CPA-seguro para multiplas mensagens na presenca de um adversariopassivo se, para qualquer adversario PPT A = (A1,A2), existe umafuncao negligenciavel negl tal que:

Pr[ mPriveavA,Π(1n)⇒ T ] ≤ 1

2+ negl(n) .

Game mPrivcpaA,Π(1n):

(sk, pk)←$ Gen(1n)(m1

0,m11, . . . ,m

t0,m

t1, st)←$ A1(pk)

b ←$ {0, 1}For i ∈ 1 . . . t

ci ←$ Encpk(mib)

b′ ←$ A2(c1, . . . , ct , st)Return b = b′

O adversario e legitimo se |mi0| = |mi

1| para todo o i .

Page 16: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.

Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 17: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 18: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 19: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 20: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 21: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca para multiplas mensagens

TeoremaQualquer esquema de cifra de chave publica que eIND-CPA-seguro, oferece o mesmo nıvel de seguranca paramultiplas mensagens.

Prova.Intuicao:

1 Consideremos o caso t = 2, e o que acontece quando b = 0. Nessecaso, A recebe criptogramas que cifram (m1

0,m20).

2 No caso de t = 2 e b = 1, por outro lado, A recebe criptogramasque cifram (m1

1,m21).

3 O argumento hıbrido consiste em considerar um caso intermedio(imaginario) em que o adversario recebe (m1

1,m20).

4 Qualquer adversario que distinga o caso 1 do caso 2 pode serutilizado para quebrar a cifra para uma mensagem apenas. Como?

5 O mesmo acontece para os casos 3 e 2.

6 Combinando os resultados, os casos 1 e 2 tem de ser indistinguıveis.

Page 22: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifras de chave publica

Esquemas hıbridos

Cifra RSA

Cifra ElGamal

Seguranca CCA

Page 23: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

Um esquema de cifra de chave publica para mensagens de 1 bit,pode ser utilizado para cifrar mensagens de tamanho arbitrario.

A fraca eficiencia da solucao obriga-nos a procurar alternativasmais eficientes. A mais popular consiste em combinar uma cifrasimetrica com uma cifra de chave publica como mostra o diagrama.

PKE SKE

k

c

pk

m

1 c2

A chave k e gerada on-the-fly e depois descartada, o que faz destaconstrucao um esquema de chave publica.

Page 24: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

Um esquema de cifra de chave publica para mensagens de 1 bit,pode ser utilizado para cifrar mensagens de tamanho arbitrario.

A fraca eficiencia da solucao obriga-nos a procurar alternativasmais eficientes. A mais popular consiste em combinar uma cifrasimetrica com uma cifra de chave publica como mostra o diagrama.

PKE SKE

k

c

pk

m

1 c2

A chave k e gerada on-the-fly e depois descartada, o que faz destaconstrucao um esquema de chave publica.

Page 25: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

Um esquema de cifra de chave publica para mensagens de 1 bit,pode ser utilizado para cifrar mensagens de tamanho arbitrario.

A fraca eficiencia da solucao obriga-nos a procurar alternativasmais eficientes. A mais popular consiste em combinar uma cifrasimetrica com uma cifra de chave publica como mostra o diagrama.

PKE SKE

k

c

pk

m

1 c2

A chave k e gerada on-the-fly e depois descartada, o que faz destaconstrucao um esquema de chave publica.

Page 26: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

Seja Π = (Gen,Enc,Dec) um esquema de cifra de chave publica eΠ∗ = (Gen∗,Enc∗,Dec∗) um esquema de cifra simetrico. Define-seum esquema de cifra hıbrido Πhy = (Genhy,Enchy,Dechy) daseguinte forma.

Algorithm Genhy(1n)

(pk, sk)←$ Gen(1n)Return (pk, sk)

Algorithm Dechysk (c1, c2)

k← Decsk(c1)Return Dec∗k (c2)

Algorithm Enchypk(m)

k←$ {0, 1}nc1 ←$ Encpk(k)c2 ←$ Enc∗k (m)Return (c1, c2)

TeoremaSe Π e IND-CPA-seguro e Π∗ e seguro contra adversarios passivos,entao Πhy e IND-CPA-seguro.

Prova.

Page 27: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

Seja Π = (Gen,Enc,Dec) um esquema de cifra de chave publica eΠ∗ = (Gen∗,Enc∗,Dec∗) um esquema de cifra simetrico. Define-seum esquema de cifra hıbrido Πhy = (Genhy,Enchy,Dechy) daseguinte forma.

Algorithm Genhy(1n)

(pk, sk)←$ Gen(1n)Return (pk, sk)

Algorithm Dechysk (c1, c2)

k← Decsk(c1)Return Dec∗k (c2)

Algorithm Enchypk(m)

k←$ {0, 1}nc1 ←$ Encpk(k)c2 ←$ Enc∗k (m)Return (c1, c2)

TeoremaSe Π e IND-CPA-seguro e Π∗ e seguro contra adversarios passivos,entao Πhy e IND-CPA-seguro.

Prova.

Page 28: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

A cifra simetrica so tem de satisfazer uma nocao fraca deseguranca. Porque?

Qual o ganho em termos de eficiencia?

Suponhamos uma cifra assimetrica que cifra ate 1000 bitsnum criptograma que ocupa 2000 bits, com custo α.

Suponhamos uma cifra simetrica que cifra t bits numcriptograma de tamanho t + n e custo β/bit.

Uma estimativa razoavel e β ≈ α/106.

Qual o custo para cifrar 106 bits apenas com a cifraassimetrica?

Qual o benefıcio de utilizar a tecnica hıbrida?

O benefıcio e de um factor ≈ 500× em custo computacional e de≈ 2× em largura de banda!

Page 29: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

A cifra simetrica so tem de satisfazer uma nocao fraca deseguranca. Porque?

Qual o ganho em termos de eficiencia?

Suponhamos uma cifra assimetrica que cifra ate 1000 bitsnum criptograma que ocupa 2000 bits, com custo α.

Suponhamos uma cifra simetrica que cifra t bits numcriptograma de tamanho t + n e custo β/bit.

Uma estimativa razoavel e β ≈ α/106.

Qual o custo para cifrar 106 bits apenas com a cifraassimetrica?

Qual o benefıcio de utilizar a tecnica hıbrida?

O benefıcio e de um factor ≈ 500× em custo computacional e de≈ 2× em largura de banda!

Page 30: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

A cifra simetrica so tem de satisfazer uma nocao fraca deseguranca. Porque?

Qual o ganho em termos de eficiencia?

Suponhamos uma cifra assimetrica que cifra ate 1000 bitsnum criptograma que ocupa 2000 bits, com custo α.

Suponhamos uma cifra simetrica que cifra t bits numcriptograma de tamanho t + n e custo β/bit.

Uma estimativa razoavel e β ≈ α/106.

Qual o custo para cifrar 106 bits apenas com a cifraassimetrica?

Qual o benefıcio de utilizar a tecnica hıbrida?

O benefıcio e de um factor ≈ 500× em custo computacional e de≈ 2× em largura de banda!

Page 31: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Esquemas hıbridos

A cifra simetrica so tem de satisfazer uma nocao fraca deseguranca. Porque?

Qual o ganho em termos de eficiencia?

Suponhamos uma cifra assimetrica que cifra ate 1000 bitsnum criptograma que ocupa 2000 bits, com custo α.

Suponhamos uma cifra simetrica que cifra t bits numcriptograma de tamanho t + n e custo β/bit.

Uma estimativa razoavel e β ≈ α/106.

Qual o custo para cifrar 106 bits apenas com a cifraassimetrica?

Qual o benefıcio de utilizar a tecnica hıbrida?

O benefıcio e de um factor ≈ 500× em custo computacional e de≈ 2× em largura de banda!

Page 32: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifras de chave publica

Esquemas hıbridos

Cifra RSA

Cifra ElGamal

Seguranca CCA

Page 33: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Inseguranca da cifra textbook RSAO textbook RSA e um esquema de cifra que usa directamente afuncao RSA para cifrar e decifrar: e determinıstico e portanto naopode ser IND-CPA seguro.

Alem disso, e vulneravel a diversos ataques que sao educativos:

Se o expoente publico e e pequeno (e.g., 3) e a mensagem tambem(e.g., < N1/3) entao pode nao haver reducao modular!

Se o expoente publico e pequeno, entao o ataque anterior pode serpossıvel mesmo para uma mensagem grande, se esta for cifrada paraum numero suficiente de chaves publicas diferentes, e.g.,

c1 = m3 (mod N1) c2 = m3 (mod N2) c3 = m3 (mod N3)

Mesmo quando os ataques anteriores nao sao possıveis, existe umataque ao textbook RSA que demora

√T , sendo T o tempo de

uma pesquisa exaustiva.

Isso significa que para recuperar, e.g., uma chave de 80-bits cifradacom o textbook RSA basta um ataque da ordem de 240 operacoes.

Page 34: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Inseguranca da cifra textbook RSAO textbook RSA e um esquema de cifra que usa directamente afuncao RSA para cifrar e decifrar: e determinıstico e portanto naopode ser IND-CPA seguro.

Alem disso, e vulneravel a diversos ataques que sao educativos:

Se o expoente publico e e pequeno (e.g., 3) e a mensagem tambem(e.g., < N1/3) entao pode nao haver reducao modular!

Se o expoente publico e pequeno, entao o ataque anterior pode serpossıvel mesmo para uma mensagem grande, se esta for cifrada paraum numero suficiente de chaves publicas diferentes, e.g.,

c1 = m3 (mod N1) c2 = m3 (mod N2) c3 = m3 (mod N3)

Mesmo quando os ataques anteriores nao sao possıveis, existe umataque ao textbook RSA que demora

√T , sendo T o tempo de

uma pesquisa exaustiva.

Isso significa que para recuperar, e.g., uma chave de 80-bits cifradacom o textbook RSA basta um ataque da ordem de 240 operacoes.

Page 35: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Inseguranca da cifra textbook RSAO textbook RSA e um esquema de cifra que usa directamente afuncao RSA para cifrar e decifrar: e determinıstico e portanto naopode ser IND-CPA seguro.

Alem disso, e vulneravel a diversos ataques que sao educativos:

Se o expoente publico e e pequeno (e.g., 3) e a mensagem tambem(e.g., < N1/3) entao pode nao haver reducao modular!

Se o expoente publico e pequeno, entao o ataque anterior pode serpossıvel mesmo para uma mensagem grande, se esta for cifrada paraum numero suficiente de chaves publicas diferentes, e.g.,

c1 = m3 (mod N1) c2 = m3 (mod N2) c3 = m3 (mod N3)

Mesmo quando os ataques anteriores nao sao possıveis, existe umataque ao textbook RSA que demora

√T , sendo T o tempo de

uma pesquisa exaustiva.

Isso significa que para recuperar, e.g., uma chave de 80-bits cifradacom o textbook RSA basta um ataque da ordem de 240 operacoes.

Page 36: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Inseguranca da cifra textbook RSAO textbook RSA e um esquema de cifra que usa directamente afuncao RSA para cifrar e decifrar: e determinıstico e portanto naopode ser IND-CPA seguro.

Alem disso, e vulneravel a diversos ataques que sao educativos:

Se o expoente publico e e pequeno (e.g., 3) e a mensagem tambem(e.g., < N1/3) entao pode nao haver reducao modular!

Se o expoente publico e pequeno, entao o ataque anterior pode serpossıvel mesmo para uma mensagem grande, se esta for cifrada paraum numero suficiente de chaves publicas diferentes, e.g.,

c1 = m3 (mod N1) c2 = m3 (mod N2) c3 = m3 (mod N3)

Mesmo quando os ataques anteriores nao sao possıveis, existe umataque ao textbook RSA que demora

√T , sendo T o tempo de

uma pesquisa exaustiva.

Isso significa que para recuperar, e.g., uma chave de 80-bits cifradacom o textbook RSA basta um ataque da ordem de 240 operacoes.

Page 37: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifra Padded RSAA solucao mais simples para cifrar de forma segura com base noproblema RSA consiste em adicionar padding aleatorio decomprimento suficiente a mensagem.

Seja `(n) o comprimento das mensagens a cifrar para cada valor doparametro de seguranca. A cifracao padded RSA e dada por

Algorithm EncRSA-padpk (m)

(e,N)← pk

r ←$ {0, 1}|N|−`(n)−1

x ← r ||mc← xe (mod N)Return c

Prova-se que a cifra resultante e segura para `(n) = O(logN).

Esta era a filosofia subjacente as primeiras versoes do PKCS#1(ainda em uso, mas sem prova de seguranca devido aos tamanhosutilizados).A vulnerabilidade a ataques CCA motivou a evolucao para OAEP.

Page 38: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifra Padded RSAA solucao mais simples para cifrar de forma segura com base noproblema RSA consiste em adicionar padding aleatorio decomprimento suficiente a mensagem.

Seja `(n) o comprimento das mensagens a cifrar para cada valor doparametro de seguranca. A cifracao padded RSA e dada por

Algorithm EncRSA-padpk (m)

(e,N)← pk

r ←$ {0, 1}|N|−`(n)−1

x ← r ||mc← xe (mod N)Return c

Prova-se que a cifra resultante e segura para `(n) = O(logN).

Esta era a filosofia subjacente as primeiras versoes do PKCS#1(ainda em uso, mas sem prova de seguranca devido aos tamanhosutilizados).A vulnerabilidade a ataques CCA motivou a evolucao para OAEP.

Page 39: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifras de chave publica

Esquemas hıbridos

Cifra RSA

Cifra ElGamal

Seguranca CCA

Page 40: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifra ElGamal

Seja G um gerador de descricoes de grupos como anteriormente. Acifra ElGamal funciona da seguinte forma.

Algorithm Gen(1n)

(G, q, g)←$ G(1n)x ←$ Zq

h← gx

sk← (x ,G, q, g)pk← (h,G, q, g)Return (sk, pk)

Algorithm Enc(m, pk)

(h,G, q, g)← pky ←$ Zq

Return (gy ,m · hy )

Algorithm Dec((c1, c2), sk)

(x ,G, q, g)← skm← c2/cx1Return m

TeoremaSe o problema de decisao Diffie-Hellman e difıcil relativamente aG, entao o esquema ElGamal e IND-CPA-seguro.

Prova.

Intuicao: Se o problema DDH e difıcil, entao o valor m · hy parecedistribuıdo de maneira uniforme, exactamente como no OTP.

Page 41: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifra ElGamal

Seja G um gerador de descricoes de grupos como anteriormente. Acifra ElGamal funciona da seguinte forma.

Algorithm Gen(1n)

(G, q, g)←$ G(1n)x ←$ Zq

h← gx

sk← (x ,G, q, g)pk← (h,G, q, g)Return (sk, pk)

Algorithm Enc(m, pk)

(h,G, q, g)← pky ←$ Zq

Return (gy ,m · hy )

Algorithm Dec((c1, c2), sk)

(x ,G, q, g)← skm← c2/cx1Return m

TeoremaSe o problema de decisao Diffie-Hellman e difıcil relativamente aG, entao o esquema ElGamal e IND-CPA-seguro.

Prova.

Intuicao: Se o problema DDH e difıcil, entao o valor m · hy parecedistribuıdo de maneira uniforme, exactamente como no OTP.

Page 42: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Implementacao do esquema ElGamal

Para utilizar o esquema na pratica e necessario definir umacodificacao de mensagens como elementos do grupo.

Esta codificacao nao encerra qualquer seguranca adicional: temapenas de ser eficientemente computavel e invertıvel.

Uma vantagem do esquema ElGamal e que os parametros publicospodem ser partilhados, reduzindo muito o tamanho das chaves.

Esta vantagem baseia-se no pressuposto de que o problema DDHpermanece seguro, mesmo para o parceiro que gera os parametrosglobais utilizando G.

Page 43: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Implementacao do esquema ElGamal

Para utilizar o esquema na pratica e necessario definir umacodificacao de mensagens como elementos do grupo.

Esta codificacao nao encerra qualquer seguranca adicional: temapenas de ser eficientemente computavel e invertıvel.

Uma vantagem do esquema ElGamal e que os parametros publicospodem ser partilhados, reduzindo muito o tamanho das chaves.

Esta vantagem baseia-se no pressuposto de que o problema DDHpermanece seguro, mesmo para o parceiro que gera os parametrosglobais utilizando G.

Page 44: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Cifras de chave publica

Esquemas hıbridos

Cifra RSA

Cifra ElGamal

Seguranca CCA

Page 45: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Ataques por criptograma escolhidoNum cenario de chave publica os ataques por criptogramaescolhido sao mais realistas:

Cenario 1 Um servidor de um banco autentica utilizadores atravesde passwords cifradas. Retorna erros pw incorrecta ou pw invalidadependendo do resultado da decifracao. Se for possıvel criarcriptogramas em nome de um utilizador legıtimo, a password podeser corrompida.

Cenario 2 Um adversario observa um e-mail cifrado na rede.Constroi um criptograma relacionado e envia uma mensagem aomesmo destinatario. Se o destinatario devolver o resultado dadecifracao (e.g., como uma quote na resposta) estamos perante umataque CCA.

Cenario 3 Num leilao, as licitacoes sao enviadas cifradas para oleiloeiro. A utilizacao de uma cifra segura contra CCA impede oseguinte ataque: depois de observar a licitacao (cifrada) do seuconcorrente, o atacante manipula o criptograma (sem saber oconteudo) para garantir que a sua licitacao e ligeiramente superior.

As cifras ElGamal e Padded RSA sao inseguras contra CCA

Page 46: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Ataques por criptograma escolhidoNum cenario de chave publica os ataques por criptogramaescolhido sao mais realistas:

Cenario 1 Um servidor de um banco autentica utilizadores atravesde passwords cifradas. Retorna erros pw incorrecta ou pw invalidadependendo do resultado da decifracao. Se for possıvel criarcriptogramas em nome de um utilizador legıtimo, a password podeser corrompida.

Cenario 2 Um adversario observa um e-mail cifrado na rede.Constroi um criptograma relacionado e envia uma mensagem aomesmo destinatario. Se o destinatario devolver o resultado dadecifracao (e.g., como uma quote na resposta) estamos perante umataque CCA.

Cenario 3 Num leilao, as licitacoes sao enviadas cifradas para oleiloeiro. A utilizacao de uma cifra segura contra CCA impede oseguinte ataque: depois de observar a licitacao (cifrada) do seuconcorrente, o atacante manipula o criptograma (sem saber oconteudo) para garantir que a sua licitacao e ligeiramente superior.

As cifras ElGamal e Padded RSA sao inseguras contra CCA

Page 47: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Ataques por criptograma escolhidoNum cenario de chave publica os ataques por criptogramaescolhido sao mais realistas:

Cenario 1 Um servidor de um banco autentica utilizadores atravesde passwords cifradas. Retorna erros pw incorrecta ou pw invalidadependendo do resultado da decifracao. Se for possıvel criarcriptogramas em nome de um utilizador legıtimo, a password podeser corrompida.

Cenario 2 Um adversario observa um e-mail cifrado na rede.Constroi um criptograma relacionado e envia uma mensagem aomesmo destinatario. Se o destinatario devolver o resultado dadecifracao (e.g., como uma quote na resposta) estamos perante umataque CCA.

Cenario 3 Num leilao, as licitacoes sao enviadas cifradas para oleiloeiro. A utilizacao de uma cifra segura contra CCA impede oseguinte ataque: depois de observar a licitacao (cifrada) do seuconcorrente, o atacante manipula o criptograma (sem saber oconteudo) para garantir que a sua licitacao e ligeiramente superior.

As cifras ElGamal e Padded RSA sao inseguras contra CCA

Page 48: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Parte II

Assinaturas digitais

Page 49: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinaturas digitais: sintaxeUm esquema de assinatura define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (pk, sk).Assume-se que pk, sk tem tamanho pelo menos n, e que n pode serrecuperado das chaves.

Um algoritmo de assinatura Sign que, dados uma mensagemm ∈ {0, 1}∗ e uma chave secreta sk, devolve uma assinatura σ.

Um algoritmo de verificacao determinıstico Vrfy que, dados umachave publica pk, uma mensagem m e uma σ, devolve T ou F.

A correccao exige que, para todo o n, todas as mensagensm ∈ {0, 1}∗ e todos os pares (pk, sk) gerados por Gen(1n):

Pr[ Vrfypk(m,Signpk(m)) = T ] = 1 .

Quando o espaco de mensagens esta limitado a {0, 1}`(n) paratodos os pares de chaves, dizemos que se trata de uma assinaturapara mensagens de comprimento fixo.Nesse caso impomos que Vrfy retorne F para m /∈ {0, 1}`(n).

Page 50: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinaturas digitais: sintaxeUm esquema de assinatura define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (pk, sk).Assume-se que pk, sk tem tamanho pelo menos n, e que n pode serrecuperado das chaves.

Um algoritmo de assinatura Sign que, dados uma mensagemm ∈ {0, 1}∗ e uma chave secreta sk, devolve uma assinatura σ.

Um algoritmo de verificacao determinıstico Vrfy que, dados umachave publica pk, uma mensagem m e uma σ, devolve T ou F.

A correccao exige que, para todo o n, todas as mensagensm ∈ {0, 1}∗ e todos os pares (pk, sk) gerados por Gen(1n):

Pr[ Vrfypk(m,Signpk(m)) = T ] = 1 .

Quando o espaco de mensagens esta limitado a {0, 1}`(n) paratodos os pares de chaves, dizemos que se trata de uma assinaturapara mensagens de comprimento fixo.Nesse caso impomos que Vrfy retorne F para m /∈ {0, 1}`(n).

Page 51: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinaturas digitais: sintaxeUm esquema de assinatura define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (pk, sk).Assume-se que pk, sk tem tamanho pelo menos n, e que n pode serrecuperado das chaves.

Um algoritmo de assinatura Sign que, dados uma mensagemm ∈ {0, 1}∗ e uma chave secreta sk, devolve uma assinatura σ.

Um algoritmo de verificacao determinıstico Vrfy que, dados umachave publica pk, uma mensagem m e uma σ, devolve T ou F.

A correccao exige que, para todo o n, todas as mensagensm ∈ {0, 1}∗ e todos os pares (pk, sk) gerados por Gen(1n):

Pr[ Vrfypk(m,Signpk(m)) = T ] = 1 .

Quando o espaco de mensagens esta limitado a {0, 1}`(n) paratodos os pares de chaves, dizemos que se trata de uma assinaturapara mensagens de comprimento fixo.Nesse caso impomos que Vrfy retorne F para m /∈ {0, 1}`(n).

Page 52: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinaturas digitais: sintaxeUm esquema de assinatura define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (pk, sk).Assume-se que pk, sk tem tamanho pelo menos n, e que n pode serrecuperado das chaves.

Um algoritmo de assinatura Sign que, dados uma mensagemm ∈ {0, 1}∗ e uma chave secreta sk, devolve uma assinatura σ.

Um algoritmo de verificacao determinıstico Vrfy que, dados umachave publica pk, uma mensagem m e uma σ, devolve T ou F.

A correccao exige que, para todo o n, todas as mensagensm ∈ {0, 1}∗ e todos os pares (pk, sk) gerados por Gen(1n):

Pr[ Vrfypk(m, Signpk(m)) = T ] = 1 .

Quando o espaco de mensagens esta limitado a {0, 1}`(n) paratodos os pares de chaves, dizemos que se trata de uma assinaturapara mensagens de comprimento fixo.Nesse caso impomos que Vrfy retorne F para m /∈ {0, 1}`(n).

Page 53: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinaturas digitais: sintaxeUm esquema de assinatura define tres algoritmos PPT:

Um algoritmo probabilıstico Gen de geracao de chaves, que recebe oparametro de seguranca 1n e gera um par de chaves (pk, sk).Assume-se que pk, sk tem tamanho pelo menos n, e que n pode serrecuperado das chaves.

Um algoritmo de assinatura Sign que, dados uma mensagemm ∈ {0, 1}∗ e uma chave secreta sk, devolve uma assinatura σ.

Um algoritmo de verificacao determinıstico Vrfy que, dados umachave publica pk, uma mensagem m e uma σ, devolve T ou F.

A correccao exige que, para todo o n, todas as mensagensm ∈ {0, 1}∗ e todos os pares (pk, sk) gerados por Gen(1n):

Pr[ Vrfypk(m, Signpk(m)) = T ] = 1 .

Quando o espaco de mensagens esta limitado a {0, 1}`(n) paratodos os pares de chaves, dizemos que se trata de uma assinaturapara mensagens de comprimento fixo.Nesse caso impomos que Vrfy retorne F para m /∈ {0, 1}`(n).

Page 54: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Seguranca de uma Assinatura Digital

DefinicaoSeja o jogo Forgeuf

A,Π aquele definido em baixo e sejaΠ = (Gen,Sign,Vrfy) um esquema de assinatura. Entao Π eUF-CMA-seguro se, para qualquer adversario PPT A, existe uma funcaonegligenciavel negl tal que:

Pr[ ForgeufA,Π(1n)⇒ T ] ≤ negl(n) .

Game ForgeufA,Π(1n):

List← [ ](pk, sk)←$ Gen(1n)(m, σ)←$ ASign(pk)Return Vrfypk(m, σ) = T ∧ m /∈ List

Oracle Sign(m):

List← m : Listσ ←$ Signsk(m)Return σ

O modelo e analogo ao apresentado para MACs, com a diferencade que o atacante recebe pk.

Page 55: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura RSA

Paradigma hash-and-sign

Assinatura one-time de Lamport

Page 56: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Inseguranca da assinatura Textbook RSA

A assinatura textbook RSA utiliza a funcao RSA em bruto:

Para assinar calcula-se σ = md (mod N)

A assinatura e valida se e so se m = σe (mod N)

Este esquema e inseguro:

Sem ver qualquer assinatura, e possıvel falsificar uma assinatura σ,calculando a mensagem m = σe (mod N).

Para forjar sobre uma mensagem escolhida, precisamos de duasassinaturas.

Primeiro escolhe-se m1 de maneira aleatoria e calcula-sem2 = m/m1 (mod N).Multiplicando as assinaturas temos que σ = σ1σ2 e valida param.

O argumento de que as mensagens assinadas nao fazem sentidonao e aceitavel!

Page 57: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Hashed RSA (aka Full-Domain-Hash RSA)

Uma simples alteracao ao esquema textbook RSA origina umesquema de assinatura muito utilizado na pratica.

Seja H : {0, 1}∗ → Z∗n uma funcao de hash. O esquema deassinatura Hashed RSA define-se da seguinte forma.

Algorithm Gen(1n)

(N, e, d)←$ GenRSA(1n)pk← (N, e)sk← (N, d)Return (pk, sk)

Algorithm Vrfypk(m, σ)

(N, e)← pkh′ ← σe (mod N)Return h′ = H(m)

Algorithm Signsk(m)

(N, d)← skh← H(m)σ ← hd (mod N)Return σ

Nao se conhece nenhuma funcao de hash para a qual seja possıvelprovar a seguranca deste esquema.No entanto, os ataques anteriores deixam de ser possıveis, porque?

O esquema pode provar-se seguro se considerarmos uma funcao dehash ideal. Implicacoes?

Page 58: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Hashed RSA (aka Full-Domain-Hash RSA)

Uma simples alteracao ao esquema textbook RSA origina umesquema de assinatura muito utilizado na pratica.

Seja H : {0, 1}∗ → Z∗n uma funcao de hash. O esquema deassinatura Hashed RSA define-se da seguinte forma.

Algorithm Gen(1n)

(N, e, d)←$ GenRSA(1n)pk← (N, e)sk← (N, d)Return (pk, sk)

Algorithm Vrfypk(m, σ)

(N, e)← pkh′ ← σe (mod N)Return h′ = H(m)

Algorithm Signsk(m)

(N, d)← skh← H(m)σ ← hd (mod N)Return σ

Nao se conhece nenhuma funcao de hash para a qual seja possıvelprovar a seguranca deste esquema.No entanto, os ataques anteriores deixam de ser possıveis, porque?

O esquema pode provar-se seguro se considerarmos uma funcao dehash ideal. Implicacoes?

Page 59: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Hashed RSA (aka Full-Domain-Hash RSA)

Uma simples alteracao ao esquema textbook RSA origina umesquema de assinatura muito utilizado na pratica.

Seja H : {0, 1}∗ → Z∗n uma funcao de hash. O esquema deassinatura Hashed RSA define-se da seguinte forma.

Algorithm Gen(1n)

(N, e, d)←$ GenRSA(1n)pk← (N, e)sk← (N, d)Return (pk, sk)

Algorithm Vrfypk(m, σ)

(N, e)← pkh′ ← σe (mod N)Return h′ = H(m)

Algorithm Signsk(m)

(N, d)← skh← H(m)σ ← hd (mod N)Return σ

Nao se conhece nenhuma funcao de hash para a qual seja possıvelprovar a seguranca deste esquema.No entanto, os ataques anteriores deixam de ser possıveis, porque?

O esquema pode provar-se seguro se considerarmos uma funcao dehash ideal. Implicacoes?

Page 60: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura RSA

Paradigma hash-and-sign

Assinatura one-time de Lamport

Page 61: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Paradigma hash-and-sign

As funcoes de hash resistentes a colisoes permitem transformaresquemas de assinatura de tamanho fixo Π em esquemas deassinatura para mensagens de tamanho arbitrario como naconstrucao Π∗ = (Gen∗,Sign∗,Vrfy∗) seguinte:

Algorithm Gen∗(1n)

(pk′, sk′)←$ Gen(1n)s ←$ GenH(1n)pk← (pk′, s)sk← (sk′, s)Return (pk, sk)

Algorithm Vrfy∗pk(m, σ)

(pk′, s)← pkh′ ← Hs(m)Return Vrfypk′ (h′, σ)

Algorithm Sign∗sk(m)

(sk′, s)← skh← Hs(m)σ ← Signsk′ (h)Return σ

Aqui temos:

Π = (Gen, Sign,Vrfy) um esquema de assinaturas paramensagens de tamanho fixo `(n) = n;

ΠH = (GenH ,H) um esquema de funcao de hash paramensagens de tamanho arbitrario e imagens de tamanho n.

Page 62: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Paradigma hash-and-sign

TeoremaSe Π e UF-CMA-seguro e ΠH e resistente a colisoes, entao Π∗ eUF-CMA-seguro para mensagens de tamanho arbitrario.

Prova.

Intuicao:

Uma falsificacao pode ocorrer por dois motivos.

Ou o adversario consegue encontrar duas mensagens com omesmo valor de hash, e reutilizar uma assinatura; ou

O adversario esta a forjar uma assinatura Π sobre um novovalor de hash.

Um teorema semelhante aplica-se a MACs.

Page 63: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Paradigma hash-and-sign

TeoremaSe Π e UF-CMA-seguro e ΠH e resistente a colisoes, entao Π∗ eUF-CMA-seguro para mensagens de tamanho arbitrario.

Prova.

Intuicao:

Uma falsificacao pode ocorrer por dois motivos.

Ou o adversario consegue encontrar duas mensagens com omesmo valor de hash, e reutilizar uma assinatura; ou

O adversario esta a forjar uma assinatura Π sobre um novovalor de hash.

Um teorema semelhante aplica-se a MACs.

Page 64: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura RSA

Paradigma hash-and-sign

Assinatura one-time de Lamport

Page 65: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura one-time de Lamport

Seja F : {0, 1}n → {0, 1}n uma funcao one-way. Constroi-se umaassinatura digital para mensagens de tamanho fixo `(n) daseguinte forma.

Algorithm Gen(1n)

For i ∈ {1 . . . `(n)}x0i ←$ {0, 1}nh0i ← F (x0

i )x1i ←$ {0, 1}nh1i ← F (x1

i )pk← (h0

1, . . . , h0`(n)

, h11, . . . , h

1`(n)

)

sk← (x01 , . . . , x

0`(n)

, x11 , . . . , x

1`(n)

)

Return (pk, sk)

Algorithm Vrfypk(m, σ)

(h01, . . . , h

0`(n)

, h11, . . . , h

1`(n)

)← pk

(σ1, . . . , σ`(n))← σFor i ∈ {1 . . . `(n)}

If F (σi ) 6= hmii Return F

Return T

Algorithm Signsk(m)

(x01 , . . . , x

0`(n)

, x11 , . . . , x

1`(n)

)← sk

For i ∈ {1 . . . `(n)}σi ← x

mii

Return (σ1, . . . , σ`(n))

Page 66: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura one-time de Lamport

TeoremaSe F e one-way, entao o esquema de assinaturas de Lamport eUF-CMA-seguro para mensagens de tamanho fixo `(n) contraadversarios que obtem apenas uma assinatura de Sign.

Prova.

Intuicao:

O adversario observa exactamente `(n) pre-imagens de Fquando obtem uma assinatura de m.

Uma falsificacao valida e efectuada sobre uma mensagem m′

que difere pelo num bit da mensagem m.

Uma falsificacao implica por isso uma inversao da funcaoone-way.

Page 67: Criptogra a de Chave Publica Manuel Barbosa (mbb at dcc.fc ...rvr/resources/Criptografia/Aula2911.pdf · publica pk e uma mensagem m 2MsgSp, devolve um criptograma c. Um algoritmo

Assinatura one-time de Lamport

TeoremaSe F e one-way, entao o esquema de assinaturas de Lamport eUF-CMA-seguro para mensagens de tamanho fixo `(n) contraadversarios que obtem apenas uma assinatura de Sign.

Prova.

Intuicao:

O adversario observa exactamente `(n) pre-imagens de Fquando obtem uma assinatura de m.

Uma falsificacao valida e efectuada sobre uma mensagem m′

que difere pelo num bit da mensagem m.

Uma falsificacao implica por isso uma inversao da funcaoone-way.