Montag, 1. Dezember 2008

News

präsentiert von: entwickler.com
Donnerstag, 3. August 2006

About Security #66: Kryptographie — Substitution

Beginnend mit dieser Folge werden einige Grundlagen der Kryptographie behandelt, die danach an praktischen Beispielen zum Schutz von Kommunikation vertieft werden.

Aber was ist Kryptographie eigentlich? Die Kryptologie, die Wissenschaft von der Ver- und Entschlüsselung, umfasst zwei Gebiete: Die Kryptographie und die Kryptanalyse. Die Kryptographie ist stark vereinfacht die Lehre von der Ver- und Entschlüsselung. Die Kryptanalyse umfasst die Tätigkeit, ohne Kenntnis des Schlüssels aus verschlüsselten Daten die ursprünglichen Daten zu ermitteln sowie die Bewertung der Sicherheit kryptogaphischer Verfahren.

Kryptographische Systeme werden nach drei Kriterien unterschieden:

  • Ihrem Zweck:
    • Konzelationssysteme, oft auch Verschlüsselungssysteme genannt, sind Systeme zur Geheimhaltung von Daten. Sie dienen also dem Schutzziel Vertraulichkeit (siehe About Security #1).
    • Authentikationssysteme sind Systeme zur Erkennung von Manipulationen. Sie dienen also dem Schutzziel Integrität (siehe About Security #1).
      Ein Spezialfall sind digitale Signatursysteme, bei denen der Empfänger einer Nachricht sicher ist, dass die Nachricht vom angegebenen Absender stammt und dies auch unbeteiligten Dritten beweisen kann.
  • Der Art der Schlüsselverteilung:
    Bei symmetrischen Systemen nutzen Sender und Empfänger den gleichen Schlüssel, bei asymmetrischen Systemen verschiedene.
  • Dem Sicherheitsgrad:
    Informationstheoretisch sichere Systeme sind absolut sicher. Kryptographisch sichere Systeme sind unter bestimmten Bedingungen zu brechen.
About Security: Die komplette Serie
Konzelationssysteme

Einige Grundbegriffe, die immer wieder vorkommen werden:

Klartext (engl.: plaintext) ist der zu verschlüsselnde Originaltext.
Geheimtext (engl.: ciphertext) ist der verschlüsselte Text.
Klartextangriff (engl.: known plaintext attack) ist ein Angriff, bei dem dem Angreifer außer dem Geheimtext auch Teile des Klartextes bekannt sind. Z.B., weil er selbst Einfluss auf den Klartext hat oder weil bestimmte Textpassagen in jedem Text verwendet werden.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Zuerst sollen einige klassische Verfahren vorgestellt werden, die (mit einer Ausnahme) heutzutage nicht mehr sicher sind. Zur Vereinfachung wird im Folgenden davon ausgegangen, dass normaler Text verschlüsselt werden soll.

Substitution

Ein sehr altes Verschlüsselungsverfahren ist die auf Julius Cäsar zurückgehende so genannte Cäsar-Chiffre oder Cäsar-Addition. Dabei wird das Alphabet als geschlossener Kreis betrachtet, bei dem auf das Z das A folgt, und jeder Buchstabe durch den dritten danach ersetzt, also

A durch D,
B durch E,
...
X durch A,
Y durch B,
Z durch C.

Es wird nicht zwischen Groß- und Kleinschreibung unterschieden, Leer- und Satzzeichen werden weggelassen. Der Schlüssel dieses Verfahrens ist die Schrittweite, mit der die Buchstaben ersetzt werden, hier also 3.

Mit dem Schlüssel 13 erhält man übrigens das als ROT13 bekannte Verfahren, das z.B. im Usenet ein unabsichtliches Lesen von Textteilen verhindert. Die 13 wurde dabei gewählt, weil eine erneute Verschlüsselung des Geheimtextes wieder den Klartext ergibt:
ROT13( ROT13( Klartext ) ) = Klartext

Jetzt kommt ein bisschen Mathematik, genauer: Zahlentheorie. Aber keine Angst, das klingt schlimmer als es ist. Kryptographie ist ohne Mathematik nicht möglich, aber ich werde mich auf das Wichtigste beschränken und alles so einfach wie möglich erklären.

Zahlentheoretisch entspricht die Cäsar-Chiffre der Addition einer Konstanten (dem Schlüssel) in der Restklasse modulo 26:

 Geheimtextzeichen = Klartextzeichen + Schlüssel mod 26

Dabei werden die Buchstaben als Zahlen betrachtet: A = 0, B = 1,... Z = 25. "modulo 26" oder kurz "mod 26" bedeutet, dass von der Summe "Klartextzeichen + Schlüssel" 26 abgezogen wird, wenn das Ergebnis größer oder gleich 26 ist.

Ein kurzes Beispiel:

"Satz mit x" wird zu "SATZMITX" und nach obiger Tabelle

 S -> V
A -> D
T -> W
Z -> C
M -> P
I -> L
T -> W
X -> A

zu VDWCPLWA.

Und jetzt zur Probe das ganze mit Zahlen:

Umwandlung Verschlüsselung Ergebnis
S = 18 + 3 mod 26 = 21 mod 26 = 21 = V
A = 0 + 3 mod 26 = 3 mod 26 = 3 = D
T = 19 + 3 mod 26 = 22 mod 26 = 22 = W
Z = 25 + 3 mod 26 = 28 mod 26 = 2 = C
M = 12 + 3 mod 26 = 15 mod 26 = 15 = P
I = 8 + 3 mod 26 = 11 mod 26 = 11 = L
T = 19 + 3 mod 26 = 22 mod 26 = 22 = W
X = 23 + 3 mod 26 = 26 mod 26 = 0 = A

Stimmt. :-)

Die Cäsar-Chiffre ist ein Spezialfall der einfachsten Methode, einen Text zu verschlüsseln, der Substitution (Ersetzung). Dabei wird jeder Buchstabe des Alphabets durch einen beliebigen anderen ersetzt, aber nie zwei verschiedene Buchstaben durch den gleichen. Die Einschränkung ist notwendig, da die Substitution sich sonst nicht eindeutig umkehren lässt. Eine solche Abbildung des Alphabets auf sich selbst heißt auch Permutation. Die Zahl möglicher Substitutionen ist mit 26! zwar sehr hoch, das Verfahren aber mit statistischen Verfahren mühelos zu brechen. Dabei wird ausgenutzt, dass bestimmte Zeichen und Zeichenkombinationen in Klartext häufiger vorkommen als andere und sich dies im Geheimtext entsprechend widerspiegelt.

In der nächsten Folge wird die Kryptanalyse der Substitution beschrieben und ein weiteres klassisches Verfahren vorgestellt: Die Transposition.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Kryptographie – Grundlagen"

Konferenzen

BASTA! Spring 2009

BASTA! Spring 2009

23.-27. Februar 2009
Maritim Rhein-Main Hotel Wissenschaftsstadt Darmstadt

BASTA! Italia 2009

BASTA! Italia 2009

16.-18. März 2009
Holiday Inn EUR Parco dei Medici, Roma

PHPCon Italia 2009

PHPCon Italia 2009

18.-20. März 2009
Holiday Inn EUR Parco dei Medici, Roma

webinale 09

webinale 09

25.-27. Mai 2009
Berlin

Werbung
Top-Jobs

Software & Support Verlag GmbH

Volontär (w/m) Redaktion, Vollzeit

Signsoft GmbH

Java-Entwickler (m/w)

Endress+Hauser GmbH+Co. KG

Entwickler Datenbanksysteme (m/w)

Software & Support Verlag GmbH

Redakteur (m/w), Vollzeit

Software & Support Verlag GmbH

Lektor (m/w), Vollzeit
JAX 09

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

Bücher


hosted by HostEurope