Chapter 11: Problem 11
Suppose there is a probabilistic algorithm \(A\) that takes as input a prime \(p,\) a prime \(q\) that divides \(p-1,\) and an element \(\gamma \in \mathbb{Z}_{p}^{*}\) generating a subgroup \(G\) of \(\mathbb{Z}_{p}^{*}\) of order \(q .\) The algorithm also takes as input \(\alpha \in G .\) It outputs either "failure," or \(\log _{\gamma} \alpha .\) Furthermore, assume that \(A\) runs in expected polynomial time, and that for all \(p, q,\) and \(\gamma\) of the above form, and for randomly chosen \(\alpha \in G, A\) succeeds in computing \(\log _{\gamma} \alpha\) with probability \(\varepsilon(p, q, \gamma) .\) Here, the probability is taken over the random choice of \(\alpha,\) as well as the random choices made during the execution of \(A\). Show how to use \(A\) to construct another probabilistic algorithm \(A^{\prime}\) that takes as input \(p, q,\) and \(\gamma\) as above, as well as \(\alpha \in G,\) runs in expected polynomial time, and that satisfies the following property: if \(\varepsilon(p, q, \gamma) \geq 0.001,\) then for all \(\alpha \in G, A^{\prime}\) computes \(\log _{\gamma} \alpha\) with probability at least 0.999 .
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.