# Primitivwurzel

Als Primitivwurzeln werden in der Zahlentheorie, einem Teilgebiet der Mathematik, bestimmte Elemente von primen Restklassengruppen bezeichnet. Die definierende Eigenschaft einer Primitivwurzel ist, dass jedes Element der primen Restklassengruppe als eine ihrer Potenzen dargestellt werden kann.

## Beispiel

Die Zahl 3 ist eine Primitivwurzel modulo 7, da gilt
    ${\begin{array}{rcrcrcrcrcr}3^{1}&=&3^{0}\cdot 3&\equiv &1\cdot 3&=&3&\equiv &3{\pmod {7}}\\3^{2}&=&3^{1}\cdot 3&\equiv &3\cdot 3&=&9&\equiv &2{\pmod {7}}\\3^{3}&=&3^{2}\cdot 3&\equiv &2\cdot 3&=&6&\equiv &6{\pmod {7}}\\3^{4}&=&3^{3}\cdot 3&\equiv &6\cdot 3&=&18&\equiv &4{\pmod {7}}\\3^{5}&=&3^{4}\cdot 3&\equiv &4\cdot 3&=&12&\equiv &5{\pmod {7}}\\3^{6}&=&3^{5}\cdot 3&\equiv &5\cdot 3&=&15&\equiv &1{\pmod {7}}\\\end{array}}$
Es lassen sich also alle Elemente $1,2,\ldots ,6$ der primen Restklassengruppe modulo 7 als Potenzen $3^{i}$ von 3 darstellen, wobei der Exponent $i$ der dem jeweiligen Element zugeordnete Index (diskreter Logarithmus) ist. Die Zahl 2 ist keine Primitivwurzel modulo 7, da $2^{3}=8\equiv 1\ ({\text{mod }}7)$ ist, daher wiederholen sich die Reste in der Folge der Potenzen von 2 modulo 7
    $(2^{k})_{k\in \mathbb {N} }=(2^{1}\not \equiv 1,2^{2}\not \equiv 1,2^{3}\equiv 1,2^{4}\equiv 2,2^{5}\equiv 2^{2}\,\ldots )$
bereits nach jeweils 3 Schritten, daher werden nicht alle 6 verschiedenen primen Reste modulo 7 erreicht und 2 erzeugt die prime Restklassengruppe nicht.

## Definition und Existenzbedingungen

Eine ganze Zahl $a$ ist eine Primitivwurzel modulo $m$, wenn die Restklasse $a+m\mathbb {Z}$ die prime Restklassengruppe $(\mathbb {Z} /m\mathbb {Z} )^{\times }$ erzeugt. Dies ist gleichbedeutend damit, dass eine ganze Zahl $a$ genau dann eine Primitivwurzel modulo $m$ ist, wenn die Ordnung von $a$ modulo $m$ gleich der Gruppenordnung der primen Restklassengruppe ist:
    $\operatorname {ord} _{m}(a)=\varphi (m)$.
Hierbei ist $\varphi$ die Eulersche φ-Funktion und $\operatorname {ord} _{m}(a)$ die multiplikative Ordnung modulo m des Elements $a$, d. h. der kleinste positive Exponent $n$, für welchen $a^{n}\equiv 1\;({\text{mod }}m)$ ist (für die Schreibweise „mod“ siehe Modulo).
Genau dann ist übrigens auch
    $\operatorname {ord} _{m}(a)=\lambda (m)$,
wobei $\lambda$ die Carmichael-Funktion ist.
Es gibt genau dann Primitivwurzeln modulo $m$, wenn die prime Restklassengruppe $(\mathbb {Z} /m\mathbb {Z} )^{\times }$ eine zyklische Gruppe ist. Dies ist nach einem Satz von C. F. Gauß genau dann der Fall, wenn für den Modul
    $m\in \{2,4\}\cup \{kp^{\alpha }\mid 2<p\in \mathbb {P} ,\ \alpha \in \mathbb {N} ,\ k\in \{1,2\}\}$
gilt. Dabei bezeichnet $\mathbb {P}$ die Menge der Primzahlen.
Wenn modulo $m$ Primitivwurzeln existieren, dann existieren genau $\varphi (\varphi (m))$ modulo $m$ inkongruente Primitivwurzeln. Jede dieser Primitivwurzeln ist modulo $m$ kongruent zu einem Element der Menge:
    $\{a^{n}\mid 1\leq n\leq \varphi (m),\ \operatorname {ggT} (n,\varphi (m))=1\}$
wobei $a$ eine beliebige Primitivwurzel modulo $m$ ist.

## Berechnung von Primitivwurzeln
### Ausprobieren (Brute force)

Um festzustellen, ob eine Zahl $a$ Primitivwurzel modulo $m$ ist, wird zuerst $\varphi (m)$ und anschließend die Ordnung von $a$ berechnet. Die Ordnung lässt sich beispielsweise bestimmen, indem nacheinander die Werte $a^{t}({\text{mod }}m)$ für $t\in \{1,2,\ldots ,m-1\}$ berechnet werden. Das erste $t$, für das $a^{t}({\text{mod }}m)=1$ gilt, ist die Ordnung von $a$.
Beim Beispiel aus der Einleitung sieht man, dass die 3 die Ordnung 6 hat. Da zudem $\varphi (7)=6$ gilt, ist 3 eine Primitivwurzel modulo 7.
Eine Zahl, die keine Primitivwurzel modulo 7 ist, ist die 4. Hier gilt
    $4^{1}\equiv 4\ {\pmod {7}}$
    $4^{2}\equiv 2\ {\pmod {7}}$
    $4^{3}\equiv 1\ {\pmod {7}}$
Die Ordnung von 4 ist deshalb 3 und die 4 keine Primitivwurzel modulo 7.
Man kann viele Versuche sparen, indem man die Tatsache benutzt, dass die Ordnung nach dem Satz von Lagrange $\varphi (m)$ teilt, da jede Zahl $k\in \mathbb {N}$, für die $a^{k}\equiv 1({\text{mod }}m)$ gilt, durch die Ordnung teilbar ist. Darum muss man nur noch für alle Teiler von $\varphi (m)$ überprüfen, ob Exponentiation mit ihnen die Zahl auf 1 abbildet, und der kleinste solche Teiler ist die Ordnung.

### Primitivwurzeln modulo Primzahlen

Die primen Restklassengruppen zu Moduln $m$, die Primzahlen sind, bestehen aus genau $m-1$ Elementen. Die Zahlen $1,2,\ldots ,m-1$ sind die Repräsentanten der unterschiedlichen Restklassen. Ist $a$ eine Primitivwurzel modulo $m$, so nimmt der Ausdruck $a^{t}({\text{mod }}m)$ für $t\in \{0,1,2,\ldots ,m-2\}$ alle Werte aus $\{1,\ldots ,m-1\}$ (in scheinbar zufälliger Reihenfolge) an.

#### Beispiele

Die folgende Tabelle zeigt die Primitivwurzeln modulo der Primzahlen bis 100.
| $m$ | $\varphi (\varphi (m))$ | Primitivwurzeln modulo $m$ |
| 2 | 1 | 1 |
| 3 | 1 | 2 |
| 5 | 2 | 2, 3 |
| 7 | 2 | 3, 5 |
| 11 | 4 | 2, 6, 7, 8 |
| 13 | 4 | 2, 6, 7, 11 |
| 17 | 8 | 3, 5, 6, 7, 10, 11, 12, 14 |
| 19 | 6 | 2, 3, 10, 13, 14, 15 |
| 23 | 10 | 5, 7, 10, 11, 14, 15, 17, 19, 20, 21 |
| 29 | 12 | 2, 3, 8, 10, 11, 14, 15, 18, 19, 21, 26, 27 |
| 31 | 8 | 3, 11, 12, 13, 17, 21, 22, 24 |
| 37 | 12 | 2, 5, 13, 15, 17, 18, 19, 20, 22, 24, 32, 35 |
| 41 | 16 | 6, 7, 11, 12, 13, 15, 17, 19, 22, 24, 26, 28, 29, 30, 34, 35 |
| 43 | 12 | 3, 5, 12, 18, 19, 20, 26, 28, 29, 30, 33, 34 |
| 47 | 22 | 5, 10, 11, 13, 15, 19, 20, 22, 23, 26, 29, 30, 31, 33, 35, 38, 39, 40, 41, 43, 44, 45 |
| 53 | 24 | 2, 3, 5, 8, 12, 14, 18, 19, 20, 21, 22, 26, 27, 31, 32, 33, 34, 35, 39, 41, 45, 48, 50, 51 |
| 59 | 28 | 2, 6, 8, 10, 11, 13, 14, 18, 23, 24, 30, 31, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 47, 50, 52, 54, 55, 56 |
| 61 | 16 | 2, 6, 7, 10, 17, 18, 26, 30, 31, 35, 43, 44, 51, 54, 55, 59 |
| 67 | 20 | 2, 7, 11, 12, 13, 18, 20, 28, 31, 32, 34, 41, 44, 46, 48, 50, 51, 57, 61, 63 |
| 71 | 24 | 7, 11, 13, 21, 22, 28, 31, 33, 35, 42, 44, 47, 52, 53, 55, 56, 59, 61, 62, 63, 65, 67, 68, 69 |
| 73 | 24 | 5, 11, 13, 14, 15, 20, 26, 28, 29, 31, 33, 34, 39, 40, 42, 44, 45, 47, 53, 58, 59, 60, 62, 68 |
| 79 | 24 | 3, 6, 7, 28, 29, 30, 34, 35, 37, 39, 43, 47, 48, 53, 54, 59, 60, 63, 66, 68, 70, 74, 75, 77 |
| 83 | 40 | 2, 5, 6, 8, 13, 14, 15, 18, 19, 20, 22, 24, 32, 34, 35, 39, 42, 43, 45, 46, 47, 50, 52, 53, 54, 55, 56, 57, 58, 60, 62, 66, 67, 71, 72, 73, 74, 76, 79, 80 |
| 89 | 40 | 3, 6, 7, 13, 14, 15, 19, 23, 24, 26, 27, 28, 29, 30, 31, 33, 35, 38, 41, 43, 46, 48, 51, 54, 56, 58, 59, 60, 61, 62, 63, 65, 66, 70, 74, 75, 76, 82, 83, 86 |
| 97 | 32 | 5, 7, 10, 13, 14, 15, 17, 21, 23, 26, 29, 37, 38, 39, 40, 41, 56, 57, 58, 59, 60, 68, 71, 74, 76, 80, 82, 83, 84, 87, 90, 92 |

### Primitivwurzeln modulo Primzahlpotenzen

Ist $p$ eine ungerade Primzahl, dann ist eine Primitivwurzel modulo $p^{\alpha }$ mit $\alpha >1$ auch Primitivwurzel modulo kleineren Potenzen von $p$. Interessant für die Suche nach Primitivwurzeln modulo höheren Potenzen von $p$ ist, dass eine Primitivwurzel $\gamma$ modulo $p^{2}$ (mit $2\leq \gamma \leq p^{2}-1$) auch Primitivwurzel zu allen höheren Potenzen von $p$ ist. Daher genügt es für höhere Potenzen der Primzahl $p$,
   * eine Primitivwurzel $\gamma _{1}$ modulo $p$ zu finden (unter den Zahlen $2,3,\ldots ,p-1$),
   * die Zahlen $\gamma _{1}+k\cdot p,\;(0\leq k\leq p-1)$ daraufhin zu testen, ob sie Primitivwurzeln modulo $p^{2}$ sind. Notwendig und bereits hinreichend dafür ist, dass $(\gamma _{1}+k\cdot p)^{p-1}\not \equiv 1({\text{mod }}p^{2})$ ist. Tatsächlich tritt dies bereits für $k=0$ oder $k=1$ ein, d. h. $\gamma _{1}$ oder $\gamma _{1}+p$ ist eine Primitivwurzel modulo $p^{2}$.
Dann hat man mit jeder im zweiten Schritt bestimmten Zahl $\gamma _{2}$ eine Primitivwurzel modulo $p^{\alpha }$ für beliebige $\alpha \in \mathbb {N}$.
Ist die so bestimmte Primitivwurzel $\gamma _{2}$ ungerade, dann ist sie auch Primitivwurzel modulo $2\cdot p^{\alpha }$, sonst gilt dies für $\gamma _{2}+p^{\alpha }$.

## Anwendungsbeispiel

Primitivwurzeln finden eine Anwendung im Diffie-Hellman-Schlüsselaustausch, einem 1976 veröffentlichten kryptografischen Verfahren zum öffentlichen Schlüsselaustausch. Dessen Sicherheit beruht auf der Tatsache, dass
* es einfach ist, zu einer gegebenen Primzahl $p$, Primitivwurzel $g$ und ganzen Zahl $a$ ein $A$ auszurechnen mit $A\equiv g^{a}({\text{mod }}p)$,
es aber
* aufwendig ist, für ein bekanntes $A$ ein entsprechendes $a$ (den sogenannten diskreten Logarithmus) zu finden.