FEAL

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
FEAL
Создатель:

Акихиро Симидзу и Сёдзи Миягути (NTT)

Опубликован:

FEAL-4 в 1987; FEAL-N/NX в 1990

Размер ключа:

64 бит (FEAL), 128 бит (FEAL-NX)

Размер блока:

64 бит

Число раундов:

изначально 4, потом 8 и потом переменное количество (рекомендуемо 32)

Тип:

Сеть Фейстеля

FEAL — блочный шифр, предложенный Акихиро Симидзу и Сёдзи Миягути.

В нем используются 64-битовый блок и 64-битовый ключ. Его идея состоит и в том, чтобы создать алгоритм, подобный DES, но с более сильной функцией этапа. Используя меньше этапов, этот алгоритм мог бы работать быстрее. К несчастью, действительность оказалась далека от целей проекта.

Описание[править | править вики-текст]

В качестве входа процесса шифрования используется 64-битовый блок открытого текста. Сначала блок данных подвергается операции XOR с 64 битами ключа. Затем блок данных расщепляется на левую и правую половины. Объединение левой и правой половин с помощью XOR образует новую правую половину. Левая половина и новая правая половина проходят через N этапов (первоначально 4). На каждом этапе половина объединяется с помощью функции F с 16 битами ключа и с помощью XOR — с левой половиной, создавая новую правую половину. Исходная правая половина (на начало этапа) становится новой левой половиной. После N этапов (левая и правая половины не переставляются после N-го этапа) левая половина снова объединяется с помощью XOR с правой половиной, образуя новую правую половину, затем левая и правая объединяются вместе в 64-битовое целое. Блок данных объединяется с помощью XOR с другими 64 битами ключа и алгоритм завершается.

Функция F[править | править вики-текст]

FEAL InfoBox Diagram.png

Функция F берет 32 бита данных и 16 битов ключа и смешивает их вместе. Сначала блок данных разбивается на 8-битовые кусочки, которые затем объединяются с помощью XOR и заменяют друг друга.

S_0(a,b) = циклический сдвиг влево на 2 бита ((a+b)\mod{256})

S_1(a,b) = циклический сдвиг влево на 2 бита ((a+b+1)\mod{256})

Тот же алгоритм может быть использован для дешифрования. Единственным отличием является то, что при дешифровании порядок использования частей ключа меняется на обратный.

Генерация ключа[править | править вики-текст]

Сначала 64-битовый ключ делится на две половины, к которым применяются операции XOR и функции f_k.

Функция f_k: два 32-битовых входа разбиваются на 8-битовые блоки. Затем в алгоритме шифрования/дешифрования используются 16-битовые блоки ключа.

Источники[править | править вики-текст]

  • Eli Biham, Adi Shamir: Differential Cryptanalysis of Feal and N-Hash. EUROCRYPT 1991: 1—16
  • Bert den Boer, Cryptanalysis of F.E.A.L., EUROCRYPT 1988: 293—299
  • Henri Gilbert, Guy Chassé: A Statistical Attack of the FEAL-8 Cryptosystem. CRYPTO 1990: 22—33.
  • Shoji Miyaguchi: The FEAL Cipher Family. CRYPTO 1990: 627—638
  • Shoji Miyaguchi: The FEAL-8 Cryptosystem and a Call for Attack. CRYPTO 1989: 624—627
  • Mitsuru Matsui, Atsuhiro Yamagishi: A New Method for Known Plaintext Attack of FEAL Cipher. EUROCRYPT 1992: 81—91
  • Sean Murphy, The Cryptanalysis of FEAL-4 with 20 Chosen Plaintexts. J. Cryptology 2(3): 145—154 (1990)
  • A. Shimizu and S. Miyaguchi, Fast data encipherment algorithm FEAL, Advances in Cryptology — Eurocrypt '87, Springer-Verlag (1988), 267—280.
  • Anne Tardy-Corfdir, Henri Gilbert: A Known Plaintext Attack of FEAL-4 and FEAL-6. CRYPTO 1991: 172—181

Ссылки[править | править вики-текст]