Математические основы защиты информации. Ишмухаметов Ш.Т - 72 стр.

UptoLike

Методы, основанные на задаче дискретного логарифмирования 73
если хеш-функция не является односторонней, противник может легко
раскрыть секретное значение следующим образом. При перехвате передачи
атакующий получает сообщение М и хеш-код H = h(S
AB
||M). Если
атакующий может инвертировать хеш-функцию, то, следовательно, он
может получить S
AB
||M = H
1
(C). Так как атакующий теперь знает и
М, и S
AB
||M , получить S
AB
совсем просто, здесь || обозначает операцию
конкатенации (соединения) двух текстов. Пятое свойство гарантирует, что
невозможно найти другое сообщение, чье значение хеш-функции совпадало
бы со значением хеш-функции данного сообщения. Это предотвращает
подделку аутентификатора при использовании зашифрованного хеш-кода.
В данном случае противник может читать сообщение и, следовательно,
создать его хеш-код. Но так как противник не владеет секретным ключом,
он не имеет возможности изменить сообщение так, чтобы получатель
этого не обнаружил . Если данное свойство не выполняется, атакующий
имеет возможность выполнить следующую последовательность действий:
перехватить сообщение и его за-шифрованный хеш-код, вычислить хеш-код
сообщения, создать альтернативное сообщение с тем же самым хеш-кодом,
заменить исходное сообщение на поддельное. Поскольку хеш-коды этих
сообщений совпадают, получатель не обнаружит подмены. Хеш-функция,
которая удовлетворяет первым пяти свойствам, называется простой или
слабой хеш-функцией. Если кроме того выполняется шестое свойство,
то такая функция называется сильной хеш-функцией. Шестое свойство
защищает против класса атак, известных как атака "день рождения".
Вычисление хеш-функций
Все хеш-функции вычисляются следующим образом. Входное значение
(сообщение, файл и т.п.) рассматривается как последовательность n-битовых
блоков. Входное значение обрабатывается последовательно блок за блоком,
и создается m-битовое значение хеш-кода. Одним из простейших примеров
хеш-функции является побитовый XOR каждого блока:
С
i
= b
i1
b
i2
. . . b
i
k
,
Методы, основанные на задаче дискретного логарифмирования             73

если хеш-функция не является односторонней, противник может легко
раскрыть секретное значение следующим образом. При перехвате передачи
атакующий получает сообщение М и хеш-код H = h(SAB ||M ). Если
атакующий может инвертировать хеш-функцию, то, следовательно, он
может получить SAB ||M = H −1 (C). Так как атакующий теперь знает и
М, и SAB ||M , получить SAB совсем просто, здесь || обозначает операцию
конкатенации (соединения) двух текстов. Пятое свойство гарантирует, что
невозможно найти другое сообщение, чье значение хеш-функции совпадало
бы со значением хеш-функции данного сообщения. Это предотвращает
подделку аутентификатора при использовании зашифрованного хеш-кода.
В данном случае противник может читать сообщение и, следовательно,
создать его хеш-код. Но так как противник не владеет секретным ключом,
он не имеет возможности изменить сообщение так, чтобы получатель
этого не обнаружил . Если данное свойство не выполняется, атакующий
имеет возможность выполнить следующую последовательность действий:
перехватить сообщение и его за-шифрованный хеш-код, вычислить хеш-код
сообщения, создать альтернативное сообщение с тем же самым хеш-кодом,
заменить исходное сообщение на поддельное. Поскольку хеш-коды этих
сообщений совпадают, получатель не обнаружит подмены. Хеш-функция,
которая удовлетворяет первым пяти свойствам, называется простой или
слабой хеш-функцией. Если кроме того выполняется шестое свойство,
то такая функция называется сильной хеш-функцией. Шестое свойство
защищает против класса атак, известных как атака "день рождения".


Вычисление хеш-функций
Все хеш-функции вычисляются следующим образом. Входное значение
(сообщение, файл и т.п.) рассматривается как последовательность n-битовых
блоков. Входное значение обрабатывается последовательно блок за блоком,
и создается m-битовое значение хеш-кода. Одним из простейших примеров
хеш-функции является побитовый XOR каждого блока:

                         Сi = bi1 ⊕ bi2 ⊕ . . . bik ,