Technologieaustausch

[Kryptographie] Grundkonzepte von Stromchiffren

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Bevor wir Stream-Chiffren einführen, wollen wir zunächst eine grundlegende Wissenspunkt-XOR-Operation verstehen.

1. Exklusive ODER-Verknüpfung (XOR)

Betriebsregeln: Gleich wie 0, unterschiedlich wie 1

Merkmale: Ein Bit wird zweimal XOR-verknüpft und kann auf das ursprüngliche Bit zurückgesetzt werden.

Klartext: 1100

Schlüssel: 0101 (verschlüsselt)

Chiffriertext: 1001

Schlüssel: 0101 (Entschlüsselung)

Klartext: 1100

Vorteil:Durch diese Reversibilität kann die XOR-Operation sowohl für Verschlüsselungs- als auch für Entschlüsselungstransformationen verwendet werden.

Mangel:Wenn ein Angreifer den Schlüssel erraten oder erbeuten kann, kann er über XOR leicht entschlüsselt werden.

Der Grund, warum die XOR-Operation gleichzeitig zur Verschlüsselung und Entschlüsselung verwendet werden kann, liegt in ihrer Reversibilität, aber das ist auch ihr Nachteil. Die Sicherheit beruht vollständig auf dem Verstecken von Schlüsseln.

2. One-Time-Pad-Algorithmus (OTP)

(1) Definition

One-Time Pad (OTP) ist ein Stream-Verschlüsselungsalgorithmus. Er gilt theoretisch als eine der sichersten Verschlüsselungsmethoden, vorausgesetzt, seine Implementierung folgt strikt mehreren Schlüsselprinzipien:

1.  Der Schlüssel muss so lang sein wie der Klartext: Dies bedeutet, dass jede Verschlüsselung einen Schlüssel verwendet, der genau die gleiche Länge wie die zu verschlüsselnde Nachricht hat.

2.  Der Schlüssel muss wirklich zufällig sein: Jedes Bit des Schlüssels sollte zufällig generiert werden, ohne Muster oder Vorhersehbarkeit.

3.  Der Schlüssel darf nur einmal verwendet werden: Derselbe Schlüssel darf nicht zum Verschlüsseln mehrerer Nachrichten verwendet werden, da sonst die Korrelation zwischen den Chiffretexten verwendet werden kann, um auf den Nachrichteninhalt zu schließen.

4.  Der Schlüssel muss geheim gehalten werden: Die Verteilung und Aufbewahrung von Schlüsseln muss äußerst sicher sein, um den Zugriff Dritter zu verhindern.

(2) Vor- und Nachteile

Vorteil:

  • Der Schlüssel wird zufällig generiert und nur einmal verwendet
  • Bedingungslos sicher
  • Verschlüsselung und Entschlüsselung sind Additionsoperationen, die effizienter sind.

Mangel:

  • Die Schlüssellänge ist mindestens so lang wie die Klartextlänge, was die gemeinsame Nutzung von Schlüsseln schwierig und unpraktisch macht.

3. Definition der Stream-Verschlüsselung

Wenn Menschen sich mit One-Time-Pad-Verschlüsselungsalgorithmen befassen, versuchen sie, die Probleme der Schlüsselverwaltung und -länge zu lösen. Wenn es eine Möglichkeit gab, alle Schlüssel zur Verschlüsselung von Klartext zu generieren, indem nur ein kleiner Teil des Schlüssels bereitgestellt wurde, dann wurde die Stream-Verschlüsselung auf Grundlage dieser Idee entwickelt.

(1) Grundidee der Stream-Verschlüsselung

         Bei einer Stream-Verschlüsselung wird ein kleiner Schlüssel (häufig als Startwert oder Initialisierungsvektor bezeichnet) durch einen Pseudozufallszahlengenerator (PRNG) verwendet, um einen pseudozufälligen Schlüsselstrom mit derselben Länge wie der Klartext zu generieren. Dieser Schlüsselstrom wird dann mit dem Klartext XOR-verknüpft, um den Chiffretext zu erzeugen. In ähnlicher Weise besteht der Entschlüsselungsprozess darin, den Chiffretext mit demselben Schlüsselstrom zu XORen, um den Klartext wiederherzustellen.

Schlüssel keinen Keystream generieren z=z_0z_1z_2…Und verwenden Sie die folgenden Regeln, um reine Textzeichenfolgen zu vergleichen x=x_0x_1x_2…Zum Verschlüsseln:
y=y_0y_1y_2...=Ez_0(x_0)Ez_1(x_1)Ez_2(x_2)...

Zur Generierung von Pseudozufallsschlüsseln wird im Allgemeinen ein Schieberegister mit linearer Rückkopplung verwendet. Auf das Prinzip soll hier nicht eingegangen werden.

(2) Algorithmusprozess

Der Ver- und Entschlüsselungsprozess kann wie folgt beschrieben werden:

  • Schlüsselstromgenerierung: Sowohl die Verschlüsselungs- als auch die Entschlüsselungspartei verwenden denselben Schlüssel und denselben Initialisierungsvektor (IV), um einen Pseudozufallszahlengenerator (PRNG) zu initialisieren. PRNG generiert eine Reihe pseudozufälliger Bits basierend auf seinem internen Zustand, um einen Schlüsselstrom zu bilden.
  • Verschlüsselungsprozess: Der Absender führt eine bitweise Exklusiv-ODER-Operation (XOR) für den generierten Schlüsselstrom und den Klartext durch, um den Chiffretext zu erhalten. Aufgrund der Natur der XOR-Operation ist dieselbe Operation an verschiedenen Bits umkehrbar.
  • Entschlüsselungsprozess: Der Empfänger initialisiert den PRNG mit demselben Schlüssel und derselben IV neu und generiert denselben Schlüsselstrom wie bei der Verschlüsselung. Der Empfänger verknüpft dann den Chiffretext mit dem Schlüsselstrom XOR, um den ursprünglichen Klartext wiederherzustellen.

(3) Designprinzipien für Stream-Verschlüsselung

Die Designprinzipien von Stream-Chiffren konzentrieren sich eigentlich auf die Erstellung eines Schlüsselstromgenerators, der einen Schlüsselstrom mit bestimmten Sicherheitseigenschaften erzeugen kann. Die Schlüsselstromsequenz sollte die folgenden Eigenschaften haben:

  1. riesiger Zyklus : Der Zeitraum des Schlüsselstroms sollte lang genug sein, um eine Wiederverwendung desselben Segments des Schlüsselstroms zu verhindern. Dadurch würden Muster in den verschlüsselten Daten aufgedeckt und Kryptoanalytiker könnten Angriffe durchführen, indem sie die Ähnlichkeiten und Unterschiede verschiedener Nachrichten vergleichen. Theoretisch sollte für einen n-Bit-Schlüsselraum die ideale Zykluslänge 2n-1 betragen. In der Praxis führen längere Zeiträume dazu, dass der Schlüsselstrom seltener wiederholt wird und somit die Sicherheit des Kryptosystems erhöht wird.

  2. gute statistische Eigenschaften : Der Schlüsselstrom sollte wie eine wirklich zufällige Folge von Bits aussehen, was bedeutet, dass er verschiedene statistische Tests erfüllen sollte, wie z. B. Gleichverteilung von Nullen und Einsen, Unabhängigkeit zwischen zwei oder mehr aufeinanderfolgenden Bits und keine vorhergesagten Muster oder Periodizitäten. Gute statistische Eigenschaften tragen dazu bei, die Unvorhersehbarkeit des Schlüsselstroms sicherzustellen, der eine wichtige Komponente der Sicherheit der Stromverschlüsselung darstellt.

  3. Widerstand gegen lineare Analyse : Eine Stream-Verschlüsselung sollte einer linearen Analyse standhalten, bei der der Kryptoanalytiker versucht, den Schlüssel oder Klartext wiederherzustellen, indem er eine lineare Korrelation zwischen dem Schlüsselstrom und dem Klartext oder Chiffretext findet. Dies erfordert normalerweise, dass die Ausgabe des Schlüsselstromgenerators nichtlinear ist oder zumindest genügend nichtlineare Komponenten enthält, um zu verhindern, dass einfache lineare Systemlösungsmethoden auf den Schlüsselstrom oder den Schlüssel selbst schließen.