today cryptography [[wrap up]] hybrid arguments cryptography [[remind from last time]] [[draw picture of PRG]] def; G_m:\bits^{d(m)}\to\bits^m is a derandomization PRG if d2: deep result],[[2=>1: not hard]] -any \eps>0, PRG G_m:\bits^{m^\eps}\to\bits^m exist [[2=>3: not hard]] cor: OWF => BPP\subseteq\SUBEXP 2^{\Omega(n)}-secure OWF [[pretty strong assumption]] => BPP\subseteq\quasiP [[best known]] goal: weakest assumption => P=BPP [[ideally get iff]] will show: L\in \EXP requires circuits size 2^{\Omega(n)} => explicit (m,\eps) PRG seed length O(\log m+\log 1/\eps) => P=BPP <= \-> hw the plan: review crypto techniques [[foundation for later ideas]] average case hardness => derandomization local decoding worst case hardness => average case hardness [[via local decoding]] hybrid arguments lem: X,Y random variables with \Delta(X,Y)\le \eps => \Delta(X^k,Y^k)\le k\eps [[statistical distance, claimed this before didn't prove]] [[want computational analogue]] prop: X,Y\in\bits^m (t,\eps) indistinguishable. => X^k,Y^k are (t,k\eps) indistinguishable. [[t=\infty recover statistical claim. but we need to make argument for above *constructive*]] \-> indep copies of X,Y pf. prove contrapositive hybrid argument |Pr[f(XXX)=1]-Pr[f(YYY)=1]|> k*\eps => wlog Pr[f(XXX)=1]-Pr[f(YYY)=1]> k*\eps otherwise consider \neg f \-> work in model where negations are free k=3 hybrids H_0=XXX H_1=XXY H_2=XYY H_3=YYY Pr[f(XXX)=1]-Pr[f(YYY)=1] =H_0-H3 =(H_0-H_1)+(H_1-H-2)+(H_2-H_3) => exists i_0 with H_{i_0}-H_{i_0+1}>k*\eps/k=\eps say i_0=1 Pr[f(XXY)=1]-\Pr[f(XYY)=1]>\eps =Pr_{X_1,X_2,Y_3}[f(X_1X_2Y_3)=1]-\Pr_{X_1,Y_2,Y_3}[f(X_1Y_2Y_3)=1] =>exist x_1,y_3 st Pr_{X_2}[f(x_1X_2y_3)=1]-\Pr_{Y_2}[f(x_1Y_2y_3)=1] >\eps define g(z)=f(x_1,z,y_3) =>Pr[g(X)=1]-\Pr[g(Y)]> \eps [[key point: two random (large) variables distinguishable for unclear reasons create hybrids, the conceptual differences between each hybrid is small allows us to zoom in on a clear difference why the variables are distinguishable]] rmk: nonuniformity i_0 [[can replace with random i]] x_{i_0} lem: X\in\bits^n random variable X uniform iff any i, any function f_i:\bits^{i-1}\to\bits Pr[f_i(X_{ (t-O(1),\eps) next-bit unpredictable [[define pseudorandom]] (t-O(1),\eps m) pseudorandom <= (t,\eps) next bit unpredictable pf: \neg prg <= \neg unpred: given predictor f of size t \Pr[f(X_1,\ldots,X_{i-1})=X_i]>1/2+\eps define g(x_1,\ldots,x_m)=1 iff f(x_1,\ldots,x_{i-1})=x_i [[computable in t+O(1) size]] Pr[g(X)=1]>1/2+\eps=Pr[g(U_m)]+\eps [[get distinguisher \neg prg => \neg unpred: distinguisher f |\Pr[f(X)=1]-\Pr[f(U_m)=1]|> \eps => wlog \Pr[f(X)=1]-\Pr[f(U_m)=1]>\eps [[take either f or \neg f, as \negations don't matter in our notion of circuit size]] hybrid argument [[note that we no longer have independent coordinates!]] H_0=X H_m=U_m H_i=(H_0)_{\le i} {H_m)_{>i}=X_{\le i} U_{m-i} \eps < \Pr[f(H_0)=1]-\Pr[f(H_m)=1] =\sum_{0\le i by averaging, exists i_0 \Pr[f(H_{i_0})=1]-\Pr[f(H_{i_0+1})=1]>\eps/m =\Pr[f(X_1\cdots X_{i_0-1} X_{i_0} U_{i_0+1}\cdots U_m)=1] - \Pr[f(X_1\cdots X_{i_0-1} U_{i_0} U_{i_0+1}\cdots U_m)=1] => by averaging exist u_j for j>i [[probability over X,U \Pr[f(X_1\cdots X_{i_0-1} X_{i_0} u_{i_0+1}\cdots u_m)=1] - \Pr[f(X_1\cdots X_{i_0-1} U_{i_0} u_{i_0+1}\cdots u_m)=1]>\eps/m =\Pr[g(X_{ Pr[P(X_{1/2+\eps/m rmk: did use non-uniformity here can replace with randomness [[uniform distribution is sampleable]] Q. when is x\mapsto x,f(x) pseudorandom? ie, when is x\mapsto x,f(x) next bit unpredictable ie, \Pr[g(x)=f(x)]=~1/2+\eps [[any efficient g]] [[this is average case hardness]] next time average case hardness Nisan Wigderson generator