Guessing Secrets Efficiently
230 likes | 359 Vues
Guessing Secrets Efficiently. Shuchi Chawla 1/23/2002. A game similar to 20 questions. Alice has k secret n -bit strings Bob wants to learn them Bob can ask binary questions about one secret Alice uses any secret of her choice to reply What should he ask?
Guessing Secrets Efficiently
E N D
Presentation Transcript
Guessing Secrets Efficiently Shuchi Chawla 1/23/2002
A game similar to 20 questions • Alice has k secret n-bit strings • Bob wants to learn them • Bob can ask binary questions about one secret • Alice uses any secret of her choice to reply • What should he ask? • How should he figure out the secrets? • How many questions are needed? • Can he learn all?
How it all began… • Problem first defined by Chung, Graham & Leighton, EJC’01 • Efficiently solve for the 2 secrets case • Alon et al, SODA’02 • Chung et al, SODA’02 • Micciancio & Segerlind, Unpublished • K secrets case • Largely open
What can Bob hope to learn? • Consider the two secret case • He may hope to learn one of the secrets • What if Alice has 3 in mind and always goes with the majority of the two • All the three pairs are always consistent with the answers!
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other
Formalizing the problem • Alice’s secret is an edge in the graph • Bob specifies a partition of the graph • Alice chooses one part • Bob deletes all edges inside the other Bob cant do any better!
A star or triangle • Alice always picks the bigger set • Bob cant delete any more edges! • Bob cannot learn more if all pairs of edges intersect - star or triangle The model generalizes easily to k secrets k-uniform hypergraphs
Guessing “Efficiently” • Few, short questions, fast inversion algorithm • [Chung et al’01]: • At least 3n-5 queries required – information theoretic argument • Algorithm using 4n+3 queries – each 2n bit long, O(2n) time • [MS02] improve this to O(n)-bit questions, O(n2) time • [Chung et al’01] achieve similar bounds using inner product questions • All the above are Adaptive strategies
Oblivious strategies • Specify all questions up-front • Desirable – ease of implementation & inversion • [Alon et al] • Basic idea: view the strings as codes
Sequence of functions fi: [N] -> {0,1} • Each secret x[N] f1(x),f2(x),…,fm(x) • Call this “code” C • A code is (2,2)-separating iff For all a,b,c,d[N] i for which C(a)=C(b) C(c)=C(d) • Such a code would solve the guessing problem
Constructing a good code • If a binary linear code C is –biased, for some <1/14, then it is (2,2)-separating • [ABN+92] For any >0 there exists an explicit family of constant rate binary linear-biased codes. • Inversion can be done using list decoding in time O(n3)
Obtaining the solution • Say the secret is (x1,x2) • Bob uses code C • Alice answers a = (a1,a2,…,am) • For each i, C(x1)i=ai or C(x2)i=ai • C is -biased • for at least (1/2- )n i, C(x1)i=C(x2)i • Either C(x1) or C(x2) is within distance (1/4+ )n of a
Decoding a • wlog C(x1) is within distance (1/4+ )n of a • Decode C upto a distance of (1/4+ )n • For each x returned in the previous step, remove the answers that correspond to x, and then perform an “erasure list decoding” of C obtaining y • Return all pairs (x,y) • Paper proves we get either a star or triangle
K-secrets, k>2 • Looking for intersecting k-uniform hypergraphs • Representation is difficult • what does an intersecting hypergraph look like? • [Alon et al] show connection to 2k-universal families of binary strings
0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 N=6 k=1 S = 2k-universal families of binary strings • Find a small subset S{0,1}N such that: • For every set {i1,…,i2k} and string (a1,…,a2k), xS such that xiy=ay for each y.
2k-universal families of binary strings • Find a small subset S{0,1}N such that: • For every set {i1,…,i2k} and string (a1,…,a2k), xS such that xiy=ay for each y. 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 N=6 k=1 Our functions S = Secrets
Filling in details.. • There is an explicit strategy for Bob that uses ~O(k26kn) questions [ABN+92] • [Alon et al’02] also give a poly(n) time algorithm for inversion that finds a set of size poly(n) secrets that contains at least one secret of Alice.