Einführung in symmetrische Algorithmen

Symmetrische Algorithmen, die auch als Geheimschlüsselalgorithmen bekannt sind, werden häufig bei der Verschlüsselung von Massendaten oder Datenströmen verwendet. Dies ist eine Art kryptografischer Algorithmus, der die Daten unter Verwendung desselben Schlüssels verschlüsselt und entschlüsselt (wodurch dieser Algorithmus symmetrisch wird). Es wird als geheimer Schlüssel bezeichnet, da der verwendete Schlüssel von den am Ver- und Entschlüsselungsprozess beteiligten Systemen geheim gehalten wird. Die von diesem Algorithmus durchgeführte Verschlüsselung ist nicht leicht zu knacken, wenn die Person, die versucht, den geheimen Schlüssel zu entschlüsseln, nicht über den geheimen Schlüssel verfügt. Sie müsste fortgeschrittene Techniken anwenden, um ihn zu knacken. Diese Algorithmen sind in der Regel sehr schnell, was umso mehr der Grund ist, dass sie verwendet werden, wenn große Datenmengen verschlüsselt werden müssen. Abb. 1a zeigt die grundlegende symmetrische Schlüsselverschlüsselung:

Abbildung 1.a Verschlüsselung mit symmetrischem Schlüssel

Arten von symmetrischen Algorithmen

Breit symmetrische Algorithmen werden in zwei Kategorien eingeteilt

  • Block
  • Strom

Block Algorithmen

Blockalgorithmen verschlüsseln die Daten blockweise (viele Bytes). Block bezieht sich auf den angegebenen Satz von Bits und diese Bits werden unter Verwendung eines geheimen Schlüssels geändert / verschlüsselt. Bei den Blockalgorithmen gibt es einen Nachteil: Nehmen wir an, wir verschlüsseln Netzwerkdatenströme. Diese Daten werden vom Verschlüsselungssystem in seinen Speicherkomponenten gespeichert. Diese Speicherung von Daten erfolgt, wenn das System tatsächlich auf vollständige Datenblöcke wartet. Diese Wartezeit kann zu einer Sicherheitslücke führen, die die Sicherheit und Integrität der Daten gefährden kann. Um diese Bedrohung zu vermeiden, können wir den Block verkleinern und die Daten mit zuvor verschlüsselten Datenblöcken zusammenführen, bis weitere Blöcke empfangen werden. Einfach ausgedrückt wird diese Technik als Rückmeldung bezeichnet. Dieser Algorithmus verschlüsselt nur, wenn der gesamte Block empfangen wird.

Stream-Algorithmen

In-Stream-Algorithmen werden die Daten byteweise und manchmal sogar bitweise verschlüsselt. Im Fall des Stream-Algorithmus werden die Daten vom System nicht im Speicher gespeichert, daher kann man sagen, dass dies im Vergleich zum Block-Algorithmus viel sicherer ist, da die Daten nicht unverschlüsselt im System gespeichert werden.

Darüber hinaus handelt es sich um verschiedene Arten von Verschlüsselungsalgorithmen, von denen im Folgenden nur einige aufgeführt sind

  • DES & Triple DES
  • RC2
  • Kugelfisch

DES & Triple DES

DES steht für einen Datenverschlüsselungsstandard, bei dem ein 64-Bit-Klartext in einen 64-Bit-Chiffretext verschlüsselt und mit Hilfe eines 56-Bit-Schlüssels wieder entschlüsselt wird. In DES beginnt der Verschlüsselungsprozess mit einer anfänglichen Permutationsstufe, in der die Eingabe als 64-Bit-Daten verwendet und in einer vordefinierten Weise permutiert wird. Auf die anfängliche Permutation folgt, dass 16 Feistel-Chiffrierrunden (eine Feistel-Chiffrierrunde nimmt die Eingabe und unterteilt sie in zwei Teile und verschlüsselt nur einen Teil), wobei jede Runde einen anderen 48-Bit-Chiffrierschlüssel verwendet. Für die Ver- und Entschlüsselung wird ein Verschlüsselungs- und Umkehr-Verschlüsselungsalgorithmus verwendet. Schließlich durchlaufen die Daten die letzte Permutationsstufe, um den Chiffretext zurückzugewinnen. Ähnlich wie bei DES Triple DES wird nur die DES-Chiffre dreimal wiederholt. Fig. 2a zeigt die generische Architektur des DES-Algorithmus.

Generische Architektur des DES-Algorithmus

RC2

Hierbei handelt es sich um einen Blockverschlüsselungsalgorithmus, bei dem die Daten zunächst in eine Blockgröße von 8 Bytes aufgeteilt und diese Blöcke separat verarbeitet werden. Dieser Algorithmus war in den 90er Jahren weit verbreitet. Die Rc2-Verschlüsselung verwendet einen geheimen Benutzerschlüssel, dessen Größe von einem Byte bis 128 Byte variieren kann. Es nimmt diesen geheimen Benutzerschlüssel und verwendet einen Schlüsselerweiterungsalgorithmus und verschlüsselt die Daten. Dieser Algorithmus ist so konzipiert, dass er problemlos in 16-Bit-Mikroprozessoren implementiert werden kann. Hier gibt es keine Feistel-Runden, stattdessen werden die Daten 18 Runden lang gemischt und püriert. Abb2.b zeigt die generische Architektur des RC2-Algorithmus.

Generische Architektur des RC2-Algorithmus

Kugelfisch

Dies ist ein asymmetrischer Algorithmus, der DES ersetzt. Hier wird eine Blockgröße von 64 Bit und eine Schlüsselgröße von 32 bis 448 Bit verwendet. Die Verschlüsselung mit Blowfish besteht hauptsächlich aus zwei Schritten

  • Runde Funktion
  • Ausgabeoperation

Die Rundungsfunktion führt die folgenden Schritte aus

  1. Key Whitening, bei dem der linke Teil der Eingabedaten genommen und eine Exklusiv-ODER-Operation ausgeführt wird.
  2. Im zweiten Schritt werden S-Boxen verwendet. Diese S-Boxen ordnen 8-Bit-Daten 32-Bit zu, und die Ausgabe wird mit einer Kombination aus Additions- und XOR-Operationen kombiniert
  3. Die obigen beiden Schritte zusammen werden als F-Funktion bezeichnet. Mit der Ausgabe der F-Funktion und der rechten Seite der Eingabedaten wird eine XOR-Operation ausgeführt.
  4. Der letzte Schritt beinhaltet das Austauschen der Ausgabe.

Die Ausgabefunktion erkennt den endgültigen Tausch und führt das Weißmachen der Ausgabe durch. Die Ausgabe dieser Funktion ist ein Blowfish-Chiffretext. Bei der Entschlüsselung mit Blowfish wird dieselbe Struktur wie bei der Verschlüsselung verwendet, da eine Feistel-Verschlüsselung verwendet wird. Die runden Schlüssel müssen jedoch in umgekehrter Reihenfolge verwendet werden. Der Hauptvorteil dieses Algorithmus besteht darin, dass er öffentlich verfügbar ist, so dass er leicht zugänglich ist. Die Nachteile sind, dass das Generieren der Schlüssel etwas zeitaufwändig ist und dass die Blockgröße gering ist, was für Angriffe anfällig ist.

Anwendungen symmetrischer Algorithmen

Einige der Orte, an denen der symmetrische Verschlüsselungsalgorithmus verwendet wird, sind

  • Kartentransaktionen werden verwendet, um Identitätsdiebstahl und betrügerische Transaktionen zu verhindern.
  • Um die Identität des Boten zu bestätigen.
  • Hashing und Zufallsgenerierung
  • Datenbankverschlüsselung

Schlussfolgerung - Symmetrische Algorithmen

Symmetrische Algorithmen sind im Vergleich zu asymmetrischen Algorithmen viel schneller und effizienter. Dies ist umso mehr der Grund, warum sie in der Massenverschlüsselung verwendet werden. Der Nachteil ist jedoch, dass die Schlüsselverwaltung sehr umfangreich ist. Daher ist die Wartung in großem Umfang eine mühsame Aufgabe, bei der wir eine hohe Sicherheit benötigen. Um dies zu erreichen, müssen wir den Lebenszyklus des mit dem separaten System generierten Schlüssels beibehalten . Daher müssen wir immer eine ordnungsgemäße Verschlüsselung verwenden, um Angriffe auf unsere Daten zu vermeiden.

Empfohlene Artikel

Dies ist eine Anleitung zu symmetrischen Algorithmen. Hier diskutieren wir die Einführung und Arten von symmetrischen Algorithmen zusammen mit DES & Triple DES. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Was ist WebSocket?
  2. Sicherheit von Webanwendungen
  3. Karriere in der Webentwicklung
  4. Karriere im Bereich Webdesign
  5. Betriebsarten für Block-Chiffrierung
  6. Beispiele für den C ++ - Algorithmus