provisional version of Modulare Arithmetik - Teil 2 finished
This commit is contained in:
@@ -219,7 +219,7 @@
|
||||
03 & 02 & 01 & 02 \\
|
||||
\end{pmatrix}$$
|
||||
Hierbei ist wichtig anzumerken, dass die Multiplikation nicht in $\mathbf{Z}_{256}$ berechnet wird.
|
||||
Stattdessen sind die Elemente als Elemente des Körpers $\mathbf{F}_{256}$ aufzufassen (siehe \ref{endliche Körper}),
|
||||
Stattdessen sind die Elemente als Elemente des Körpers $\mathbf{F}_{256}$ aufzufassen,
|
||||
der bezüglich des irreduziblen Polynoms $m(x)=x^8+x^4+x^3+x+1\in\mathbb{F}_2[x]$ definiert ist.
|
||||
\item AddRoundKey()\\
|
||||
Es wird eine XOR-Operation der Einträge des S-Arrays mit den entsprechenden Einträgen aus \textbf{K} durchgeführt.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
\chapter{Endliche Körper $\mathbb{F}_{p^n}$} \label{endliche Körper}
|
||||
\chapter{Endliche Körper $\mathbb{F}_{p^n}$}\label{endliche Körper}
|
||||
$\mathbb{F}_p:=\mathbb{Z}_p$ ($p$ ist eine Primzahl) ist ein Körper.
|
||||
Zudem können Körper auch für beliebige Primzahlpotenzen $p^n$ mit $n\in\mathbb{N},n>0$ mithilfe der Polynome aus $\mathbb{F}_p$ vom Grad $<n$ konstruiert werden:
|
||||
$$\begin{aligned}
|
||||
|
||||
128
chapters/Modulare Arithmetik - Teil 2.tex
Normal file
128
chapters/Modulare Arithmetik - Teil 2.tex
Normal file
@@ -0,0 +1,128 @@
|
||||
\chapter{Modulare Arithmetik - Teil 2}
|
||||
\section{Potenzen}
|
||||
Potenzen sind für beliebige Zahlen $a\in\mathbb{Z}_n$ für natürliche Exponenten $i\in\mathbb{N}$ wie üblich definiert:
|
||||
$$a^i:=\underbrace{a\cdot a\cdots a}_i$$
|
||||
Ist $a$ invertierbar ($a\in\mathbb{Z}_n^*$) so sind die Potenzen für alle ganzzahligen Exponenten $i\in\mathbb{Z}$ definiert,
|
||||
indem $a^0 = 1$ und $a^{-i}:=(a^{-1})^i$ definiert werden.
|
||||
Folglich gelten die Folgenden Regeln:
|
||||
\begin{mybox}
|
||||
für $a,b\in\mathbb{Z}_n$ und $i,j\in \mathbb{N}$ oder für $a,b\in\mathbb{Z}_n^*$ und $i,j\in\mathbb{Z}$ gilt:
|
||||
$$\begin{aligned}
|
||||
a^i\cdot a^j &= a^{i+j}\\
|
||||
(a^i)^j &= a^{ij}\\
|
||||
a^i\cdot b^i &= (ab)^i\\
|
||||
\end{aligned}$$
|
||||
\end{mybox}
|
||||
|
||||
\subsection{Erzeugnis und Ordnung eines invertierbaren Elements}
|
||||
Die zyklische Untergruppe, die aus den Potenzen eines Elementes $a\in\mathbb{Z}_n^*$ entsteht wird als Erzeugnis von $a$ in $\mathbb{Z}_n^*$ bezeichnet.
|
||||
$$<a>:=\{a^i\mid i\in\mathbb{Z}\}$$
|
||||
Die Anzahl der verschiedenen Potenzen von $a$ wird als Ordnung von $a$ in $\mathbb{Z}_n^*$ bezeichnet:
|
||||
$$o_n(a):=|<a>|$$
|
||||
Hierbei ergibt sich $a^{o(a)}=1$ und $<a>=\{1,a,a^2,a^3,...,a^{o(a)-1}\}$.\\
|
||||
\begin{mybox}
|
||||
für $n\in\mathbb{N}(n\ge 2);a,b\in \mathbb{Z}_n^*$ und $i\in\mathbb{Z}$ gilt:
|
||||
\begin{enumerate}[(i)]
|
||||
\item $a^i=1 \Longrightarrow o(a)|i$
|
||||
\item $o(a^i)|o(a)$
|
||||
\item $i|o(a) \Longrightarrow o(a^i)=\frac{o(a)}{|i|}$
|
||||
\item $\text{ggT}(o(a),i)=1 \Longrightarrow o(a^i)=o(a)$
|
||||
\item $o(ab)|o(a)\cdot o(b)$
|
||||
\item $\text{ggT}(o(a),o(b))=1\Longrightarrow o(a\cdot b)=o(a)\cdot o(b)$
|
||||
\end{enumerate}
|
||||
\end{mybox}
|
||||
\begin{mybox}
|
||||
Wenn $\mu_n$ für $n\in\mathbb{N},n\ge2$ die maximale Ordnung eines Elementes aus $\mathbb{Z}_n^*$ ($\mu_n:=\max\{o(a)\mid a\in\mathbb{Z}_n^*\}$),
|
||||
ist jede Ordnung von $a$ ein Teiler von $\mu_n$
|
||||
\end{mybox}
|
||||
|
||||
\subsection{Faktorenzerlegung}
|
||||
Falls es für ein Polynom $p(x) \in \mathbb{Z}_n[x]$ ($n\in\mathbb{N}$) vom Grad $k$ eine Nullstelle $a\in\mathbb{Z}_n$ gibt,
|
||||
muss es ein Polynom $q(x) \in \mathbb{Z}_n[x]$ vom Grad $k-1$ geben, für das gilt:
|
||||
$$p(x)=(x-a)\cdot q(x)$$
|
||||
|
||||
\subsection{Kleiner Satz von Fermat}
|
||||
Für eine Primzahl $p$ gilt für alle $a\in\mathbb{Z}$ mit $\text{ggT}(a,p)=1$:
|
||||
$$a^{p-1}\equiv 1 \hspace{10mm}(\mod p)$$
|
||||
|
||||
\section{Exkurs: Einheitengruppe $\mathbb{Z}_{p^e}^*$}
|
||||
Für eine Primzahl $p$ gibt es ein Element $g\in\mathbb{Z}_p^*$ mit $o(g)=p-1$ ($\mathbb{Z}_p^*=<g>=\{1,g,g^2,...,g^{p-2}\}$).
|
||||
Diese Elemente $g$ werden als \textbf{primitive Elemente} bezeichnet.\\
|
||||
Mithilfe der Potenzen der primitiven Elemente lassen sich alle Elemente von $\mathbb{Z}_p^*$ generieren:
|
||||
$$<g>=\mathbb{Z}_p^*$$
|
||||
Diese Elemente werden daher auch als \textbf{Generatoren} von $\mathbb{Z}_p^*$ bezeichnet.
|
||||
Auch für Einheitengruppen $\mathbb{Z}_{p^e}$ für Primzahlpotenzen mit $e>1$ gibt es solche zyklische Generatoren:
|
||||
\begin{mybox}
|
||||
für eine Primzahl $p\ne2$ und $e\in\mathbb{N}$ gibt es ein $g\in\mathbb{Z}_{p^e}^*$ für das gilt:
|
||||
$$\begin{aligned}
|
||||
o(g)=p^{e-1}(p-1) &= \varphi(p^e)=|\mathbb{Z}_{p^e}^*\\
|
||||
\Leftrightarrow\hspace{10mm}<g>&=\mathbb{Z}_{p^e}^*
|
||||
\end{aligned}$$
|
||||
\end{mybox}
|
||||
Hierbei gilt:
|
||||
\begin{mybox}
|
||||
Für ein primitives Element $g\in\mathbb{Z}_p^*$ gilt mit $a:=g^{\frac{o_{p^e}(g)}{p-1}}$:
|
||||
$$\begin{aligned}
|
||||
\mathbb{Z}_{p^e}^*&=<a>\cdot <1+p>\\
|
||||
:&=\{a^i\cdot (1+p)^j\mid i=0,1,...,p-2; j=0,1,...p^{e-1}-1\}
|
||||
\end{aligned}$$
|
||||
\end{mybox}
|
||||
|
||||
\subsection{$\mathbb{Z}_{2^e}^*$}
|
||||
Die Primzahl 2 stellt eine besonderheit dar, da $\mathbb{Z}_{2^e}^*$ für $e\ge3$ nicht zyklisch ist.
|
||||
So gilt $o(5)=2^{e-2}$ und allgemein:
|
||||
$$\begin{aligned}
|
||||
\mathbb{Z}_{2^e}^*&=<2^e-1>\cdot <5>\\
|
||||
&= \{(2^e-1)^i\cdot 5^j\mid i=0,1;j=0,1,...,2^{e-2}-1\}
|
||||
\end{aligned}$$
|
||||
|
||||
\section{Der chinesische Restsatz}
|
||||
Für eine Menge teilerfremder Zahlen $\{(n_1,...,n_r)\mid n_i\in\mathbb{N}\}$ bildet einen Menge $\{(a_1,...,a_r)\mid a_i\in\mathbb{Z}\}$ ein System aus Kongruenzen:
|
||||
$$\begin{aligned}
|
||||
x\equiv&a_1\hspace{10mm} &(\textbf{mod }n_1)\\
|
||||
x\equiv&a_2 &(\textbf{mod } n_2)\\
|
||||
\vdots\\
|
||||
x\equiv&a_r &(\textbf{mod } n_r)\\
|
||||
\end{aligned}$$
|
||||
Die Menge der ganzzahligen Lösungen ist gegeben durch:
|
||||
$$\mathbb{L}=\{a+v\cdot n_1n_2\cdots n_r\mid v\in\mathbb{Z}\}$$
|
||||
Hierbei ist $0\le a < n_1n_2\cdots n_r$ eindeutig.
|
||||
$a$ wird im folgenden Beispiel mithilfe des erweiterten Euklid'schen Algorithmus (siehe \ref{erweiterter Euklid}) berechnet.
|
||||
Aus dem Restsatz leitet sich folgender Satz ab:
|
||||
\begin{mybox}
|
||||
Sind $n_1,n_2,...,n_r$ paarweise teilerfremde Zahlen gibt es die folgende Isomorphie (\ref{Isomorphie}):
|
||||
$$\mathbb{Z}_{n_1n_2\cdots n_r}\cong \mathbb{Z}_{n_1}\times \mathbb{Z}_{n_2}\times\cdots\times\mathbb{Z}_{n_r}$$
|
||||
\end{mybox}
|
||||
|
||||
\subsection{Beispiel}
|
||||
folgende Kongruenzen sind gegeben:
|
||||
$$\begin{aligned}
|
||||
x\equiv&2\hspace{10mm}&(\textbf{mod }5)\\
|
||||
x\equiv&7 &(\textbf{mod }2)\\
|
||||
x\equiv&2 &(\textbf{mod }5)\\
|
||||
\end{aligned}$$
|
||||
\begin{itemize}
|
||||
\item \textbf{Bestimmung von} $e_1$\\
|
||||
für $n_1=5$ und $m_1=21\cdot 11=231$ liefert der erweiterte Euklid'sche Algorithmus (\ref{erweiterter Euklid}):
|
||||
$$(-46)\cdot 5+1\cdot 231 = 1$$
|
||||
Daher ist $e_1 = 1\cdot 231$
|
||||
\item \textbf{Bestimmung von} $e_2$\\
|
||||
für $n_2=21$ und $m_2=5\cdot 11=55$ liefert der erweiterte Euklid'sche Algorithmus (\ref{erweiterter Euklid}):
|
||||
$$(-21)\cdot 21+(-8)\cdot 55 = 1$$
|
||||
Daher ist $e_2 = (-8)\cdot 55=-440$
|
||||
\item \textbf{Bestimmung von} $e_3$\\
|
||||
für $n_3=11$ und $m_3=5\cdot 21=105$ liefert der erweiterte Euklid'sche Algorithmus (\ref{erweiterter Euklid}):
|
||||
$$(-19)\cdot 11+2\cdot 105 = 1$$
|
||||
Daher ist $e_3 = 2\cdot 105=210$
|
||||
\item \textbf{Berechnung der Lösung}\\
|
||||
$n=5\cdot 21\cdot 11=1155$:
|
||||
$$\begin{aligned}
|
||||
a=&(2\cdot e_1+7\cdot e_2+6\cdot e_3)\mod 1155\\
|
||||
=&(2\cdot 231-7\cdot 440+6\cdot 210)\mod 1155\\
|
||||
=&-1358\mod 1155\\
|
||||
=952
|
||||
\end{aligned}$$
|
||||
\end{itemize}
|
||||
|
||||
\section{Elemente gerader und ungerader Ordnung in $\mathbb{Z}_n$**}
|
||||
siehe Skript 3 Kapitel 1.4 auf Seite 17(23).
|
||||
@@ -72,6 +72,23 @@
|
||||
Die Inverse einer quadratischen Matrix $A$ über $\mathbb{Z}_n$ lässt sich mithilfe der Adjunkten berechnen:
|
||||
$$A^{-1} = (\det(A))^{-1} \cdot adj(A)$$
|
||||
Die Adjunkte lässt sich über $\mathbb{Z}_n$ berechnen, da lediglich Summen und Differenzen von Produkten berechnet werden müssen.
|
||||
|
||||
\subsection{Kartesisches Produkt von Ringen}
|
||||
Sind $R_1,R_2,...,R_r$ Ringe, so bildet das kartesische Produkt ($R_1\times R_2\times\cdots\times R_r$)ebenfalls einen Ring mit den folgenden Verknüpfungen:
|
||||
$$\begin{aligned}
|
||||
(a_1,...,a_r)+(b_1,...,b_r)&=(a_1+b_1,...,a_r+b_r)\\
|
||||
(a_1,...,a_r)\cdot(b_1,...,b_r)&=(a_1\cdot b_1,...,a_r\cdot b_r)\\
|
||||
\end{aligned}$$
|
||||
Auch das kartesische Produkt der Einheitengruppen bildet einen Ring:
|
||||
$$R^*=R_1^*\times\cdots\times R_r^*$$
|
||||
|
||||
\subsection{Isomorphie von Ringen}\label{Isomorphie}
|
||||
Eine bijektive Abbildung $f:R_1\rightarrow R_2$ wird Isomorphismus genannt, falls für alle $a,b\in R_1$ gilt:
|
||||
$$\begin{aligned}
|
||||
f(a+b)&=f(a)+f(b)\\
|
||||
f(a\cdot b)&=f(a)\cdot f(b)\\
|
||||
\end{aligned}$$
|
||||
Zwei isomorphe Ringe werden als $R_1\cong R_2$ geschrieben.
|
||||
|
||||
\section{Der erweiterte Euklid'sche Algorithmus}
|
||||
Der Euklid'sche Algorithmus ist ein sehr effizienter Weg den ggT zweier Zahlen zu ermitteln.
|
||||
|
||||
Reference in New Issue
Block a user