CoderTools

LOKI97 Verschlüsselung & Entschlüsselung

Australische Blockchiffre - AES-Kandidat mit 128-Bit-Blöcken und variabler Schlüssellänge

Sicherheitshinweis

LOKI97 war ein AES-Kandidat, wurde aber nicht als Standard ausgewählt. Für neue Anwendungen, die starke Sicherheit erfordern, wird AES (Rijndael) empfohlen.

LOKI97 unterstützt 128-Bit (16 Bytes), 192-Bit (24 Bytes) oder 256-Bit (32 Bytes) Schlüssel.
Formatoptionen

Über LOKI97

LOKI97 ist eine symmetrische Blockchiffre, die 1997 von Lawrie Brown und Josef Pieprzyk entwickelt wurde. Sie wurde als Kandidat für den Advanced Encryption Standard (AES) Wettbewerb eingereicht und stellt die Evolution der früheren in Australien entwickelten LOKI89 und LOKI91 Chiffren dar.

Die Chiffre arbeitet mit 128-Bit Datenblöcken und unterstützt Schlüsselgrößen von 128, 192 oder 256 Bits. Sie verwendet eine 16-Runden Feistel-Netzwerkstruktur mit komplexen Rundenfunktionen basierend auf S-Boxen und Permutationen, die für starken Widerstand gegen differentielle und lineare Kryptoanalyse entwickelt wurden.

Hauptmerkmale

  • 128-Bit-Blockgröße entspricht modernen Sicherheitsstandards
  • Flexible Schlüsselgrößen: 128, 192 oder 256 Bits
  • 16-Runden Feistel-Struktur für gründliche Datenvermischung
  • Entwickelt für Widerstand gegen differentielle und lineare Kryptoanalyse
  • Teil der in Australien entwickelten LOKI-Chiffre-Familie

Geschichte der LOKI-Familie

  • LOKI89: Die ursprüngliche Chiffre, 1989 entwickelt mit 64-Bit-Blöcken und 64-Bit-Schlüsseln.
  • LOKI91: Eine verbesserte Version, die in LOKI89 gefundene Schwächen behebt.
  • LOKI97: Die endgültige Evolution mit 128-Bit-Blöcken, eingereicht beim AES-Wettbewerb.

Verschlüsselungsmodi

  • CBC: Cipher Block Chaining - Jeder Block wird vor der Verschlüsselung mit dem vorherigen Chiffretextblock XOR-verknüpft. Bietet starke Sicherheit. Erfordert IV.
  • ECB: Electronic Codebook - Jeder Block wird unabhängig verschlüsselt. Einfach, aber offenbart Muster in Daten. Für die meisten Verwendungen nicht empfohlen.
  • CFB: Cipher Feedback - Wandelt Blockchiffre in Stromchiffre um. Selbstsynchronisierend und verarbeitet Teilblöcke.
  • OFB: Output Feedback - Erzeugt Schlüsselstrom unabhängig vom Klartext. Keine Fehlerfortpflanzung.
  • RAW: Raw Block - Direkte Einzelblockverschlüsselung ohne Verkettungsmodus. Kein IV erforderlich. Nur für einzelne 128-Bit-Blöcke.

Algorithmusstruktur

LOKI97 verwendet eine 16-Runden-Feistel-Netzwerkstruktur. Jede Runde verarbeitet einen 128-Bit-Block, der in zwei 64-Bit-Hälften (L und R) aufgeteilt wird.

Schlüsselplanung

Der 256-Bit-Hauptschlüssel wird mithilfe der f-Funktion und der Konstante DELTA (abgeleitet vom Goldenen Schnitt) in 48 Teilschlüssel (SK[0] bis SK[47]) erweitert. Bei 128-Bit- oder 192-Bit-Schlüsseln wird das Schlüsselmaterial repliziert, um ein 256-Bit-Schlüsselregister vor der Erweiterung zu füllen.

Rundenfunktion

Jede Runde wendet an: L' = R + SK[3i], R' = L XOR f(R + SK[3i], SK[3i+1], SK[3i+2]). Die Addition ist modulo 2^64.

Die f-Funktion

Die Kern-f-Funktion f(A, B) besteht aus vier Schichten:

  • KP (Schlüsselgesteuerte Permutation): Wählt Bits aus A basierend auf Steuerbits in B
  • Sa (S-Box-Schicht a): Acht parallele S-Box-Abfragen mit zwei Typen (S1: 13→8 Bit, S2: 11→8 Bit)
  • P (Permutation): 64-Bit-Permutation mit einem 8×8-Bit-Verschachtelungsmuster
  • Sb (S-Box-Schicht b): Zweite Runde von acht S-Box-Abfragen mit zusätzlichem Schlüsselmaterial aus B

S-Boxen

S1 hat 8192 Einträge (13-Bit-Eingang → 8-Bit-Ausgang), S2 hat 2048 Einträge (11-Bit-Eingang → 8-Bit-Ausgang). Beide werden unter Verwendung von Kubieroperationen in GF(2^13) bzw. GF(2^11) berechnet, mit spezifischen Generatorpolynomen für starke Nichtlinearität.

Entschlüsselung

Die Entschlüsselung verwendet dieselbe Struktur, wendet jedoch die Teilschlüssel in umgekehrter Reihenfolge an (SK[47] bis SK[0]) und verwendet Subtraktion anstelle von Addition.

Algorithmusvergleich

Algorithmus Schlüssellänge Blockgröße Sicherheit Geschwindigkeit
LOKI97 128/192/256 bits 128 bits Gut Mittel
AES 128/192/256 bits 128 bits Ausgezeichnet Schnell
Serpent 128/192/256 bits 128 bits Ausgezeichnet Mittel
DES 56 bits 64 bits Schwach Schnell

Sicherheitsüberlegungen

  • LOKI97 bietet gute Sicherheit ohne praktische Angriffe gegen die vollständige Chiffre
  • Die 128-Bit-Blockgröße entspricht modernen Sicherheitsanforderungen
  • Obwohl nicht als AES ausgewählt, bleibt LOKI97 kryptografisch solide
  • Für neue Anwendungen wird AES als internationaler Standard empfohlen

Anwendungsfälle

  • Legacy-Systemkompatibilität und historische Forschung
  • Kryptografische Bildung und Algorithmenstudium
  • Vergleichende Analyse mit anderen AES-Kandidaten
  • Anwendungen, die in Australien entwickelte Kryptografie erfordern

Referenzen