In this section, we recall the two fundamental theorems of group theory describing all finite groups. We show how they can be used to solve the general HSP under certain conditions. We study the special cases of dedekindian, dihedral and symmetric groups in that framework.

A group $G$ is said to be simple, if it contains no other normal subgroups than $\left\{1\right\}$ and $G$. Finite simple groups are the "building blocks" for all finite groups and their classification are given by a theorem of group theory. More precisely, the theorem states that the possibilities for a finite simple group are:

- Cyclic groups ${\mathbb{Z}}_{p}$ for $p$ prime.
- Alternating groups ${A}_{n}$ for $n\ge 5$.
- Simple groups of Lie type.
- 26 sporadic simple groups.

For an arbitrary finite group $G$, a composition series is a sequence of subgroups of $G$

$$\left\{1\right\}={H}_{0}\u22b2{H}_{1}\u22b2{H}_{2}\u22b2\dots \u22b2{H}_{n}=G$$

such that each ${H}_{i}$ is a maximal normal subgroup of ${H}_{i+1}$. The integer $n$ is called the composition length, and is clearly $O\left(\mathrm{log}\mid G\mid \right)$. Each $\raisebox{1ex}{${H}_{i+1}$}\!\left/ \!\raisebox{-1ex}{${H}_{i}$}\right.$ is called a composition factor and is by definition a simple group. Any finite group has a composition series: informally, we can start with $\left\{1\right\}\u22b2G$ and insert normal subgroup ${H}_{i}$ until we get a composition series. Moreover, the Jordan–Hölder theorem says that all the composition series of a group are equivalent i.e. they all have the same length and are made of the same composition factors (up to isomorphism and permutation).

The consequence of these two theorems is that we know how any finite group $G$ is built. Let's see how they can be used to solve the general HSP. Suppose $H$ is a subgroup hidden by $f$ and $N\u22b2G$ a normal subgroup. Then $\overline{H}=\{hN,h\in H\}$ is a subgroup of $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$N$}\right.$ and $H\cap N$ a subgroup of $N$. We can consider the HSPs over $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$N$}\right.$ and $H\cap N$ respectively and get two sets of generator $\overline{H}=\u27e8{h}_{i}N\u27e9$ and $H\cap N=\u27e8{x}_{i}\u27e9$. Finally we obtain a set of generators $\u27e8{h}_{i},{x}_{j}\u27e9=\overline{H}H\cap N=H$ for the hidden subgroup. Of course, this quotient reduction is only relevant if $\left\{1\right\}\u2288N\u228aG$ i.e. is only possible if the group is not simple. Moreover, if ${n}_{1},{n}_{2}$ are the length of two composition series for $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$H$}\right.$ and $H\cap N$ we have $n={n}_{1}+{n}_{2}$. Hence if we repeat the previous quotient reduction to these subgroups we will reach simple groups in $O\left(\mathrm{log}\mid G\mid \right)$ steps. Note that the Jordan–Hölder theorem essentially says that there are no privileged choice for the normal subgroup $N$ at each step. Finally, we have the following theorem:

(solution to the general HSP)

We have a solution to the general HSP if

- We have an efficient algorithm for HSP over simple groups.
- For any hidden subgroup problem $G,H,f$ over a non-simple group and a normal subgroup $\left\{1\right\}\u2288N\u228aG$, we have an efficient way to build polynomial-time oracles $\overline{f}$ and ${f}_{\mid H\cap N}$ over $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$N$}\right.$ and $N$ hiding the subgroups $\overline{H}$ and $H\cap N$.

Thus, one research direction is to try to solve HSP over simple groups. We can also restrict in a first time to solvable groups (i.e. such that the composition factors are abelian, or more precisely cyclic groups of prime order) and use the HSP algorithm that we already have for the composition factors.

The second research direction is to find reduction methods. We have already seen many times the following subgroup and quotient reduction:

(subgroup reduction, quotient reduction)

Let $G,H,f$ be a HSP problem. We have the following reductions:

- Subgroup reduction: Suppose we can find in polynomial time a
subgroup ${G}_{1}\subseteq G$ that contains $H$ and an isomorphism ${G}_{2}\stackrel{g}{\cong}{G}_{1}$ such that $g$ has polynomial complexity. The oracle
$f\circ g$ over ${G}_{2}$ hides the group ${g}^{-1}\left(H\right)$. A solution to HSP over
${G}_{2}$ gives a set of generators
${u}_{1},\dots ,{u}_{n}$ for ${g}^{-1}\left(H\right)$ and so a set of generators
$g\left({u}_{1}\right),\dots ,g\left({u}_{n}\right)$ for $H$.
Moreover, if ${G}_{1}\u228aG$, then $\mid {G}_{1}\mid \le \frac{1}{2}\mid G\mid $.

- Quotient reduction: Suppose we can find in polynomial time a
normal subgroup ${H}_{1}\subseteq H\subseteq G$, a set of generators
${u}_{1},\dots ,{u}_{n}$ for ${H}_{1}$ and an isomorphism ${G}_{2}\stackrel{g}{\cong}\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{${H}_{1}$}\right.$ such that $g$ has polynomial complexity. The oracles
$f\circ g$ $$ hides the group ${g}^{-1}\left(\raisebox{1ex}{$H$}\!\left/ \!\raisebox{-1ex}{${H}_{1}$}\right.\right)$. A solution to HSP over
${G}_{2}$ gives a set of generators
${v}_{1},\dots ,{v}_{n}$ for ${g}^{-1}\left(\raisebox{1ex}{$H$}\!\left/ \!\raisebox{-1ex}{${H}_{1}$}\right.\right)$ and so a set of generators
$g\left({v}_{1}\right),\dots ,g\left({v}_{n}\right)$ for $\raisebox{1ex}{$H$}\!\left/ \!\raisebox{-1ex}{${H}_{1}$}\right.$. Then the union of ${u}_{i},g\left({v}_{j}\right)$ generates $H$.
Moreover, if ${H}_{1}\ne \left\{1\right\}$ then $\mid \raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{${H}_{1}$}\right.\mid \le \frac{1}{2}\mid G\mid $.

Note that the theorem 6.1 uses a combination of generalized versions of these reduction methods with $N={G}_{1}={H}_{1}$ and without the constraints $H\subseteq {G}_{1}=N$ and $N={H}_{1}\subseteq H$. For the subgroup reduction part, the oracle does not need to be changed and will hide the expected group $H\cap N$ instead. However, it is less clear how to build the oracle for the quotient reduction part because two elements ${g}_{1}{,g}_{2}\in G$ that belong to the same class in $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$N$}\right.$ may not belong to the same preimage of $f$. Note that if $H\ne G$, then it is always included in a maximal subgroup ${G}_{1}$ and thus subgroup reduction is always possible. This is particularly interesting in the case of the simple group, where quotient reduction is not possible. However, the complete description of maximal groups is only known for some groups.

(iterative maximal subgroup reduction)

We have a solution to HSP over a group $G$ if we have an algorithm to find a maximal subgroup ${G}_{1}$ containing $H$, apply subgroup reduction to ${G}_{1}$ and repeat the operation inductively. We stop when we no longer can find a maximal subgroup i.e. $H=G$.

Let's consider the groups we have previously studied. First, in the Dedekindian HSP we work on a group whose subgroups are all normal. An algorithm is given in appendix F for the particular case of abelian group, but should also work for hamiltonian ones. The idea is to use Weak Fourier Sampling to get a sequence of subgroups of $G$ containing $H$ that become smaller and smaller. Because all groups are normal, we have a subsequence of a composition series:$$\left\{1\right\}\u22b2H\u22b2{G}_{m}\u22b2\dots \u22b2{G}_{0}=G$$

In that case, $\raisebox{1ex}{$H$}\!\left/ \!\raisebox{-1ex}{${G}_{k}$}\right.$ is the trivial group and $H\cap {G}_{k}={G}_{k}$, so the algorithm of theorem 6.1 is really only using subgroup reduction. The abelian algorithm of appendix F also shows the importance of "nice" description of groups, such that the one provided by black box groups. In our definition 3.3 of the hidden subgroup problem, we say that we want to determine the hidden subgroup $H$ and definition 3.5 asks for a set of generating elements. However in the abelian case, to be able to iterate the reductions we use at each step a direct decomposition ${G}_{k}=\underset{i=1}{\overset{{d}_{k+1}}{\oplus}}\u27e8{a}_{i}^{k+1}\u27e9$ so that we can have the polynomial-time isomorphism mentioned in definition 6.2 and thus efficient oracles on the new groups.

Another interesting case is the reduction we have made so far for the dihedral group. The possible composition series are given in figure 6.1, where the dots correspond to composition series of the isomorphic groups indicated.

As usual, we consider the case $H={H}_{r,d}$ which contains the normal subgroup ${H}_{r}$. Because ${H}_{r}={H}_{1}\cap H$, we can apply a subgroup reduction to determine $r$: we move in ${H}_{1}$ which is isomorphic to ${\mathbb{Z}}_{N}$ and apply a cyclic HSP algorithm. Since we now have a normal subgroup included in $H$, we can use a quotient reduction. We have $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{${H}_{r}$}\right.\cong \raisebox{1ex}{${D}_{N}$}\!\left/ \!\raisebox{-1ex}{${\mathbb{Z}}_{\raisebox{1ex}{$N$}\!\left/ \!\raisebox{-1ex}{$r$}\right.}$}\right.\cong {D}_{r}$ so we still have a similar composition series diagram and we now assume $r=N$. The hidden subgroup becomes ${H}_{N,d}$ and we want to determine $d$. It easy to see that none of the candidates for quotient reduction (i.e. normal subgroups of $G$ included in the hidden subgroup) provide any further simplification. As a consequence, we are turning our attention to subgroup reduction. The possibilities are ${H}_{a,b}$ where $a$ is a divisor of $N$ and $d\equiv b\text{mod}\left(a\right)$. In that case, we have ${H}_{a,b}\cong {D}_{\raisebox{1ex}{$N$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}$ and the new hidden subgroup is generated by a slope $\left(q,1\right)$ where $q$ is the quotient of the division of $d$ by $a$. We repeat subgroup reduction until we have determined entirely $d$ and again we need only $O\left(\mathrm{log}\mid G\mid \right)$ reduction steps. Note that variations of this kind are proposed in Kuperberg's paper [Kup2003]. The key step for solving DHSP is thus to determine the remainder of $d$ modulo a divisor $a$ of $N$. For $N={2}^{n}$ the procedure will be to determine the bits of $d$, from the least to the most significant ones. Finally, we recover the techniques that have been used so far. Note that the dihedral is solvable, so we already have a solution for the simple groups involved. Hence a solution to DHSP will either be an algorithm to find the parity of $d$ (or any other remainder of $d$) or by new reduction techniques.

There is an alternative way to see the first quotient reduction by ${H}_{r}$. Using theorem 9.9 one can see that, except in the degenerated cases $H={H}_{2,d}$, the intersection of the kernels of the representations measured by a Weak Fourier Sampling over the dihedral group is exactly ${H}_{r}$. Actually, we know that in general the Weak Fourier Sampling gives the largest normal subgroup of $G$ which is included in $H$. Hence a general method is to apply Weak Fourier Sampling to find that subgroup and then use a quotient reduction. In the quotient group, we can still repeat this procedure. After $O\left(\mathrm{log}\mid G\mid \right)$ reductions of this kind, we will not be able to reduce the underlying group any further: the largest hidden subgroup of $H$ normal in $G$ is the trivial group $\left\{1\right\}$. If this group is also $H$, then we can determine the original hidden subgroup. Otherwise, $H$ is not necessarily simple and we need to use subgroup reduction or other methods as in the case of the dihedral group. We have:

(iterative quotient reduction)

A repetition of quotient reduction using the largest normal subgroup included in the hidden subgroup leads to a hidden subgroup problem where the reduced hidden subgroup $H$ does not contain any non-trivial normal subgroup. If the reduced hidden subgroup is trivial then we can solve HSP using this method.

Finally, let's consider the symmetric group ${S}_{n}$. We may discard small values of $n$ and assume $n\ge 5$. In that case, $\left\{\mathrm{Id}\right\}\u22b2{A}_{n}\u22b2{S}_{n}$ is a composition series and in particular ${S}_{n}$ is not solvable. Moreover, consider the case of our reduction of rigid graph isomorphism problem in ${S}_{2n}$, where $H$ is trivial or $H=\u27e8\sigma \u27e9$ for some involution $\sigma =\left(\phi ,{\phi}^{-1}\right){s}_{n}$ with signature $\epsilon \left(\sigma \right)={\left(-1\right)}^{n}$. If we split the HSP problem between $\raisebox{1ex}{${S}_{2n}$}\!\left/ \!\raisebox{-1ex}{${A}_{2n}$}\right.\cong {\mathbb{Z}}_{2}$ and ${A}_{2n}$, we have two cases:

- $n$ is even, so $H\cap {A}_{2n}=H\subseteq {A}_{2n}$ and all the information is in ${A}_{2n}$. However, this group is simple so we can not reduce it any further using quotient groups.
- $n$ is odd, so $H\cap {A}_{2n}=\left\{\mathrm{Id}\right\}$ and all the information is in $\raisebox{1ex}{${S}_{2n}$}\!\left/ \!\raisebox{-1ex}{${A}_{2n}$}\right.\cong {\mathbb{Z}}_{2}$. The HSP is trivial on this group and all the hardness consists in the construction of an oracle.

Actually, we have even seen in the previous section that we can reduce the rigid graph isomorphism problem to the simple group ${A}_{2n}$.

Possible algorithm for the general HSP

Input: The group $G$ the oracle $f$. Output: The hidden subgroup $H$.

- Use at most $k$ coset measurements (remark 4.10) to determine whether $H=G$ with probability of success at least $1-{2}^{k}$ or $H$ is a proper subgroup of $G$ with certainty. In the former case, return $G$.
- If we have an efficient HSP algorithm over $G$, execute it and return the subgroup $H$ found.
- If $G$ is simple, determine a maximal subgroup $G\text{'}$ containing $H$, and use it to apply subgroup reduction. Call this algorithm recursively and return $H$.
- Apply Weak Fourier Sampling to determine a maximal normal subgroup $H\text{'}$ of $G$ included in $H$. If $H\text{'}$ is non-trivial, use it to apply quotient reduction. Call this algorithm recursively and return $H$.
- Otherwise, find a way to reduce the problem by using a normal subgroup $\left\{1\right\}\u2288N\u228aG$, subgroup reduction or any other methods... Call this algorithm recursively and return $H$.

As a conclusion of this section, we have seen a general approach to the HSP based on solution to the simple HSP and various reduction methods. A possible algorithm is proposed in figure 6.2. For the problems related to the dihedral and symmetric groups, it seems however that all the known reductions have already been used.

In this section, we review miscellaneous solutions and techniques obtained for non-abelian groups. The HSP table of appendix A completes this section with a good overview of the state of the art.

The groups for which an efficient algorithm is known are mainly semi-direct products of abelian groups, so we start by recalling the definition. Given two groups ${G}_{1},{G}_{2}$ and an automorphism $\phi :{G}_{2}\to {G}_{1}$, the semi-direct product ${G}_{1}{\u22ca}_{\phi}{G}_{2}$ is the group with the operation

$$({a}_{1},{b}_{1})({a}_{2},{b}_{2})=({a}_{1}\left(\phi \left({b}_{2}\right)\left({a}_{2}\right)\right),{b}_{1}{b}_{2})$$

For example, we have seen the dihedral group ${D}_{N}\cong {\mathbb{Z}}_{N}{\u22ca}_{\phi}{\mathbb{Z}}_{2}$ where $\phi \left(b\right)\left(a\right)={\left(-1\right)}^{b}a$ and a subgroup of the symmetric group ${S}_{n}\wr {\mathbb{Z}}_{2}=\left({S}_{n}\times {S}_{n}\right){\u22ca}_{\phi}{\mathbb{Z}}_{2}$ where $\phi \left(c\right)(a,b)={\tau}^{c}\left(a,b\right)$ and $\tau $ permutes the two coordinates. The latter is an example of a wreath product ${G}_{1}\wr {G}_{2}$. Each element $b\in {G}_{2}$ defines a permutation of the elements of ${G}_{2}$ by $x\mapsto bx$. Hence we can identify it with a permutation ${\sigma}_{b}$ of ${S}_{\mid {G}_{2}\mid}$. We then define $\phi \left(b\right)({a}_{1},\dots ,{a}_{\mid {G}_{2}\mid})=({a}_{{\sigma}_{b}\left(1\right)},\dots ,{a}_{{\sigma}_{b}\left(\mid {G}_{2}\mid \right)})$ and ${G}_{1}\wr {G}_{2}={{G}_{1}}^{\mid {G}_{2}\mid}{\u22ca}_{\phi}{G}_{2}$.

The first non-abelian HSP considered was DHSP. Although still unsolved, many methods were introduced, so let's recall them:

- enumerating all the subgroups of $G$: they can all be described by two parameters $d<r$.
- using the abelian Fourier Sampling on abelian subgroups: working on ${\mathbb{Z}}_{N}\times \left\{0\right\}$ allows to find $r$.
- using quotient reduction: using the normal subgroup ${H}_{r}$ yields the standard reduction for DHSP.
- applying the abelian Fourier Sampling on the whole group, viewed as a cartesian product: this produces coset states and reduces the problem to DCP.
- using group reduction: as we have seen in previous section, determining the remainder of $d$ modulo a divisor $a$ of $N$ is like moving to a subgroup isomorphic to ${D}_{\raisebox{1ex}{$N$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}$.
- pipeline of coset states: this allows to determine $d$ in subexponential time.
- pretty good measurement: we consider the tensor product of $k$ coset states ${\rho}_{d}^{\otimes k}$ and use the optimal measurement to identify it among an equiprobable repartition of $d\in {\mathbb{Z}}_{N}$. If it is efficiently implementable for some $k>\mathrm{log}\left(N\right)$ then we can find $d$.
- superposition of many oracle values: a new approach to determine $d$ proposed in appendix G.

We have presented in details Fourier Sampling based on Fourier Transform over finite groups. It is a natural and elegant extension of the abelian case and was presented as a promising method in the review paper of Lomont [Lom2004]. The non-abelian Fourier Transform has been used as a key element for the Dedekindian HSP [HalRusTa-2000], ${\mathbb{Z}}_{2}^{n}\wr {\mathbb{Z}}_{2}$ [RötBet1998], ${\mathbb{Z}}_{3}{\u22ca}_{\phi}{\mathbb{Z}}_{{2}^{n}}$ [GriSchVaz2000], the affine group $\mathrm{Aff}(1,p)$ as well as some particular cases of $q$-hedral groups [MooEtAl2005]. More recently it has been used to solve the Weyl-Heisenberg group [KroRöt2008] and to find 1-point stabilizer of some finite Lie groups [DenMooRus2008]. However, most efficient non-abelian HSP algorithms currently known do not require it and we know that it would not work for all groups. Again, we recall the methods:

- Weak Fourier Sampling to find normal subgroups or more generally the largest normal subgroup of $G$ contained in $H$. As previously said, it is ${H}_{r}$ for the dihedral group (except for $H={H}_{2,d}$) and so it is an alternative way to determine $r$.
- Strong Fourier Sampling. It was proved in [MooEtAl2005] that it helps to solve some HSPs on which the weak version fails.
- Weak Fourier Sampling over subgroups. They are used in the extensions proposed in [GriSchVaz2000] and [Gav2004].

The other fundamental methods are given by black box results and we refer to [Lom2004] for a review. Recall that the degree of a group $G$ is defined to be the smallest integer $k>0$ such that there is a one-to-one homomorphism $\phi :G\to {S}_{k}$. For example, we have $k\le \mid G\mid $ by Cayley's theorem, $k=p$ for a cyclic group $G={\mathbb{Z}}_{p}$ of prime order and more generally $k=\sum _{i=1}^{m}\mid {A}_{i}\mid $ for an abelian group with decomposition $A={A}_{1}\times {A}_{2}\times \dots \times {A}_{m}$ where each ${A}_{i}$ is cyclic of prime order. We have seen in previous section that every group has a composition series and we define:

(nu of G)

For any group $G$, $\nu \left(G\right)>0$ is the smallest positive integer bounding the degrees of the nonabelian composition factors.

In particular, if $G$ is solvable all the composition factors are abelian (and even cyclic) so we have $\nu \left(G\right)=1$. In general, we will be interested in groups for which $\nu \left(G\right)=\text{poly}\left(\mathrm{log}\mid G\mid \right)$. [IvaEtAl2001] contains various interesting algorithms, including:

- For a blackbox group with unique encoding, we can find generators of a hidden normal subgroup $N$ in time $\nu \left(\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$N$}\right.\right)$ + input size.
- For a blackbox group with unique encoding, we can solve HSP in time the input size + $[G,G]$.

Actually, an extension of the second point is given in [MooEtAl2005].

- Let ${G}_{1}\u22b2G$, $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{${G}_{1}$}\right.\cong {G}_{2}$. Assume that ${G}_{1}$ is of size polynomial in $\mathrm{log}\mid {G}_{2}\mid $ and that we have an efficient HSP algorithm for ${G}_{2}$, then we also have an efficient HSP algorithm for $G$.

Unfortunately, this construction can not be iterated more than a constant number of times whereas we would like to repeat this a polynomial number of time for the algorithm of figure 6.2. This extension was used in [DenMooRus2008] to solve some particular cases of $\mathrm{Aff}\left(1,{p}^{m}\right)$. Note that the particular case of the commutator is ${G}_{1}={G}^{\text{'}}$, ${G}_{2}$ is the abelianization of $G$, to which we can apply the abelian HSP and we have $\mid {G}_{1}\mid =\mathrm{poly}\left(\mathrm{log}\mid G\mid \right)=\mathrm{poly}\left(\mathrm{log}\mid {G}_{1}\mid ,\mathrm{log}\mid {G}_{2}\mid \right)=\mathrm{poly}\left(\mathrm{log}\mid {G}_{2}\mid \right)$.

Inui and Le Gall studied the case ${\mathbb{Z}}_{{p}^{n}}{\u22ca}_{\phi}{\mathbb{Z}}_{q}$ for $p,q$ prime [InuLeG2004] and gave a complete classification. One of the class contains groups isomorphic to ${\mathbb{Z}}_{{p}^{n}}{\u22ca}_{\phi}{\mathbb{Z}}_{p}$ (${p}^{n}\ne {2}^{2}$ and $\phi \left(b\right)\left(a\right)=a{\left({p}^{n-1}+1\right)}^{b}$) which they solved using enumeration of subgroups and blackbox techniques. Chi, Kim and Lee [ChiKimLee2006] noted that the algorithm also works for some groups ${\mathbb{Z}}_{{2p}^{n}}{\u22ca}_{\phi}{\mathbb{Z}}_{p}$ and extended the algorithm to the class ${\mathbb{Z}}_{N}{\u22ca}_{\phi}{\mathbb{Z}}_{p}$ under some conditions. The idea is to use a factorization of $N$ to factor out the group and then apply Inui and Le Gall's algorithm. Using a similar approach, Cosme and Portugal [CosPor2007] solved some HSPs over ${\mathbb{Z}}_{N}{\u22ca}_{\phi}{\mathbb{Z}}_{{p}^{2}}$. Inui and Le Gall also proposed a different approach for some cases of ${\mathbb{Z}}_{{p}^{m}}^{n}{\u22ca}_{\phi}{\mathbb{Z}}_{p}$, based on blackbox techniques [InuLeG2004].

A general proposal for the semi-direct products $A{\u22ca}_{\phi}{\mathbb{Z}}_{p}$ for some abelian group $A$ and $p$ prime is made in [BacChiDam2005bis]. The first step is similar to the reduction of the dihedral HSP: you use the abelian HSP algorithm over $A$ to find ${H}_{1}=H\cap \left(A\times \left\{0\right\}\right)$ and use a "quotient reduction" (${H}_{1}$ may not be normal, but they find a way to workaround that issue). This reduces the problem to a semi-direct product ${A}_{2}{\u22ca}_{\phi}{\mathbb{Z}}_{N}$ with ${A}_{2}$ a subgroup of $A$. The hidden subgroup is either trivial or the subgroup of size $N$ generated by $\left(d,1\right)$ for some $d\in {A}_{2}$. Next, we use the pretty good measurement with a product of $m$ coset states and reduce the problem to finding equations of a system with $m$ unknowns and some parameters uniformly chosen at random. The authors called it the matrix sum problem and solved it for various groups $A$. In particular, they obtained efficient HSP for $G={\mathbb{Z}}_{p}^{k}{\u22ca}_{\phi}{\mathbb{Z}}_{p}$ ($p$ prime, $k$ constant) and ${\mathbb{Z}}_{N}{\u22ca}_{\phi}{\mathbb{Z}}_{q}$ ($\frac{N}{q}=\text{poly}\left(\mathrm{log}N\right)$ and $q$ prime).

More blackbox techniques have also been developed. Using the hidden shift problem, the HSP over some semi-direct products ${\mathbb{Z}}_{{p}^{k}}^{n}{\u22ca}_{\phi}{\mathbb{Z}}_{2}$ was solved in [FriEtAl2002]. They also introduced orbit coset and orbit superposition problems and use it to solve HSP over some solvable groups. More precisely, they defined:

(smoothly solvable)

An abelian group is smoothly solvable if it can be decomposed into the direct product of a subgroup of bounded exponent and a subgroup of polylogarithmic size. A solvable group is smoothly solvable if its derived series is of bounded length and has smoothly abelian factor groups.

They obtained:

- HSP can be solved in solvable groups having smoothly solvable commutator subgroups

Ivanyos, Sanselme, Santha solved HSP over extraspecial groups [IvaSanSan2007] and later extended their result to nil-2 groups [IvaSanSan2007bis] i.e. such that $\left[\right[G,G],G]=\left\{1\right\}$. They first used the concept of hiding procedure defined in [FriEtAl2002] which generalizes the hiding oracle $f$:

- hiding procedure for a subgroup $H$ of $G$: for every ${g}_{1},\dots ,{g}_{n}\in G$, given the input $\mid {g}_{1}\u27e9\mid {g}_{2}\u27e9\dots \mid {g}_{N}\u27e9\mid 0\u27e9$ it outputs $\mid {g}_{1}\u27e9\mid {g}_{2}\u27e9\dots \mid {g}_{N}\u27e9\mid {\Psi}_{{g}_{1}}^{1}\u27e9\mid {\Psi}_{{g}_{2}}^{2}\u27e9\dots \mid {\Psi}_{{g}_{N}}^{N}\u27e9$, where $\{\mid {\Psi}_{g}^{i}\u27e9,g\in G\}$ form a hiding set of unit states i.e. $\mid {\Psi}_{g}^{i}\u27e9,\mid {\Psi}_{g\text{'}}^{i}\u27e9$ are orthogonal if $g,g\text{'}$ are in distinct left cosets of $H$ and equal otherwise.

The abelian HSP algorithm still works when the oracle is replaced by such a procedure. Then, they reduced the HSP over nil-2 groups to those having exponent $p$. They showed that in that case we can find a hidden subgroup $H$ if we have a hiding procedure for $H[G,G]$ and succeeded in constructing such a hiding procedure.

Finally, note that all the positive results previously mentioned in this section work for groups which are in some sense almost abelian. This is the case for the extensions of the Dedekindian HSP which work for groups with a large amount of normal subgroups, of the semi-directs product of abelian groups $G=A\u22caB$ which can be broken down into $A\cong A\times \left\{0\right\}\u22b2G$ and $\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$A\times \left\{0\right\}$}\right.=\left\{0\right\}\times B\cong B$. More generally, the results obtained from the black box methods break down the groups into abelian pieces through a normal series. However, it does not seem possible to apply this method for groups which contain a non-cyclic simple group in their composition series such that ${A}_{n}$ or ${S}_{n}$. One attempt in that direction is [DenMooRus2008], with algorithms to find some hidden subgroups over the simple group $\mathrm{PGL}\left(2,{p}^{m}\right)$ and other related finite groups of Lie type. More precisely, we have a group $G$ acting on a set $S$ and have the promise that $H$ is a one point stabilizer ${G}_{s}$, $s\in S$. Their idea is to restrict to one of this stabilizer ${G}_{{s}_{0}}$, apply a Strong Fourier Sampling on this group to determine ${G}_{{s}_{0}}\cap {G}_{s}$ and deduce $s$. However to make this work, they need some additional hypotheses that do not seem to be satisfied by many groups. Moreover, it is still open whether we can find an efficient HSP taking into account the other subgroups. This may be hard, for example some maximal subgroups of $\mathrm{PGL}\left(2,{p}^{m}\right)$ are dihedral groups for which we do not have solutions yet.

In this section we discuss how HSP is related to some efficient algorithms
with concrete applications. We have already mentioned in the first part
of this report how particular abelian HSP have been used by Shor to make
efficient algorithms for factoring numbers and computing discrete logarithms.
In appendix D, we give a reduction of Monotone 1-in-3
3SAT to GapCVP^{∞} where one step uses the abelian HSP algorithm to
find the kernel of a group homomorphism. Although the quantum part is not
actually needed here, this provides another example where a HSP can be used.
Hallgren solved particular cases of HSP over the infinite abelian groups
$\mathbb{R}$ and ${\mathbb{R}}^{r}$ [Hal2002], [Hal2005]. This allowed him to design
polynomial-time algorithms for finding solutions
$\left(x,y\right)\in {\mathbb{Z}}^{2}$ to Pell's equation ${x}^{2}-d{y}^{2}=0$ (where $d$ is a positive non-square integer) to which the factoring problem
reduces. He also solved many important number fields problems.

The two non-abelian cases always mentioned are dihedral and symmetric groups. The HSP over these groups (or their variants: generalized dihedral HSP, alternating HSP etc) is expected to solve a lattice problem used in cryptography and the graph isomorphism problem. However, the first application requires the dihedral HSP to be solved by coset sampling while the second looks like out of the scope of all the techniques currently known. Hence, there is another point of view which consists in building cryptographic tools assuming the hardness of the HSP. For example, a classical one-way function is proposed in [MooRusVaz2007] and is at least as hard to invert as solving the Graph Isomorphism Problem. Also, inverting the function reduces to HSP over $\mathrm{GL}\left(n,q\right)$ which is believed to be hard, given the negative results on its subgroup ${S}_{n}$.

[Dam1988] contains a proposal for a hard problem with application in
cryptography: Given $l+1=O\left(\mathrm{log}p\right)$ successive evaluations of the Legendre symbol
$\left(\frac{s}{p}\right),\left(\frac{s+1}{p}\right),\dots ,\left(\frac{s+l}{p}\right)$ predict the next value $\left(\frac{s+l+1}{p}\right)$. The authors of [DamHalIp2002], proposed the related *shifted
Legendre symbol problem*: given access to an oracle
$f\left(x\right)=\left(\frac{x+s}{p}\right)$ determine the hidden shift
$s$. Obviously, an algorithm to solve the *shifted Legendre symbol
problem* using only oracle calls for values
$0\le x\le l$ provides a solution to the problem of [Dam1988]. The authors of
[DamHalIp2002] solved the *shifted Legendre symbol problem* as well
as other related hidden shift problems. They indicate that they can break
certain cryptosystems by a reduction to the shifted
Legendre symbol problem. They say that these cryptosystems can also be broken
by Shor’s algorithm, but the two attacks on the cryptosystems appear to use
completely different ideas. Hence this *shifted Legendre symbol problem*
shows another relation between cryptosystems and HSP: it can be reduced to the
HSP over $G={D}_{p}$ (under certain assumptions) and as we will see in the next section it
can also be reduced to a HSP over
$G={\mathbb{Z}}_{p}\wr {\mathbb{Z}}_{2}$.

Recall that in Grover's algorithm we have
$N$ elements indexed from 0 to
$N-1$, an oracle $\phi :\{0,\dots ,N-1\}\to \{0,1\}$ taking the value 1 for $M\le \frac{N}{2}$ elements and we want to find one of these elements. Here, we take
$M=1$ and denote ${j}_{0}$ the element that satisfies
$\phi \left({j}_{0}\right)=1$. Lomonaco and Kauffman proposed a comparaison between this case and
Shor's algorithm [LomKau2006]. They described Shor's algorithm as an
infinite HSP over $\mathbb{Z}$ with a subgroup $p\mathbb{Z}$ hidden by an oracle $f$. They defined a "push" method, used to reduce the problem to some HSP
over ${\mathbb{Z}}_{q}$ (for some integer $q$) and a new oracle $\tilde{f}$. Next, they considered the HSP over
${S}_{N}$ with hidden subgroup $H={\mathrm{Stab}}_{{j}_{0}}$ of permutations stabilizing
${j}_{0}$. They used the subgroup ${\mathrm{Stab}}_{0}$ and their "push" method to get a new problem where the oracle
$\tilde{f}=\phi $ is just Grover's oracle. However, from the definition of a "push" given
of their paper, it is not obvious that their algorithm is applyable since we
are loosing the group structure. They say that the definitions of the "push"
and Fourier Sampling can be generalized but still the algorithm fails to
provide a solution [Lom2010] . Anyway, Grover's algorithm can be
interpreted as an *efficient* HSP algorithm for otherwise we would have
an exponential speedup instead of the known optimal quadratic speedup
[Zal1997]. Here, we are working over
$G={S}_{N}$ and an efficient algorithm is expected to be polynomial in
$N\mathrm{log}N$. With the promise $H={\mathrm{Stab}}_{{j}_{0}}$, we only need to find the
$j$ satisfying $f\left({\sigma}_{j}\right)=f\left(\mathrm{Id}\right)$ where we use the cycle ${\sigma}_{j}=(\mathrm{0,1},\dots ,j-1,j+1,\dots ,N-1)$ moving all elements but
$j$. This can be done in $O\left(N\right)$ time classically (brute-force search) or even in
$O\left(\sqrt{N}\right)$ time quantumly (Grover's algorithm) and thus the HSP in that case is
efficiently solvable. This was actually noted in [DenMooRus2008], where
efficient algorithms are provided for 1-point stabilizer subgroups of
$\mathrm{SL}\left(2,q\right),\mathrm{PGL}\left(2,q\right),\mathrm{PSL}\left(2,q\right)$. Interestingly, the big picture of their algorithm is similar to the
"push" method above: rather than working over the whole group, they reduce the
sampling to a particular 1-point stabilizer for which they can apply the
non-abelian Fourier Sampling. Note that the size (or number of 1-point
stabilizers) of these three groups is polynomial in
$q$ and the efficient HSP algorithm polynomial in
$\mathrm{log}q$. Thus, the following open question: can we interpret these algorithms
as concrete search problems with an exponentially fast solution?

In this section, we present various problems related to the Hidden Subgroup Problem. Indeed, there have been several proposals to interpret the efficient algorithms of the first part of this report, other than the abelian HSP. New problems have been defined and solved for some particular cases. These problems are often related to HSP and their study has sometimes lead to solutions to instances of HSP. More generally, it is expected that these problems will also provide new quantum algorithms exponentially faster than the classical ones.

One extension is to allow $G$ to be an *infinite* group: it was actually already the case for
the original Shor's algorithm which reduces the HSP over the infinite group
$G=\mathbb{Z}$ to the HSP over some cyclic group
${\mathbb{Z}}_{q}$, for some $q$ large enough. In general, the abelian HSP algorithm works for any
finitely generated abelian group such that
$G={\mathbb{Z}}^{n}$. In order to solve various problem, Hallgren had to introduce HSP over
$\mathbb{R}$ and ${\mathbb{R}}^{r}$ [Hal2002], [Hal2005]. The HSP he considered is finding a
hidden subgroup $H=\u27e8\tau \u27e9$ of $\mathbb{R}$ generated by an irrational
$\tau $ (or said otherwise, determining an irrational period
$\tau $ of a function $f$) as well as finding a hidden lattice
$H$ of ${\mathbb{R}}^{r}$. In both cases, the rough idea is to construct a computable discretized
version of the oracle $f$ and show that we can approximate generators for
$H$.

Other extensions to HSP have been proposed in three different papers, but
they do not seem to have subsequently been studied. One proposal is the
Hidden Subhypergroup Problem [AmiKalRoo2006] where the group
$G$ is generalized to an hypergroup i.e. the product of two elements is a
*subset* of $G$ rather than a single element. A second proposal is the *Hidden
Symmetries Problem* [SchUnr2003] where we generalize the condition
that $f$ is constant on each left coset to a more general property
$\forall x\in G,V(f\left(x\right),f\left(U\left(x\right)\right))$. For example, saying that
$f$ hides $H$ is simply taking $V$ to be the equality and $U\left(x\right)=xH$. The third proposal is the *Hidden Covering Space Problem*
[OsbSev2004] which generalizes the version of HSP given as a coset
sampling black-box. This proposal involves topological spaces and is a bit more
complicated to define. We will just say that we consider Cayley graph of groups
endowed with their natural topology.

A variation that has been extensively studied is the *Hidden Shift
Problem*. In this problem, we have two injective functions
${f}_{0},{f}_{1}$ on $G$ satisfying $\forall x\in G,{f}_{1}\left(x\right)={f}_{0}\left(x+s\right)$ for some $s\in G$. The purpose is to determine the hidden shift
$s$. The problem was solved for many cases, including smoothly solvable
groups [FriEtAl2002], bent functions [Röt2008], functions close to a
quadratic [Röt2009], Legendre symbol [DamHalIp2002] as well as more
general multiplicative characters on finite fields and on ideals
$\raisebox{1ex}{$\mathbb{Z}$}\!\left/ \!\raisebox{-1ex}{$n\mathbb{Z}$}\right.$ [DamHalIp2002]. When
$G$ is abelian, the problem is equivalent to HSP over the generalized
dihedral group $G\u22ca{\mathbb{Z}}_{N}$. In particular, for $G={\mathbb{Z}}_{N}$ the problem is equivalent to DHSP. A decision version is considered in
[ChiWoc2005]: either a shift
$s$ exists or the images of
${f}_{0},{f}_{1}$ are disjoint. We are asked to determine in which case we are. A
solution to this decision version for the symmetric group
$G={S}_{n}$ would provide an efficient algorithm for the rigid graph isomorphism
problem. A *Generalized Hidden Shift Problem* is considered in
[ChiDam2005] and solve for the cyclic group
$G={\mathbb{Z}}_{N}$ under certain conditions. The generalization consists in having
$M$ injective functions ${f}_{0},\dots ,{f}_{M-1}$ satisfying $\forall x\in G,{f}_{i}\left(x\right)={f}_{0}\left(x+is\right)$. Note that the generalized hidden shift problem reduces to HSP over the
wreath product $G\wr {\mathbb{Z}}_{M}$ [FenZha2006]. Hence, the two solutions to the hidden shift problem
from Rötteler mentioned above are particular case of
$G={\mathbb{Z}}_{2}^{n}$ which is solved from the efficient algorithm he obtained with Beth
[RötBet1998]. When the functions
${f}_{0},{f}_{1}$ are not injective, the set of elements
$s\in G$ satisfying the shift equality can be proved to be a coset of some
subgroup $H$ [DamHalIp2002]. Finding this set is then called the *Hidden
Coset Problem*. It turns out that this problem is actually polynomial-time
equivalent to HSP [FenZha2006]. If
$H$ is normal, we can work in the quotient group
$\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{$H$}\right.$ and reduce the problem to the hidden shift problem [Ip2002],
[DamHalIp2002].

To solve some HSP instances, Friedl et al. [FriEtAl2002] used several
HSP-related problems. In addition to the Hidden Shift Problem discussed above
(which is called hidden translation in their paper), they introduced the
* Hidden Stabilizer Problem, Orbit Coset Problem*, and

As many other problems, decision and search versions of HSP have also been
imagined. [FenZha2006] defines
${\mathrm{HSP}}_{D}$ to be the problem of deciding whether
$H$ is trivial and ${\mathrm{HSP}}_{S}$ to be the problem of findind a nontrivial element of
$H$, if there is one. As we have previously seen, this is of particular
importance for the dihedral and symmetric HSP. In the paper, they give a
reduction of HSP to ${\mathrm{HSP}}_{D}$ for the dihedral group (under certain conditions) and a polynomial-time
equivalence between ${\mathrm{HSP}}_{S}$ and ${\mathrm{HSP}}_{D}$ for permutation groups. The latter equivalence suggests that the
problem is hard, since we have this property for problems considered to be
difficult such that NP-complete or graph isomorphism. Another proposal for a
decision version of HSP is the *Hidden Subgroup Test Function* where we
are given $G,H$, as well as a function $f$ on $G$ and want to decide whether the function hides the subgroup
$H$. In [AblVas2009], the function
$f$ is encoded as a particular "input sequence". Similarly in
[FriEtAl2002bis], the *Large Period Problem* is studied: we are
given $G$, a subgroup $K$ and a function $f$. We want to decide whether
$K$ is a proper superset of some subgroup
$H\subseteq G$ hidden by $f$. The problem is solved for abelian subgroups. The paper also defines
the *Common Coset Range Problem*: given
$H\subseteq G$ and two functions ${f}_{0},{f}_{1}$ on $G$ do we have the equality
$\forall x\in G,{f}_{1}\left(xH\right)={f}_{0}\left(xH\right)$? Again, the problem is solved for some particular cases.

Let's consider now the case of the abelian HSP dealing with the vector space
$G={F}_{q}^{m}$ over the finite field ${F}_{q}$, which is studied in [ChiSchVaz2007]. Any subgroup
$H$ is a linear subspace of
$G$ and cosets $g+H$ are parallel affine subspaces. Thus in the abelian HSP over
${F}_{q}^{m}$ we have an oracle constant on each affine subspace, taking distinct
values on different ones and want to find a subspace
$H$. If $H$ is a hyperplane, there are coefficients
${q}_{i}\in {F}_{q}$ such that the linear polynomial
$P\left(x\right)=\sum _{i=0}^{m}{q}_{i}{x}_{i}$ satisfies $H=\mathrm{KerP}$. Moreover, $P$ is constant on each coset and takes distinct values on different ones.
Thus the oracle can be written $f\left(x\right)=\pi \left(P\left(x\right)\right)$ for some fixed unknown permutation
$\pi $ of ${F}_{q}$. The *Hidden Polynomial Problem* is to determine the polynomial
$P$ whose degree is still bounded, but we now allow this degree to be
greater than 1. Similarly to the case of the hyperplane
$H$, we assume that the constant term is
$P\left(0\right)=0$, for otherwise that term can not be determined, since
$\pi $ is arbitrary. The problem can also be viewed as finding the hidden
hypersurface defined by the equation
$P\left(x\right)=0$ and the cosets are replaced by level hypersurfaces (defined by
equations $P\left(x\right)=k$). One special case is when the polynomial is of the form
$P\left(x\right)={x}_{m}-Q({x}_{1},\dots ,{x}_{m-1})$ i.e. the hidden hypersurface is defined by the parametric equation
${x}_{m}=Q({x}_{1},\dots ,{x}_{m-1})$. In that case, the level hypersurfaces are just obtained by translating
along the ${x}_{m}$-axis. This problem, called *Hidden Polynomial Function Graph
Problem* is considered in [DecWoc2007], [DecDraWoc2007] and
solved for quadratic and cubic polynomial
$Q$.

The authors of [ChiSchVaz2007] also consider other hidden structure
problems on $G={F}_{q}^{m}$. They define the *Hidden Radius Problem*: determine an unknown
radius $r$ given a blackbox that outputs superposition over the points of a sphere
of radius $r$ whose center is chosen uniformly at random. Similarly they define the
*Hidden Flat of Center*: determine a flat given a blackbox that outputs
superposition over unit sphere whose center is chosen uniformly at random in
the hidden flat. They give a partial solution to the former and a complete
solution to the latter. Other algorithms of this kind are given in
[Mon2008] for the group $G={\{0,1\}}^{n}$. All these problems are included in the more general category of
*Hidden Shifted Subset Problems*. We have a group
$G$, a subset of elements $S$ and a subset of shifts $T$ the black box outputs uniform superposition of element over the set
$S+t$ for a $t\in T$ chosen uniformly at random. The purpose is to determine some property
of $S$ or $T$. To compare their power with the one of a classical computer, we would
like an approach similar to HSP where we just have an oracle
$f$ whose preimages are the possible superpositions output by the black
box. This does not seem possible in the general case, since the superpositions
considered may intersect but some workarounds are used for the particular
problems mentioned above.