Помощь в учёбе, очень быстро...
Работаем вместе до победы

Алгоритм шифрования CLEFIA

РефератПомощь в написанииУзнать стоимостьмоей работы

В каждом раунде шифрования одновременно используются две разные функции F. Эти две F-функции F0 и F1 состоят из сложения с раундовым подключом, четырех нелинейных преобразований с использованием 8-битных S-блоков, а также матрицы распространения. Принцип работы функций F0 и F1 показан на рис. 97. При этом используются два разных S-блока. Логика работы S-блоков показана на рис. 98. Матрицы… Читать ещё >

Алгоритм шифрования CLEFIA (реферат, курсовая, диплом, контрольная)

Алгоритм шифрования CLEF1A представляет собой 128- битовый блочный шифр с длиной ключа 128, 192, 256 битов. Для обработки входного сообщения (рис. 96) использует обобщенную сеть Фейстеля с четырьмя ветвями. При этом в одном раунде параллельно применяются две функции F: F0 и F1 за раунд. Число раундов г для шифра CLEFIA-128 равно 18 [15]. На вход функции шифрования поступают 128 битов открытого текста Р = P0IP1IP2IP3, 32-битные ключи зашумления WK, (0 < j <2r). На выходе функции образуется 128-битный зашифрованный текст С = Со|С||С23, как показано на рис. 96.

В каждом раунде шифрования одновременно используются две разные функции F. Эти две F-функции F0 и F1 состоят из сложения с раундовым подключом, четырех нелинейных преобразований с использованием 8-битных S-блоков, а также матрицы распространения. Принцип работы функций F0 и F1 показан на рис. 97. При этом используются два разных S-блока. Логика работы S-блоков показана на рис. 98. Матрицы распространения также различны для функций F0 и F1. Их обозначают как МО для функции F0 и Ml для функции F1. Данные матрицы имеют следующий вид:

Умножение между матрицами и векторами выполняется в поле Галуа GF (28) и определяется примитивным полиномом

z8 + Z4 + z3 + Z2 + 1.

На вход функции выработки раундовых подключей алгоритма шифрования CLEFIA-128 поступает секретный ключ К, 32-битные ключи зашумлсния WKj (0 < j <2г). Функция выработки подключей подразделяется иа два этапа: выработку 128-битного промежуточного ключа L (шаг 1) и выработку значений WKj и RKj из значений К и L (шаг 2).

На шаге 1 для выработки промежуточного ключа L используются 12 раундов шифрования, на вход которых в качестве открытого текста поступает знание ключа К, а также постоянные величины CONj (0< i<60). Ключам забеливания WKj соответствуют 32-битные фрагменты Kj из ключа К = К0|К| |К2|Кз.

Простая линейная операция под названием DoubleSwap (Двойной обмен) используется в функции выработки подключей. На рис. 99 показан принцип работы функциия DoubleSwap. На вход операции поступает 128-битовое значение, которое разделяется на 4 части, после чего эти части меняются местами. Функция DoubleSwap используется для того, чтобы быстро вырабатывать раундовые подключи, поддерживая при этом эффективность внедрения программного и аппаратного обеспечения [16].

Функция шифрования для алгоритма шифрования

Рис. 96. Функция шифрования для алгоритма шифрования

CLEFIA

Функции FH F|

Рис. 97. Функции F()H F|

Блоки замены So и Si

Рис. 98. Блоки замены So и Si

Функция DoubleSwap

Рис. 99. Функция DoubleSwap

Показать весь текст
Заполнить форму текущей работой