Provando a segurança do gerador de números pseudoaleatórios Nisan-Wigderson

13

Seja como um design parcial ( m , k ) ef : { 0 , 1 } m{ 0 , 1 } seja uma função booleana. O gerador Nisan-Wigderson G f : { 0 , 1 } l{ 0 , 1 } n é definido da seguinte forma:S={Si}1in(m,k)f:{0,1}m{0,1}Gf:{0,1}l{0,1}n

Gf(x)=(f(x|S1),,f(x|Sn))

Para calcular o th pouco de G f tomarmos os pedaços de x com índices em S i e depois aplicar f a eles.iGfxSif

Suponha que é 1f -hard para circuitos de tamanhoncondecé uma constante. Como podemos provar queGfé(nc1ncnccGf- gerador de números pseudo-aleatórios seguros?(nc2,2nc)

Definições:

Um design parcial é uma coleção de subconjuntos S 1 , , S n[ l ] = { 1 , , l } de modo que(m,k)S1,...,Sn[eu]={1,...,eu}

  • para todos : | S i | = mEu|SEu|=m , e
  • para todo : | S iS j | k .Euj|SEuSj|k

Uma função é hard - difícil para circuitos de tamanho s, se nenhum circuito de tamanho s pode prever f com probabilidade ϵfϵssfϵ melhor do que um sorteio.

Uma função é ( s , ϵ ) gerador de número pseudo-aleatório seguro, se nenhum circuito do tamanho s puder distinguir entre um número aleatório e um número gerado por G f com probabilidade melhor que ϵ .G:{0 0,1}eu{0 0,1}n(s,ϵ)sGfϵ

Nós usamos para a cadeia de caracteres composta por x bits de 's com índices em um .x|UMAxUMA

Kaveh
fonte
ps: esse não é realmente meu dever de casa, mas por favor trate-o como você trataria uma pergunta de dever de casa, às vezes é dada aos alunos que fazem uma introdução ao curso de criptografia.
Kaveh
3
e que comece a batalha CS.SE vs cripto.SE! (:
Ran G.
1
O Google fornece bons resultados: 1 , 2
Ran G.
Essa não é uma boa resposta - é apenas uma pesquisa no google. Talvez você queira responder a isso?
Ran G.
@RanG., Bom ponto.
Kaveh

Respostas:

1

Aqui está a resposta de Ran G. mencionada nos comentários: O Google fornece resultados bastante agradáveis: 1 , 2 .

Yuval Filmus
fonte