Merkseite | Kryptologie



Gliederung:

  1. Definitionen von wichtigen Begriffen
    […]
    Modulo Rechnung
  2. Symmetrische Verschlüsselungsverfahren
    Vigenere Verschlüsselung
    Caesar Verschlüsselung
  3. Scheme – Neue Kurzreferenzen
  4. ASCII – Tabelle
  5. Prinzip von Kerkhoff
  6. Kryptoanalyse + Angriffe
    Häufigkeitsanalyse
    Kasiski Test
    Brute Force
    Man in the middle
  7. Asymmetrisches Verschlüsselungsverfahren
    Vergleich mit symmetrischer Verschlüsselung
  8. Diffie-Hellman Schlüsselaustausch
    ↳ Diskreten Logarithmus:
  9. RSA Verfahren


1. Definitionen von wichtigen Begriffen 

Schluessel.gif

  • Kryptologie:
    Es ist „die Lehre vom Geheimen“, doch allgemein kann man sagen das sich die Kryptologie mit dem Ver- und Entschlüsseln von Informationen beschäftigt.

    Zweige der Kryptologie:
    1. Kryptographie (verschlüsseln)
    2. Kryptoanalyse (entschlüsseln)

    Hier klicken für weitere Informationen: Kryptologie

 

  • Kryptographie:
    Verfahren, welche entwickelt wurden, um Informationen vor unbefugtem Zugriff zu schützen, also zu verschlüsseln.

 

  • Kryptoanalyse:
    Verfahren bei denen versucht wird Verschlüsselungen aufzuheben/brechen.   

 

  • Klartext:
    Ein Text der noch unverschlüsselt ist

 

  • Chiffre:
     Sind Zeichen einer Geheimsprache

 

  • Chiffrieren:
    Einen Klartext mit Chiffren in eine Art „Geheimsprache“ umschreiben. Allgemein nennt man es auch „verschlüsseln“. Meistens mithilfe vonmathematischen Verfahren umgewandelt.

 

  • Dechiffrieren:
    Dechiffrieren kann man auch entschlüsseln“ nennen. Es ist das gegenteilige Verfahren von chiffrieren. Man versucht eine Chiffre in Klartext zu bringen.

 

  • Datenintegrität:
    Maßnahmen die dafür sorgen, dass die übermittelnden Daten nicht von Dritten verändert, manipuliert oder gelesen werden.

 

  • Authentizität
    Maßnahmen die dafür sorgen, dass Absender und Empfänger auch wirklich die Personen sind und es sich dabei nicht um einen „Man in the middle handelt“

 

  • Vertraulichkeit:
    Das Vertrauen der ganzer Vorgang sicher und sensibel gehalten wird. Denn wenn z.B. der Schlüssel öffentlich ist oder der Schlüssel offen auf dem Schreibtisch liegt, dann wird die Vertraulichkeit  gebrochen.

 

  • Symmetrische Verschlüsselung:
    Wenn für die Ver- und Entschlüsseln derselbe Schlüssel verwendet, wird dies so genannt.

 

  • Asymmetrische Verschlüsselung:
    Wenn für die Ver- und Entschlüsseln nicht der selbe Schlüssel verwendet wird. Gegenteil der Symmetrische Verschlüsselung.

 

  • Monoalphabetischen Verfahren:
    Es wird nur ein Alphabet benutzt. Dabei wird immer ein und derselbe Buchstabe durch denselben Buchstaben ersetzt. (siehe z.B. Caesar-Verschlüsselung)
    Solche Verfahren sind relativ leicht zu attackieren (siehe KryptoanalyseHäufigkeitsanalyse) 

 

  • Polyalphabetische Verfahren:
    Es werden unterschiedliche Alphabete benutzt. Dabei wird ein und demselben Buchstaben aus einem Klartext, einen unterschiedliche Buchstaben im Geheimtext zuordnet. (siehe z.B. Vigenere-Verschlüsselung)

 

  • Modulo Rechnung:
    Modulo rechnet den Rest einer Division aus.◊ Einfache Beispiele:
    11 mod 4 = 3  ⇒. Man spricht es: „Elf modulo vier ist gleich drei“ aus
    ↳ Rechnung: 11 : 4 = 2; Rest 3
    ↳ Probe: 4 x 2 + 3 = 11 ✔︎- 12 mod 4 = 0
    – 14 mod 5 = 4Beispiele mit großen Zahlen | Taschenrechner:
    982 mod 33 = 25
    //Da es schwer ist sowas im Kopf zu rechnen, zeige ich euch wie man es mit dem Taschenrechner rechnet982 : 33 = 29,755555555555    //Nachkommastellen wegstreichen
    29 * 33 = 957                              //Ergebnis vom Anfangswert subtrahieren
    982 – 957 = 25 ✔︎◊ Anwendung:
    Es hilft bei der Berechnung der Verschiebungen der Chiffren, denn wenn man zum Beispiel eine Verschiebung von 30 hat und das Alphabet nur bis 26 geht. Dann nimmt man „30 mod 26“ was  4 ergibt, somit enthält das richtige Zeichen an vierter Stelle.
    Außerdem braucht man es später bei der Berechnung beim Diffie-Hellman Schlüsselaustauschverfahren, indem man von Potenzen Modulo nimmt  ⇒ Eine Erklärung dazu befindet sich bei der DH-Verfahren Abteilung.

 

  • Certificate Authorities:
    In der Informationssicherheit ist eine Zertifizierungsstelle (englisch certificate authority oder certification authority, kurz CA) eine Organisation, die digitale Zertifikate herausgibt. Ein digitales Zertifikat dient dazu, einen bestimmten öffentlichen Schlüssel einer Person oder Organisation zuzuordnen. (eigne Worte …)

 



2. Symmetrische Verschlüsselungsverfahren:

____________________________________
[2.1] Caesar-Verschlüsselung |
M
onoalphabetisch

DefinitiveHospitableBull-max-1mb

  • Erfinder:
    Julius Gaius Caesar im Zeitalter 100 bis 44 vor Christi in der römischen Zeit

 

  • Sein Verschlüsselungsverfahren:
    Jeder Buchstabe im Klaralphabet wird durch den Buchstaben ersetzt, der im Alphabet 3. Stellen weiter rechts liegt. Der Schlüssel dazu sieht so aus:Bildschirmfoto 2017-12-21 um 00.02.46

 

  • Chiffriermaschine:
    Ermöglicht einen durch zwei Drehscheiben diesen Verfahren mit unterschiedlichen Buchstaben zu beginnen und zu verschlüsseln damit.Bildschirmfoto 2017-12-21 um 00.06.47
  • Scheme:
    In Scheme implementiert, würde die Caesar-Verschlüsselung wie folgt aussehen:Bildschirmfoto 2018-01-05 um 21.07.30Beispiel: 
    „hallo“ mit der Verschiebung 20 wäre verschlüsselt: „buffi“ 😂

 

 

____________________________________
[2.2] Vigenere-Verschlüsselung | Polyalphabetisch

vigSmall

  • Erfinder:
    Der Franzose Blaise de  Vigenère im 16. Jahrhundert zwischen 1523-158

 

  • Sein Verschlüsselungsverfahren:
    Funktioniert nur mit dem Vigenere Quadrat, denn wenn wir etwas verschlüsseln wollen, suchen wir unseren Buchstaben in der ersten Spalte. Danach nach rechts bis zum Buchstabe des SchlüsselsBeispiel:
     Z.B beim Wort „Schiff“ und dem Schlüssel „Test“, gehen wir bis zum „h“ in der obersten Reihe und bis zum „t“ in der ersten Spalte. Jetzt guck mal wo sie sich kreuzen. In diesem Fall wäre es bei „s“ und „t“ -> „L“.Aus dem Wort „Schiff und dem Schlüssel „Test“ wurde „LGZBYJ“Infovigenere-quadrat

 

  • Scheme:
    In Scheme implementiert, würde die Vigenere-Verschlüsselung wie folgt aussehen: (unfertig)vigenere.png

 

 



3. Scheme – Neue Kurzreferenzen 

  • Liefert aus einem String, eine Liste mit Charakter |  string->list
    Bsp. „hallo“ ⇒ (#\h #\a #\l #\l #\o)
  • Liefert aus einer Liste mit Charakteren, einen String, |  list->string
    Bsp. (#\c #\i #\a #\o) ⇒ „ciao“
  • Liefert zu einem Charakter den entsprechenden ASCII Wert | char->integer
    Bsp. (char->integer #\a) ⇒ 97
  • Liefert zu einen Wert (aus der ASCII Tabelle), einen Charakter  | integer->char
    Bsp. 98 ⇒ (#\b)
  • Liefert nur den Rest der Division der Argumente | modulo
    Bsp. (modulo 13  4) ⇒ 1

Hier klicken für die vollständige Kurzreferenz

 



4. ASCII – Tabelle

ascii-93c823e7009f26b0

 



5. Prinzip von Kerkhoff

Bildschirmfoto 2018-01-10 um 22.27.14

Also nochmal in eigenen Worten, der Schlüssel spielt jetzt eine große Rolle. Zum Beispiel braucht man bei caeser verschlüsselung keinen Schlüssel, um auf den Text zukommen. Anders ist es bei Klartexten bei denen man das gleiche verfahren anwendet mit einem andern Schlüssel und dafür unterschiedliche Chiffren enthält. Ohne also den Schlüssel darf es keinem möglich sein, die Nachricht nur auf Grund der Kenntnis des Verfahrens zu entschlüsseln.

Hier nochmal zum durchlesen: Kerkhoff

 



6. KryptoanalyseAngriffe

____________________________________
[6.1] Häufigkeitsanalyse:

Bei dieser Methode werden die einzelnen Buchstaben gezählt und ihre Häufigkeit notiert. Dadurch kann die relative Buchstabenhäufigkeit berechnet werden. Es wird die Häufigkeit der Buchstaben in dem verschlüsseltem Text mit der durchschnittlichen Häufigkeit der Buchstaben unserer Sprache verglichen. Dadurch kann zum Bespiel geschlossen werden, das wenn in einen verschlüsselten Text häufig ein „z“ vorkommt, das dieses „z“ in Wirklichkeit ein „e“. Denn in der deutschen Sprache liegt die Wahrscheinlichkeit sehr hoch, dass ein „e“ in einem Wort vorkommt. Je länger die Nachricht, desto genauer kann man dies dann bestimmen.

____________________________________
[6.2] Kasiski-Test

Als Basis benutzt man einen Vigenere Verschlüsselten Text. Dort durchsucht man den Geheimtext nach Buchstabenfolgen der Länge 2 oder länger, die mehrmals vorkommen. Anschließend bestimmt man den Abstand zwischen je 2 gleichen Folgen. Man zählt also die Buchstaben vom ersten Buchstaben der ersten Folge bis zum ersten Buchstaben der zweiten Folge. Dies macht mit jeder gefundene Buchstabenfolge und enthält eine Reihe von Zahlen. Diese werden dann in Primfaktoren zerlegt. Dadurch können gemeinsame Teiler schneller gefunden werden.
Danach unterteilt man den Text in Blöcken der Länge der Schlüssellänge. Der erster, zweite, dritte, n-te Buchstabe aller Blöcke kann man einzel zusammen. Da z.B alle ersten auch mit dem ersten Buchstabe des Schlüssel verschlüsselt wurde. Deswegen kann man dies als eine Monoalphabete Verschlüsselung sehen und somit die Häufigkeitsanalyse ausführen.

∇ Bespiel |Primfaktorzerlegung: 

36 = 2 * 18

Jetzt prüfen wir, ob eine weitere Zerlegung möglich ist. Dazu sehen wir uns die 18 an und prüfen, ob diese durch 2 teilbar ist. Dies geht auch, denn 18 : 2 = 9.

36 = 2 * 2 * 9

Können wir die 9 noch zerlegen? Versuchen wir es wieder mit der 2. Dann erhalten wir
9 : 2 = 4 Rest 1. Wir haben einen Rest. Daher versuchen wir es mit der nächsten Primzahl, welche die 3 ist. Mit 9 : 3 = 3 klappt dies auch ohne Rest. Wir haben damit auf der rechten Seite der Gleichung nur Primfaktoren. Damit sind wir fertig. Die komplette Zerlegung in Primfaktoren sieht damit so aus:

36 = 2 * 2 * 3 * 3

Was man wissen sollte ist, dass die genaue Schlüssellänge nicht bekannt wird, denn der Kasiski-Test liefert nur Vielfache der Schlüssellänge.

Wenn man nun alle Buchstabenfolgen gefunden hat und diese Zerlegt hat, erhält eine Vielzeit von Zahlen/Teiler. Die Zahlen die dann am häufigsten vorkommen zeigen wahrscheinlich die richtige Schlüssellänge an. Anschließend versucht man mittels einer Häufigkeitsanalyse auf den Schlüssel (Schlüssellänge muss vorher bestimmt werden).

Hier klicken für eine vollständige Vigenere Entschlüsselung mit Kasiski Test 

____________________________________
[6.3]
 
Brute-Force-Methode:

Bei dieser Methode werden alle möglichen Schlüssel nacheinander durchprobiert. Man denkt sich bestimmt, das dies lange dauern wird. Doch schon ein handelsüblichen Computern (laut Wikipedia) kann ohne Weiteres mehrere Millionen Schlüssel pro Sekunde generieren, welche dann ausprobiert werden können. Bei schwachen Schlüsseln wie z.B. Haus würde in ca. 0.0000456976 Sekunden geknackt werden (diese Information ziehe ich aus „Wie sicher ist mein Passwort“, da ich denke das dies ein ähnlichen Wer aufweisen würde).

____________________________________
[6.3] 
Man in the middle:

Bei dieser Methode, bzw bei diesen Angriff täuscht ein „Dritter“ zwei Kommunikationspartner, indem er ihnen jeweils die Identität des anderen vorspiegelt.
Z.B.  Kenan …………… |Walid|………….. Sami
Ich möchte mit Sami kommunizieren, doch Walid hat sich irgendwie zwischen uns eingeschleust. Wenn ich mit Sami schreibe oder Daten austausche, bekommt sie Walid erstmal. Er kann sie dann einsehe oder verändern/manipulieren, sodass sie Sami dann ganz normal oder sogar falsch bekommt. Ich, bzw. Sami denken dann das wir normal kommunizieren, aber in Wirklichkeit kommunizieren wir mit Walid.

____________________________________
[6.4] Wörterbuchangriff

Alle Wörter einer Sprache werden innerhalb von einer Sekunde getestet

Ein Kennwort was aus einem Wort einer Sprache besteht ist daher sehr unsicher

Wie schuützt man sich vor solchen Angriffen:
– Sinnlose Buchstabenfolge
– Sätze
– Buchstaben und Zahlen gemischt

 



7. Asymmetrisches Verschlüsselungsverfahren | Public-Key-Verfahren

  1. Möglichkeit | Symmetrische Verschlüsselung
    Wie wir bereits kennen benutzt man bei der Symmetrische Verschlüsselung einen Schlüssel für die Ver- und Entschlüsselung. Wie hier gut im Beispiel gezeigt, werden die Daten erstmal mit einen Schlüssel verschlüsselt. Der Schlüssel wird dann auf verschiedenster Weise zum Gegenüber gebracht, dieser kann dann die Chiffre entschlüsseln. Da es ein Problem ist die Schlüssel in der heutigen Welt zu übergeben, da sie auch immer länger und das Internet nicht so sicher ist. Deswegen kam man auf die Idee der Asymmetrische Verschlüsselung. 
    A!
  2. Möglichkeit | Asymmetrische Verschlüsselung
    Bei der Asymmetrische Verschlüsselung ist es so das man nun zwei Schlüssel hat – einen öffentlichen und einen privaten. Mit den öffentlichen, kann jeder seine Daten verschlüsseln und dann dem schicken der den öffentlichen Schlüssel bereit gestellt hat, dieser kann es dann einfach mit seinem geheimen Schlüssel entschlüsseln.
    A2
Probleme bei Asymmetrische Verfahren : 

Das Asymmetrische Verfahren erleichtert nur die Schlüsselübergabe. Sonst bietet keine Vorteile gegenüber des symmetrischen Verfahrens. Probleme wären

  • Man in the middle:
    Eine Person befindet sich, vor einer Kommunikation, in der Mitte des Gespräches. Dabei fängt er die öffentlichen Schlüssel ab und schickt eigene weiter. Dadurch können Chiffrierte Texte abgefangen, gelesen und manipuliert werden.
Wie erhöht man die Sicherheit:

Um die Sicherheit bei diesen Verfahren teilweise zu gewährleisten, gibt es verschiedene Möglichkeiten dem entgegenzuwirken

  • Doppelte Verschlüsselung (Zwiebel-Verfahren/Technik):
    Nehmen wir an Person A möchte Person B einen Text schicken. Dabei verschlüsselt Person A den Text mit seinem geheimen Schlüssel. Entschlüsselt kann dieser Text nur mit dem öffentlichen Schlüssel, den auch jeder besitzt. Daher verschlüsselt man den verschlüsselten Text nochmal mit den öffentlichen Schlüssel von Person B. Entschlüsseln kann es daher nur Person B mit seinen geheimen Schlüssel.
    Person B muss nun mit seinen g.S und danach mit dem öffentlichen von
    (Abbildung folgt …)

____________________________________
[7.2] Vor- und Nachteile der Verschlüsslungsverfahren 

∇ Vorteile | symmetrischen Verschlüsselung:
  • Einfaches Schlüsselmanagement, da nur ein Schlüssel für Ent- und Verschlüsselung
  • Schnellere Rechenzeit  / Wenig Rechenleistung erforderlich
∅ Nachteile | symmetrischen Verschlüsselung
  • Hohes Sciherheitsrisiko, da nur ein Schlüssel für Ver- und Entschlüsselung verwendet wird – Wen kann man alles vertrauen?
  • Schlüssel muss vertraulich übermittelt werden – hohe Kosten
∇ Vorteile | asymmetrischen Verschlüsselung :
  • Mit dem öffentlichen Schlüssel ist es zu schwer auf den geheimen Schlüssel oder dem Klartext zu schließen
  • leichte Verteilung der öffentlichen Schlüssel
∅ Nachteile | asymmetrischen Verschlüsselung:
  • längere Rechenzeit
  • höhere Rechenleistung – teuere Computer werden benötigt – Platzt/ Kühlung?
  • Bei der Kommunikation mit mehren Personen muss man sich gegenseitig die öffentlichen Schlüssel zuschicken (bezogen auf DH-Verfahren)
  • Angriffe wie z.B da man als Man in the middle, sich als jemand anderes ausgeben kann, indem man den öffentlichen Schlüssel benutzt.
  • Man weiß nicht ob jemand vielleicht schon ein Algorithmus für die Entschlüsselung gefunden hat und den für sich behält
  • deutlich längere Schlüssel, um Sicherheit zu gewährleisten
  • Abhängigkeit zwischen den öffentlichen/privaten Schlüsseln könnte dazu führen, dass doch der geheime Schlüssel schneller als erwartet berechnet werden kann (diskreter Logarithmus)


8. Diffie-Hellman Schlüsselaustausch

A3

Das Verfahren wurde von den drei Wissenschaftlern Diffie, Hellman und Merkle im Jahr 1976 veröffentlicht. Der Name Merkle wird einfach weggelassen, deswegen nennt man es einfach Diffie-Hellman Schlüsselaustausch Verfahren.

Vorgehen grob am Beispiel erklärt: 

  1. Hamburg und New York einigen sich auf zwei öffentliche Daten (Zahlen!).
  2. Dazu wählt jeder von beiden einen geheimen Wert (Zahl!) (den natürlich der jeweils andere nicht kennt, daher sind diese Werte nicht gleich!!!)
  3. Nun generiert jede der Seiten einen neuen öffentlichen Wert (Zahl!), der sich errechnet aus den vorher ausgetauschten öffentlichen Daten und dem eigenen geheimen Wert.
  4. Diese neuen öffentlichen Werte werden gegen getauscht (New York bekommt den aus Hamburg und umgekehrt). Dies kann öffentlich geschehen, da man aus den öffentlichen Werten nicht auf den geheimen Wert, der mit reingeflossen ist, zurückschließen kann (zumindest nicht so einfach).
  5. Nun nimmt jede Seite den öffentlichen Wert der Gegenseite verknüpft ihn mathematisch (im Detail kommen wir später darauf zurück) mit dem eigenen geheimen Wert und bekommt daraus einen neuen Wert.
  6. Durch das Wunder der Mathematik ist dieser neue Wert auf beiden Seiten gleich!
  7. Fertig.

Beispiel mit Zahlen:

  1. Kenan und Sami einigen sich auf eine gemeinsame öffentliche Primzahl (p = 12) und eine öffentliche Ganzzahl (a = 4), welche kleiner als p ist.
  2. Kenan wählt eine geheime Zufallszahl (G1 = 10).
    Sami wählt die geheime Zufallszahl (G2 = 5)
  3. Kenan berechnet den öffentlichen Schlüssel yKenan = 410 mod 12 ⇒  yKenan = 4 und sendet dieses Ergebnis an Sami.
    410 = 1048576
    1048576 : 12 = 87381,3333333
    87381 * 12 = 1048572
    1048576 – 1048572 = 4
  4. Sami berechnet den öffentlichen Schlüssel ySami = 4mod 12 ⇒ ySami = 4 und sendet dieses Ergebnis an Kenan.
    4= 1024
    1024 : 12 = 85,3333333
    85 * 12 = 1020
    1024 – 1020 = 4
  5. Kenan berechnet K = 410 mod 12 ⇒ K = 2
    410 = 1048576
    1048576 : 12 = 87381,3333333
    87381 * 12 = 1048572
    1048576 – 1048572 = 4
  6. Sami berechnet K = 4mod 12 ⇒ K = 2
    4= 1024
    1024 : 12 = 85,3333333
    85 * 12 = 1020
    1024 – 1020 = 4
  7. Wir beide erhalten das gleiche Ergebnis, also den gleichen gemeinsamen geheimen Schlüssel  K = 4

____________________________________
[8.2] Diskreten Logarithmus:

Vergleicht man die gewöhnliche Exponentialfunktion mit dem diskreten Exponentialfunktion, so erkennt man deutliche Unterschiede. Schaut man sich beide Graphen an so erkennt man, das der Graph bei gewöhnliche Exponentialfunktion stetig ist und zu jeden X-Wert ein Y-Wert gibt. Doch bei dem Graphen der diskreten Exponentialfunktion ist es so, dass man nur ganzzahlige Werte besitzt und diese nicht stetig sind. Dies hängt mit dem Modulo zusammen, den dadurch enstehen unvorhersehbare Sprünge, die man nicht deuten kann.
Bei der gewöhnliche Exponentialfunktion ist auch deutlich leichter mir dem Logarithmus auf die Zahl zukommen, doch bei der diskreten Exponentialfunktion ist deutlich schwerer. Denn es gibt bis jetzt kein verfahren wie man es für die sehr großen Zahlen schafft.

Unbenannt



9. RSA Verfahren 

Ablauf:
  1. Private Schlüssel besteht aus zwei Primzahlen p und q (müssen sehr groß sein)
  2. Öffentlichen Schlüssel bestehend aus einer Zahl n = p·q und einer Zahl e (die Zahl sollte teilerfremd zu (p-1)·(q-1))
  3. Zu dem private Schlüssel berechnet man nach dem euklidischen Algorithmus mit der Gleichung [ d = k(p-1)(q-1)+1 / e ] eine Zahl d.
  4. Öffentliche Schlüssel wird über öffentliche Wege (z.B. Internet) an die Person II geschickt.
  5. Person II verschlüsselt ihre Daten buchstabenweise, das heißt der Text wird in einzelne Buchstaben aufteilen und in ihren Ascii Wert umgerechnet). Dann wird nach folgender Gleichung verschlüsselt:
    verschlüsselter Buchstabe = Klarbuchstabee mod n 
  6. Die verschlüsselten Buchstaben werden nun zurück geschickt an Person I geschickt, denn nur er kann mit Hilfe seines privaten Schlüssels d diese Buchstaben entschlüsseln. Gleichung: Klarbuchstabe= Buchstabed mod n
Beispiel Ablauf:

∇ Vorteile | RSA Verfahren 
  • Man braucht keinen Schlüssel manuell überbringen, der öffentliche Schlüssel zum verschlüsseln kann z.B. über das Internet übermittelt werden.
∅ Nachteile |RSA Verfahren 
  • Die Verschlüsselung ist sehr rechenintensiv
    ↳ Man benutzt sehr große Primzahlen (sehr rechenaufwendig) ist.
    ↳ Daher wird das RSA Verfahren nicht zur Verschlüsselung ganzer Texte eingesetzt, sondern nur, um symmetrische Schlüssel auszutauschen, mit denen dann der Text mittels eines symmetrischen Verfahrens (DES, AES) verschlüsselt wird (Hybridverfahren).
  • Man-in-the-middle Angriff  möglich