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.

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

Tabelle 1 fasst die Hauptmerkmale jedes Verschlüsselungsalgorithmus zusammen und bietet unserer Meinung nach einen guten Überblick über den aktuellen Sicherheitsstatus des Algorithmus.
| Faktoren | RSA | DES | 3DES | AES |
|---|---|---|---|---|
| Erstellt von | 1978 von Ron Rivest, Adi Shamir und Leonard Adleman | 1975 von IBM | 1978 von IBM | Im Jahr 2001 von Vincent Rijmen und Joan Daemen |
| Schlüssellänge | Es hängt von der Anzahl der Bits im Modul n ab, wobei n = p*q | 56 Bits | 168 Bit (k1, k2 und k3) 112 Bit (k1 und k2) | 128, 192 oder 256 Bit |
| Runde | 1 | 16 | 48 | 10-128-Bit-Schlüssel, 12-192-Bit-Schlüssel, 14-256-Bit-Schlüssel |
| Block Größe | Variable | 64 Bits | 64 Bits | 128 Bits |
| Verschlüsselungstyp | Asymmetrische Blockchiffre | Symmetrische Blockchiffre | Symmetrische Blockchiffre | Symmetrische Blockchiffre |
| Schnelligkeit | Am langsamsten | langsam | Sehr langsam | Schnell |
| Sicherheit | Am wenigsten sicher | Nicht sicher genug | Angemessene Sicherheit | Hervorragende 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.

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

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öße | Anzahl der Runden |
|---|---|---|
| 1 | 128 Bits | 10 |
| 2 | 192 Bits | 12 |
| 3 | 256 Bits | 14 |
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.
- Ersatzbytes
- Zeilen verschieben
- Spalten mischen
- Rundschlüssel hinzufügen
Die folgende Abbildung erläutert alle Verschlüsselungsstufen vom Klartext bis zum Geheimtext.

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:
- Erste RundeRundschlüssel hinzufügen
- Hauptrunde
- Subbytes
- Zeilen verschieben
- Spalten mischen
- Rundschlüssel hinzufügen
- Letzte Runde:
- Subbytes
- Zeilen verschieben
- Rundschlüssel hinzufügen
- 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.
- 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.
- 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.
- 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:
- Inverse Finalrunde
- Rundschlüssel hinzufügen
- Zeilen verschieben
- Subbytes
- Inverse Hauptrunde
- Rundschlüssel hinzufügen
- Spalten mischen
- Zeilen verschieben
- Subbytes
- 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.
