Traditionelle Chiffren

Im zweiten Kapitel haben wir die Grundlagen der modernen Kryptographie diskutiert. Wir haben die Kryptographie mit einem Toolkit gleichgesetzt, bei dem verschiedene kryptografische Techniken als grundlegende Werkzeuge betrachtet werden. Eines dieser Tools ist die symmetrische Schlüsselverschlüsselung, bei der der für die Ver- und Entschlüsselung verwendete Schlüssel identisch ist.

In diesem Kapitel werden diese Technik und ihre Anwendungen zur Entwicklung verschiedener Kryptosysteme weiter erläutert.

Frühere kryptografische Systeme

Bevor Sie fortfahren, müssen Sie einige Fakten über historische Kryptosysteme kennen -

  • Alle diese Systeme sind based on symmetric key encryption planen.

  • Der einzige Sicherheitsdienst, den diese Systeme bieten, ist die Vertraulichkeit von Informationen.

  • Im Gegensatz zu modernen Systemen, die digital sind und Daten als Binärzahlen behandeln, arbeiteten die früheren Systeme mit Alphabeten als Grundelement.

Diese früheren kryptografischen Systeme werden auch als Chiffren bezeichnet. Im Allgemeinen ist eine Verschlüsselung einfach nur eine Reihe von Schritten (ein Algorithmus), um sowohl eine Verschlüsselung als auch die entsprechende Entschlüsselung durchzuführen.

Caesar Chiffre

Es ist eine monoalphabetische Chiffre, bei der jeder Buchstabe des Klartextes durch einen anderen Buchstaben ersetzt wird, um den Chiffretext zu bilden. Es ist eine einfachste Form des Substitutionsverschlüsselungsschemas.

Dieses Kryptosystem wird allgemein als das bezeichnet Shift Cipher. Das Konzept besteht darin, jedes Alphabet durch ein anderes Alphabet zu ersetzen, das um eine feste Zahl zwischen 0 und 25 verschoben ist.

Für diese Art von Schema vereinbaren sowohl Sender als auch Empfänger eine "geheime Schichtnummer" zum Verschieben des Alphabets. Diese Zahl zwischen 0 und 25 wird zum Schlüssel der Verschlüsselung.

Der Name "Caesar Cipher" wird gelegentlich verwendet, um die Shift Cipher zu beschreiben, wenn die "Shift of Three" verwendet wird.

Prozess der Schichtchiffre

  • Um einen Klartextbuchstaben zu verschlüsseln, positioniert der Absender das verschiebbare Lineal unter dem ersten Satz von Klartextbuchstaben und schiebt ihn um die Anzahl der Positionen der geheimen Verschiebung nach LINKS.

  • Der Klartextbuchstabe wird dann mit dem Chiffretextbuchstaben auf dem darunter liegenden Gleitlineal verschlüsselt. Das Ergebnis dieses Prozesses ist in der folgenden Abbildung für eine vereinbarte Verschiebung von drei Positionen dargestellt. In diesem Fall wird das Klartext-Tutorial mit dem Chiffretext WXWRULDO verschlüsselt. Hier ist das Chiffretext-Alphabet für eine Verschiebung von 3 -

  • Beim Empfang des Chiffretextes positioniert der Empfänger, der auch die geheime Verschiebung kennt, sein verschiebbares Lineal unter dem Chiffretext-Alphabet und schiebt es mit der vereinbarten Schichtnummer, in diesem Fall 3, nach RECHTS.

  • Anschließend ersetzt er den Chiffretextbuchstaben durch den Klartextbuchstaben auf dem darunter liegenden Gleitlineal. Daher wird der Chiffretext 'WXWRULDO' in 'Tutorial' entschlüsselt. Um eine mit einer Verschiebung von 3 codierte Nachricht zu entschlüsseln, generieren Sie das Klartextalphabet mit einer Verschiebung von '-3' (siehe unten).

Sicherheitswert

Caesar Cipher ist not a secureKryptosystem, da nur 26 mögliche Schlüssel zum Ausprobieren vorhanden sind. Ein Angreifer kann eine umfassende Schlüsselsuche mit verfügbaren begrenzten Rechenressourcen durchführen.

Einfache Substitutions-Chiffre

Es ist eine Verbesserung der Caesar-Chiffre. Anstatt die Alphabete um eine Zahl zu verschieben, verwendet dieses Schema eine gewisse Permutation der Buchstaben im Alphabet.

Zum Beispiel sind AB… ..YZ und ZY …… BA zwei offensichtliche Permutationen aller Buchstaben im Alphabet. Permutation ist nichts anderes als ein durcheinandergebrachter Satz von Alphabeten.

Mit 26 Buchstaben im Alphabet sind die möglichen Permutationen 26! (Faktor 26), was 4x10 26 entspricht . Der Sender und der Empfänger können eine dieser möglichen Permutationen als Chiffretextalphabet auswählen. Diese Permutation ist der geheime Schlüssel des Schemas.

Prozess der einfachen Substitutionsverschlüsselung

  • Schreiben Sie die Alphabete A, B, C, ..., Z in der natürlichen Reihenfolge.

  • Der Absender und der Empfänger entscheiden über eine zufällig ausgewählte Permutation der Buchstaben des Alphabets.

  • Schreiben Sie unter die natürlichen Alphabete die gewählte Permutation der Buchstaben des Alphabets. Bei der Verschlüsselung ersetzt der Absender jeden Klartextbuchstaben durch Ersetzen des Permutationsbuchstabens, der sich direkt darunter in der Tabelle befindet. Dieser Vorgang ist in der folgenden Abbildung dargestellt. In diesem Beispiel lautet die gewählte Permutation K, D, G, ..., O. Der Klartext-Punkt wird mit MJBXZ verschlüsselt.

Hier ist ein durcheinandergebrachtes Chiffretext-Alphabet, bei dem die Reihenfolge der Chiffretext-Buchstaben ein Schlüssel ist.

  • Beim Empfang des Chiffretextes ersetzt der Empfänger, der auch die zufällig ausgewählte Permutation kennt, jeden Chiffretextbuchstaben in der unteren Zeile durch den entsprechenden Klartextbuchstaben in der oberen Zeile. Der Chiffretext 'MJBXZ' wird zu 'point' entschlüsselt.

Sicherheitswert

Die einfache Substitutions-Chiffre ist eine erhebliche Verbesserung gegenüber der Caesar-Chiffre. Die mögliche Anzahl von Schlüsseln ist groß (26!) Und selbst die modernen Computersysteme sind noch nicht leistungsfähig genug, um bequem einen Brute-Force-Angriff zu starten, um das System zu beschädigen. Die einfache Substitutionsverschlüsselung hat jedoch ein einfaches Design und ist anfällig für Designfehler, beispielsweise bei Auswahl einer offensichtlichen Permutation. Dieses Kryptosystem kann leicht beschädigt werden.

Monoalphabetische und polyalphabetische Chiffre

Die monoalphabetische Verschlüsselung ist eine Substitutionsverschlüsselung, bei der für einen bestimmten Schlüssel das Verschlüsselungsalphabet für jedes einfache Alphabet während des gesamten Verschlüsselungsprozesses festgelegt wird. Wenn beispielsweise 'A' als 'D' verschlüsselt ist, wird 'A' für eine beliebige Anzahl von Vorkommen in diesem Klartext immer mit 'D' verschlüsselt.

Alle Substitutions-Chiffren, die wir weiter oben in diesem Kapitel besprochen haben, sind monoalphabetisch. Diese Chiffren sind sehr anfällig für Kryptoanalysen.

Die polyalphabetische Verschlüsselung ist eine Substitutionsverschlüsselung, bei der das Verschlüsselungsalphabet für das einfache Alphabet während des Verschlüsselungsprozesses an verschiedenen Stellen unterschiedlich sein kann. Die nächsten beiden Beispiele,playfair and Vigenere Cipher are polyalphabetic ciphers.

Playfair-Chiffre

In diesem Schema werden Buchstabenpaare anstelle einzelner Buchstaben wie im Fall einer einfachen Substitutionsverschlüsselung verschlüsselt.

In der Playfair-Verschlüsselung wird zunächst eine Schlüsseltabelle erstellt. Die Schlüsseltabelle ist ein 5 × 5-Raster aus Alphabeten, das als Schlüssel für die Verschlüsselung des Klartextes dient. Jedes der 25 Alphabete muss eindeutig sein und ein Buchstabe des Alphabets (normalerweise J) wird in der Tabelle weggelassen, da wir nur 25 Alphabete anstelle von 26 benötigen. Wenn der Klartext J enthält, wird er durch I ersetzt.

Der Sender und der Empfänger ermorden einen bestimmten Schlüssel, sagen "Tutorials". In einer Schlüsseltabelle sind die ersten Zeichen (von links nach rechts) in der Tabelle die Phrase, mit Ausnahme der doppelten Buchstaben. Der Rest der Tabelle wird in natürlicher Reihenfolge mit den verbleibenden Buchstaben des Alphabets gefüllt. Die Schlüsseltabelle lautet -

Prozess der Playfair-Verschlüsselung

  • Zunächst wird eine Klartextnachricht in Paare von zwei Buchstaben (Digraphen) aufgeteilt. Wenn es eine ungerade Anzahl von Buchstaben gibt, wird dem letzten Buchstaben ein Z hinzugefügt. Nehmen wir an, wir möchten die Nachricht "Geld verstecken" verschlüsseln. Es wird geschrieben als -

    HI DE MO NE YZ

  • Die Regeln der Verschlüsselung sind -

    • Wenn sich beide Buchstaben in derselben Spalte befinden, nehmen Sie den Buchstaben unter jedem (zurück nach oben, wenn unten).

  • T. U. Ö R. ich 'H' und 'I' befinden sich in derselben Spalte. Nehmen Sie daher den Buchstaben darunter, um sie zu ersetzen. HI → QC
    EIN L. S. B. C.
    D. E. F. G H.
    K. M. N. P. Q.
    V. W. X. Y. Z.
  • Wenn sich beide Buchstaben in derselben Zeile befinden, nehmen Sie den Buchstaben rechts von jedem Buchstaben (gehen Sie nach links zurück, wenn Sie ganz rechts sind).

  • T. U. Ö R. ich 'D' und 'E' befinden sich in derselben Zeile. Nehmen Sie daher einen Buchstaben rechts von ihnen, um sie zu ersetzen. DE → EF
    EIN L. S. B. C.
    D. E. F. G H.
    K. M. N. P. Q.
    V. W. X. Y. Z.
  • Wenn keine der beiden vorhergehenden Regeln zutrifft, bilden Sie mit den beiden Buchstaben ein Rechteck und nehmen Sie die Buchstaben in die horizontale gegenüberliegende Ecke des Rechtecks.

Unter Verwendung dieser Regeln wäre das Ergebnis der Verschlüsselung von "Geld verstecken" mit dem Schlüssel "Tutorials" -

QC EF NU MF ZV

Das Entschlüsseln der Playfair-Verschlüsselung ist so einfach wie der umgekehrte Vorgang. Der Empfänger hat denselben Schlüssel und kann dieselbe Schlüsseltabelle erstellen und dann alle mit diesem Schlüssel erstellten Nachrichten entschlüsseln.

Sicherheitswert

Es ist auch eine Substitutions-Chiffre und im Vergleich zur einfachen Substitutions-Chiffre schwer zu brechen. Wie bei der Substitutions-Chiffre ist auch bei der Playfair-Chiffre eine Kryptoanalyse möglich, jedoch gegen 625 mögliche Buchstabenpaare (25 x 25 Alphabete) anstelle von 26 verschiedenen möglichen Alphabeten.

Die Playfair-Chiffre wurde hauptsächlich zum Schutz wichtiger, jedoch nicht kritischer Geheimnisse verwendet, da sie schnell zu verwenden ist und keine spezielle Ausrüstung erfordert.

Vigenere-Chiffre

Dieses Verschlüsselungsschema verwendet eine Textzeichenfolge (z. B. ein Wort) als Schlüssel, die dann zum Ausführen einer Reihe von Verschiebungen im Klartext verwendet wird.

Nehmen wir zum Beispiel an, der Schlüssel ist 'Punkt'. Jedes Alphabet des Schlüssels wird in seinen jeweiligen numerischen Wert konvertiert: In diesem Fall

p → 16, o → 15, i → 9, n → 14 und t → 20.

Der Schlüssel lautet also: 16 15 9 14 20.

Prozess der Vigenere-Chiffre

  • Der Sender und der Empfänger entscheiden über einen Schlüssel. Sagen Sie "Punkt" ist der Schlüssel. Die numerische Darstellung dieses Schlüssels lautet '16 15 9 14 20 '.

  • Der Absender möchte die Nachricht verschlüsseln und beispielsweise "Angriff aus dem Südosten" sagen. Er wird Klartext und Zifferntaste wie folgt anordnen -

  • Er verschiebt nun jedes Klartextalphabet um die darunter geschriebene Nummer, um den unten gezeigten Chiffretext zu erstellen -

  • Hier wurde jedes Klartextzeichen um einen anderen Betrag verschoben - und dieser Betrag wird durch den Schlüssel bestimmt. Der Schlüssel muss kleiner oder gleich der Größe der Nachricht sein.

  • Zur Entschlüsselung verwendet der Empfänger denselben Schlüssel und verschiebt den empfangenen Chiffretext in umgekehrter Reihenfolge, um den Klartext zu erhalten.

Sicherheitswert

Vigenere Cipher wurde entwickelt, indem die Standard-Caesar-Chiffre optimiert wurde, um die Effektivität der Kryptoanalyse im Chiffretext zu verringern und ein Kryptosystem robuster zu machen. Es ist deutlichmore secure than a regular Caesar Cipher.

In der Geschichte wurde es regelmäßig zum Schutz sensibler politischer und militärischer Informationen verwendet. Es wurde als das bezeichnetunbreakable cipher aufgrund der Schwierigkeit, die es für die Kryptoanalyse darstellte.

Varianten der Vigenere-Chiffre

Es gibt zwei Sonderfälle der Vigenere-Chiffre -

  • Die Keyword-Länge entspricht der Plaintect-Nachricht. Dieser Fall heißtVernam Cipher. Es ist sicherer als die typische Vigenere-Chiffre.

  • Die Vigenere-Chiffre wird zu einem Kryptosystem mit perfekter Geheimhaltung, das man nennt One-time pad.

Einmaliges Pad

Die Umstände sind -

  • Die Länge des Schlüsselworts entspricht der Länge des Klartextes.
  • Das Schlüsselwort ist eine zufällig generierte Folge von Alphabeten.
  • Das Schlüsselwort wird nur einmal verwendet.

Sicherheitswert

Vergleichen wir die Shift-Chiffre mit dem einmaligen Pad.

Shift Cipher - Leicht zu brechen

Im Falle einer Umschaltverschlüsselung könnte die gesamte Nachricht eine Verschiebung zwischen 1 und 25 aufweisen. Dies ist eine sehr kleine Größe und sehr leicht zu erzwingen. Da jedoch jedes Zeichen jetzt eine individuelle Verschiebung zwischen 1 und 26 aufweist, wachsen die möglichen Schlüssel für die Nachricht exponentiell.

Einmaliges Pad - Unmöglich zu brechen

Nehmen wir an, wir verschlüsseln den Namen "Punkt" mit einem einmaligen Pad. Es ist ein 5-Buchstaben-Text. Um den Chiffretext mit brutaler Gewalt zu brechen, müssen Sie alle Möglichkeiten von Schlüsseln ausprobieren und Berechnungen für (26 x 26 x 26 x 26 x 26) = 26 5 = 11881376 Mal durchführen. Das ist für eine Nachricht mit 5 Alphabeten. Für eine längere Nachricht wächst die Berechnung daher exponentiell mit jedem zusätzlichen Alphabet. Dies macht es rechnerisch unmöglich, den Chiffretext mit brutaler Gewalt zu brechen.

Transpositions-Chiffre

Es ist eine andere Art von Chiffre, bei der die Reihenfolge der Alphabete im Klartext neu angeordnet wird, um den Chiffretext zu erstellen. Die eigentlichen Klartextalphabete werden nicht ersetzt.

Ein Beispiel ist eine "einfache säulenförmige Transposition", bei der der Klartext horizontal mit einer bestimmten Alphabetbreite geschrieben wird. Dann wird der Chiffretext wie gezeigt vertikal gelesen.

Zum Beispiel lautet der Klartext "goldene Statue befindet sich in der elften Höhle" und der geheime zufällige Schlüssel ist "fünf". Wir ordnen diesen Text horizontal in einer Tabelle an, wobei die Anzahl der Spalten dem Schlüsselwert entspricht. Der resultierende Text wird unten angezeigt.

Der Chiffretext wird erhalten, indem die Spalte von der ersten bis zur letzten Spalte vertikal nach unten gelesen wird. Der Chiffretext lautet 'gnuneaoseenvltiltedasehetivc'.

Zum Entschlüsseln bereitet der Empfänger eine ähnliche Tabelle vor. Die Anzahl der Spalten entspricht der Schlüsselnummer. Die Anzahl der Zeilen wird erhalten, indem die Anzahl der gesamten Chiffretext-Alphabete durch den Schlüsselwert dividiert und der Quotient auf den nächsten ganzzahligen Wert gerundet wird.

Der Empfänger schreibt dann den empfangenen Chiffretext vertikal nach unten und von der linken zur rechten Spalte. Um den Text zu erhalten, liest er horizontal von links nach rechts und von der oberen zur unteren Reihe.