Grundlagen der Informationssicherheit

Werbung
Wiederholung: Verschlüsselungsverfahren
Private-Key-Verfahren (symmetrische Verfahren)
gleicher Schlüssel zum Ver- und Entschlüsseln
Schlüsselverteilungsproblem
schnell
z.B. klassische Chiffren, DES, AES, IDEA
Public-Key-Verfahren (asymmetrische Verfahren)
verschiedene Schlüssel zum
I Verschlüsseln (öffentlicher Schlüssel)
I Entschlüsseln (geheimer Schlüssel)
keine geheime Schlüsselvereinbarung vor
Kommunikation notwendig
Chosen-Plaintext-Angriffe immer möglich
Merkles Rätsel
Schlüsselvereinbarung nach Diffie-Hellman
Wiederholung: Mathematische Grundlagen
I
Rechnen mit Restklassen:
Addition / additive Inverse
Multiplikation / multiplikative Inverse
Potenzieren / diskreter Logarithmus
I
primitive Elemente
I
Einweg-Funktionen,Einweg-Falltürfunktionen
I
Berechnung der multiplikativen Inversen:
kleiner Fermat
Erweiterung für Produkte zweier Primzahlen
erweiterter Euklidischer Algorithmus
Algebraische Strukturen
Eine algebraische Struktur (A, Ω) besteht aus
einer Menge A 6= ∅ (Trägermenge)
Operationen f ∈ Ω mit f : An → A
I Relationen R ∈ Ω mit R ⊆ An
I
I
Beispiele (bekannt aus Mathematik und vorangegangenen
Vorlesungen):
( , +, ·, 0, 1), ( , +, ·, 12, 27), ( , ggT, 0), ( , ≤), ( , +, ·, 0, 1, ≤),
(3 , ·, 0), wobei n = {nz | z ∈ }, ( n , −, ·, −7),
(2X , ∪, ∩, ∅, X ), (2X , ⊆)
Algebraische Strukturen werden charakterisiert durch Axiome
(Eigenschaften und Zusammenhänge zwischen Operationen und
Relationen)
Bedeutung in der Informatik, z.B. für
N
Z
N
Z
N
Z Z
N
N
Boolesche Algebra
I Datentypen, Datenstrukturen
I Schnittstellen (Interfaces)
I Modellierung sequentieller und nebenläufiger Prozesse
I
Halbgruppen
Definition 4.6
Eine algebraische Struktur (A, ◦) heißt genau dann
Halbgruppe, falls ◦ : A × A → A eine totale zweistellige
assoziative Funktion ist, d.h. für alle x, y , z ∈ A gilt
(x ◦ y ) ◦ z = x ◦ (y ◦ z)
N
N
N
N
N
Z
Beispiele: ( , +), ( , ·), ( , max), ( , min), ( , ggT), ( , +),
( , ·), ( , ·),
(2X , ∪), (2X , ∩), ({0, 1}, min), ({0, 1}, max)
(n , +), (n , ·), ( n , +), ( n , ·)
Z Q
Z
Z
Z
Z
Eine Halbgruppe (A, ◦) heißt genau dann kommutative
Halbgruppe, wenn ◦ kommutativ ist, d.h. für alle x, y ∈ A gilt
x ◦y =y ◦x
Monoide und Gruppen
Definition 4.7
Eine algebraische Struktur (A, ◦, e) heißt genau dann Monoid,
falls (A, ◦) eine Halbgruppe ist und für jedes x ∈ A gilt
x ◦ e = e ◦ x = x.
e heißt neutrales Element in (A, ◦).
N
Z
Z
N
Q
Z
N
N
Beispiele: ( , +, 0), ( , ·, 1), ( , max, 0), ( , ggT, 0),
(n , +, 0), ( , ·, 1), ( , ·, 1),
(2X , ∪, ∅), (2X , ∩, X ), ({0, 1}, min, 1), ({0, 1}, max, 0)
(n , +, 0), ( n , +, 0), ( n , ·, 1)
Z
Z
Ein Monoid (A, ◦, e) heißt genau dann kommutativ, wenn ◦
kommutativ ist.
Gruppen
Definition 4.8
Eine algebraische Struktur (A, ◦, e) heißt genau dann Gruppe,
falls (A, ◦, e) ein Monoid ist und für jedes x ∈ A ein y ∈ A
existiert, so dass gilt x ◦ y = y ◦ x = e.
x −1 = y heißt invers zu x.
Z
Z
Zn , +, 0), (Q, ·, 1),
Beispiele: ( , +, 0), (n , +, 0), (
( n , ·, 1) für Primzahlen n
Z
Eine Gruppe (A, ◦, e) heißt genau dann kommutativ, wenn ◦
kommutativ ist.
Ringe
Definition 4.9
Eine algebraische Struktur (A, +, ·, 0) heißt genau dann Ring, wenn
sie die folgenden Axiome erfüllt:
(A, +, 0) ist eine kommutative Gruppe,
(A, ·) ist eine Halbgruppe,
I für alle x, y , z ∈ A gilt x(y + z) = xy + xz, (x + y )z = xz + yz
(Distributivgesetze)
I
I
Ist außerdem (A, ·, 1) ein Monoid, dann heißt (A, +, ·, 0, 1) Ring mit
Eins.
Ist außerdem (A \ {0}, ·, 1) eine Gruppe, dann heißt (A, +, ·, 0, 1)
Körper.
Beispiele:
Z
Z
Q
( , +, ·, 0, 1) ist Ring mit Eins,
(2 , +, ·, 0) ist Ring,
I ( , +, ·, 0, 1) ist Körper,
I ({0, 1}, XOR, ·, 0, 1) ist Ring mit Eins,
I Restklassenring ( n , +n , ·n , 0, 1) (mit Eins),
für Primzahlen n ist ( n , +n , ·n , 0, 1) Restklassenkörper
I
I
Z
Z
Boolesche Algebren
Definition 4.10
Eine algebraische Struktur (A, +, ·, ¬, 0, 1) heißt genau dann
Boolesche Algebra, wenn sie die folgenden Axiome erfüllt:
(A, +, 0) ist ein kommutatives Monoid,
(A, ·, 1) ist ein kommutatives Monoid,
I für alle x, y , z ∈ A gilt x · (y + z) = (x · y ) + (x · z),
x + (y · z) = (x + y ) · (x + z) (Distributivgesetze)
I für alle x, y ∈ A gilt x + (x · y ) = x, x · (x + y ) = x
(Absorptionsgesetze)
I für alle x, y ∈ A gilt x + ¬x = 1, x · ¬x = 0, (Komplementgesetze)
I
I
Beispiele: ({0, 1}, max, min, ¬, 0, 1), (2X , ∪, ∩, , ∅, X )
Vektorrräume
mehrsortige algebraische Strukturen
(S, V , +S , ·S , +V , ·, 0S , 1S , 0V )
I Trägermengen:
I
I
I
Menge V von Vektoren
Menge S von Skalaren
Operationen, z.B.
I
I
I
I
I
Skalarsumme +S : S × S → S
Vektorsumme +V : V × V → V
skalares Produkt ·S : S × S → S
skalare Multiplikation · : S × V → V
Skalarprodukt h·, ·i : V × V → S
Vektorraum-Axiome: (S, +S , ·S , 0S , 1S ) ist ein Körper und
für alle a, b ∈ S und alle u, v ∈ V gilt:
(a ·S b) · v
(a +S b) · v
= a · (b · v )
= a · v +V b · v
a · (u +V v ) = a · u +V a · v
1S · v
= v
ElGamal-Verschlüsselungsverfahren
(Taher ElGamal 1985)
asymmetrisches Verfahren zur Verschlüsselung
Modifikation des Diffie-Hellman-Verfahrens
Verschlüsselung nach ElGamal:
1. Schlüsselerzeugung (durch B):
I B wählt (n, p) mit Primzahl n und p ∈
n
gB
I B wählt g ∈
mod n
n und berechnet b = p
B
erzeugte Schlüssel: (n, p, b) (öffentlich) und gB (geheim)
2. B sendet b an A
3. Verschlüsselung (durch A):
I A wählt große Zufallszahl z (geheimer Sitzungsschlüssel)
I A berechnet a = p z mod n und c = mb z mod n
4. A sendet (a, c) an B
5. Entschlüsselung (durch B):
B entschlüsselt m = ca−gB mod n
Z
Z
Beispiel: n = 11, p = 7, gB = 3, z = 6, m = 8
Verfahren ist korrekt, weil
ca−gB ≡n mbz (pz )−gB ≡n mpgB z p−gB z ≡n mpgB z (pgB z )
−1
≡n m
Herunterladen