moderne Verfahren

Aus ProgrammingWiki
Archivierte Version vom 2012-02-04T12:44:43+00:00. Aktuelle Version

Inhaltsverzeichnis

Zu unterscheiden sind insbesondere symmetrische Verschlüsselungsverfahren und asymmetrische Verfahren. Die Prinzipen werden in folgenden Abbildungen verdeutlicht.


Vorteile von asymmetrischen Verschlüsselungsverfahren

Hohe Sicherheit
- beim Public Key verbleibt der Schlüssel bei nur einer Person
- Entschlüsselung ohne Privat Key dauert extrem lang
- Anzahl der Schlüssel wächst linear zur Teilnehmerzahl

Nachteile von asymmetrischen Verschlüsselungsverfahren

Lange Rechendauer (circa 1000mal länger als Symmetrische)
Erhöhter Aufwand bei mehreren Empfängern
Nur noch so lange sicher, bis durch bessere Rechenleistung größere Zahlen in kurzer Zeit entschlüsselt werden können. ...


Vorteile von symmetrischen Verschlüsselungsverfahren

- Schnelle Datenübertragung
- Einfaches Schlüsselmanagement da nur ein Schlüssel für Ent- und Verschlüsselung
- Hohe Geschwindigkeit für Ent- und Verschlüsselung


Nachteile von symmetrischen Verschlüsselungsverfahren

- Schlüsselweitergabe unsicher
- Nur ein Schlüssel für Ver- und Entschlüsselung, Schlüssel darf nicht in unbefugte Hände gelangen
- Anzahl der Schlüssel bezogen auf die Anzahl der Teilnehmer wächst quadratisch
- Schwachstelle ist darum oft die Zahl der Schlüssel (2^5^6 schlüssel sind leicht zu knacken)

Asymmetrische Kryptografie

Vorteil: -Sicherer Austausch von Nachrichten, ohne dass ein spezieller Sicherheitsmechanismus erforderlich ist

--> Es müssen keine geheimen Schlüssel über einen sicheren Übertragungsweg ausgetauscht werden

Wir wenden uns nun dem RSA-Verfahren zu, einem asymmetrischen Verfahren.


Aufgaben zur Bearbeitung am 27.01. und 03.02.2010:

DES-Verfahren

Ist die Abkürzung für Data Encryption Standard. Es ist ein symmetrischer Verschlüsselungsalgorithmus und wird seit 1976 international vielfach eingesetzt. Symmetrisch bedeutet, dass zum Ver- und Entschlüsseln der selbe Schlüssel genutzt wird. Zuerst verwendet wurde es von der US-amerikanischen Regierung und wird heute zum Beispiel beim Electronic Cash benutzt.

Schichten


Teil der ersten Schicht ist die Einteilung der zu verschlüsselnden Nachricht in mehrere gleich lange Blöcke, die alle nach dem gleichen Prinzip verschlüsselt werden. 1 Block entspricht einer Länge von 64 Bits und wenn man die Nachricht nicht gleichmäßig aufteilen kann wird mit sogenannten Dummy-Bits aufgefüllt.

Um jeden einzelnen Block zu verschlüsseln gibt es unterschiedliche Standard-Operationen. Ein Beispiel dafür ist die XOR-Operation, die beim IDEA-Verfahren genauer erläutert wird.

Um die Bit-Folgen schwerer decodierbar zu machen benutzt man Permutationen. So besagt die Permutation (2 3 1 8 5 4 6 7), dass aus der ursprünglichen Reihenfolge (1 0 0 1 1 0 1 0) die neu abgebildete Reihenfolge (0 1 0 0 1 1 0 1)

Die Verschlüsselung erfolgt in unterschiedlichen Phasen. Dabei kann man folgendes beobachten: -DES besteht aus einer Anfangsphase, einer mittleren Phase mit 16 Runden (Nummer 0 bis 15) und einer Endphase.

-Die Anfangsphase besteht aus einer Permutation der gesamten Folge.

-In den Runden werden linke und rechte Hälfte der Bit-Folge getrennt behandelt.

-Jede Runde besteht aus einer Vertauschung von linker und rechter Hälfte, einer Manipulation der rechten Hälfte im F-Modul und einer XOR-Operation der manipulierten rechten mit der linken Hälfte.

-Jede Runde verwendet ihren eigenen Schlüssel.

-Die mittlere Phase wird mit einer Vertauschung von linker und rechter Hälfte abgeschlossen.

-Die Endphase besteht aus einer abschließenden Permutation der gesamten Folge.

Des weiteren gibt es noch Paritäten. Denn das DES-Verfahren lässt nur Schlüssel mit bestimmter Parität zu. Ist die Zahl der Einsen in einer Bit-Folge ungerade, so ist die Parität 1, andernfalls ist die Parität 0. Als übereinstimmende Abmachung zwischen Sender und Empfänger sind nur Schlüssel mit der Parität 1 zugelassen.


Sicherheit von Informationen: Auf Grund der großen Blöcklänge macht es einen statistischen Angriff praktisch unmöglich. Dabei wird versucht, aus der Häufigkeit von Mustern auf die zu entschlüsselnde Nachricht geschlossen. Der bisher gelungene Angriff wird als Brute-Force-Angriff bezeichnet. Dabei wird jeder Schlüssel durchprobiert.

IDEA-Verfahren

IDEA steht für International Data Encryption Algorithm und wurde 1990 von der ETH Zürich in Zusammenarbeit mit der Firma Ascom Systec AG von James L. Massey und Xueija Lai,als Alternative zum unsicher gewordenen DES-Verfahren, entwickelt. Wegen anfänglicher Probleme war er anfällig für die Kryptoanalyse nach Biham und Shamir und wurde deshalb 1992 verbessert. Es ist bis heute keine einzige geglückte Attacke bekannt und er gilt als sehr sicherer Algorithmus. Es bietet im Vergleich zu DES bei weniger Rechenleistung ( nur 8 statt 16 Runden) eine größere Sicherheit, u.a. durch einen größeren Schlüsselraum. Beim IDEA-Verfahren wird der 64-bit lange klartext ( nachdem jedem Buchstabe seine entsprechende Zahl nach dem Tafelwerk zugewiesen wurde) zuerst in vier 16-bit lange blöcke unterteilt. In 8 Runden werden diese dann verschlüsselt. Der 128-Bit lange Schlüssel wird folgendermaßen in 52 Schlüssel zerlegt: zuerst wird der Schlüssel in acht 16-Bit-Schlüssel zerlegt, dann werden die Zahlen des 128-Bit-Schlüssels um 25 Bit nach links veschoben und erneut zerlegt, solange bis die besagten 52 Schlüssel beisammen sind.


http://www.regenechsen.de/phpwcms/index.php?krypto_idea




Zurück zu:
Moderne Verschlüsselungsverfahren
Monoalphabetische Substitution
Polyalphabetische Substitution
Sicherheit von Informationen


Das RSA-Verfahren


Bei diesem Verfahren gibt es öffentliche und geheime Schlüssel.

Die Sicherheit dieses Verfahrens beruht darauf, dass die Mathematik bisher noch keine Formel gefunden hat, mit der Primzahlen einfach und schnell berechnet werden können. Nach wie vor stehen hier nur Probiermethoden zur Verfügung. Aufgrund der großen Anzahl der Zahlenwerte führt dieses Probieren bei langen Schlüsselwerten nicht mehr in vernünftiger Zeit zum Ergebnis.

In diesem Zusammenhang wird von sogenannten Einwegfunktionen gesprochen, die in einer Richtung einfach anzuwenden, in anderer Richtung (Umkehrung) gar nicht oder extrem schwierig funktionieren.

    Primzahlen 41 und 211: Produkt einfach zu bestimmen: 8651
    Aus dem Produkt 8651 sind die Primzahlen durch Faktorisieren schwer zu ermitteln! Dies wird umso schwieriger, je größer die zu faktorisierende Zahl ist!




    Das Grundprinzip


  • man wähle zwei möglichst große Primzahlen p und q Wissenswertes zu Primzahlen unter http://www.primzahlen.de/
  • Verschlüsseln mit öffentlichem Schlüssel (e, N), wobei N = p * q und e eine beliebige Zahl ist aber teilerfremd zu (p - 1)*(q - 1)
  • Entschlüsseln mit privatem Schlüssel d, den man aus d*e = 1 mod ((p - 1)*(q - 1)) erhält

  • '''Es gelten also die Formeln:

      für das Verschlüsseln der Nachricht M zum chiffrierten Text C: C = M^e(mod N)
      sowie für das Dechiffrieren von C in die Ausgangsnachricht M: M = C^d(mod N)
    '''



    Ein Beispiel:

    Bob will an Alice eine Nachricht schicken. Alice hat einen öffentlichen Schlüssel wie folgt gewählt: Die Primzahlen seien p=17 und q=11. Damit ist N=187, für e wird 7 gewählt. Dieser Schlüssel wird veröffentlicht.
    Es soll die Nachricht XMAS gesendet werden. Dazu müssen die Buchstaben in ASCII-Code umgewandelt werden.

    Betrachten wir zunächst das X, so wird diese in ASCII durch 1011000 dargestellt. Dies entspricht der Dezimalzahl 88, damit sei die (Teil-)Nachricht M=88.
    Ascii-Listen finden sich z.B. unter http://www.torsten-horn.de/techdocs/ascii.htm oder http://www.asciitable.com/

    Für die Verschlüsselung ergibt sich nun C = 88^7(mod 187) Dies ist 11 (nachprüfen!), damit schickt Bob die geheime Nachricht C=11 an Alice.

    Nur wer die passenden Primzahlen kennt, mit denen der öffentliche Schlüssel erzeugt wurde, kann die Botschaft entschlüsseln. Das ist allein Alice.
    Ihr privater Schlüssel folgt aus
    d*e = 1 mod ((p - 1)*(q - 1))
    d*7 = 1 mod (16*10)
    d*7 = 1 mod (160))
    d = 23, weil 23*7 = 161(!?)

    Nun braucht nur noch die Nachricht entschlüsselt werden: M = C^d(mod N)
    M = 11^2^3(mod 187)
    M = 88 = X.

    Aufgabe:

    Verschlüsseln Sie den Rest der Nachricht XMAS und geben Sie Ihre Lösung in der Box unter writeln( 'hier' ) ein.
    Betätigen Sie den speichern & ausführen Schaltfläche!