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.
Ü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
Verwandte Tools
AES-Verschlüsselung/Entschlüsselung
Verschlüsseln und entschlüsseln Sie Text sicher mit dem AES-Algorithmus
Serpent-Verschlüsselung/Entschlüsselung
AES-Finalist-Algorithmus mit 128/192/256-Bit-Schlüsseln, 32 Runden, bietet hervorragende Sicherheitsmarge und bewiesene Widerstandsfähigkeit gegen Kryptoanalyse
Twofish-Verschlüsselung/Entschlüsselung
AES-Finalist, symmetrische Verschlüsselung mit 128-Bit-Blöcken und 128/192/256-Bit-Schlüsseln, von Bruce Schneier