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 die dritte Generation der australischen LOKI-Chiffrierfamilie, entworfen von Lawrie Brown (Australian Defence Force Academy) und Josef Pieprzyk (Macquarie University). Die Familie begann mit LOKI89 (1990, 64-Bit-Blöcke), anfällig für Biham und Shamirs Differenzkryptoanalyse, dann LOKI91 mit überarbeiteten S-Boxen, und schließlich LOKI97, ein vollständiger Neuentwurf 1998 als AES-Kandidat mit 128-Bit-Blöcken und 128/192/256-Bit-Schlüsseln.

Das markanteste strukturelle Element von LOKI97 sind seine S-Boxen, erzeugt durch Auswertung irreduzibler Polynome über GF(2¹³) — eine algebraisch komplexere Konstruktion als DES-S-Boxen oder AES-SubBytes über GF(2⁸). Der Schlüsselplan leitet alle Runduntersch lüssel ab, indem die LOKI97-Rundfunktion selbst rekursiv auf den Hauptschlüssel angewendet wird.

Hauptmerkmale

  • 128-Bit-Blockgröße — Upgrade von LOKI89s 64-Bit-Block, eliminiert Geburtstags-Schwachstelle
  • Drei Schlüsselgrößen: 128, 192 und 256 Bit — entspricht der vollständigen AES-Schlüssellängenpalette
  • 16-Runden-Feistel-Netzwerk mit S-Boxen über GF(2¹³) — algebraisch komplexer als DES oder AES
  • Selbstreferenzieller Schlüsselplan — Rundunterschlüssel durch rekursive Anwendung der LOKI97-Rundfunktion abgeleitet
  • Australische Herkunft: entworfen an ADFA und Macquarie University, einziger AES-Kandidat mit rein südhemisphärischer akademischer Abstammung

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 128-Bit-LOKI97-Block wird vor der 16-Runden-GF(2¹³)-S-Box-Feistel-Sequenz mit dem vorherigen Chiffrat XOR-verknüpft. 128-Bit-Blöcke halten die Kollisionswahrscheinlichkeit bis ≈ 2⁶⁴ Blöcke (~148 ExaByte) vernachlässigbar — Sweet32 ist kein praktisches Problem.
  • ECB: Electronic Codebook — jeder 128-Bit-LOKI97-Block unabhängig durch alle 16 Runden. Identische Blöcke erzeugen stets identisches Chiffrat. ECB nur für Einzelblock-Token/Schlüsselverpackung akzeptabel.
  • CFB: Cipher Feedback — die 128-Bit-LOKI97-Blockfunktion verschlüsselt den vorherigen Chiffrierblock und die n oberen Ausgabebits werden mit n Klartextbits XOR-verknüpft. Feistel-Diffusion gewährleistet Resistenz gegen bekannte Angriffe.
  • OFB: Output Feedback — LOKI97-Blockfunktion erzeugt deterministischen Schlüsselstrom durch iteratives Re-Verschlüsseln des Zustands, unabhängig vom Klartext. 128-Bit-interner Zustand garantiert Schlüsselstromzyklus ≥ 2⁶⁴.
  • 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

  • Kein praktischer Angriff auf alle 16 Runden von LOKI97 bekannt. GF(2¹³)-S-Box-Design wurde speziell zum Gegenmaßnahmen der in LOKI89 aufgedeckten Differenzkryptoanalyse-Schwäche entwickelt.
  • 128-Bit-Blöcke eliminieren den Sweet32-Geburtstagsangriff, der 64-Bit-LOKI89/91 betrifft. Eine Kollision unter LOKI97 würde ≈ 2⁶⁴ Blöcke (~148 ExaByte) benötigen — praktisch nicht relevant.
  • LOKI97s Scheitern bei der AES-Evaluierung war ein Effizienz-, kein Sicherheitsurteil. Der AES-Ausschuss nannte langsamere Software-Performance als Rijndael und Twofish. Keine kryptografischen Schwächen wurden festgestellt.
  • Für alle neuen Systeme AES-128-GCM oder AES-256-GCM verwenden. LOKI97 eignet sich für existierende LOKI97-Archive und akademische Forschung.

Anwendungsfälle

  • Akademische Kryptoanalyse: GF(2¹³)-S-Box-Konstruktion und selbstreferenzieller Schlüsselplan bieten einzigartiges Studienobjekt für algebraisches Chiffrier-Design
  • Australische Regierungs/Verteidigungs-Legacy: Daten aus LOKI97-verschlüsselten australischen Systemen der 1990er
  • Vergleichende AES-Kandidaten-Studie: zusammen mit Serpent, Twofish, RC6 und MARS die NIST-Evaluierungsabwägungen verstehen
  • Nicht-AES-Compliance: Organisationen, die ausschließlich nicht-AES-Algorithmen mit dokumentierter kryptografischer Analyse benötigen

Referenzen

Schnellmenü

Keine aktuellen Tools