Eu sugiro que você use a estrutura encontrada no seguinte documento:
Até onde podemos ir além da criptoanálise linear? , Thomas Baignères, Pascal Junod, Serge Vaudenay, ASIACRYPT 2004.
O resultado crucial diz que você precisa de , onde D ( D 0n∼1/D(D0||D1) é a distância Kullback-Leibler entre as duas distribuições D 0 e D 1 . Expandindo a definição da distância KL, vemos que no seu casoD(D0||D1)D0D1
D(D0||D1)=plogpp+ϵ+(1−p)log1−p1−p−ϵ,
com a convenção de que .0log0p=0
Quando , encontramos D ( D 0p≫ϵ . Assim, quando p ≫ ϵ , achamos que você precisa de n ∼ p ( 1 - p ) / ϵ 2 moedas. Quando p = 0 , encontramos D ( D 0D(D0||D1)≈ϵ2/(p(1−p))p≫ϵn∼p(1−p)/ϵ2p=0 , então você precisa de n ∼ 1 / ϵ moedas. Portanto, essa fórmula é consistente com os casos especiais que você já conhece ... mas generaliza para todos os n , ϵ .D(D0||D1)=−log(1−ϵ)≈ϵn∼1/ϵn,ϵ
Para justificativa, consulte o documento.
Quando , a justificativa é fácil de trabalhar manualmente. Com n observações, o número de cabeças é Binomial ( n , p ) ou Binomial ( n , p + ϵ ) , portanto, você deseja encontrar o menor n de modo que essas duas distribuições possam ser distinguidas.p≫ϵnBinomial(n,p)Binomial(n,p+ϵ)n
Você pode aproximar os dois por um gaussiano com a média e variância corretas e, em seguida, usar resultados padrão na dificuldade de distinguir dois gaussianos, e a resposta deve cair. A aproximação é boa se ou menos.p≥5/n
N(μ0,σ20)N(μ1,σ21)μ0=pnμ1=p+ϵ)nσ20=p(1−p)nσ21=(p+ϵ)(1−p−ϵ)nerfc(z)z=(μ1−μ0)/(σ0+σ1)≈ϵn/2p(1−p)−−−−−−−−−−√z∼1n∼2p(1−p)/ϵ2p≫ϵ
Para o caso geral ... veja o jornal.