Ti suggerisco di utilizzare il framework trovato nel seguente documento:
Fino a che punto possiamo andare oltre la crittoanalisi lineare? , Thomas Baignères, Pascal Junod, Serge Vaudenay, ASIACRYPT 2004.
Il risultato cruciale dice che hai bisogno di , dove D ( D 0n∼1/D(D0||D1) è la distanza di Kullback-Leibler tra le due distribuzioni D 0 e D 1 . Espandendo la definizione della distanza KL, vediamo nel tuo casoD(D0||D1)D0D1
D(D0||D1)=plogpp+ϵ+(1−p)log1−p1−p−ϵ,
con la convenzione che .0log0p=0
Quando , troviamo D ( D 0p≫ϵ . Quindi, quando p ≫ ϵ , troviamo che hai bisogno di n ∼ p ( 1 - p ) / ϵ 2 gettoni. Quando p = 0 , troviamo D ( D 0D(D0||D1)≈ϵ2/(p(1−p))p≫ϵn∼p(1−p)/ϵ2p=0 , quindi hai bisogno di n ∼ 1 / ϵ gettoni. Pertanto, questa formula è coerente con i casi speciali che già conosci ... ma si generalizza a tutti n , ϵ .D(D0||D1)=−log(1−ϵ)≈ϵn∼1/ϵn,ϵ
Per giustificazione, vedere il documento.
p≫ϵnBinomial(n,p)Binomial(n,p+ϵ)n
p≥5/n
In particular, this comes down to distinguishing N(μ0,σ20) from N(μ1,σ21) where μ0=pn, μ1=p+ϵ)n, σ20=p(1−p)n, σ21=(p+ϵ)(1−p−ϵ)n. You'll find that the probability of error in the optimal distinguisher is erfc(z) where z=(μ1−μ0)/(σ0+σ1)≈ϵn/2p(1−p)−−−−−−−−−−√. Thus, we need z∼1 to distinguish with constant success probability. This amounts to the condition that n∼2p(1−p)/ϵ2 (up to a constant factor)... when p≫ϵ.
For the general case... see the paper.