Wie funktioniert Kryptographie?

#Kryptographie

Table of Contents

Intro

Ein interessantes Gebiet der Mathematik ist die Kryptographie. Sie wollen wir nun nutzen um unsere Daten zu sichern

Zuerst einmal etwas Theorie zur Wissenschaft:

Die Kryptologie ist die Wissenschaft vom Verschlüsseln von Informationen.

Man unterteilt die Kryptologie in die Gebiete der Kryptographie, in der es um die Verschlüsselung von Daten geht und in die Kryptoanalyse, die versucht die Daten ohne Kenntnis des Schlüssels zu entschlüsseln.

Definitionen

Die Kryptographie soll drei Eigenschaften eines Datums (das ist die Einzahl von Daten!) sicherstellen:

  • Authentifizierung: die Herkunft der Daten muß nachweisbar und geschützt sein

  • Integrität: der Inhalt der Daten muß geschützt und Änderungen erkennbar sein.

  • Vertraulichkeit: die Geheimhaltung der Daten muß gewährleistet sein.

Nun ein paar leckere Definitionen:

Name

Formelzeichen

Beschreibung

Klartext

M; P

zu verschlüsselnde Daten/Informationen

Chiffretext / Kryptogramm

C

verschlüsselter Klartext

Chiffrierung

C=E(M)

Umwandlung von Klartext in Chiffretext

Dechiffrierung

M=D©

Umwandlung von Chiffretext in Klartext

Schlüsselraum

Wertebereich aus dem dem Schlüssel ausgewählt werden kann

Algorithmen

Es gibt zwei Arten von Krypto-Algorithmen:

bei eingeschränkten Algorithmen hängt die Sicherheit vom verwendeten Verfahren ab. Sollte es kompromittiert werden muß der Algo ausgetauscht werde. Heute nur noch von historischer Bedeutung.

Beispiele sind ROT-13, bei dem jeder Buchstabe um 13 Positionen nach rechts im Alphabet verschoben wird. Diese Methode ist leicht zu brechen, da die Häufigkeit der verwendeten Buchstaben gleich bleibt. So läßt man mittels PC die Häufigkeit der Buchstaben herauszählen und ersetzt sie passend zur Häufigkeit der Klarbuchstaben in der jeweiligen Sprache. Weitere Probleme beruhen auf der organisatorischen Seite, da z.B. für jeden Kommunikationspartner ein neuer Algorithmus erforderlich ist. Schlüsselalgos sind Verfahren bei denen die Sicherheit von verwendeten Schlüsseln abhängt.

Dies wird mathematisch folgendermaßen dargestellt:

\(C = E_K(M)\)

bzw.

\(M = D_K(C)\)

Eine dechiffrierung des Kryptogramms ist nur mit Kenntnis des Schlüssels K möglich. Dies ermöglicht den vielfachen Einsatz eines Algorithmus durch den Einsatz von benutzerabhängigen Schlüsseln.

Wird zur chiffrierung und dechiffrierung der selbe Schlüssel verwendet spricht man von einem symmetrischen Verfahren. Die Sicherheit besteht NUR auf der Geheimhaltung des Schlüssels. Beim asymmetrischen Verfahren werden hingegen zwei Schlüssel verwendet: K1 zum verschlüsseln, der sogenannte öffentliche Schlüssel (public Key) und K2 zum entschlüsseln (privater Schlüssel bzw. private key):

\(C = E_K1(M)\)

\(M = D_K2(C)\), bei diesem verfahren hängt die Sicherheit von der Geheimhaltung des privaten Schlüssels ab. In der Praxis zeichnet sich das Verfahren folgendermaßen ab: Anton hat ein Schlüsselpaar: KAp (privat) und KAö (öffentlich) und Bärbel hat ebenfalls sin passendes Schlüsselpaar: KBp und KBö.

Beide machen ihre öffentlichen Schlüssel zugänglich. WIll Anton nun an Bärbel eine verschlüsselte Nachricht senden geht das so: Er verschlüsselt den Klartext mit Bärbels öffentlichen Schlüssel, welche zum entschlüsseln ihren privaten Schlüssel verwendet.

\(C = E_KBö(M)\)

bzw.

\(M = D_KBp(C)\)

Digitale Signatur

Asymmetrische Verfahren eignen sich auch zum digitalen signieren und zwar nach diesem einfachen System:

Anton verschlüselt seinen Klartext erst mit seinem privaten Schlüssel und dann mit Bärbels Öffentlichen. Bärbel etnschlüsselt erst mit ihrem privaten Schlüssel und dann mit Antons Öffentlichen. So ist sichergestellt das die Info von Anton stammt, da nur er den Klartext mit seinem privaten Schlüssel codieren kann (sofern der private Schlüssel nicht kompromittiert wurde, was aber allgemein auszuschließen ist).

Die Schlüssel eines Schlüsselpaares werden nur per Definition für öffentlich und privat erklärt, da die Operationen des Codierungsalgos mit einem Schlüssel durch den anderen Schlüssel wieder aufgehoben werden können. In "mathematisch" am beispiel Anton so ausgedrückt:

\(C = E_KAö(M); M = D_KAp(C) => M = D_KAp(E_KAö(M))\)

\(C = E_KAp(M); M = D_KAö(C) => M = D_KAö(E_KAp(M))\)

Quellen: B. Schneier : Angewandte Kryptographie; Bronstein - Handbuch der Mathematik