Baby-Step Giant-Step Algorithms for the Symmetric Group
We study discrete logarithms in the setting of group actions. Suppose that G is a group that acts on a set S. When r,s ∈ S, a solution g ∈ G to r^g = s can be thought of as a kind of logarithm. In this paper, we study the case where G = S_n, and develop analogs to the Shanks baby-step / giant-step procedure for ordinary discrete logarithms. Specifically, we compute two sets A, B ⊆ S_n such that every permutation of S_n can be written as a product ab of elements a ∈ A and b ∈ B. Our deterministic procedure is optimal up to constant factors, in the sense that A and B can be computed in optimal asymptotic complexity, and |A| and |B| are a small constant from √(n!) in size. We also analyze randomized "collision" algorithms for the same problem.
READ FULL TEXT