Diskrete Mathematik 2. Semester
Relationen, Restklassen, Kryptographie
Relationen, Restklassen, Kryptographie
Set of flashcards Details
Flashcards | 115 |
---|---|
Language | Deutsch |
Category | Maths |
Level | University |
Created / Updated | 22.11.2015 / 13.01.2019 |
Weblink |
https://card2brain.ch/box/diskrete_mathematik_2_semester
|
Embed |
<iframe src="https://card2brain.ch/box/diskrete_mathematik_2_semester/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Verschlüsseln Sie folgenden Klartext mithilfe von Permutations-Chiffren: blaukrautbleibt, m=6, Vorschrift: [(1,3), (2,5), (3,1), (4,6), (5,4), (6,2)]
Block 1: blaukr (b=1, r=6)
Verschlüsselung Block 1: akbrul
Block 2: autble (a=1, e=6)
Verschlüsselung Block 2: tlaebu
Block 3: ibt + Auffüllen mit wtf
Verschlüsselung Block 3: ttifwb
Wie werden Permutations-Chiffren mathematisch dargestellt?
Klartextalphabet = Geheimtextalphabet
P (Menge der Klartexte) = C (Menge der Geheimtexte)
Schlüsselmenge K = {k: Buchstabe --> Buchstabe | k ist bijektiv } (bijektiv = eineindeutig)
Für alle x = x0, x1, ... xn-1 e P und k e K gilt: e(x,k) = y = y0, y1, ... yn-1 e C mit yi = k(xi); i=0, ... i=n-1
(Für y entsprechend d(y,k) und xi = k-1(yi) )
Wann gilt ein Kryptosystem als perfekt sicher (im Sinne der semantischen Sicherheit)?
Wenn ein Angreifer weiß, dass eine verschlüsselte Nachricht der Länge m übertragen wurde und die "a priori"-Wahrscheinlichkeit genauso hoch ist wie die "a posteriori"-Wahrscheinlichkeit, gilt das Kryptosystem als perfekt sicher.
a priori = Wahrscheinlichkeit, dass ein bestimmter Klartext übertragen wurde
a posteriori = Wahrscheinlichkeit, dass ein bestimmter Klartext übertragen wurde, wenn zusätzlich zur Länge m der Geheimtext bekannt ist
Beschreiben Sie das perfekt sichere Kryptosystem One-Time-Pad.
Basiert auf Vigenére-Chiffre, allerdings Schlüssellänge=Klartextlänge, Schlüsselbuchstaben gemäß Gleichverteilung zufällig gewählt, einmaliges Verwenden des Schlüssels
Herausforderungen: Schlüsselgröße, Schlüsselverteilung
Was ist eine Halbgruppe?
Eine Halbgruppe ist ein Zweitupel (G, •), bestehend aus der nichtleeren Menge G und der zweistelligen Operation •, das abgeschlossen ist und für das das Assoziativgesetz gilt. Abgeschlossenheit bedeutet, dass wenn zwei Elemente der Menge G verknüpft werden, dass Ergebnis auch wieder ein Element der Menge G ist.
Was ist ein Monoid?
Ein Monoid ist ein Zweitupel (G, •), bestehend aus der nichtleeren Menge G und der zweistelligen Operation •, das eine Halbgruppe ist und ein neutrales Element enthält.
Was ist eine Gruppe?
Eine Gruppe ist ein Zweitupel (G, •), bestehend aus der nichtleeren Menge G und der zweistelligen Operation •, das ein Monoid ist und ein inverses Element enthält. b e G ist inverses Element von a e G, wenn a • b = e (neutrales Element).
Was ist eine abelsche/kommutative Gruppe?
Ein abelsche/kommutative Gruppe ist ein Zweitupel (G, •), bestehend aus der nichtleeren Menge G und der zweistelligen Operation •, das eine Gruppe ist und kommutativ ist (a • b = b • a).
Erläutern Sie die Gruppeneigenschaft Ordnung!
Die Mächtigkeit / Kardinalität |G| der Trägermenge G einer Gruppe (G,•) bezeichnet die Ordnung der Gruppe. Ist |G| < unendlich, so spricht man von einer endlichen Gruppe und die Ordnung der Gruppe entspricht der Anzahl der Elemente der Gruppe.
Erläutern Sie die Gruppeneigenschaft Teilgruppe.
Eine Teilmenge H von G heißt Untergruppe von (G,•), wenn H bezüglich • selbst eine Gruppe ist. Das neutrale Element e ist Element aller Untergruppen. (G,•) und ({e},•) werden triviale Untergruppen genannt.
Wann heißt eine Gruppe zyklisch?
Eine Gruppe heißt zyklisch, wenn sie von einem einzelnen Element erzeugt wird, also aus Potenzen eines einzelnen Elementes besteht.
Was ist ein erzeugendes Element?
Es sei G eine beliebige Gruppe und a∈G. Für jedes a ist ⟨a⟩ = ({an | n e Z}, •) eine Untergruppe von G. ⟨a⟩ heißt die von a erzeugte Untergruppe. Gibt es in G ein Element a so, dass ⟨a⟩ = G, so wird a erzeugendes Element der Gruppe genannt.
Was ist ein Ring?
Ein Ring ist ein Tripel (R, +, •) bestehend aus der nicht-leeren Menge R und den beiden zweistelligen Operationen + und •.
(R,+) ist eine kommutative Gruppe (0 als neutrales Element), (R,•) ist eine Halbgruppe und es gilt das Distributivgesetz.
Was ist ein Körper?
Ein Körper ist ein Tripel (K, +, •) bestehend aus der nicht-leeren Menge K und den beiden zweistelligen Operationen + und •.
(K,+) ist eine kommutative Gruppe (0 als neutrales Element), (K\{0},•) ist eine kommutative Gruppe (1 als neutrales Element) und es gilt das Distributivgesetz.
Was wird mit der eulerschen Phi-Funktion angegeben?
Phi(n) gibt die Anzahl der zu n teilerfremden natürlichen Zahlen zwischen 1 und n an (ggT(a,n) = 1 mit a e N).
Phi(2) ist daher 1, da ggT(1,2) = 1 und damit nach Definition teilerfremd (gewissermaßen Sonderstellung der 1).
Was ergibt Phi(p), wenn p eine Primzahl ist?
Phi(p) = p-1
Wie wird die eulersche Phi-Funktion für Potenzen von Primzahlen berechnet?
Eine Potenz pk aus einer Primzahl p und einer natürlichen Zahl k ist nur zu Vielfachen von p nicht teilerfremd. Es gibt pk-1 Vielfache von p, die kleiner oder gleich pk sind.
Phi(pk) = pk - pk-1 = pk (1 - 1/p)
Wie wird die eulersche Phi-Funktion für ein Produkt berechnet?
Phi(m*n) = Phi(m) * Phi(n)
Was besagt der Satz von Euler?
Sei a,n e N und sei ggT(a,n) = 1. Dann gilt aPhi(n) = 1 mod n (n teilt aPhi(n) -1).
Was besagt der Satz von Fermat?
Sei p eine Primzahl und a e N mit 1<= a <= p-1. Dinn gilt ap-1 = 1 mod p. (Satz von Euler für den Spezialfall, dass n eine Primzahl ist.)
Was sind Nachteile von symmetrischen Kryptosystemen?
- voheriger (geheimer) Schlüsselaustausch nötig
- stark steigende Schlüsselanzahl bei vielen Kommunikationsteilnehmern (n Teilnehmer --> n*(n-1)/2 Schlüssel, damit jeder mit jedem kommunizieren kann)
- keine Unterstützung digitaler Signaturen
Wie wird beim RSA-Verfahren der öffentliche Schlüssel erstellt?
1.) Wahl von zwei (großen) Primzahlen p und q
2.) Berechnung von n: n = p*q
3.) Berechnung von Phi(n): Phi(n) = (p-1) * (q-1)
4.) Wahl einer zu Phi(n) teilerfremden Zahl e mit 1 < e < Phi(n)
5.) (n,e) ist der öffentliche Schlüssel, die zur Berechnung benötigten Werte werden geheim gehalten
Wie wird beim RSA-Verfahren der private Schlüssel erstellt?
1.) Berechne d als das multiplikative Inverse zu e in ZPhi(n): e*d = 1 mod Phi(n)
2.) (n,d) ist der private Schlüssel
Wie werden Nachrichten nach dem RSA-Verfahren ver- und entschlüsselt?
Codierung der Nachricht zunächst als Zahlenfolge
Verschlüsselung: c = me mod n
Entschlüsselung: m = cd mod n
Wie werden nach dem Square-and-Multiply-Algorithmus große Potenzen gk berechnet? Nutzen Sie als Beispiel 45.
1.) k wird als Dualzahl aufgeschrieben: 101
2.) Durchgehen der Dualzahl von links nach rechts. Ist die Ziffer eine 0, wird der bisher aufgeschriebene Term quadriert. Bei einer 1 wird der Term quadriert und anschließend mit der Basis g multipliziert: ((12 * 4)2) 2 * 4 = (42)2 * 4 = 162 *4 = 256 * 4 = 1024
Wie werden nach dem Square-and-Multiply-Algorithmus große Potenzen gk mod n berechnet? Nutzen Sie als Beispiel 45 mod 5.
Die Potenz wird wie zuvor zerlegt (als wenn kein modulo gefordert wäre):
k = 5 = 101
45 = ((12 * 4)2)2 * 4
Allerdings wird nun nach jeder Multiplikation (also auch nach dem Quadrieren) modulo gerechnet:
(((1*4 mod 5)2 mod 5)2 mod 5) * 4 mod 5 = ((42 mod 5)2 mod 5) * 4 mod 5 = (12 mod 5) * 4 mod 5 = 4 mod 5 = 4
Warum ist das RSA-Verfahren sicher?
Zur Entschlüsselung von Nachrichten wird der private Schlüssel d benötigt. Zur Berechnung von diesem wird jedoch Phi(n) benötigt, wobei sich n aus zwei Primfaktoren zusammensetzt. Es ist bislang jedoch kein effizientes Verfahren bekannt, sehr große Zahlen (~2048 Bit) zu faktorisieren.
Wie funktioniert der Fermat'sche Primzahltest?
Sei n eine ungerade natürliche Zahl, für die überprüft werden soll, ob sie eine Primzahl ist.
1.) Wahl einer zufälligen Zahl a mit 1 < a < n
2.) Berechnung des ggT(a,n), wenn dieses ungleich 1 ist (nicht teilerfremd also), dann ist n keine Primzahl
3.) Wenn an-1 mod n ungleich 1 ist, ist n keine Primzahl
4.) Andernfalls ist n wahrscheinlich eine Primzahl, aber nicht zwangsweise. Es könnte auch noch eine fermatsche Pseudoprimzahl sein (Wahrscheinlichkeit dafür höchstens 50%).
5.) Zur Senkung der Fehlerwahrscheinlichkeit kann der Test mit einem anderen a wiederholt werden.
Was ist eine Carmichael-Zahl?
Carmichael Zahlen sind fermatsche Pseudoprimzahlen zu allen Basen ae {2,...,n-1} mit ggT(a,n)=1 ist.
Welche Schritte beinhaltet der Miller-Rabin-Test, mit dem eine natürliche Zahl n darauf geprüft wird, ob sie eine Primzahl ist?
1.) Wahl einer zufälligen Zahl a mit 1 < a < n-1
2.) Berechnung des ggT(a,n), wenn dieses ungleich 1 (also a und n nicht teilerfremd) ist, ist n keine Primzahl.
3.) Zerlege n-1 in eine ungerade Zahl s und eine Potenz mit Basis 2: n-1 = 2r * s
4.) Wenn as = 1 mod n oder es ein r gibt, mit dem as*(2)^r = -1 mod n gilt, dann ist n wahrscheinlich eine Primzahl.
Was lässt sich zur Korrektheit des Miller-Rabin-Tests sagen?
Ein Problem beim Miller-Rabin-Test sind starke Pseudoprimzahlen, die für manche Basen a auch diesen Test bestehen. Allerdings ist jede Zahl n für höchstens ein Viertel der Basen, die kleiner als n sind, stark pseudoprim. Eine wiederholte Ausführung des Tests mit verschiedenen Basen erhöht also auch hier die Zuverlässigkeit. Die Fehlerwahrscheinlichkeit bei k verschiedenen gewählten Basen beträgt (1/4)k.
Wie ist der diskrete Logarithmus definiert?
Sei p eine Primzahl und g ein erzeugendes Element des endlichen Körpers Zp. Die kleinste natürliche Zahl x mit y = gx mod p heißt der diskrete Logarithmus von y zur Basis g.
Notation: x = dlogg(y)
Was ist der Diffie-Hellman-Key-Exchange und welche Schritte beinhaltet er?
Verfahren zum Austausch eines symmetrischen Schlüssels über ein unsicheres Medium (http://www.karllorey.de/2012/02/29/der-diffie-hellman-schlusselaustausch-verstandlich-erklart/)
1.) gemeinsame öffentliche Wahl einer großen Primzahl p und eines erzeugenden Elements g<p von Zp durch beide Personen
2.) Wahl einer geheimen Zahl a<p durch Alice, Bildung von x=ga mod p und Versand von x an Bob
3.) Wahl einer geheimen Zahl b<p durch Bob, Bildung von y=gb mod p und Versand von y an Alice
4.) Berechnung des geheimen Schlüssels:
Alice: z = ya mod p mit y = gb, womit sie eigentlich z=ga*b mod p berechnet
Bob: z = xb mod p mit x = ga, womit er eigentlich z=ga*b mod p berechnet
Was ist das ElGamal-Verschlüsselungsverfahren und wie läuft es ab?
Asymmetrische Nachrichtenverschlüsselung durch Multiplikation mit Diffie-Hellman-Schlüssel
1.) Bob verschlüsselt Nachricht m nach Berechnung des Diffie-Hellman-Schlüssels mit diesem: c = m*z = m*xb mod p
2.) Bob schickt c und y (seinen öffentlichen Schlüssel) an Alice
3.) Alice entschlüsselt Nachricht c: m = c*z-1 mod p = c * y(p-1-a) mod p
Wofür dient der Baby-Step-Giant-Step-Algorithmus und welche Schritte beinhaltet er?
Algorithmus zur effizienteren Berechnung des diskreten Logarithmus
1.) Gegeben: Primzahl p und erzeugendes Element g von Zp, Gesucht: x = dlogg(y) mit gx = y mod p
2.) Zerlegen von x in x = q*s + r mit \(s \geq \sqrt{p-1}\) und r<s, sodass gilt: g(qs+r) = y
3.) Berechnung von s (kleinste ganze Zahl, die größer oder gleich der Wurzel aus p-1 ist)
4.) Berechnung der Giant-Steps: gqs mod p
5.) Berechnung der Baby-Steps, bis ein Wert einem Giant-Wert entspricht: y*(g-1)r mod p
6.) Ermittlung von x = qs+r mit r aus dem Baby-Step und s aus dem zugehörigen Giant-Step