Kryptographie - CDC

Werbung
Technische Universität Darmstadt
Fachgebiet Theoretische Informatik
Prof. Johannes Buchmann
Dr. Juliane Krämer
Einführung in die
Kryptographie
WS 2015/ 2016
1. Lösungsblatt — 15.10.2015
Announcement
Please check regularly the following website, where we publish the exercises, the solutions, and all other
relevant information: https://www.cdc.informatik.tu-darmstadt.de/cdc/studium-und-lehre/lehre/ws-15-16/
iv-einfuehrung-in-die-kryptographie
The exercises will be published on the website on Tuesdays. Please print them and bring them to the tutorial. The
solutions to the exercises will be published online together with the exercises of the next week.
A1 Schutzziele
(a) Nennen und beschreiben Sie mindestens vier Schutzziele, die man mit Kryptographie erreichen kann. Wie kann
man sie erreichen?
Solution:
• Vertraulichkeit: Information wird nur Berechtigten zugänglich gemacht, z.B. durch Verschlüsselung.
• Integrität: Bei Transport und Speicherung werden Daten nicht verändert, z.B. durch Verschlüsselung und
MAC.
• Authentizität (ist Teil von Integrität): Herkunft ist verifizierbar, z.B. durch MAC.
• Identifikation: Identität des Kommunikationspartner ist verifizierbar, z.B. durch Digitale Signaturen.
• Nichtabstreitbarkeit: Integrität und Authentizität sind Dritten gegenüber nachweisbar, z.B. durch Digitale
Signaturen.
(b) Beschreiben Sie ein persönliches Erlebnis in dem mindestens zwei Schutzziele eine Rolle spielen.
Solution: Beispiel Online Banking:
• Vertraulichkeit: Meine Zugangsdaten werden nicht abgehört,
• Integrität: Das Zielkonto meiner Überweisung wird nicht verändert,
• Identifikation: Ich rede mit meiner Bank.
A2 Faktorisierung
1. Faktorisieren Sie die Zahl 2310.
Solution: 2310 = 2 · 3 · 5 · 7 · 11
2. Faktorisieren Sie die Zahl 2048.
Solution: 2048 = 211
3. Bestimmen Sie die Anzahl der Teiler von 2n , n ∈ Z>0 .
Solution: 2n hat nur einen Primfaktor, nämlich die 2. Dieser teilt 2n n-mal. Damit hat 2n genau 2·(n+1) Teiler,
nämlich 20 , . . . , 2n und −20 , . . . , −2n .
A3 Größter gemeinsamer Teiler (ggT)
1. Zeigen Sie, dass für beliebige natürliche Zahlen a, b, c gilt:
g g T (a, c) = 1 ∧ b | c ⇒ g g T (a b, c) = b
Solution: Es ist klar, dass b | ab und b | c gilt. Damit gilt b | g g T (a b, c), also g g T (a b, c) = x b für ein x ∈ N.
Aus x b | ab folgt dann x | a und aus x b | c folgt x | c/b | c , da c/b ∈ N. Daraus folgt x | g g T (a, c) = 1, also
x = 1 und g g T (ab, c) = b.
1
2. Zeigen Sie, dass für beliebige ganze Zahlen a, b, c gilt:
a | c, b | c, g g T (a, b) = 1 ⇒ a b | c
Solution: Da a und b teilerfremd sind, gibt es x, y ∈ Z mit 1 = a x + b y , und daher c = ac x + bc y . Aus b | c
folgt a b | ac , also ab | ac x . Analog: ab | bc y . Dann teilt a b die Summe, die c ist.
A4 Euklidischer Algorithmus
(a) Sei a = 119, b = 427. Berechnen Sie ggT(a, b) mit Hilfe des euklidischen Algorithmus.
Solution: Es gilt ggT(119, 427) = 7.
(b) Sei a = 89. Für welche der drei Werte b1 = 34, b2 = 55 b3 = 56 oder b4 = 76 benötigt der Euklidische
Algorithmus die geringste Laufzeit (Anzahl von Iterationen) um g g T (a, bi ) zu berechnen? Was fällt bei der
längsten Laufzeit im Algorithmus auf?
Solution: Der Euklidische Algorithmus benötigt zur Berechnung von
g g T (89, 34) :
g g T (89, 55) :
g g T (89, 56) :
g g T (89, 76) :
8
9
6
5
Iterationen. Man sieht, das die Zahl der Iterationen nicht notwendig mit der Größe des zweiten Operanden
wächst. Die größte Zahl der Iterationen (9) wird für die Berechnung von g g T (89, 55) benötigt. In diesem Fall
sind alle Quotienten qk = 1.
A5 Erweiterter Euklidischer Algorithmus
Seien a, b, n ganze Zahlen. Betrachten Sie die diophantische Gleichung
ax + b y = n
(1)
"Diophantische Gleichung” bedeutet, dass wir nur ganzzahlige Lösungen suchen.
(a) Zeigen Sie, dass die Gleichung (1) genau dann eine Lösung (x, y) ∈ Z2 hat, wenn ggT(a, b) ein Teiler von n ist.
Solution: Ist ggT(a, b) = d . Dann gibt es r, s ∈ Z, sodass ggT(r, s) = 1 und a = r · d , b = s · d .
⇒ Sei x 0 , y0 eine Lösung. Dann
ax 0 + b y0 = n = r d x 0 + sd y0 = (r x 0 + s y0 )d → d | n
⇐ Sei d | n. Dann gibt es ein t ∈ Z mit: n = t · d .
Da ggT(a, b) = d → ∃ a0 , b0 ∈ Z mit: aa0 + b b0 = d . Dann gilt:
t · aa0 + t · b b0 = t · d
d.h. ∃x 0 = a0 t , y0 = b0 t mit ax 0 + b y0 = t · d = n.
(d) Bestimmen Sie mit dem erweiterten Euklidischen Algorithmus den ggT von 93 und 42 und stellen Sie ihn als
Linearkombination der beiden Zahlen dar.
Solution: gcd(93, 42) = 3 = 5 · 93 − 11 · 42
2
Herunterladen