• Nenhum resultado encontrado

Dionathan Nakamura Orientador: Routo Terada. 26 de Abril de 2011

N/A
N/A
Protected

Academic year: 2021

Share "Dionathan Nakamura Orientador: Routo Terada. 26 de Abril de 2011"

Copied!
54
0
0

Texto

(1)

Gera¸c˜ao de n´umeros aleat´orios

Gera¸c˜

ao de n´

umeros aleat´

orios

Dionathan Nakamura Orientador: Routo Terada

DCC – IME – USP

(2)

Gera¸c˜ao de n´umeros aleat´orios

Roteiro

1 Resumo

2 Introdu¸c˜ao

3 Geradores de bits aleat´orios

4 Geradores de bits pseudoaleat´orios

5 Testes estat´ısticos

6 Cryptographically secure PRBG

7 Hardcore bit theory

(3)

Gera¸c˜ao de n´umeros aleat´orios Resumo

Roteiro

1 Resumo

2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(4)

Gera¸c˜ao de n´umeros aleat´orios Resumo

Resumo

introdu¸c˜ao e defini¸c˜oes;

classifica¸c˜ao dos geradores (bits e n´umeros);

tipos de geradores de bits aleat´orios (hardware, software, inclinado);

exemplos de geradores de bits pseudoaleat´orios (prop´osito de simula¸c˜ao);

testes estat´ısticos;

geradores de bits pseudoaleat´orios criptograficamente seguros; conex˜ao com a teoria do hardcore bit;

(5)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Roteiro

1 Resumo

2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(6)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Motiva¸c˜

ao

Nessa parte referente `a revis˜ao dos fundamentos de gera¸c˜ao de n´umeros aleat´orios ´e utilizado o livro [1]: “Handbook of Applied Cryptography” de Menezes, Vanstone e Oorschot de 1996.

gera¸c˜ao de chaves;

NONCEs (number used once); simula¸c˜oes estat´ısticas;

loterias (slot machines);

(7)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Exemplo — gera¸c˜

ao de chaves

Vamos ver dois m´etodos para gerar uma chave para o DES: ao escolher uma chave k de 56 bits temos um espa¸co amostral de 256;

essa chave ´e obtida a partir de um gerador verdadeiramente aleat´orio;

(8)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Exemplo — gera¸c˜

ao de chaves

Vamos ver um outro cen´ario:

primeiramente ´e escolhido um segredo s de 16 bits; usamos para isso um gerador verdadeiramente aleat´orio; em seguida, expandimos s em uma chave k de 56 bits; essa expans˜ao ´e feita usando uma complicada fun¸c˜ao f, todavia conhecida;

assim, o advers´ario teria em m´edia apenas que testar 215 poss´ıveis k;

(9)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Classifica¸c˜

ao

Um gerador de bits aleat´orio (RBG – random bit generator ) ´e um dispositivo ou algoritmo que produz uma seq¨uˆencia de d´ıgitos bin´arios estatisticamente independentes e uniformes (unbiased ).

Um RBG pode ser usado para gerar n´umeros aleat´orios (uniformemente distribu´ıdos). Por exemplo:

obter um inteiro aleat´orio no intervalo [0, N];

geramos com um RBG uma seq¨uˆencia de tamanho blg Nc + 1; convertemos essa seq¨uˆencia em um inteiro;

(10)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Classifica¸c˜

ao

Fontes de bits verdadeiramente aleat´orios tˆem como origem meios f´ısicos, na pr´atica. Que na maioria s˜ao lentos e ineficientes. Ainda, pode ser impratic´avel armazenar com seguran¸ca tais fontes de dados e transmitir uma grande quantidade de bits.

Uma maneira de amenizar o problema seria utilizar um gerador de bits pseudoaleat´orio (PRBG – pseudorandom bit generator ):

´

e um algoritmo determin´ıstico (para uma mesma semente, sempre gera a mesma seq¨uˆencia de bits);

dada uma seq¨uˆencia bin´aria de entrada (semente) de tamanho k,

(11)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Estudo sobre o PRBG

a sa´ıda de um PRBG n˜ao ´e aleat´oria;

de todas poss´ıveis seq¨uˆencias bin´arias, apenas uma fra¸c˜ao delas 22kl poder´a ser gerada;

a inten¸c˜ao ´e conseguir expandir uma pequena seq¨uˆencia de bits verdadeiramente aleat´oria para uma seq¨uˆencia maior; um advers´ario n˜ao poder´a eficientemente disting¨uir a sa´ıda de uma seq¨uˆencia verdadeiramente aleat´oria;

um restri¸c˜ao m´ınima de seguran¸ca ´e que a semente tenha um tamanho k suficientemente grande,

desse modo, para um advers´ario computar os 2k poss´ıveis elementos ´e impratic´avel;

(12)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Exemplo — linear congruential generator

gera uma seq¨uˆencia de n´umeros pseudoaleat´orios x1, x2, x3, ...; xn= axn−1+ b mod m, n ≥ 1;

sendo x0 a semente;

este gerador passa em testes estat´ısticos;

pode ser utilizado para simula¸c˜oes probabil´ısticas;

(13)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Defini¸c˜

oes

Um PRBG ´e dito passar em um teste estat´ıstico, se nenhum algoritmo de tempo polinomial ´e capaz de disting¨uir a sa´ıda do gerador de uma seq¨uˆencia verdadeiramente aleat´oria de mesmo tamanho; acertando com uma probabilidade significativamente maior que 12.

(14)

Gera¸c˜ao de n´umeros aleat´orios Introdu¸c˜ao

Defini¸c˜

oes

universality of next-bit test: um PRBG passa em um next-bit test se e somente se, ele passa em todos os testes estat´ısticos de tempo polinomial.

(15)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios

4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(16)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Baseados em hardware

tempo decorrido entre a emiss˜ao de part´ıculas durante um decl´ınio radioativo,

ru´ıdo t´ermico de um diodo semicondutor ou um resistor, a instabilidade de freq¨uˆencia de um ocilador livre, a quantidade de carga em um capacitor dentro de um intervalo fixo,

a turbulˆencia dentro de um d´ısco r´ıgido selado, a entrada de som de um microfone,

(17)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Contrapartida

tais fontes s˜ao sucept´ıveis a fatores externos e tamb´em, mal funcionamento,

(18)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Baseados em software

a hora do sistema;

o tempo decorrido entre toques de teclado ou movimentos do mouse;

conte´udo dos buffers de entrada e sa´ıda; entrada do usu´ario;

(19)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Contrapartida

o comportamento de tais processos podem variar conforme a plataforma;

algumas fontes podem dar a um advers´ario uma boa id´eia do estado do computador,

ele poderia adivinhar a hora do sistema com um alto grau de acur´acia;

a constru¸c˜ao do gerador deveria utilizar tantas boas fontes quanto dispon´ıveis,

(20)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

Fontes de erros

H´a duas fontes de erros bastante comuns em geradores: a sa´ıda pode estar inclinada (biased ),

ou seja, a probabilidade de emitir um 1 n˜ao ´e igual a 12; a sa´ıda pode estar correlacionada,

(21)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits aleat´orios

De-skewing

Vamos ver um m´etodo para endireitar (de-skewing) uma fonte defeituosa (inclinada apenas):

suponha Pr (1) = p e Pr (0) = 1 − p; sendo p desconhecido, mas 0 < p < 1; a sa´ıda do gerador ´e agrupada aos pares; o par “10” ´e transformado em 1;

o par “01” ´e transformado em 0; o par “11” ´e descartado;

o par “00” ´e descartado.

(22)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios

4 Geradores de bits pseudoaleat´orios

5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(23)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

Defini¸c˜

oes

Uma one-way function f ´e uma fun¸c˜ao que pode calcular eficientemente f (x ). Por outro lado, dado y ∈ Im(f ) n˜ao ´e f´acil calcular x de modo que f (x ) = y .

Uma one-way function f pode ser utilizada para gerar seq¨uˆencias de bits aleat´orios. Usando-se a semente s, aplica-se os valores s, s + 1, s + 2, ... em f, a sa´ıda ´e f (s), f (s + 1), f (s + 2), ....

Vamos ver dois PRBG padronizados ad-hoc que utilizam o SHA1 e o DES como f.

(24)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

Ansi X9.17

(25)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

FIPS 186

(26)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

(27)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

(28)

Gera¸c˜ao de n´umeros aleat´orios Geradores de bits pseudoaleat´orios

(29)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios

5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(30)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Caracter´ısticas

Apresentamos cincos testes estat´ısticos b´asicos, eles verificam se um PRBG gera uma seq¨uˆencia que apresenta cinco caracter´ısticas que se espera encontrar em uma seq¨uˆencia verdadeiramente aleat´oria.

(31)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Frequency test (monobit test)

O prosp´osito desse teste ´e verificar se o n´umeros de 0s e 1s s˜ao aproximadamente os mesmos. Seja n0 e n1 os n´umeros de 0s e 1s respectivamente:

X1 = (n0− n1) 2 n

(32)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Serial test (two-bit test)

(33)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Poker test

Seja m um inteiro positivo tal que bmnc ≥ 5.2m e k = bn mc. Divide a seq¨uˆencia (s) em (k) partes disjuntas de tamanho (m). O teste verifica se seq¨uˆencias de tamanho (m) aparecem o mesmo n´umero de vezes.

(34)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Runs test

run: uma seq¨uˆencia de 0s (ou 1s) adjacentes; gap: uma run de 0s;

block: uma run de 1s.

O prosp´osito do testes ´e verificar se o n´umero de runs ´e o esperado de uma seq¨uˆencia aleat´oria. O n´umero esperado de gaps (ou blocks) ´e:

(35)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Autocorrelation test

Seja d um inteiro fixado tal que 1 ≤ d ≤ bn2c. O objetivo ´e checar as correla¸c˜oes entre a seq¨uˆencia s e vers˜oes deslocadas (n˜ao c´ıclicas) dela. Para isso calcula:

A(d ) = n−d −1

X

i =0

(36)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

FIPS 140-1 statistical tests for randomness

(37)

Gera¸c˜ao de n´umeros aleat´orios Testes estat´ısticos

Maurer’s universal statistical test

uma seq¨uˆencia verdadeiramente aleat´oria n˜ao deveria ser pass´ıvel de compress˜ao;

esse teste verifica o n´ıvel de compressibilidade da seq¨uˆencia gerada;

ele n˜ao comprime efetivamente a seq¨uˆencia, mas faz um c´alculo relacionado com o n´ıvel de compressibilidade; isso torna o teste bastante r´apido;

a universalidade do teste se baseia no fato de conseguir capturar as falhas obtidas nos outros testes;

(38)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG

(39)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

(40)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

Eficiˆ

encia do RSA PRNG

assume a intratabilidade do problema do RSA; o valor de e presisa ser pequeno para gerar poucas multiplica¸c˜oes modulares;

para aumentar a eficiˆencia, no passo 3.2, podem ser extra´ıdos c.lg lg n bits

(41)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

(42)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

Seguran¸ca do Micali-Schnorr PRNG

basta ter r de um tamanho que n˜ao seja poss´ıvel tentar todas possibildades;

suposi¸c˜ao matem´atica: a distribui¸c˜ao de xemod n para seq¨uˆencias de x de r-bits ´e indisting¨u´ıvel de uma distribui¸c˜ao uniforme;

(43)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

(44)

Gera¸c˜ao de n´umeros aleat´orios Cryptographically secure PRBG

Eficiˆ

encia do Blum-Blum-Shub

assume a intratabilidade do problema da fatora¸c˜ao em primos; o valor de e j´a ´e pequeno;

para aumentar a eficiˆencia, no passo 3.2, podem ser extra´ıdos c.lg lg n bits

(45)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG

7 Hardcore bit theory

(46)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Estudos sobre a seguran¸ca dos bits

Shafi Goldwasser and Silvio Micali and Po Tong. Why and How to Establish a Private Code on a Public Network. 1982. [2]

computar a paridade da mensagem (LSB) ´e equivalente a inverter o RSA;

M. Ben-Or and B. Chor and A. Shamir. On the Cryptographic Security of Single RSA Bits. 1983. [3]

n˜ao ´e poss´ıvel predizer o LSB da mensagem no RSA com vantagem maior que 75%;

(47)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Estudos sobre a seguran¸ca dos bits

Werner Alexi and Benny Chor and Oded Goldreich and Claus P. Schnorr. RSA and Rabin Functions: Certain Parts Are as Hard as the Whole. 1988. [4]

o LSB da mensagem do RSA ´e imprevis´ıvel; isto ´e, o LSB ´e 12 +poly (n)1 -seguro;

os lg n bits menos significativos s˜ao seguros.

Dan Boneh and Ramarathnam Venkatesan. Hardness of

computing the most significant bits of secret keys in Diffie-Hellman and related schemes. 1996. [5]

os √lg p bits mais significativos (MSBs) no problema do logaritmo discreto s˜ao seguros;

(48)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Estudos sobre a seguran¸ca dos bits

Dan Boneh and Igor Shparlinski. On the Unpredictability of Bits of the Elliptic Curve Diffie–Hellman Scheme. 2001. [6]

prova que o LSB da abscissa do ponto combinado ´e imprevis´ıvel e seguro;

Dimitar Jetchev and Ramarathnam Venkatesan. Bits Security of the Elliptic Curve Diffie-Hellman Secret Keys. 2008. [7]

(49)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Trabalhos recentes

Chevalier, C´eline and Fouque, Pierre-Alain and Pointcheval, David and Zimmer, S´ebastien. Optimal Randomness Extraction from a Diffie-Hellman Element. 2009. [8]

apresenta um m´etodo para extrair aleatoridade de uma fonte de entropia;

trabalhos anteriores conseguiam extrair 82 bits de uma curva de 200 bits;

nesse artigo, os autores extraem 102 bits com a mesma distˆancia estat´ıstica;

fazem uma otimiza¸c˜ao no NIST SP 800-90 elliptic curve Dual Random Bit Generator (DRBG);

(50)

Gera¸c˜ao de n´umeros aleat´orios Hardcore bit theory

Trabalhos recentes

Roh, Dongyoung and Hahn, Sang Geun. On the bit security of the weak Diffie-Hellman problem. 2010. [9]

expandem resultados anteriores de Shparlinski;

(51)

Gera¸c˜ao de n´umeros aleat´orios Referˆencias

Roteiro

1 Resumo 2 Introdu¸c˜ao

3 Geradores de bits aleat´orios 4 Geradores de bits pseudoaleat´orios 5 Testes estat´ısticos

6 Cryptographically secure PRBG 7 Hardcore bit theory

(52)

Gera¸c˜ao de n´umeros aleat´orios Referˆencias

[1] Alfred J. Menezes, Scott A. Vanstone, and Paul C. Van Oorschot.

Handbook of Applied Cryptography.

CRC Press, Inc., Boca Raton, FL, USA, 1st edition, 1996. [2] 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.

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

On the cryptographic security of single RSA bits.

(53)

Gera¸c˜ao de n´umeros aleat´orios Referˆencias

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

SIAM Journal on Computing, 17(2):194–209, April 1988. [5] Dan Boneh and Ramarathnam Venkatesan.

Hardness of computing the most significant bits of secret keys in Diffie-Hellman and related schemes.

In Neal Koblitz, editor, Advances in Cryptology – CRYPTO ’ 96, volume 1109 of Lecture Notes in Computer Science, pages 129–142. International Association for Cryptologic Research, Springer-Verlag, Berlin Germany, 1996.

[6] Dan Boneh and Igor Shparlinski.

On the unpredictability of bits of the elliptic curve Diffie–Hellman scheme.

(54)

Gera¸c˜ao de n´umeros aleat´orios Referˆencias

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

In David Wagner, editor, CRYPTO 2008, volume 5157 of Lecture Notes in Computer Science, pages 75–92. Springer, 2008.

[8] C´eline Chevalier, Pierre-Alain Fouque, David Pointcheval, and

S´ebastien Zimmer.

Optimal randomness extraction from a diffie-hellman element.

In Proceedings of the 28th Annual International Conference on Advances in Cryptology: the Theory and Applications of Cryptographic Techniques, EUROCRYPT ’09, pages 572–589, Berlin, Heidelberg, 2009. Springer-Verlag.

[9] Dongyoung Roh and Sang Geun Hahn.

On the bit security of the weak diffie-hellman problem.

Referências

Documentos relacionados

6.2 - Procedida à análise das Propostas, a Comissão de Seleção fará o julgamento das mesmas e comunicará o resultado aos proponentes através do Portal do Fornecedor, para que

Não há dúvida de que Zilberberg aprendeu a “semiotizar” na leitura de Saussure, Hjelmslev e Greimas. Seu vasto interesse por literatura e pela estética em geral levou-o também

Além de analisara percepção ambiental dos educandos sobre as temáticas ambientais (Meio Ambiente, Educação Ambiental, Bioma Caatinga) no município de Boa Vista

Em síntese, a presente pesquisa revelou algumas importantes informações: (a) os ganhos obtidos no teste de desempenho acadêmico e o aumento no percentil médio do Raven do GE

Química de solos: adsorção e troca iônica; reação do solo; saturação em bases; acidez do solo; importância e relações com o solo e a planta.. O Sistema Brasileiro

Após decaimento da substância radioativa, esses rejeitos são coletados e encaminhados para a empresa ___(nome, endereço, licença de funcionamento/operação/instalação), onde

17 - A alteração deste Contrato de Transferência, no caso da necessidade de ajustamento da sua programação de execução física e financeira, inclusive a alteração do

Animador e funcionários e voluntários Material de desgaste --- “cantinho das habilidades” Sala de convívio Diariamente, durante todo o ano “O cantinho da leitura”