Hallo Steem-Welt,
heute geht in das nächste Kapitel der Kryptographie: Die asymmetrische Kryptographie
Auch diesen Bereich werde ich wieder in vorraussichtlich 5 Teile aufteilen, da der Bereich doch recht komplexe Algorithmen beinhaltet.
Wenn ihr die ersten Teile verpasst habt, und euch die Kryptographie interessiert, findet ihr im Folgenden die Auflistung der vorangegangenen Posts.
Teil 1: Einleitung & klassische Kryptographie
Teil 2: Modulare Arithmetik
Teil 3: Symmetrische Kryptographie #1
Teil 4: Symmetrische Kryptographie #2
Asymmetrische Kryptographie
Asymmetrische Chiffren ermöglichen das Sicherheitsziel Confidentiality(Vertraulichkeit)
Digitale Signaturen ermöglichen die Sicherheitsziele Data Origin Authentication, Integrity Protection, Non-Repudation
Zahlentheorie
Definition 26: Euklidischer Algorithmus (ggT)
Der größte gemeinsame Teiler ist das positive Produkt zweier gemeinsamer Primzahlen
Beispiel:
126 = (2*3)*3*7
30 = (2*3) * 5
ggt(126,30) = 6
Berechnung:
Idee 1: Wir nehmen an, dass a > b
Dann wird aus ggT(a,b) = g <=> ggT(a-b, b) = g
Dann wird a= ij und b= jg => ggt(ij,jg) = g <=> ggt(i-jg, jg) = g
Idee 2: Wir nehmen an, dass a > k*b
ggT(a-b,b) =
Funktionsweise
WHILE a != 0
a = a mod b
swap(a,b)
END
RETURN a
Definition 27: Erweiterter Euklidischer Algorithmus (eggT)
Der weitere Algorithmus berechnet zusätzlich die Quotienten p,q der diaphantischen Gleichenung
ggT(a,b) = p*a + q*b = g
Berechnung
Zuerst ggT(a=387, b=154) mit Nebenrechnung
ggT(387,154) | 387 = 2*154 + 79
= ggT(154, 79) | 154 = 1*79 + 75
= ggT(79, 75) | 79 = 1*75 + 4
= ggT(75, 4) | 75 = 18*4 + 3
= ggT(4, 3) | 4 = 1*3 + 1
= ggT(3,1) | 3 = 3*1 + 0
= ggT(1,0) = 1
Rückwärts zusammenrechnen
1 = 1
1 = 4-1*3
1 = 4-1*(75-18*4)
1 = 4-1*(75-18*(79-1*75)))
1 = 4-1*(75-18*(79-1*(154-1*79)))
1 = 4-1*(75-18*(79-1*(154-1*(387-2*154)))) = 39*387 - 98 * 154
=> Der ggT(387,154) => a = 387, b = 154, p=39, q=98
Berechnung der multiplikativen Inversen in 𝐙m
Gesucht: a⁻¹ mit a*a⁻¹ ≡ 1 mod m
ggT(a,m) = p*a + q*m = 1
=> p*a + q*m ≡ 1 mod m
<=> p*a ≡ 1 mod m
<=> p ≡ a⁻¹ mod m
Definition 28: Eulersche phi-Funktion
Die eulersche Phi-Funktion berechnet die Anzahl der Elemente der Menge 𝐙m={0,1,..,m-1,m}, die
teilerfremd (relativ prim) mit dem Modulus m sind.
Beispiel: (m=6)
ggT(0,6) = 6 ggT(3,6) = 3
ggT(1,6) = 1 ggT(4,6) = 2
ggT(2,6) = 2 ggT(5,6) = 1
=> 𝚽(6) = 2
Allgemeine Berechnung:
m habe die kanonische Faktorisierung
m = p1^(e1) * p2^(e2) * ... * pn^(en)
mit n unterschiedlichen Primzahlen p. Es gilt:
𝚽(m) = n || c=1 (pi^(ei)-pi^(ei-1))
Beispiel: (m=24)
24 = 2*2*2*3 = 2³*3 => p1=2, e1=3, p2=3, e2=1
𝚽(24) = 2||c=1 (pi^(ei) - pi^(ei-1)) = (2³-2²)(3¹-3⁰) = (8-4)(3-1) = 8
Definition 29: Satz von Euler
ggT(a,m)=1, dann gilt:
a^𝚽(m) ≡ 1 mod m
Anwendungen
- Reduktion im Exponenten 2¹⁰ mod 7
2¹⁰ ≡ 2^(10mod𝚽(7)) ≡ 2^(10mod6) ≡ 2⁴ mod 7 - Berechnung multiplikativer Inversen
a^𝚽(m) ≡ 1 mod m <=> a * a^(𝚽(m)-1) ≡ 1 mod m <=> a^(𝚽(m)-1) ≡ 1/a mod m
Ausblick
In den nächsten Teilen zur asymmetrischen Kryptographie werde ich das RSA-Verfahren näher betrachten. Weiterhin ein bisschen in die Gruppentheorie einsteigen und darauf aufbauend über Diffie Hellman und El-Gamal Verschlüsselungen berichten.
Wie immer freue ich mich über Feedback und natürlich, wenn es euch gefallen hat, über einen Upvote / Resteem :)
Wenn ich ehrlich bin habe ich zwar nicht die ganze Rechnung verstanden, aber trotzdem Mal schön sowas zu sehen
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hätte es mir bisschen ausführlicher erklärt gewünscht, es kommt mir vor wie aus nem uniskript kopiert was ich bisschen schade finde. Probiers doch mal so zu erklären, dass auch die schlimmsten Antiinformatiker es verstehen :D Auch fände ich es persönlich toller wenn du es so schreiben würdest, dass es auch spaß macht zu lesen :3 und man nicht mit nem brainfuck aus dem artikel kommt wenn man nicht gerade selber informatik studiert xD
klar sind zahlen und rohe rechnungen toll xD Aber der 0815 Steemian will sich da glaub ich kaum durchquälen xD Wäre toll wenn du nicht in deinen "texten" bzw rechnungen den grumpy-uni direktor machen würdest, sondern einen netten und sympathischen nachhilfelehrer xD Ich konnte einiges damit anfangen, bin aber auch informatikstudent :3 für uns ist das alles ja sowieso trivial xD Aber die kunst ist es doch es so zu erklären, dass es jeder versteht :3 so zeigt es sich ob einer gut wissen vermitteln kann :D
War aber nur meine meinung :3 Ich werde trotzdem ab und zu mal hier rein schauen :3
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Danke für dein Feedback
Tatsächlich war das für mich am Anfang auch eine Überlegung, jedoch würde das glaube ich wirklich den Rahmen extremst sprengen...
Das ganze ist stark an das Material aus der Uni angelehnt, jedoch um einiges verständlicher gemacht, als es bei uns tatsächlich gelehrt wird... Beispiele und co sind bei uns quasi unbekannt :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit