Cryptography Reference
In-Depth Information
4.2.2 Der erweiterte euklidische Algorithmus
Der erweiterte euklidische Algorithmus bestimmt den größten gemeinsamen
Teiler , in Zeichen ggT, zweier (oder mehrerer) ganzer Zahlen.
Sind a 1 ,..., a k ganze Zahlen, so heißt eine Zahl t
Z
gemeinsamer Teiler von
. Die natürliche Zahl 1 ist immer
ein gemeinsamer Teiler. Ist eines der a i , etwa a 1 , ungleich 0, so gilt
a 1 , ..., a k , wenn t
|
a i
für alle i
∈{
1, ..., k
}
|
| ≤ |
|
t
a 1
.
Daher gibt es in diesem Fall ein größtes t
N
, das alle a 1 ,..., a k
teilt, genannt
=
(
)
der größte gemeinsame Teiler der a i . Wir schreiben dafür t
ggT
a 1 ,..., a k
.
Falls alle a 1 ,..., a k gleich 0 sind, so setzt man ggT
(
a 1 ,..., a k )
:
=
0. Der ggT von
endlich vielen Zahlen liegt stets in
N 0 .
Lemma 4.9
Für alle a , b , q
Z
(
)=
(
+
)
gilt ggT
a , b
ggT
a
bq , b
.
Beweis. Wir benutzen Lemma 4.8 (d) zweimal:
(
) |
(
+
) |
(
+
)=
(
)
ggT
a , b
ggT
a
bq , b
ggT
a
bq
bq , b
ggT
a , b
.
Nun folgt die Aussage aus dem Teil (b) in Lemma 4.8.
Aus dieser einfachen Beobachtung ergibt sich der erweiterte euklidische Algo-
rithmus zur Berechnung des ggT von zwei ganzen Zahlen a und b . Er bestimmt
außerdem zwei ganze Zahlen x und y mit
+
=
(
)
ax
by
ggT
a , b
.
Ohne Einschränkung dürfen wir annehmen, dass a
0 gilt. Wir bestimmen
durch sukzessive Division mit Rest im i -ten Schritt ganze Zahlen r i , q i , x i , y i mit
r 0 =
b
>
b ,0
r i <
r i 1 und:
i
Division mit Rest
Darstellung
wobei
=
+
=
+
=
1
a
q 0 b
r 1
r 1
ax 1
by 1
1
y 1 =
x 1
q 0
2
b
=
q 1 r 1 +
r 2
r 2 =
ax 2 +
by 2
x 2 =
q 1 x 1
=
y 2
1
q 1 y 1
=
+
=
+
=
3
r 1
q 2 r 2
r 3
r 3
ax 3
by 3
x 3
x 1
q 2 x 2
y 3 =
y 1
q 2 y 2
.
.
.
=
+
=
+
=
k
r k 1
q k r k
r k + 1
r k
ax k
by k
x k
x k 2
q k 1 x k 1
y k =
y k 2
q k 1 y k 1
.
.
.
n
r n 2 =
q n 1 r n 1 +
r n
r n
=
ax n
+
by n
x n
=
x n 2
q n 1 x n 1
=
y n
y n 2
q n 1 y n 1
+
=
+
=
n
1
r n 1
q n r n
r n + 1
r n + 1
0
Stop!
 
Search WWH ::




Custom Search