1.4 Größte und Maximale Elemente, obere Schranken und Suprema
1.5 Verbände
1.6 Äquivalenzrelationen
1.7 Restklassen
1.8 Abbildungen
2. Algebraische Strukturen
2.1 Verknüpfungen
2.2 Restklassenoperationen
2.3 Gruppen
2.4 Restklassengruppen mit Multiplikation
2.5 Untergruppen
2.6 Isomorphismen
Inhaltsverzeichnis - Kryptologie
1. Einführung
1.1 Symmetrische Verschlüsselungsverfahren
1.2 Asymmetrische Verschlüsselungsverfahren
2. Klassische Verfahren
2.1 Skytale
2.2 Caesar
2.3 Permutations-Chiffren
2.4 Verfahren zur Entschlüsselung für monoalphabetische Substitutionsverfahren
2.4.1 Häufigkeitsanalyse
2.5 Vigenère-Chiffre
2.6 Verfahren zur Entschlüsselung für polyalphabetischen Substitutionsverfahren
2.6.1 Kasiski-Test
2.6.2 Friedman-Test
2.7 One Time Pad Verfahren
3. Euler und Fermat
4. RSA-Verschlüsselung
5. Primzahltests
5.1 Fermatsche Pseudoprimzahl
5.2 Miller-Rabin-Test
6. Diskreter Logarithmus
6.1 Diffie-Hellman-Key-Exchange
6.2 ElGamal-Kryptosystem
7. Integrität und Authentizität von Nachrichten
7.1 Hash Funktion
Diskrete Mathematik
1. Relationen
1.1 Allgemeine Relationen und deren Darstellung
Relationen stellen Beziehungen zwischen Objekten dar
Relationen können zur Beschreibung von Ordnungen und Äquivalenzen genutzt werden
Relationen sind Mengen
Definition: Relation
Eine binäre Relation zwischen zwei Mengen ist eine Teilmenge des kartesischen Produkts: R⊆M×N
Für die Paare (x,y)∈R gilt: x steht in Relation zu y (auch xRy)
Darstellung von Relationen
Beispiel: R={(1,a);(1,c);(2,b);(3,b);(3,c);(4,a)}
1.1.1 Pfeildiagramme
1.1.2 Matrixschreibweise (Adjazenzmatrix)
M \ N
a
b
c
1
1
0
1
2
0
1
0
3
0
1
1
4
1
0
0
1.1.3 vereinfachtes Pfeildiagramm Pfeildiagramm kann vereinfacht werden, wenn die beiden Mengen identisch sind.
*Beispiel: R={(1,2);(1,5);(1,6);(2,2);(2,4)}
Anzahl der möglichen Paare einer Menge am Beispiel: M={1;2;3;4;5;6}∣M∣=6
Anzahl der Paare von M=6×6=36
Anzahl der Relationen von M=236≈64Milliarden, da alle Teilmengen von M Relationen sind
Definition: Inverse Relationen
Wenn R eine Relation mit R⊆M×N ist, dann ist die Inverse Relation R−1⊆N×M. R−1={(y,x)∣(x,y)∈R}
Beispiel für inverse Relationen: R={(r,l)∈M×M∣r “ist Mutter von” l} R−1={(l,r)∈M×M∣l “hat als Mutter” r}
Rechenregeln inverser Relationen
(R1∘R2)−1=R2−1∘R1−1
(R1−1)−1=R1
Definition: Verkettung (=Komposition) von Relationen
Die Verkettung von den Relationen R1⊆A×B und R2⊆B×C wird folgendermaßen dargestellt: R1∘R2=M1×M3 R1∘R2={(a,c)∣(a∈A)∧(c∈C)∧(∃b∈B:((a,b)∈R1)∧((b,c)∈R2))}
Beispiel für verkettete Relationen: R1={(l,r)∣l “hat als Mutter” r} R2={(r,e)∣r “war verheitatet mit” e} R1∘R2={(l,e)∣l “hat als Vater” e}
Assoziativgesetz bei der Verkettung von Relationen (R1∘R2)∘R3=R1∘(R2∘R3)
1.2 Eigenschaften von Relationen
Eigenschaft
Definition
1. identische Relation
I={(x,x)| x∈M}
2. reflexive Relation
∀x∈M:(x,x)∈R
3. irreflexive Relation
∀x∈M:(x,x)∈/R
4. symmetrische Relation
∀x,y∈M:(x,y)∈R⟹(y,x)∈R
5. asymmetrische Realtion
∀x,y∈M:(x,y)∈R⟹(y,x)∈/R
6. antisymmetrische Relation
∀x,y∈M:(x,y)∈R∧(y,x)∈R⟹x=y
7. transitive Relation
∀x,y,z∈M:(x,y)∈R∧(y,z)∈R⟹(x,z)∈R
Beispiele:
identische Relationen
reflexive Relationen
irreflexive Relationen
symmetrische Relationen
asymmetrische Relationen
antisymmetrische Relationen
transitive Relationen
Zusammenhänge der Eigenschaften von Relationen
Definition: Transitiv (reflexive) Hülle
Die transitive Hülle von der Relation R wird gekennzeichnet durch R+ und beinhaltet die Paare, die durch die Eigenschaft der Transitivität möglich werden.
Die reflexiv transitive Hülle der Relation R wird gekennzeichnet durch R∗ und beinhaltet zusätzlich zur transitiven Hülle die reflexiven Paare. Sie ist die kleinste transtitive und reflexive Relation, die R umfasst.
Beispiele transitive Hülle (Praxisbeispiel: Organigramme in Unternehmen)
reflexiv transitive Hülle
1.3 Ordnungsrelationen
Definition: (strikte) Ordnungsrelation
Die Ordnungsrelation ist eine Verallgemeinerung der “≤”-Beziehung.
Durch diese können Elemente einer Menge miteinander verglichen werden.
Eine Ordnung in M existiert, wenn die Relation alle der folgenden Eigenschaften besitzt:
reflexiv
antisymmetrisch
transitiv
Eine strikte Ordnung in M existiert, wenn die Relation folgende Eigenschaften besitzt:
asymmetrisch
transitiv
Beispiel einer Ordnungsrelation: Bsp. ≤
Beispiel einer strikten Ordnungsrelation: Bsp. <
Definition: totale Ordnungsrelation
Bei einer totalen Ordnungsrelation sind je zwei Elemente von M bezüglich der Relation R vergleichbar: ∀x,y∈M:(x,y)∈R∨(y,x)∈R
Sollte diese Eigenschaft nicht gegeben sein, spricht man von einer partiellen Ordnung / Teilordnung
Beispiel: totale Ordnungsrelation
Die Ordnungsrelation ≤ ist eine totale Ordnungsrelation in N, da zwei Zahlen immer vergleichbar sind (5 ≤ 3 ∨ 3 ≤ 5).
Beispiel: partielle Ordnungsrelation
Die Ordnung “:” (geteilt durch) ist eine partielle Ordnungsrelation in N, da die Relation 32 oder 23 in N nicht vergleichbar ist.
Definition: Nachbarschaftsrelation
Bei einer strikten Ordnungsrelation < in M ist die Nachbarschaftsrelation gegeben durch: x<Ny⟺(x<y)∧(∄z∈M:(x<z)∧(z<y))
Es existiert kein Wert der Menge M der zwischen die Werte x und y passt.
Beispiel: Nachbarschaftrelation
Strikte Ordnungsrelation < in N:x=3,y=4 3<N4⟺(3<4)∧(∄z∈N:(3<z)∧(z<4)) - wahre Aussage 3<N5⟺(3<5)∧(∄z∈N:(3<z)∧(z<5)) - falsche Aussage, da z=4 existiert.
Hasse Diagramm
Das Hasse Diagramm ist eine grafische Darstellung in Form eines Pfeildiagramms der Nachbarschaftsrelation. (Reflexive und Transitive Verbindungen werden hierbei weggelassen)
Beispiel: Hasse Diagramm
Betrachtet wird die Nachbarschaftsrelation von der Menger aller Teiler von 70 T70={1,2,5,7,10,14,35,70}
Informationserhaltungssatz für Hasse Diagramme
Wenn die Ordnungsrelation ≤ eine
endliche Menge ist, gilt: (≤N)∗=≤
beliebige Menge ist, gilt: (≤N)∗⊆≤
Die Nachbarschaftsrelation ist also ausreichend zur Beschreibung der Ordnungsrelation, da mithilfe der transitiv-reflexiven Hülle dir Relation vollständig konstruiert werden kann.
Für die Darstellung von Ordnungsrelationen in unendlichen Mengen (Bsp. R) ist das Hasse Diagramm keine geeignete Darstellungsmethode, da hier ein Informationsverlust vorliegen kann
1.4 Größte und Maximale Elemente, obere Schranken und Suprema
Definition: Größte - und Maximale Elemente
Sei ≤ eine Ordnungsrelation in M. Größtes Element: gro¨ßtesElement∈M∧∀x∈M:x≤gro¨ßtesElement
Eigenschaften:
Größtes Element ∈M
Größtes Element ist mit allen Elementen aus M vergleichbar
Beim Vergleich zu den anderen Elementen in M, ist das größte Element ≤ alle anderen Elemente der Menge.
Es gibt maximal ein größtes Element der Menge M
Jedes größte Element ist auch ein maximales Element
Maximales Element maximalesElement∈M∧∀x∈M:maximalesElement≤x⟹x=maximalesElement
Eigenschaften:
Maximales Element ∈M
Es ist nicht unbedingt mit allen Elementen vergleichbar
Wenn es vergleichbar ist, dann ist es das größere
Beispiel: M={1,2,3,4,5,6,7,8},R=/
Teilmenge
maximale Elemente
größtes Element
{2,3,6}
{6}
6
{2,3}
{2,3}
{}
{2,3,5,6}
{5,6}
{}
{1,2,3,4,5,6,7,8}
{5,6,7,8}
{}
Definition: Supremum / Infimum
Ordnungsrelation ≤ in M mit T⊆M
obereSchranke∈M von T:∀x∈T:x≤obereSchranke
untereSchranke∈M von T:∀x∈T:untereSchranke≤x
obereGrenze∈M von T ist definiert durch das minimale Element der oberen Schranken
untereGrenze∈M von T ist definiert durch das maximale Element der unteren Schranken
Supremum ist definiert durch das kleinste Element der Menge der oberen Schranken.
Infimum ist definiert durch das größte Element der Menge der unteren Schranken.
Beispiel: Supremum / Infimum
Teilmenge
Infimum
Supremum
minimale Element
maximale Element
{2,3,6}
2
6
2
6
[0,8)∈R
0
8
0
{}
Beispiel: Obere Grenze: {3,4}∈{1,2,3,4,5,6,7} in R=/
Obere Schranken: {5,6,7}
Obere Grenze: {5,6}
kein Supremum
Definition: Existenzsatz Supremum
Eine Menge hat ein Supremum, wenn sie nur eine obere Grenze hat.
Definition: Existenzsatz Infimum
Eine Menge hat ein Infimum, wenn sie nur eine untere Grenze hat.
1.5 Verbände
Definition: Verband
Zu zwei Elementen a,b∈M existiert das Supremum und das Infimum: a⊔b=sup{a,b} a⊓b=inf{a,b}
1.6 Äquivalenzrelationen
Definition: Äquivalenzrelation R heißt Aquivalenzrelation, wenn
R ist reflexiv
R ist symmetrisch
R ist transitiv
Äquivalenzrelationen werden auch durch ≡ dargestellt.
Definition: Äquivalenzklasse
Jedes Element der Äquivalenzrelation in M ist in der Äquivalenzklasse [x] [x]={y∈M:y≡x}
Eigenschaften von Äquivalenzklassen
Reflexivität: x∈[x]
Symmetrie: y∈[x]⟹x∈[y]
Transitivität: (x∈[y]∧y∈[z])⟹x∈[z]
Außerdem gilt:
Die Menge der Äquivalenzklassen von M ergibt zusammengenommen die ganze Menge M. x∈M⋃[x]=M
1.7 Restklassen
Definition: Kongruenz modulo m
Zwei natürlichen Zahlen sind kongruent modulo m oder ≡m, wenn sie bei der Division durch die natürliche Zahl m denselben Rest r lassen.
Hierbei entsteht folgende Äquivalenzrelation: ≡m⊆Z×Z
Die Aquivalenzklassen der Relation heißen Restklassen modulo m.
Beispiele: Kongruenz modulo m
Äquivalenzklassen von ≡2 sind gerade und ungerade Zahlen.
ungerade zahlen [1]2
gerade Zahlen [2]2
Äquivalenzklassen von ≡10
[0]10={0,10,20,...}
[1]10={1,11,21,...}
[2]10={2,12,22,...}
[3]10={3,13,23,...}
[4]10={4,14,24,...}
[5]10={5,15,25,...}
[6]10={6,16,26,...}
[7]10={7,17,27,...}
[8]10={8,18,28,...}
[9]10={9,19,29,...}
1.8 Abbildungen
Definition: Abbildung
Eine Abbildung beschreibt die Zuordnung von der Quell- zur Zielmenge. Eigenschaften einer Abbildung
Jeder Punkt in der Zielmenge wird max. einmal aus der Quellmenge getroffen.
Jedem Punkt in der Zielmenge ist eindeutig einem Punkt der Quellmenge zuzuordnen. ∀x,y∈A:∀z∈B:(x,z)∈R∧(y,z)∈R⟹x=y
Rechtseindeutigkeit
Jeder Punkt in der Quellmenge wird max. einmal aus der Zielmenge getroffen.
Jedem Punkt in der Quellmenge ist eindeutig einem Punkt der Zielmenge zuzuordnen. ∀x,y∈B:∀z∈A:(z,x)∈R∧(z,y)∈R⟹x=y
Eigenschaften
Bei inversen Relationen (R−1) wird die Eindeutigkeit umgedreht. Beispielt: linkseindeutige RelationR→rechtseindeutige RelationR−1
Bei Verkettung bleiben die Eigenschaften erhalten. Beispiel: linkseindeutige RelationenR1,R2→R1∘R2 bleibt linkseindeutig
Beispiel Links-/Rechtseindeutigkeit: Linkseindeutigkeit:
Rechtseindeutigkeit:
Definition: Links- und Rechtstotalität Linkstotalität ∀x∈A:∃y∈B:(x,y)∈R
Rechtstotalität ∀y∈B:∃x∈A:(x,y)∈R
Eigenschaften
Bei inversen Relationen (R−1) wird die Totalität umgedreht. Beispielt: linkstotale RelationR→rechtstotale RelationR−1
Bei Verkettung bleiben die Eigenschaften erhalten. Beispiel: linkstotale RelationenR1,R2→R1∘R2 bleibt linkstotal
Beispiel Links-/Rechtstotalität: Linkstotalität
Rechtstotalität
Definition: Abbildung
Eine Relation heißt Abbildung oder Funktion, wenn sie
rechtseindeutig und (= Jeder X-Wert hat nur einen einzigen zugehörigen Y-Wert)
linkstotal ist. (= Jeder X-Wert hat einen Y-Wert)
Zu jedem x∈A existiert genau einy∈B, sodass (x,y)∈R
Schreibweise für eine Abbildung R von A nach B: R:A→B
A ist hierbei der Definitionsbereich oder auch Quellmenge B ist hierbei das Bild oder auch Zielmenge
Beispiel: Abbildung anhand der Funktionf(x)=2x
weitere Abbildung
Eigenschaften von Abbildungen
surjektiv, wenn die Abbildung rechtstotal ist (= Jedem Y-Wert ist ein X-Wert zugeordnet)
injektiv, wenn die Abbildung linkseindeutig ist (= Jedem Y-Wert kann genau ein X-Wert zugeordnet werden Bsp. f(x)=2x)
bijektiv, wenn die Abbildung linkseindeutig und rechtstotal ist
2. Algebraische Strukturen
2.1 Verknüpfungen
Definition: Verknüpfung
Die Verknüpfung einer nichtleeren Menge ist eine Abbildung.
Das Ergebnis zweier verknüpfter Elemente wird dargestellt durch x∘y
Das Paar (M,∘) wird algebraische Struktur genannt.
Kommutativgesetz
Eine algebraische Struktur ist kommutativ, falls ∀x,y∈M:x∘y=y∘x
Assoziativgesetz
Eine algebraische Struktur ist assoziativ, falls ∀x,y,z∈M:(x∘y)∘z=x∘(y∘z)
Beispiele für algebraische Strukturen:
Addition von natürlichen Zahlen: (N,+) [kommutativ und assoziativ]
Addition von ganzen Zahlen: (Z,+) [kommutativ und assoziativ]
Subtraktion von ganzen Zahlen: (Z,−) [nicht kommutativ und nicht assoziativ]
Bemerkung: Die Subtraktion von natürlichen Zahlen ist keine algebraische Struktur,
da bei negativen Ergebnissen der Bereich der natürlichen Zahlen verlassen wird
Bemerkung: Die algebraische Struktur ist kommutativ,
wenn die Verknüpfungstafel an der Diagonalen (hier 2,4,6) symmetrisch ist.
Existenzsatz ∀a,b∈M:∃x∈M:a∘x=b
Angewendet auf die Verknüpfungstafel: Jedes Element kommt in jeder Zeile der Tabelle mind. einmal vor. (Bei ...x∘a=b) kommt jedes Element in jeder Spalte mind. einmal vor.
Angewendet auf die Verknüpfungstafel: Jedes Element kommt in jeder Zeile der Tabelle max. einmal vor. (Bei ...x∘a=b∧y∘a=b...) kommt jedes Element in jeder Spalte max. einmal vor.
Beispiel: Existenzsatz
(Z,+): Existenzsatz gilt
(N,+): Existenzsatz gilt nicht. Bsp. a = 20, b = 10
Angewendet auf die Verknüpfungstafel:
({−2,−1,0,1,2},+)
-2
-1
0
1
2
-2
-4
-3
-2
-1
0
-1
-3
-2
-1
0
1
0
-2
-1
0
1
2
1
-1
0
1
2
3
2
0
1
2
3
4
Beispiel: Eindeutigkeitssatz
(N,+): Eindeutigkeitssatz gilt
(Z,∗): Eindeutigkeitssatz gilt nicht. Bsp. 4∗5=20 und 2∗10=20
Angewendet auf die Verknüpfungstafel
({1,2,3},+)
1
2
3
1
2
3
4
2
3
4
5
3
4
5
6
Definition: Endliche Algebraische Strukturen
Eine endliche algebraische Struktur existiert, wenn Eindeutigkeit und Existenz gleichwertig sind.
Unabhängigkeit vom Repräsentanten
Eigenschaften von Äquivalenzklassen, die anhand eines Repräsentanten festgelegt werden müssen bewiesen werden, dass die unabhängig vom Repräsentanten gelten.
Beispiel: Beweis Unabhängigkeit vom Repräsentanten zu beweisen:(Z/m,⊕) gegeben:a,b,x,y∈Z mit [a]m=[b]m∧[x]m=[y]m zu zeigen:[a+b]m=[x+y]m nach Voraussetzung:o,p∈Z, so dass a−b=o∗m und x−y=p∗m dann gilt: a+b−(x−y) =a−b+x−y =o∗m+p∗m =m(o+p)
Bemerkung: Rechnen mit Restklassenoperationen kann durch
die korrekte Wahl des Repräsentanten vereinfacht werden.
Außerdem können bei Unabhängigkeit des Repräsentanten
Kommutativ- und Assoziativgesetze angewendet werden.
2.3 Gruppen
Definition: Gruppe
Eine algebraische Struktur heißt Gruppe G, wenn folgendes gilt:
Assoziativität
Es gibt ein neutrales Element n der Gruppe mit: ∀a∈G:n∘a=a
Es gibt ein inverses Element der Gruppe mit: ∀a∈G:∃b∈G:a∘b=n
oder
Assoziativität
Existenzsatz der algebraischen Struktur
Definition: Abelsche Gruppe
Eine Abelsche Gruppe hat zur Gruppe die zusätzliche Definition der Kommutativität. In diesem Fall wird + anstatt von ∘ verwendet.
Beispiel Neutrale und Inverse Elemente:
Neutrales Element der Addition: 0 (Bsp. 5+0=5)
Neutrales Element der Multiplikation: 1 (Bsp. 5∗1=5)
Inverses Element der Addition: Element a, Inverses- −a (Bsp. 5−5=0
Inverses Element der Multiplikation: Element a, Inverses Element a−1 oder a1
Bemerkung: Es gibt genau ein Neutrales Element.
Eindeutigkeit der Lösbarkeit von einer Gruppe
Für jede Gruppe gilt der Eindeutigkeitssatz. D.h. es gibt für jedes a,b∈G höchstens eine Lösung c∈G der Gleichung a∘c=b
Ordnung einer Gruppe
Als Ordnung einer Gruppe wird die Anzahl der Elemente definiert. ∣G∣
Beispiel zur Ordnung einer Gruppe: ∣({1,2,3},+)∣=3
2.4 Restklassengruppen mit Multiplikation
Beispiel: ggT durch Primfaktorzerlegung - ggT(240,420) 240=2∗2∗(2∗2∗3∗5) 420=(2∗2∗3∗5)∗7 ggT(240,420)=2∗2∗3∗5=60
Definition: “div” und "mod" a=q∗b+r q=adivbQuotient der Division r=amodbRest der Division
Beispiel: a = 68, b = 10 q=1068=6 r=68mod10=8 68=6∗10+8
gemeinsame Teiler a=q∗b+r
Die Menge gT(a,b) der gemeinsamen Teiler ist gleich der Menge gT(b,r)
Am Beispiel von oben: gT(68,10)={2}=gT(10,8)
Euklidischer Algorithmus
Algorithmus zur Berechnung des ggT zweier positiver ganzer Zahlen a und b ggT(a,b):(a>b) a=q∗b+r1 b=q∗r1+r2 r1=q∗r2+r3 ... rn−1=q∗rn+0 ggT(a,b)=rn Bemerkung: q ist der Quotient und Zeilenunabhängig
Definition: Satz von Bézout
Für a,b gibt es ein a∗∈N und b∗∈Z, mit: a∗∗a+b∗∗b=ggT(a,b)
Existenzsatz: Multiplikative Inverse Restklasse
Eine Restklasse [a]m besitzt nach dem Satz von Bézout ein multiplikatives Inverses [a∗]m: [a]m⊗[a∗]m=[1]m
Beispiel: Multiplikatives Inverse [3]5⊗[2]5=[1]5 [2]5 ist die multiplikativ Inverse Restklasse zu [3]5.
Multiplikative Restklassengruppe
Wenn der modulo eine Primzahl ist, dann ist Z/m \ {[0]m} eine Gruppe.
Existenzsatz: Restklassengleichung
Wenn der ggT(a,m) durch b teilbar ist, gilt folgende Gleichung: [a]m⊗[x]m=[b]m
Vorgehen:
Beispiel: Restklassengleichung ggT(12,15)=3
[12]15⊗[x]15=[5]15 3 ist kein Teiler von 5→ es gibt keine Lösung für die obige Gleichung.
[12]15⊗[x]15=[9]15 3 ist Teiler von 9, da 9 ein Vielfaches vom ggT(12,15)=3 ist → die obige Gleichung besitzt Lösung(en):
Berechnung der Lösung:
Euklid-Algorithmus vorwärts: (evtl. einen höheren Repräsentanten wählen) [12]15=[27]15 27=1∗15+12 15=1∗12+3hier für Euklid-Algorithmus rückwärts einsteigen 12=4∗3+0
Euklid-Alorithmus rückwärts: 3=15−12 3=15−(27−15) 3=2∗15- 1∗27 [−1]15=[14]15
Daher ist das multiplikative Inverse von [12]15 die Restklasse [−1]15=[14]15.
Multiplikator für das gesuchte x identifizieren: b=9,ggT(a,m)=3⟹39=3
Definition: Untergruppe
Wenn eine Gruppe (G,∘) eine nichtleere Teilmenge U besitzt, heißt diese Untergruppe, wenn sie selbst eine Gruppe mit ∘ bildet.
Die Kurzschreibwese ist U≤G
Beispiel: Untergruppe
Die Gruppe (Z,+) ist eine Untergruppe der Gruppe (Q,+)
Also kurzgeschrieben: (Z,+)≤(Q,+)
Untergruppen, die von einem Element erzeugt werden:
Eine von g∈(G,∘) erzeugte Untergruppe ist definiert durch die Menge {k−malg∘...∘g∣k∈N} und hat folgende Schreibweise <g>.
Wiederholungen von Gruppenelementen: g∈(G,∘) und k∈Z gk=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧k−malg∘...∘ge(neutrales Element)−k−malg−1∘...∘g−1fallsfallsfallsk>0k=0k<0
Ordnung eines Gruppenelements
Die Ordnung eines Gruppenelements schreibt man durch ord(g) und bezeichnet die kleinste Zahl k∈N für die gilt: gk=e.
Sollte es kein k∈N geben, für das gilt gk=e, dann hat g die Ordnung ∞.
Beispiel: Ordnung eines Gruppenelements (Z/6,⊕)
g
ord(g)
<g>
0
1
[0]6
1
6
{[1]6,[2]6,[3]6,[4]6,[5]6,[0]6}
2
3
{[2]6,[4]6,[0]6}
3
2
{[3]6,[0]6}
4
3
{[4]6,[2]6,[0]6}
5
6
{[5]6,[4]6,[3]6,[2]6,[1]6,[0]6}
Erklärung anhand eines Beispiels der Tabelle:
Durch (Z/6,⊕) ergibt sich am Beispiel von g=4 folgendes <g>: [4]6+[4]6=[8]6=[2]6 [4]6+[4]6+[4]6=[12]6=[0]6 [4]6+[4]6+[4]6+[4]6=[16]6=[4]6
Ordnung der Untergruppe:
Für die Untergruppe H≤(G,∘) gilt: ord(H)∣ord(G)
Satz von Euler: gord(G)=e
Dieser Satz gilt, da gord(G)=gk∗ord(g)=(gord(g))k=ek=e
2.6 Isomorphismen
Gruppenisomorphismus
Ein Isomorphismus ist eine Abbildungϕ:G→H der beliebigen Gruppen (G,∘) und (H,⊗), die folgende Eigenschaften hat:
die Abbildung ist bijektiv
die Abbildung ist strukturerhaltend: ∀g1,g2∈G:ϕ(g1∘g2)=ϕ(g1)⊗ϕ(g2)
die beiden Gruppen G und H haben dieselbe Anzahl von Elementen
Wenn es einen Isomorphismus zwischen G und H gibt, nennt man die beiden Gruppen isomorph.
Isomorph = Iso + morph = gleich + gestaltet
Erhaltung der Gruppenstruktur:
ϕ(eG)=eH Die Abbildung des neutralen Elements von G zeigt auf das neutrale Element von H
∀g∈G:ord(g)=ord(ϕ(g)) Die Ordnung eines Elements aus G ist gleich die Ordnung des Elements der Abbildung auf H ∀g∈G:ϕ(g−1)=ϕ(g)−1 Die Abbildung des inversen Elements ist das inverse Element der Abbildung
Kryptologie
Einführung
Kryptografie =Krypto+grafie =geheim+schreiben → Die Lehre vom geheimen Schreiben
Kryptologie:
Kryptografie + Kryptoanalyse
ist Teilgebiet der Informationssicherheit
Schutzziele:
Vertrauligkeit
Nachricht für Unbefugte nicht lesbar
Integrität:
Nachricht nicht unbemerkt veränderbar
Authentizität
Nachricht stammt tatsächlich vom angegebenen Absender
Verbindlichkeit
Versand / Empfang ist nicht abzustreiten
Anonymität
Absender / Empfänger bleibt geheim
Kryptosystem:
P - Menge aller Klartexte
C - Menge aller Geheimtexte
K - Menge aller Schlüssel
Es ergeben sich folgende Abbildungen:
encrypt: e:P×K→C
decrypt: d:C×K→P
Symmetrische Verschlüsselungsverfahren
Der Entschlüsselungs-Key ist aus dem Verschlüsselungs-Key leicht ermittelbar oder sie sind identisch
Sender und Empfänger besitzen dasselbe Geheimnis
Jeder mit der Möglichkeit zu verschlüsseln, hat auch die Möglichkeit zu entschlüsseln
Asymmetrische Verschlüsselungsverfahren
Der Entschlüsselungs-Key ist nicht (in angemessener Zeit) aus dem Verschlüsselungs-Key ermittelbar
Der Verschlüsselungs-Key kann vom Empfänger öffentlich bekannt gegeben werden →public-key
Sender und Empfänger müssen kein Geheimnis austauschen
Wer verschlüsseln kann, kann nicht entschlüsseln
Klassische Verfahren
Skytale
Ein Papier wird wendelförmig um einen Stab gewickelt und entlang der Stabseite beschrieben.
Schlüssel: Durchmesser des Stabs
Verfahren: Transpositionsverfahren (Veränderung der Stelle des Buchstabens)
Sicherheit: hängt von der Länge- und der Zufälligkeit des Schlüssels ab
Beispiel Vigenère-Chiffre: P="diesisteinbeispiel" K=GEHEIM
P
diesisteinbeispiel
K
geheimgeheimgeheim
C=jmlwqeziprjqowwmmx
Verfahren zur Entschlüsselung für polyalphabetischen Substitutionsverfahren
Kasiski-Test
Idee: Wiederholungen einer Zeichenfolge im Klartext mit einem n-fachen Abstand der Schlüssellänge, spiegeln sich im verschlüsselten Text wieder
Beachte: Wiederholungen können auch zufällig auftreten
Vorgehen:
wiederholende Zeichenketten im Geheimtext untersuchen
Indizies der Zeichenketten notieren
Abstände ermitteln
Zerlegung des Abstands in Primfaktoren
gemeinsamen Teiler ermitteln, der in allen Abständen vorkommt → Schlüssellänge
Aufteilen des Geheimtexts in Teiltexte
Häufigkeitsanalyse
Schlüssel herausfinden
Friedman-Test
Mithilfe des Friedman-Tests kann die Größenordnung des Schlüssels abgeschätzt werden, mit dem ein Text durch polyalphabetische Substitution verschlüsselt wurde.
Idee: Je länger das Schlüsselwort, desto regelmäßiger sind die Häufigkeiten verteilt
Annahme der Schlüssellänge treffen ∣k∣
Text in ∣k∣-Spalten untereinander aufschreiben
Koinzidenz pro Spalte ausrechnen κ(m)=n∗(n−1)1∗j=1∑26hi∗(hi−1)n=La¨nge des Texthi=Ha¨ufigkeit des jeweiligen Buchstabens
Koinzidenzen auf bekannte Werte prüfen (κDE(m)≈0,0762,κRND(m)≈0,0385 )
Bei passenden Koinzidenzen sind die Spalten jeweils monoalphabetisch verschlüsselt (da die wahrscheinliche Schlüssellänge bekannt ist)
Perfekte Sicherheit Sicherheit durch Ununterscheidbarkeit
Angreifer wählt zwei bel. gleichlange Klartexte
Einer der Texte wird zufällig gewählt und verschlüsselt
Wenn der Angreifer eine Wahrscheinlichkeit von 50% hat, gilt das Kryptosystem als sicher.
One Time Pad Verfahren
ist ein perfekt sicheres Kryptosystem
basiert auf dem Vigenère Verfahren, mit folgenden Vorgaben:
Schlüssellänge = Klartextlänge
Schlüsselbuchstaben sind zufällig gewählt
Schlüssel darf nur einmal verwendet werden
Schwierigkeiten:
Zufälligkeit
Schlüsselgröße
Schlüsselübertragung
Euler und Fermat
Eulersche Phi-Funktion ϕ(n)=∣{a∈N∣1≤a≤n∧ggT(a,n)=1}∣ ϕ(n) ist die Anzahl der teilerfremden, natürlichen Zahlen zu n im Bereich [1,n].
Berechnung der Phi-Funktion
Wenn p ist Primzahl, dann ϕ(p)=p−1
Wenn pk p ist Primzahl und k∈N, dann ϕ(p)=pk(1−p1)
Wenn m,n∈N, dann ϕ(p)=ϕ(m)∗ϕ(n)
Satz von Euler aϕ(n)≡n1,(a,n∈N∧ggT(a,n)=1)
Beispiel: 7222mod10
ggT(7,10)=1,ϕ(10)=4
74≡1(mod10)
7222=74∗55+2=(74)55∗72=155∗72(mod10)=49(mod10)=9
Satz von Fermat ap−1≡p1,(p ist Primzahl,a∈N,1≤a≤p−1)
Verwendung zur Verschlüsselung und digitaler Signatur
Jeder Teilnehmer benötigt zwei Schlüssel
private key (Entschlüsseln / Signieren der Nachricht)
public key (Verschlüsseln / Prüfen der Nachricht)
Konstruktion des public key
Wähle zwei sehr große Primzahlen p und q
n=p∗q
ϕ(n)=(p−1)∗(q−1)// siehe Berechnung des Satzes von Euler
Wähle eine zu ϕ(n) teilerfremde Zahl e (ggT(e,ϕ(n))=1) mit 1<e<ϕ(n)
Das Tupel (n,e) ist der public key
Konstruktion des private key
Berechne d in (1<d<ϕ(n)) als das multiplikative Inverse zu e in Zϕ(n)→e∗d≡ϕ(n)1 (Berechnung durch den erweiterten euklidischen Alogrithmus)
Das Tupel (n,d) ist der private key
Verschlüsselung c = Geheimtext m = Nachricht e = Teil des öffentlichen Schlüssels des Empfängers n = Teil des öffentlichen Schlüssels des Empfängers c=memodn
Entschlüsselung c = Geheimtext m = Nachricht d = Teil des privaten Schlüssels des Empfängers n = Teil des privaten Schlüssels des Empfängers m=cdmodn
Beispiel Ver- und Entschlüsselung eines Texts mithilfe von RSA:
Bildung des öffentlichen Schlüssels: p=17,q=23n=p∗q=17∗23=391ϕ(n)=(p−1)∗(q−1)=16∗22=3521<e<352 mit ggT(e,352)=1→ Wähle e=43
publickey(391,43)
Bildung des privaten Schlüssels:
multiplikatives Inverse:
Euklidischer Algorithmus 352=8∗43+843=5∗8+38=2∗3+23=1∗2+12=2∗1+0
Entschlüsselung der Nachricht: c=190m=cdmodn=190131mod391=27
Warum ist RSA sicher?
Es ist kein effizientes Verfahren bekannt, sehr große Zahlen zu faktorisieren
Entschlüsselung der Nachricht nur durch den privatekey möglich.
Berechnung durch d nur durch Primfaktoren möglich.
Primzahltests
Finden einer geeignet großen Primzahl
Zunächst raten
dann testen
Primzahlsatz π(n)≈ln(n)n
Beispiel Primzahlsatz: π(10)=4=∣{1,3,5,7}∣
Fermatsche Pseudoprimzahl n∈N∧∈/P,a mit 1<a<n n ist Pseudoprimzahl, falls an−1≡n1
Beispiel Fermatsche Pseudoprimzahl: n=91290≡911390≡911490≡911590≡911690≡911790≡911890≡911990≡911 91 ist Pseudoprim zu 3, 4, 9 aber nicht zu 2, 5, 6, 7
Miller-Rabin-Test
Eingabe: n∈N∧ungerade
Ausgabe: “n∈/P” oder "n wahrscheinlich ∈P"
Wenn n∈P und an−1≡n1, dann: a2n−1≡n1 oder a2n−1≡n−1
Falls a2n−1≡n1, dann auch a4n−1≡n±1
Korrektheit
Problem: Starke Pseudoprimzahlen bestehen für manche Basen auch den Miller-Rabin-Test
Erhöhte Zuverlässigkeit des Tests durch wiederholte Ausführung mit anderen Basen
Diskreter Logarithmus
Definition: Diskreter Logarithmus
Der diskrete Logarithmus (x=dlogg(y)) von y zur Basis g ist der kleinste Exponent x der Gleichung gxmodp=y mit (y∈[1,p−1];g∈Z;p∈P).
Beispiel diskreter Logarithmus: y=13;g=−4;p=7 x=dlog−4(13)
Bemerkungen
x
0
1
2
3
4
5
6
[0,p−1]
(−4)xmod7
1
3
2
6
4
5
1
enthält alle Zahlen von [1,p-1] -> (-4) ist erzeugendes Element
Diffie-Hellman-Key-Exchange
Diffie-Hellman-Key-Exchange ist ein Verfahren zum Austausch eines symmetrischen Schlüssels über ein unsicheres Medium und basiert auf den aufwendigen Berechnungen diskreter Logarithmen.
Ablauf:
Sender und Empfänger wählen öffentlich eine große Primzahl p und ein erzeugendes Element g.
Der Sender und Empfänger wählen jeweils eine geheime Zahl a bzw. b aus [1,p−1] und bilden damit x=gamodp bzw. y=gbmodp. x bzw. y schicken sie jeweils an den anderen.
Der gemeinsame privatekey ergibt sich dann durch ga∗bmodp=z
Den gemeinsamen privatekey berechnen die beiden jeweils durch yamodp=(gb)amodp=ga∗bmodp=z bzw. xbmodp=(ga)bmodp=ga∗bmodp=z
Beispiel Diffie-Hellman-Key-Exchange: p=7;g=(−4)A:a=9→x=gamodp=(−4)9mod7=6B:b=12→y=gbmodp=(−4)12mod7=1A:z=yamodp=19mod7=1B:z=xbmodp=612mod7=1privatekey=1
ElGamal-Kryptosystem
Das ElGamal-Kryptosystem basiert auf der Idee des Diffie-Hellman-Key-Exchange und ist ein asymmetrisches Verschlüsselungsverfahren.
Ablauf:
Wie bei dem Diffie-Hellman-Key-Exchange wird auch hier ein g und eine Primzahl p bestimmt.
Sender und Empfänger wählen jeweils ein geheimes a bzw. b und bilden nach Diffie-Hellman ihr x bzw. y als öffentlichen Schlüssel.
Zur Verschlüsselung rechnet der Sender (hier B) c=m∗xbmodp=m∗ga∗bmodp und sendet (y,c) and den Empfänger.
Zur Entschlüsselung berechnet der Empfänger (hier A) y(p−1)−a∗c=(gb)p−1−a∗c=gb∗(p−1−a)∗c=g(p−1)∗b∗g−a∗b∗c=1b∗g−a∗b∗c=g−a∗b∗c=g−a∗b∗(m∗ga∗b)=m
Beispiel ElGamal: p=23;g=7;m=8a=5→x=gamodp=75mod23=17b=3→y=gbmodp=73mod23=21Verschlu¨sselung: c=m∗xb=20u¨bermittelt wird: (21,20)Entschlu¨sselung: m=yp−1−a∗cmodp=2117∗20mod23=8
Baby-Step-Giant-Step - Algorithmus
Dieser Algorithmus dient zur effizienteren Berechnung des diskreten Logarithmus. (gesucht: x=dlogg(y) mit gxmodp=y)
Ansatz:
Nutze x=q∗s+r mit s=⌈p−1⌉
Teile Berechnung auf in
Giant Steps (q∗s)
Baby Steps (r)
Berechnung:
s=⌈p−1⌉
x=q∗s+r mit q,r∈[0,s−1]
y=gxmodp=gq∗s+rmodp ⇔gq∗smodp=y∗g−rmodp
Giant Steps: gq∗smodp - Speichere Werte in einer Tabelle
Baby Steps y∗g−rmodp - solange bis der Wert einem der Giant Steps entspricht
Baby Steps Tabelle: 17−rmod31=(17−1)rmod31=(1729)rmod31=11r - multipilikatives Inverse zu 17 kann hier schnell berechnet werden, da 17 eine Primzahl ist→g−1=gp−2
Baby Steps
r
0
1
2
3
4
5
23∗11rmod31
23
5
24
16
21
14
Lösung: x=q∗s+r=3∗6+3=21
Integrität und Authentizität von Nachrichten
Hash Funktion
Eine Hash-Funktion bildet Zeichenfolgen beliebiger Längen auf Zeichenfolgen fester Längen ab.
Die Nachricht ist aus dem Hash nicht rekonstruierbar
Zwei unterschiedliche Nachrichten produzieren niemals denselben Hash
Integritätsprüfung auch ohne Verschlüsselung der Nachricht möglich
Integrität gewährleistet
Ablauf:
Die Kommunikationspartner einigen sich auf eine Hashfunktion.
Der Sender übermittelt den Hashwert der Nachricht an den Empfänger
Der Sender übermittelt ebenfalls das signierte Dokument (Signatur + nicht gehashte Nachricht) an den Empfänger
Der Empfänger ermittelt zu der Nachricht des Dokuments den Hashwert und prüft die Signatur mit dem öffentlichen Schlüssel des Senders