The Fundamental Theorem of Finite Cyclic Groups

The Fundamental Theorem of Cyclic Groups provides guarantees about the existence of cyclic subgroups within a cyclic group.

In the context of the Number Theoretic Transform (NTT) of polynomials over a finite field, and also the FRI operation in ZK-STARKs, we need multiplicative subgroups whose order (number of elements) is a power of two. The Fundamental Theorem of Cyclic Groups enables us to quickly determine if a particular finite field has a multiplicative subgroup with that order or not.

We will cover the following as preliminaries, then get to the Fundamental Theorem of Cyclic Groups:

  1. Definition of a Subgroup
  2. Order of a Group or Subgroup
  3. Powers of an Element in a Multiplicative Group
  4. Cyclic Subgroups, Cyclic Groups, and Their Generators

1. Definition of a Subgroup

Given a group GG, a subset HH of GG is a subgroup of GG if HH forms a group with respect to the group operation in GG. In other words, if we restrict ourselves to elements of HH but keep using the group operation of GG, the criteria for a group all still hold. Most importantly, the operation must be closed in HH, so whenever we apply the operation on two elements of HH, we must get out another element of HH.

Example of Subgroups

The set of integers modulo 8 under addition form a group Z8=({0,1,2,3,4,5,6,7},+)\mathbb{Z}_8 = (\{0, 1, 2, 3, 4, 5, 6, 7\}, +). H1=({0,2,4,6},+)H_1=(\{0, 2, 4, 6\}, +) and H2=({0,4},+)H_2=(\{0, 4\}, +) are both subgroups of Z8\mathbb{Z}_8. On the other hand, H3=({0,2},+)H_3=(\{0, 2\}, +) is not, because (2+2)∉H3(2+2) \not \in H_3

2. Order of a Group or Subgroup

The order of a group GG, denoted by G|G|, is the number of its elements. If a group is not finite, its order is said to be infinite.

Example for the order of a group and subgroup

Consider the group Z8\mathbb{Z}_8 of the example above. The order of Z8\mathbb{Z}_8 is 8, meaning Z8=8|\mathbb{Z}_8| = 8 (since there are exactly 8 elements in the group). Moreover, the order of the subgroup H=({0,2,4,6},+)H = (\{0, 2, 4, 6\}, +) is 4 (i.e. H=4|H| = 4).

3. Powers of an element in a multiplicative group

If gGg \in G, the powers of the element gg, denoted by g\langle g\rangle, form the set {gi:iZ}\{g^i: i\in\mathbb{Z}\}. For example, consider the group of non-zero integers under multiplication modulo 7, G={1,2,3,4,5,6}G =\{1, 2, 3, 4, 5, 6\}. The powers of the element 33 in GG are as follows:

Powers of 3=3={30,31,32,33,34,35,36,}.\begin{aligned} \text{Powers of $3$} = \langle 3\rangle = \{3^0, 3^1, 3^2, 3^3, 3^4, 3^5, 3^6, \dots\}. \end{aligned}

Since:

30=1,31=3,32=92,33=93236,34=99224,35=993223125,36=99922281.\begin{aligned} &3^0 = 1,\\ &3^1 = 3,\\ &3^2 = 9 \equiv 2,\\ &3^3 = 9 * 3 \equiv 2 * 3 \equiv 6,\\ &3^4 = 9 * 9 \equiv 2 * 2 \equiv 4,\\ &3^5 = 9 * 9 * 3 \equiv 2 * 2 * 3 \equiv 12 \equiv 5,\\ &3^6 = 9 * 9 * 9 \equiv 2 * 2 * 2 \equiv 8 \equiv 1. \end{aligned}

How about 373^7?

37=363133(mod7).3^7 = 3^6 * 3 \equiv 1 * 3 \equiv 3 \pmod{7}.

Thus, 3={1,2,3,4,5,6}\langle 3\rangle = \{1, 2, 3, 4, 5, 6\}. For every power 3i3^i with i>6i>6, the result will be one of the elements already in this list.

Exercise: Find the set generated by the element 44.

The powers of an arbitrary element form a Subgroup

Let gg be an arbitrary element in GG. The set of powers of the element gg forms a subgroup. In other words,

g={gi:iZ},\langle g\rangle = \{g^i: i\in\mathbb{Z}\},

is a subgroup of GG.

Proof. See the appendix

4. Cyclic Subgroups, Cyclic Groups, and Their Generators

Let gg be an arbitrary element in GG, then the subgroup g={gi:iZ}\langle g\rangle = \{g^i: i\in\mathbb{Z}\} is called the cyclic subgroup of GG generated by gg. For example, consider the group of non-zero integers under multiplication modulo 7, G={1,2,3,4,5,6}G =\{1, 2, 3, 4, 5, 6\}. The cyclic subgroup generated by the element 22 is:

2={20=1,21=2,22=4,23=1,24=2,25=4,26=1}={1,2,4}\langle 2 \rangle = \{2^0=\boxed{1}, 2^1=\boxed{2}, 2^2=\boxed{4},2^3=\boxed{1},2^4=\boxed{2},2^5=\boxed{4},2^6=\boxed{1}\}=\{1, 2, 4\}

Exercise: Find the subgroup generated by the element 66.

Definition of a Cyclic Group

Let gg be an arbitrary element in GG. If G=gG = \langle g\rangle, then we say that GG is a cyclic group and that gg is a generator of GG. In other words, a group is cyclic if it contains at least one element that generates all the elements of the group.

Example of Cyclic Group and Generators

Consider the group of non-zero integers under multiplication modulo 7, G={1,2,3,4,5,6}G =\{1, 2, 3, 4, 5, 6\}. Since 3=G\langle 3 \rangle = G, as shown above, then GG is a cyclic group and 33 is a generator of GG.

Note that 2={1,2,4}G\langle 2 \rangle = \{1, 2, 4\}\neq G, which means that the element 22 is not a generator of GG, but rather 2 generates a subgroup of GG.

Exercise: Determine whether 55 is a generator of GG

Generators of Cyclic Groups Are Not Necessarily Unique

Cyclic groups have at least one generator, but the generator does not have to be unique. In other words, a cyclic group can have multiple generators, any of which generates the entire group. The same is true for cyclic subgroups.

As you saw in the example and exercise above, the elements 33 and 55 are both generators of the group G={1,2,3,4,5,6}G =\{1, 2, 3, 4, 5, 6\}.

For another example, consider the group of non-zero integers under multiplication modulo 5. i.e, {1,2,3,4}\{1, 2 ,3, 4\}. The elements 22 and 33 generate whole group.

20=1,30=1,21=2,31=3,22=4,32=4,23=3,33=2.\begin{aligned} &2^0 =1,\qquad\qquad\qquad\qquad 3^0 =1,\\ &2^1 =2,\qquad\qquad\qquad\qquad 3^1 =3,\\ &2^2 =4,\qquad\qquad\qquad\qquad 3^2 =4,\\ &2^3 =3,\qquad\qquad\qquad\qquad3^3 =2.\\ \end{aligned}

The Fundamental Theorem of Finite Cyclic Groups

The Fundamental Theorem of Finite Cyclic Groups makes three claims. Let GG be a finite cyclic group, and let HH be a subgroup of GG.

  1. HH is necessarily finite and cyclic (meaning HH has a generator).
  2. The order of HH (the number of elements it has) is a factor of the order of GG. In other words, the order of HH divides the order of GG. For example, suppose the order of GG is 6. We automatically know a subgroup of order 5 cannot exist, since 5 does not divide 6.
  3. If qq is the order of GG and kk divides qq, then a subgroup of size kk necessarily exists and is unique. In fact, we can immediately find a generator for it: if gg is a generator of GG, then gqkg^\frac{q}{k} is a generator for a subgroup of size kk. This subgroup of size kk is equal to gqk\langle g^\frac{q}{k} \rangle. We will show examples of this shortly.

Connection to Lagrange’s Theorem

Statement (2) of the Fundamental Theorem of Finite Cyclic Groups holds for any finite group GG, even if GG is not cyclic. This general result is known as Lagrange’s Theorem.

For brevity, we will call this the Fundamental Theorem of Cyclic Groups, with the understanding that we are dealing with finite groups.

Examples of Using the Fundamental Theorem of Cyclic Groups

Let’s use G={1,2,3,4,5,6}G = \{1,2,3,4,5,6\} under multiplication modulo 7 as our cyclic group. We’ve already shown that g=3g = 3 generates the whole group.

The subgroup of order 1

Using the Fundamental Theorem of Cyclic Groups, we know that GG has a subgroup of order 1, since 1 divides 6. Now let’s find a generator for this subgroup. Since k=1k = 1, we have 3611(mod7)3^{\frac{6}{1}} \equiv 1\pmod{7}. The identity element 11 is clearly a generator of the subgroup of size one.

The subgroup of order 2

Now let’s find the subgroup of size 2. We know it exists because 2 divides 6. Here, we have g=3g = 3, q=6q = 6, and k=2k = 2. Plugging into the formula, we get gqk=362=336mod7g^{\frac{q}{k}} = 3^{\frac{6}{2}} = 3^3 \equiv 6\mod{7}. The element 66 generates the subgroup of order 2 with elements {1,6}\{1, 6\}.

The subgroup of order 3

Since 3 divides 6, there exists a subgroup of order 3. Moreover, the element 3qk=363=322(mod7)3^{\frac{q}{k}} = 3^{\frac{6}{3}} = 3^{2} \equiv 2\pmod{7} is a generator for this subgroup, 2={20,21,22}={1,2,4}.\langle 2\rangle = \{2^0, 2^1, 2^2\} =\{1, 2, 4\}.

The subgroup of order 4, 5

There are no subgroups of order 4 and 5 because these numbers do not divide 6.

The subgroup of order 6

Since 6 divides 6, there exists a subgroup of order 6. Moreover, 3qk=366=31=33^{\frac{q}{k}} = 3^{\frac{6}{6}} = 3^{1} = 3 is a generator of this subgroup:

3={1,2,3,4,5,6}=G.\langle 3 \rangle =\{1, 2, 3, 4, 5, 6\} = G.

Exercise: Consider the group with elements G={1,2,3,4,5,6,7,8,9,10}G = \{1,2,3,4,5,6,7,8,9,10\} under multiplication module 11.

  1. Find a generator for this group.
  2. The group has a subgroup of order 5, since 5 divides the order of GG, which is 10. Find a generator for this subgroup and calculate the subgroup it generates.

Multiplicative Subgroup of Order kk in a Finite Field

We can find multiplicative subgroups of specific order in a finite field. First, let’s see the definition of finite fields:

By definition, a field (F,+,)(\mathbb{F}, + , *) consists of two Abelian (binary operators are commutative) groups:

  1. Additive group(F,+)(\mathbb{F}, +), which is Abelian and finite in a finite field.
  2. Multiplicative group(F,)(\mathbb{F^*}, *)  (where F=F{0}\mathbb{F}^* = \mathbb{F}\setminus\{0\}), which is also Abelian and finite in a finite field.

Note that Fq\mathbb{F}_q denotes a field with qq elements, while Fq\mathbb{F}^*_q (the multiplicative group of Fq\mathbb{F}_q) has q1q-1 elements.

In the following theorem, we see that every finite field necessarily contains a multiplicative subgroup of order q1q - 1 (with 00 omitted).

Theorem 1: The Multiplicative Group Fq\mathbb{F}^*_q is Cyclic of Order q1q-1.

If Fq\mathbb{F}_q is a finite field with order qq, then its multiplicative group Fq\mathbb{F}^*_q is cyclic of order q1q-1.

That Fq\mathbb{F}^*_q forms a group of order q1q-1 follows immediately from the definition of a finite field.

Since proving the cyclicity of the multiplicative group would take us beyond the scope of this article, we will take it as a given fact.

A cyclic group has a generator, therefore we know that some gFqg\in \mathbb{F}^*_q exists such that

Fq={1,g1,g2,,gq2}=g.\mathbb{F}^*_q = \{1, g^1, g^2, \dots, g^{q-2}\} = \langle g \rangle.

Primitive Elements in a Finite Field (Generators)

In field theory, a primitive element of a finite field Fq\mathbb{F}_q is a generator of the multiplicative group of the field. The element gg in Theorem 1 is a primitive element in Fq\mathbb{F}_q.

The Python code below uses the galois library to identify primitive elements (generators) in F7\mathbb{F}_7.

import galois

GF = galois.GF(7)

primitive_elements = GF.primitive_elements
print("Primitive elements:", primitive_elements)
# Primitive elements: [3 5]

# Alternatively, find a single primitive element
# suitable when there are a lot of primitive elements
primitive_element = GF.primitive_element
print("A primitive element:", primitive_element)
# A primitive element: 3

Exercise: Use Python to find all the primitive elements of the multiplicative group of the field F11\mathbb{F}_{11}.

Corollary 1: Testing for Subgroup of Order kk — Existence via Divisors in a Finite Field

A useful corollary is that we can quickly check whether a subgroup of a certain size exists or not by listing all the divisors of q1q-1. For example, consider the field F41\mathbb{F}_{41}, which has a multiplicative group F41\mathbb{F}_{41}^* with order 40. We can quickly check that F41\mathbb{F}_{41}^* has a subgroup of size 8 because 8 divides 40.

As another example, consider the field F17\mathbb{F}_{17}, whose multiplicative group F17\mathbb{F}_{17}^* has order 16. Since 8 divides 16, F17\mathbb{F}_{17}^* has a subgroup of size 8. Similarly, it has a subgroup of size 4, because 4 divides 16, and, as you might guess, F17\mathbb{F}_{17} also has a subgroup of size 2.

To find a generator for a multiplicative subgroup of a given size, we can use statement (3) of the Fundamental Theorem above. The size of Fq\mathbb{F}_{q}^* is q1q-1, so if we have a primitive element gg and want a multiplicative subgroup of order kk, we can calculate gq1kg^\frac{q-1}{k} for any primitive element gg.

All In One Example

Consider the finite field F17={0,1,2,,16}\mathbb{F}_{17} =\{0, 1, 2, \dots, 16\}. For a given kk, we want to find a multiplicative subgroup of order kk in F17\mathbb{F}_{17} using the Fundamental Theorem of Finite Cyclic Groups.

Since the multiplicative subgroup F17\mathbb{F}_{17}^* has order q1=171=16q-1=17-1=16, we know from statement (2) of the Fundamental Theorem of Cyclic Groups that it has subgroups of orders 1, 2, 4, 8, and 16, with the last one being the group itself.

These subgroups are cyclic, so each has at least one generator. From statement (3) of the theorem, we know that a generator for each subgroup is given by gq1kg^\frac{q-1}{k} , where gg is a generator of the full multiplicative group and kk is the size of our desired subgroup.

Therefore, to generate the subgroups, the first step is to find a generator of F17\mathbb{F}_{17}^*, which is a primitive element of F17\mathbb{F}_{17}.

The generator of F17\mathbb{F}^*_{17}

Recall from Theorem 1 that F17\mathbb{F}^*_{17} is a cyclic group. To show that F17\mathbb{F}^*_{17} can be generated by the element 33, we can calculate all powers of 33 as follows:

30=1,31=3,32=9,339310,  (2717=10)3410313,  (3017=13)351335,  (39217=5)365315,3715311,  (45217=11)3811316,  (3317=16)3916314,  (48217=14)3101438,  (42217=8)311837,  (2417=7)312734,  (2117=4)3134312,3141232,  (36217=2)315236,316=631,  (1817=1).\begin{aligned} &3^0 = \boxed{1},\\ &3^1 = \boxed{3},\\ &3^2 = \boxed{9},\\ &3^3 \equiv 9 * 3 \equiv \boxed{10},\space\space (27 - 17 = 10)\\ &3^4 \equiv 10 * 3\equiv \boxed{13},\space\space(30 - 17 = 13)\\ &3^5 \equiv 13 * 3 \equiv \boxed{5},\space\space(39 - 2*17 = 5)\\ &3^6 \equiv 5 * 3 \equiv \boxed{15},\\ &3^7 \equiv 15 * 3 \equiv \boxed{11},\space\space(45 - 2*17 = 11)\\ &3^8 \equiv 11 * 3 \equiv \boxed{16},\space\space(33 - 17 = 16)\\ &3^9 \equiv 16 * 3 \equiv \boxed{14},\space\space(48 - 2*17 = 14)\\ &3^{10} \equiv 14 * 3 \equiv \boxed{8},\space\space(42 - 2*17 = 8)\\ &3^{11} \equiv 8 * 3 \equiv \boxed{7},\space\space(24 - 17 = 7)\\ &3^{12} \equiv 7 * 3 \equiv \boxed{4},\space\space(21 - 17 = 4)\\ &3^{13} \equiv 4 * 3 \equiv \boxed{12},\\ &3^{14} \equiv 12 * 3 \equiv \boxed{2},\space\space(36 - 2*17 = 2)\\ &3^{15} \equiv 2 * 3 \equiv \boxed{6},\\ &3^{16} = 6 * 3 \equiv \boxed{1},\space\space(18 - 17 = 1). \end{aligned}

How about 3173^{17}?

317=316313=3.3^{17} = 3^{16} * 3 \equiv 1 * 3 = 3.

You can see that for all i17i \ge 17, the element 3i3^i is equal to one of the 30,31,32,,3163^0, 3^1, 3^2, \dots, 3^{16}. You can also see that every value in {1,2,…,16} shows up somewhere in the list of powers of 3. Then, 3={1,2,,16}=F17\langle 3 \rangle = \{1, 2, \dots, 16\} = \mathbb{F}^*_{17}.

This generator can be found in Python code with galois.primitive_elements.

import galois

GF = galois.GF(17)

primitive_element = GF.primitive_element
print("A primitive element:", primitive_element)
# A primitive element: 3

Finding the subgroup of order kk in F17\mathbb{F}^*_{17}

Suppose we want to determine whether a multiplicative subgroup of order k=4k=4 exists in the finite field Fq=F17\mathbb{F}_q = \mathbb{F}_{17}. Note that the multiplicative group of Fq\mathbb{F}_q has size q1q-1. For F17\mathbb{F}_{17}, the multiplicative group F17\mathbb{F}_{17}^* has q1=171=16q-1 = 17-1 = 16 elements.

Recall from the Fundamental Theorem of Finite Cyclic Groups that since kk divides q1q-1 (explicitly, 44 divides 16), then gq1kg^{\frac{q-1}{k}} is a generator and gq1k\langle g^{\frac{q-1}{k}}\rangle is a subgroup of size 4.

gq1k=3164=3413(mod17).g^{\frac{q-1}{k}} = 3^{\frac{16}{4}} = 3^4 \equiv 13\pmod{17}.

Thus, 13 is a generator for the subgroup of size 4 in F17\mathbb{F}^*_{17} and

13={130=1,131=13,13216,1334,1341,13513,}.\langle 13 \rangle = \{13^0 = \boxed{1}, 13^1 = \boxed{13}, 13^2\equiv\boxed{16}, 13^3\equiv\boxed{4}, 13^4\equiv\boxed{1}, 13^5\equiv\boxed{13}, \dots\}.

Explicitly, {1,13,16,4}\{1, 13, 16, 4\} is the subgroup.

Exercise: Compute the multiplicative subgroups of order 22 and 88.

Summary

  • The goal is to find the multiplicative subgroups of size kk in the field Fq\mathbb{F}_q.
  • If G=g={gi:iZ}G = \langle g\rangle = \{g^i: i\in\mathbb{Z}\}, then GG is a cyclic group, and gg is a generator of GG.
  • If Fq\mathbb{F}_q is a finite field of order qq, then (Fq,.)(\mathbb{F}^*_q, .) is a cyclic group of order q1q-1.
  • The Fundamental Theorem of Cyclic Groups states that the finite field Fq\mathbb{F}_q has a subgroup of size kk if and only if kk divides q1q-1. Moreover, a generator of this subgroup is gq1kg^{\frac{q-1}{k}}, where gg is a generator of the multiplicative group Fq\mathbb{F}^*_q.

Appendix

We will check the three conditions necessary for g\langle g \rangle to be a subgroup of GG.

Identity: Since 1=g01 = g^0, then 1g1 \in \langle g \rangle.

Closure: Suppose a,bga, b \in \langle g \rangle. Then we know a=gna = g^n and b=gmb = g^m for some n,mn, m. Applying the group operation gives

ab=gngm=gn+m.ab = g^ng^m = g^{n+m}.

Since n+mZn+m\in\mathbb{Z}, hence abgab\in \langle g \rangle.

Inverse: Suppose aga\in \langle g \rangle. Then a=gma = g^m for some mm,

a1=(gm)1=gm.a^{-1} = (g^m)^{-1} = g^{-m}.

Since mZ-m\in\mathbb{Z}, so a1ga^{-1} \in \langle g \rangle.

Exercises

What are all the orders of the multiplicative subgroups of F31\mathbb{F}_{31} and a generator for each subgroup?

What are all the orders of the multiplicative subgroups of F5\mathbb{F}_{5} and a generator for each subgroup?

What are all the orders of the multiplicative subgroups of F51\mathbb{F}_{51} and a generator for each subgroup?

Ready to Get Started?Join Thousands of Users Today

Start your free trial now and experience the difference. No credit card required.

© 2025 Better-Start. All rights reserved.