Proofs: Parallel collision search
These are the human proofs of Parallel collision search, at full length.
Correctness of parallel collision search full
This proof shows: correctness, termination.
Let be prime, of order , , and . The group is cyclic of order , so for each divisor of it has exactly one subgroup of order , namely , and this subgroup is . For termination we treat the random choices of lines L4, L6 and L17 as independent and uniform.
Lemma 1 (membership). Line L1 returns NONE exactly when .
Proof. if and only if , by the description of the unique subgroup of order .
From now on with ; is unique in this range because has order . If then and line L2 is correct, so assume , which forces .
Lemma 2 (labels). At every moment of an epoch, each client satisfies , and every entry satisfies .
Proof. Line L6 and line L17 set from by that formula. Line L18 multiplies by and adds to and to , which keeps the relation since exponents of and only matter modulo . Line L16 is the only line that writes to , and it writes the current point and label of a client. Line L5 empties at the start of each epoch.
Lemma 3 (soundness). Any value returned at line L15 equals .
Proof. At line L10 the client has and the table has , by Lemma 2. Then , so , that is, with from line L12. If and , then divides because divides and , and the solutions of the congruence modulo are for with from line L13. All of these lie in . Line L15 returns a candidate only if , and is the only element of with that property, so .
So every value the algorithm returns is correct, and by Lemma 1 it returns NONE exactly when there is no solution. It remains to show that, for with , the algorithm stops with probability .
Lemma 4 (one epoch succeeds with positive probability). There is a , depending only on , and , such that each epoch returns with probability at least , whatever happened in earlier epochs.
Proof. Consider client 1 in the first two rounds of an epoch. Let be its start from line L6 and let be its first restart label from line L17, giving . Consider the event that
- , and
- and .
Part 2 gives . The labels of line L17 are uniform on and independent of everything else, so part 2 has probability . In the implementation, means that is divisible by , for a key uniform on drawn at line L4; for fixed the value is then uniform on , so part 1 has probability , which is positive because . The two parts are independent, so .
Suppose holds. In round 1 client 1 is processed first, the table is empty, and since line L16 stores and line L17 restarts client 1 at with label . The other clients in round 1 either return, which by Lemma 3 is a correct answer, or leave the entry unchanged, since line L16 writes only to points not in . In round 2, which exists because , client 1 stands at , line L10 finds , and line L12 computes , so . Lines L13 to L15 then test the single candidate, which is by Lemma 3, and return it.
Termination. Each epoch is a finite computation of at most rounds of clients, and each client action costs at most group operations, so each epoch ends. The random choices of different epochs are independent, so by Lemma 4 the probability that the first epochs all fail is at most , which tends to . Hence the algorithm stops with probability , and the expected number of epochs is at most . The heuristic analysis, under which an epoch fails with small probability, is not part of this proof.
Conclusion. By Lemmas 1 and 3, when the algorithm returns, it returns if and NONE otherwise, and by Lemma 4 it returns with probability .