Kurzskript zur elementaren Zahlentheorie und RSA - Institut für ...
Kurzskript zur elementaren Zahlentheorie und RSA - Institut für ...
Kurzskript zur elementaren Zahlentheorie und RSA - Institut für ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4 1 GRUNDLAGEN<br />
Lemma 1.5. Seien a, b, c ∈ Z. Dann gilt:<br />
(i) ggT(a, b) = |a| genau dann, wenn a | b.<br />
(ii) ggT(a, a) = ggT(a, 0) = |a| <strong>und</strong> ggT(a, 1) = 1.<br />
(iii) Kommutativität: ggT(a, b) = ggT(b, a).<br />
(iv) Assoziativität: ggT(a, ggT(b, c)) = ggT(ggT(a, b), c).<br />
(v) Distributivität: ggT(c · a, c · b) = |c| · ggT(a, b).<br />
(vi) Gilt |a| = |b|, so folgt stets ggT(a, c) = ggT(b, c).<br />
(vii) Ist g = ggT(a, b), g > 0, so existieren s, t ∈ Z mit g = s · a + t · b.<br />
Die Darstellung Lemma 1.5 (vii) liefert der Erweiterte Euklidische Algorithmus,<br />
der in einem beliebigen euklidischen Ring durchgeführt werden kann. Wir geben<br />
ihn der Einfachheit halber nur <strong>für</strong> ganze Zahlen an. Die hier vorgestellte Version<br />
kann aber leicht in eine Version <strong>für</strong> Polynome “umgeschrieben” werden, wenn<br />
man die entsprechenden Ungleichungen als Ungleichungen über den Grad der<br />
betrachteten Polynome interpretiert.<br />
Vorab aber noch ein kleines Lemma, das uns beim Beweis der Korrektheit des<br />
Algorithmus sehr nützlich sein wird:<br />
Lemma 1.6. Seien a, b ∈ Z. Dann gilt: ggT(a, b) = ggT(a mod b, b).<br />
Beweis. Division mit Rest liefert a = q · b + (a mod b). Es gilt: ggT(a, b) teilt<br />
sowohl a als auch b, also auch a mod b = a − q · b <strong>und</strong> damit ggT(a mod b, b).<br />
Umgekehrt teilt ggT(a mod b, b) sowohl a mod b als auch b <strong>und</strong> damit auch a = q·<br />
b + (a mod b). Wir erhalten also ggT(a, b) | ggT(a mod b, b) <strong>und</strong> ggT(a mod b, b) |<br />
ggT(a, b). Daraus folgt die Behauptung.<br />
Algorithmus 1.7. (Erweiterter Euklidischer Algorithmus (EEA)) Seien<br />
a, b ∈ Z mit |a| ≥ |b|.<br />
(1) Setze r 0 := a, r 1 := b, s 0 := 1, s 1 := 0, t 0 := 0, t 1 := 1 <strong>und</strong> i := 1.<br />
(2) Wiederhole den folgenden Schritt, bis r l+1 = 0 gilt <strong>für</strong> ein l ∈ N 0 :<br />
Berechne q i := r i−1 quot r i als ganzzahligen Quotienten von r i−1 <strong>und</strong><br />
r i .<br />
r i+1 := r i−1 − q i · r i (d.h. r i+1 = r i−1 mod r i )