Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Генерация секретных ключей.






При генерации секретных ключей используются данные Н и М (входная последовательность, представленная в двоичном виде) и инициализируются следующие константы:

С2 = С4 = 0256 и С3 = 180811602411608(0818)21808× (0818)4(1808)4, где ak – двоичная последовательность из k бинарных знаков а – {0, 1}. После чего выполняется алгоритм:

I = 1; U = H; V = M;

W = U Å V;

K1 = P(W);

For i=2 to 4

U = A(U) Å Ci

V = A(A(V))

W = U Å V

Ki = P(W)

Функции P представляет собой перестановку s(i+1+4(k-1)) = 8i+k, i = 0¸ 3, k = 1¸ 8 над подблоками длиной 8 бит исходной двоичной последовательности длиной 256 бит. Таким образом, последовательность x32 || … || x1 преобразуется в последовательность xs(32) || … || xs(1). Функцией А(Х) обозначают следующее преобразование последовательности, разделенной на 4 подблока по 64 бита каждый: A(X) = (x1 Å x2) || x4 || x3 || x2.

Шифрующее преобразование.

Начальный вектор Н разбивается на 4 подблока hi длиной 64 бита, и каждый подблок зашифровывается на своем ключе Ki, то есть si = Eki(hi) (i=1, 2, 3, 4). В результате получается последовательность S = s1 || s2 || s3 || s4.

Перемешивающая функция.

Сначала исходная последовательность разбивается на шестнадцать 16-битных подблоков ni i=1¸ 16 и при помощи регистра сдвига с обратной связью преобразуется в последовательность следующего вида:

n1 Å n2 Å n3 Å n4 Å n13 Å n16 || n16 || … || n2.

Если обозначить данную функцию через j, то исходная функция хэширования - c (M, H) = j61 ((H Å j (M Å j12(S))), где степень функции j обозначает, сколько раз она применяется к битовой последовательности.

 

Однонаправленные хэш-функции, использующие симметричные блочные алгоритмы

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

Способ использует в качестве ключа блок сообщения, предыдущее хэш-значение в качестве входа, а текущее хэш-значение служит выходом.

Действительные хэш-функции сложнее. Размер блока обычно совпадает с длиной ключа, и размером хэш-значения будет длина блока. Так как большинство блочных алгоритмов 64-битовые, спроектирован ряд схем, дающих хэш-значение в два раза большее длины блока.

При условии, что хэш-функция правильна, безопасность этой схемы основана на безопасности используемой блочной функции.

Полезной мерой для хэш-функций, основанных на блочных шифрах, является скорость хэширования, или количество n-битовых блоков сообщения (п - это размер блока алгоритма), обрабатываемых при шифровании. Чем выше скорость хэширования, тем быстрее алгоритм.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.