Zum Inhalt

Webinar: Melden Sie sich jetzt für unser kommendes Webinar an!

Jetzt registrieren

Schützen Sie die Daten Ihres Unternehmens mit diesen Verschlüsselungsalgorithmen

Datensicherheit ist ein wesentlicher Bestandteil eines Unternehmens und kann mit verschiedenen Methoden erreicht werden. Der Verschlüsselungsschlüssel spielt im gesamten Datenprozess eine wichtige Rolle. Durch die Datenverschlüsselung wird der Klartext in eine verschlüsselte Form (nicht lesbar) umgewandelt, auf die nur autorisierte Personen/Parteien zugreifen können.

Datensicherheit ist ein wesentlicher Bestandteil einer Organisation; sie kann mit verschiedenen Methoden erreicht werden. Verschlüsselung Der Schlüssel spielt eine entscheidende Rolle im gesamten Datenverarbeitungsprozess. Die Datenverschlüsselung wandelt den Klartext in eine kodierte (nicht lesbare) Form um, auf die nur autorisierte Personen/Parteien zugreifen können.

Auf dem Markt sind zahlreiche Algorithmen zur Verschlüsselung solcher Daten verfügbar. Die verschlüsselten Daten sind zwar eine Zeit lang sicher, doch absolute Sicherheit sollte man sich nie ausschließen. Mit der Zeit besteht immer die Gefahr, dass jemand die Daten hackt.

symmetrischer Verschlüsselungsalgorithmus
Abb.: Verschlüsselungs- und Entschlüsselungsprozess

In diesem Artikel wurden verschiedene Verschlüsselungsalgorithmen und -techniken zur Verbesserung der Datensicherheit betrachtet. Die Algorithmen wurden hinsichtlich ihrer Leistung, Hardware- und Softwareeffizienz, Schlüssellänge, Verfügbarkeit, Implementierungstechniken und Geschwindigkeit verglichen.

Zusammenfassung der Algorithmen

Wir vergleichen die gemessene Geschwindigkeit von Verschlüsselungsalgorithmen mit verschiedenen anderen, standardmäßig im Oracle JDK verfügbaren Algorithmen mithilfe der Eclipse IDE und fassen anschließend weitere Eigenschaften dieser Algorithmen zusammen. Die hier betrachteten Verschlüsselungsalgorithmen sind: AES (mit 128- und 256-Bit-Schlüsseln), DES, Triple DES, IDEA und BlowFish (mit einem 256-Bit-Schlüssel).

Leistung der Algorithmen

Die folgende Abbildung zeigt die Zeit, die zum Verschlüsseln unterschiedlicher Anzahlen von 16-Byte-Datenblöcken mit den oben genannten Algorithmen benötigt wird.

Es ist wichtig, gleich zu Beginn zu beachten, dass es sich ab einem bestimmten Punkt nicht lohnt, Geschwindigkeit für Sicherheit zu opfern. Die erhaltenen Messungen helfen uns jedoch dennoch, fundierte Entscheidungen zu treffen.

Eigenschaften von Algorithmen

Leistungsdiagramm der CBC

Tabelle 1 fasst die Hauptmerkmale jedes Verschlüsselungsalgorithmus zusammen und bietet unserer Meinung nach einen guten Überblick über den aktuellen Sicherheitsstatus des Algorithmus.

FaktorenRSADES3DESAES
Erstellt von1978 von Ron Rivest, Adi Shamir und Leonard Adleman1975 von IBM1978 von IBMIm Jahr 2001 von Vincent Rijmen und Joan Daemen
SchlüssellängeEs hängt von der Anzahl der Bits im Modul n ab, wobei n = p*q56 Bits168 Bit (k1, k2 und k3)
112 Bit (k1 und k2)
128, 192 oder 256 Bit
Runde1164810-128-Bit-Schlüssel,
12-192-Bit-Schlüssel,
14-256-Bit-Schlüssel
Block GrößeVariable64 Bits64 Bits128 Bits
VerschlüsselungstypAsymmetrische BlockchiffreSymmetrische BlockchiffreSymmetrische BlockchiffreSymmetrische Blockchiffre
SchnelligkeitAm langsamstenlangsamSehr langsamSchnell
SicherheitAm wenigsten sicherNicht sicher genugAngemessene SicherheitHervorragende Sicherheit

Tabelle 1: Eigenschaften häufig verwendeter Verschlüsselungsalgorithmen

Vergleich

Die Techniken wurden anhand folgender Kriterien verglichen:

  • CPU-Verarbeitungsgeschwindigkeit zum Verschlüsseln und Entschlüsseln von Daten.
  • Rate der Schlüsselgenerierung.
  • Schlüsselgröße.
  • Sicherheitsüberlegungen.
  • Effizient in Hardware und Software bei der Implementierung.
  • Die Speichermenge, die zum Speichern der Daten im Verschlüsselungsprozess erforderlich ist.
  • Anzahl der vom Modell unterstützten Benutzer.
  • Zeit, die das Modell benötigt, um die Daten im Falle eines Schlüsselfehlers wiederherzustellen.
  • Dem Hacker zur Verfügung stehende Zeit, um verschiedene Arten von Angriffen durchzuführen.
  • Die Komplexität der algorithmischen Technik.
Vergleich der Verschlüsselungsalgorithmen anhand ihrer prozentualen Effizienz
Abb.: Vergleich von Verschlüsselungsalgorithmen basierend auf der prozentualen Effizienz

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Formulierung und Fallstudie

Fallstudie

Symmetrische Chiffren verwenden denselben Schlüssel zum Ver- und Entschlüsseln, daher müssen Sender und Empfänger denselben geheimen Schlüssel kennen und verwenden. Alle Schlüssellängen gelten als ausreichend, um vertrauliche Informationen bis zur Geheimhaltungsstufe zu schützen. Für streng geheime Informationen sind Schlüssellängen von 192 oder 256 Bit erforderlich. Es gibt 10 Runden für 128-Bit-Schlüssel, 12 Runden für 192-Bit-Schlüssel und 14 Runden für 256-Bit-Schlüssel. Jede Runde besteht aus mehreren Verarbeitungsschritten, darunter Ersetzung, Transposition und Mischung des eingegebenen Klartextes und dessen Umwandlung in die endgültige Ausgabe von Geheimtext.

AES Design

aes design

Runde

Padding ist die Methode, zusätzliche Dummy-Daten hinzuzufügen. Ist die Länge einer Nachricht während der Verschlüsselung nicht durch die Blocklänge teilbar, wird Padding verwendet. Besteht die Nachricht beispielsweise aus 426 Bytes, werden sieben zusätzliche Bytes Padding benötigt, um die Nachricht auf 432 Bytes zu verlängern, da 432 durch 16 teilbar ist. AES kann drei Schlüssellängen verwenden, und die Anzahl der Runden hängt von der gewählten Schlüssellänge ab. Die Standard-Schlüssellänge in AES beträgt 128 Bit, und es werden 10 Runden durchgeführt. Für die AES-Verschlüsselung werden zwei Teilschlüssel generiert, und in der ersten Runde wird ein Rundenschlüssel hinzugefügt.

Nein.SchlüsselgrößeAnzahl der Runden
1128 Bits10
2192 Bits12
3256 Bits14

Bei 128 Bit werden Klartext und ein 128-Bit-Schlüssel verwendet. Zur Ermittlung des Chiffretextes werden 10 Runden durchgeführt. Im ersten Schritt werden für jede Runde 10 Rundenschlüssel generiert, wobei für jede Runde ein separater Rundenschlüssel existiert. In der ersten Runde wird ein zusätzlicher Rundenschlüssel, der Initialrundenschlüssel, hinzugefügt, bevor die Transformation beginnt. Die Transformation besteht aus vier Schritten.

  1. Ersatzbytes
  2. Zeilen verschieben
  3. Spalten mischen
  4. Rundschlüssel hinzufügen

Die folgende Abbildung erläutert alle Verschlüsselungsstufen vom Klartext bis zum Geheimtext.

Klartext an
Abb.: Zeigt die Phasen jeder Runde

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Verschlüsselung mit AES

Die Verschlüsselungsphase von AES lässt sich in drei Schritte unterteilen: die erste Runde, die Hauptrunden und die letzte Runde. Alle Phasen verwenden dieselben Unteroperationen in unterschiedlichen Kombinationen wie folgt:

  1. Erste RundeRundschlüssel hinzufügen
  2. Hauptrunde
    • Subbytes
    • Zeilen verschieben
    • Spalten mischen
    • Rundschlüssel hinzufügen
  3. Letzte Runde:
    • Subbytes
    • Zeilen verschieben
    • Rundschlüssel hinzufügen
  4. Rundschlüssel hinzufügen

    Dies ist die einzige Phase der AES-Verschlüsselung, die direkt mit dem AES-Rundenschlüssel arbeitet. Bei dieser Operation ist die Eingabe für die Runde eine Exklusiv-ODER-Verknüpfung mit dem Rundenschlüssel.

  5. Subbytes

    Dabei wird die Eingabe in Bytes aufgeteilt und jedes Byte durch eine Substitutionsbox (S-Box) geleitet. Im Gegensatz zu DES verwendet AES für alle Bytes dieselbe S-Box. Die AES-S-Box implementiert die inverse Multiplikation im Galois-Feld 2.

  6. Zeilen verschieben

    Jede Zeile des 128-Bit-internen Zustands des Chiffrierverfahrens wird verschoben. Die Zeilen in diesem Schritt beziehen sich auf die Standarddarstellung des internen Zustands in AES, eine 4×4-Matrix, in der jede Zelle ein Byte enthält. Die Bytes des internen Zustands werden in der Matrix zeilenweise von links nach rechts und spaltenweise von oben nach unten angeordnet.

  7. Spalten mischen

    Sorgt für Diffusion durch Mischen der Eingabedaten. Im Gegensatz zu Shift Rows führt Mix Columns Operationen durch, indem die Matrix spaltenweise statt zeilenweise aufgeteilt wird. Anders als bei der Standard-Matrixmultiplikation erfolgt die Matrixmultiplikation über dem Galois-Körper 2.

Entschlüsselung mit AES

Um einen AES-verschlüsselten Chiffretext zu entschlüsseln, müssen alle Schritte der Verschlüsselungsoperation in umgekehrter Reihenfolge rückgängig gemacht werden. Die drei Entschlüsselungsschritte sind wie folgt:

  1. Inverse Finalrunde
    • Rundschlüssel hinzufügen
    • Zeilen verschieben
    • Subbytes
  2. Inverse Hauptrunde
    • Rundschlüssel hinzufügen
    • Spalten mischen
    • Zeilen verschieben
    • Subbytes
  3. Inverse Anfangsrunde
    • Rundschlüssel hinzufügen

Fazit

Die Untersuchung verschiedener Algorithmen zeigt, dass die Stärke des Modells von der Schlüsselverwaltung, Art der GeheimschriftDie Anzahl der Schlüssel und die Anzahl der verwendeten Bits sind wichtige Faktoren. Alle Schlüssel basieren auf mathematischen Eigenschaften. Schlüssel mit einer größeren Bitanzahl erfordern mehr Rechenzeit, was bedeutet, dass das System länger zum Verschlüsseln der Daten benötigt. Die AES-Datenverschlüsselung ist ein mathematisch effizienterer und eleganterer kryptografischer Algorithmus, dessen größte Stärke jedoch in der Möglichkeit verschiedener Schlüssellängen liegt. AES ermöglicht die Wahl eines 128-Bit-, 192-Bit- oder 256-Bit-Schlüssels, wodurch die Sicherheit exponentiell erhöht wird. AES verwendet die Permutations-Substitutions-Methode, bei der durch eine Reihe von Substitutions- und Permutationsschritten der verschlüsselte Block erzeugt wird.

Referenzen