FEAL

FEAL
FEAL
FEAL
Die Rundenfunktion F von FEAL
Entwickler Akihiro Shimizu und Shoji Miyaguchi, beide von NTT
Veröffentlicht FEAL-4 1987; FEAL-N/NX 1990
Schlüssellänge 64 Bit (FEAL), 128 Bits (FEAL-NX)
Blockgröße 64 Bit
Struktur Feistelchiffre
Runden Ursprünglich 4 bei FEAL-4, dann erweitert auf 8 Runden; FEAL-N/NX mit variabler Rundenanzahl, wobei minimal 32 empfohlen sind.
Beste bekannte Kryptoanalyse
FEAL-4 ist sehr anfällig für die lineare Kryptoanalyse mit nur fünf bekannten Klartextblöcken. (Matsui und Yamagishi, 1992).
FEAL-N/NX ist für die differentielle Kryptoanalyse mit weniger als 31 Runden anfällig. (Biham und Shamir, 1991).

FEAL (Fast Data Encipherment Algorithm) ist eine Blockchiffre und zählt zu den symmetrischen Feistelchiffren. Das Ziel bei der Entwicklung, die von dem japanischen Telefonkonzern Nippon Telegraph and Telephone (NTT) ausging, war, eine effiziente Implementierung eines Verschlüsselungsalgorithmus in Software auch für kleine Mikrocontroller zu erreichen und damit eine Alternative zu dem von amerikanischen Behörden entwickelten Data Encryption Standard (DES) zu schaffen. DES ist in Software nur vergleichsweise ineffizient zu implementieren.

FEAL diente in den Jahren nach seiner Entwicklung 1987 vor allem als Testobjekt für verschiedenartige Angriffszenarien auf Verschlüsselungsalgorithmen. Insbesondere diente er dazu, die heute wesentlichen Analyseverfahren, die differentielle Kryptoanalyse und die lineare Kryptoanalyse, in ihrer Entwicklung voranzubringen. FEAL selber gilt, in den ursprünglichen Versionen wie FEAL-4 und FEAL-8, als gebrochen und sollte daher nicht eingesetzt werden.

Funktionsweise

Der Datenblock von 64 Bit besteht aus zwei Wörtern Li und Ri zu je 32 Bit. Eine Feistelrunde besteht in der Auswertung der Rundenfunktion F (Bild) auf einem Wort und XOR-Verknüpfung des Ergebnisses mit dem anderen Wort und anschließender Vertauschung der Wörter:

L_{i+1} \!\, = R_i
R_{i+1} \!\, = L_i \oplus F(R_i, K_i)

Die Funktion F zerlegt das Wort Ri in vier Byte, die im Bild jeweils durch eine Linie symbolisiert werden, und erhält als Eingabe außerdem einen Rundenschlüssel Ki (2 Byte). Damit wird vier mal eine bitweise XOR-Verknüpfung von zwei Bytes angewandt, und je zweimal eine der Funktionen S0 und S1 ausgewertet, die zwei Eingabebytes auf ein Ausgabebyte abbilden. Sie addieren zunächst die beiden Eingabebytes modulo 256, und im Fall von S1 wird dazu noch 1 addiert, wodurch das Zwischenergebnis h entsteht. Dieses wird um zwei Bitpositionen nach links rotiert:

S_i(x,y) = (h \, \bmod \, 64) \cdot 4 + \lfloor h / 64 \rfloor ; \; h = (x+y+i) \, \bmod \, 256

Die Chiffre verwendet außerdem Key Whitening vor der ersten und nach der letzten Runde.

Versionen

Ursprünglich wurde 1988 von dem Entwicklerteam um Akihiro Shimizu und Shoji Miyaguchi bei NTT FEAL-4 entwickelt. Dieser Algorithmus und seine Entstehungsgeschichte dokumentiert auch sehr anschaulich und mit teilweise amüsanten Abläufen die Problematik, die mit der Entwicklung sicherer Blockverschlüsselungsalgorithmen verbunden sein kann.

Damit der Algorithmus in Software einen möglichst hohen Durchsatz erzielt, war die Anzahl der Runden nur auf vier festgelegt. FEAL-4 wurde noch im gleichen Jahr 1988 auf der Eurocrypt '88 von B. den Boer gebrochen.[1] Nur zwei Jahre später wurde von Sean Murphy die von ihm neu entwickelte differentielle Kryptoanalyse erfolgreich gegen FEAL-4 eingesetzt, wobei er nur 20 gewählte Klartextblöcke benötigte.[2]

Die Entwickler verbesserten daraufhin im Jahr 1989 ihren Algorithmus, indem sie die Zahl der Runden auf acht erhöhten (FEAL-8). Dieser Algorithmus wurde ebenfalls im gleichen Jahr von Biham und Shamir auf der Konferenz SECURICOM '89 erfolgreich kryptoanalysiert.

Die Entwickler sahen sich daraufhin gezwungen, ihr Ziel, mit wenigen Runden eine effiziente Softwareimplementierung zu erreichen, endgültig aufzugeben, und veröffentlichten FEAL-N mit einer variablen Anzahl von Runden. Auf der SECURICOM '91 konnte wieder von Biham und Shamir gezeigt werden, das FEAL-N für weniger als 32 Runden effizienter als mit Brute-Force geknackt werden kann.

Die Entwickler von FEAL entwarfen parallel im Jahr 1990 auch FEAL-NX, eine Variante, die mit 128 Bit langen Schlüsseln statt der ursprünglich gewählten 64 Bit langen Schlüsseln arbeitete. Sehr zum Leidwesen der Entwickler wurde auf der SECURICOM '91 von Biham und Shamir gezeigt, dass FEAL-NX mit 128 Bit langen Schlüssel genauso leicht zu brechen ist wie FEAL-N mit 64 Bit langen Schlüsseln.[3]

Darüber hinaus wurden von verschiedenen Entwicklungsteams Modifikationen zur Stärkung vorgeschlagen, wie FEAL-N(X)S, welche FEAL durch eine dynamische Vertauschungsfunktion stärken soll. Allerdings gehen alle diese Erweiterungen sehr zu Lasten des Datendurchsatzes.

FEAL wird vor allem zum Testen neuer und Verfeinern von kryptoanalytischen Angriffsmethoden verwendet. FEAL, egal in welcher Version, sollte wegen seiner bekannten Schwächen nicht in sicherheitskritischen Bereichen eingesetzt werden. FEAL war weiters in den USA patentiert, das Patent lief 2009 aus.

Referenzen

  1. Bert den Boer: Cryptanalysis of F.E.A.L.. In: Lecture Notes in Computer Science. 330, 1988, S. 293-299. doi:10.1007/3-540-45961-8_27.
  2. Sean Murphy: The cryptanalysis of FEAL-4 with 20 chosen plaintexts. (PDF) In: Journal of Cryptology. 2, Nr. 3, Januar 1990, S. 145-155. doi:10.1007/BF00190801.
  3. Eli Biham, Adi Shamir: Differential cryptanalysis of DES-like cryptosystems. (PDF) In: Journal of Cryptology. 4, Nr. 1, Januar 1991, S. 3-72. doi:10.1.1.31.2000.

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • féal — féal …   Dictionnaire des rimes

  • FEAL — La fonction de Feistel dans FEAL Résumé Concepteur(s) Akihiro Shimizu and Shoji Miyaguchi (NTT) Première publication 1987 (FEAL 4) et 1990 (FEAL N/NX) …   Wikipédia en Français

  • féal — féal, ale, aux [ feal, o ] adj. et n. m. • v. 1200; de fei, anc. forme de foi 1 ♦ Vx Fidèle à la foi jurée. ⇒ dévoué, fidèle, loyal. À nos aimés et féaux conseillers, formule de l ancienne chancellerie royale. 2 ♦ N. m. Littér. Partisan, ami… …   Encyclopédie Universelle

  • FEAL — Создатель: Акихиро Симидзу и Сёдзи Миягути (NTT) Опубликован: FEAL 4 в 1987; FEAL N/NX в 1990 Размер ключа: 64 бит (FEAL), 128 бит (FEAL NX) Размер блока: 64 бит Число раундов: изначально 4, потом 8 и потом переменное количество (рекомендуемо 32) …   Википедия

  • féal — féal, ale (fé al, a l ) adj. 1°   Vieux mot qui était usité dans les lettres royales. Fidèle. À nos amés et féaux conseillers, etc. •   Roland, Duguesclin, Bayard, étaient de féaux chevaliers, CHATEAUBR. Génie, I, II, 2. 2°   Familièrement. C est …   Dictionnaire de la Langue Française d'Émile Littré

  • feal — fe al (f[=e] al), a. [OF. feal, feel, feeil, fedeil, F. fid[ e]le, L. fidelis faithful, fr. fides faith. See {Faith}.] Faithful; loyal. [Obs.] Wright. [1913 Webster] …   The Collaborative International Dictionary of English

  • feal — Feal, Fidus, Fidelis. Estre feaulx et loyaulx au peuple Romain, Comiter conseruare maiestatem populi Romani …   Thresor de la langue françoyse

  • FEAL — Infobox block cipher name = FEAL caption = The FEAL Feistel function designers = Akihiro Shimizu and Shoji Miyaguchi (NTT) publish date = FEAL 4 in 1987; FEAL N/NX in 1990 derived from = derived to = key size = 64 bits (FEAL), 128 bits (FEAL NX)… …   Wikipedia

  • feal — {{11}}feal (1) “to hide, conceal,” early 14c., a Northern English and Northern Midlands word, from O.N. fela to hide, cognate with Goth. filhan to hide, bury, O.E. feolan. {{12}}feal (2) faithful, 1560s, from O.Fr. feal, collateral form of… …   Etymology dictionary

  • FÉAL — ALE. adj. Vieux mot qui signifie, Fidèle, et qui était usité dans les lettres royaux. À nos amés et féaux ... Fam. et substantiv., C est mon féal, c est son féal, C est mon fidèle ami, son fidèle ami, mon intime, son intime …   Dictionnaire de l'Academie Francaise, 7eme edition (1835)

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”