We define a subgroup of
I called the
Now, another clarification is necessary. Sometimes when papers refer to
From this example we can easily imagine the left part as series of
[ This reasoning works in general proving this fact ].
Now, placing this reasoning into this context, having only coprimes of
Now having made this important clarification we can safely assume that the number of subgroups is always
Let
Let
implies
and since
but this can't be true since
Also no element of
Therefore
Otherwise if we didn't consider any
which obviously divides
Now, let's say that there is still some other element left in
we would obtain
and iterating up to
which still divides
Let
since we are constrained to get
for any
This proof is also important because it proves that every element of any subgroup of
for an
for an
This proves the fact each element is different before
Now, if we start reasoning deeply about the potential repetitions of elements, we can understand that the uniqueness proof was already implied even before Lagrange's Theorem, because the definition of subgroups itself implies the elements of them being delimited by the last element which is
Let
for any
Hence
Now consider
indeed
Now let
hence
Clarifications about $Z_{\phi(8)}^{\ast}, Z_{\phi(12)}^{\ast}, Z_{\phi(15)}^{\ast}, Z_{\phi(16)}^{\ast}, \dots, Z_{\phi(32)}^{\ast}, \dots, Z_{\phi(64)}^{\ast}, \dots, Z_{\phi(128)}^{\ast} \dots$
This section requires knowledge about roots of unity.
Any group of the form
This can be proved by induction but I'm not taking this challenge to the end (even though I verified the induction). There's another way to prove that any multiplicative finite group
Consider the roots of unity of
which trivially generates
Squaring produces
which simply means that the roots of unity of
(you can find this values solving the trigonometric equations); squaring we trivially get
This means that in this case the Euler's theorem is optimizable and no generators exist for
Now, consider
and squaring produces
since [https://github.com/Z323323/Complex-numbers-background?tab=readme-ov-file#ez-analysis]. Squaring again produces
Indeed, you can find out that any element of
This same process can be easily iterated for
for any
can't have generators because every subgroup of
Note that I specified
Now, following [https://github.com/Z323323/Group-theory-1], we can see that if we have
such that
and since
-
$Z_{p}^{\ast}$ for$p$ prime always have generators. -
$Z_{n}^{\ast}$ for$n$ non-prime can't have generators. -
$Z_{\phi(n)}^{\ast}$ for$n$ non-prime can have generators. -
$Z_{\phi(n)}^{\ast}$ for$\phi(n) = 2^tXYZ\dots, t \geq 2$ can't have generators.
Consider
then
Refer to [https://crypto.stanford.edu/pbc/notes/numbertheory/cyclic.html], first theorem under 'Counting generators' section.
This is not simple stuff, indeed such intuition is basically the same as the one which makes RSA to work [https://github.com/Z323323/Number-theory-interlude-1].
We can reproduce this exponent using arbitrary units
iff
then if
hence we can conclude that since
(if they exist).
We can further expand the reasoning and note that this is applicable for any subgroup since
and
iff
hence
and this means that there will be
[2,988s][~/Scrivania]$ python3 Zn.py
Enter integer number to see every multiplicative subgroup and its order:
8
Printing results using Zn as modulo and stopping at ϕ(n)...
1 ->[ 1 1 1 1 ]
2 ->[ 2 4 0 0 ]
3 ->[ 3 1 3 1 ]
4 ->[ 4 0 0 0 ]
5 ->[ 5 1 5 1 ]
6 ->[ 6 4 0 0 ]
7 ->[ 7 1 7 1 ]
[0,900s][~/Scrivania]$ python3 Zn.py
Enter integer number to see every multiplicative subgroup and its order:
9
Printing results using Zn as modulo and stopping at ϕ(n)...
1 ->[ 1 1 1 1 1 1 ]
2 ->[ 2 4 8 7 5 1 ]
3 ->[ 3 0 0 0 0 0 ]
4 ->[ 4 7 1 4 7 1 ]
5 ->[ 5 7 8 4 2 1 ]
6 ->[ 6 0 0 0 0 0 ]
7 ->[ 7 4 1 7 4 1 ]
8 ->[ 8 1 8 1 8 1 ]
This section is part of [https://crypto.stanford.edu/pbc/notes/numbertheory/gengen.html].
Here I will try to collapse the results of proofs of the linked resource. Since those proofs are really complex, and I don't want to copy paste them, I'll just try to extrapolate the results, and provide some useful tips in order to better understand such theorems.
Initially I would say that one of the worst things to understand is the first binomial expansion. There
From the first theorem of the aforementioned section, we can see that any generator we find in
All this keeping an eye to the exceptional case. Let's make an example.
We proceed taking
We know the magic formula is
then
substituting in the formula
Now, let's fire off my Zn.py using of course 49. Let's start calculating every
After flying around using the Zn.py spaceship we can get back to planet Earth, and observe that this theorem (the one at the link) basically proves that the generators of
Now, let's try to expand the reasoning to
and so on.
Using the same intuitions of Ben (this is for my mental safety), let
always generates
$(g + kp)^{p} = g + kp (\mod p^3)$
and
$(g + kp)^{p(p - 1) + 1} = g + kp (\mod p^3)$
Let's deploy another example, if it works we can state that the generators of powers of a prime which are
Using the first formula we derived [i.e. using
and substituting:
which is not a generator indeed.
which also is not a generator.
Now a fast check enables us to see that there's still
which is our last fake-generator.
Now, what happens if we consider the second case using
which is not a fake gen (it's the first generator), then why is this result wrong? The reason is (not) simple; basically
Thus the right calculation for
which is correct although we already found it. I know this is kinda messy. This whole reasoning proves that in order to find every fake-generator we will need to keep into consideration every
and derive every
It's really messy but in general we won't need all of these calculations I guess, so we can safely proceed.