Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
full-2.doc
Скачиваний:
10
Добавлен:
10.11.2018
Размер:
936.96 Кб
Скачать

70

ВСТУП

Сьогодні надзвичайно актуальною проблемою є забезпечення інформаційної безпеки. З урахуванням постійної зміни сучасних вимог до інформаційно-телекомунікаційних систем вирішення цієї проблеми постійно потребує нових методів та засобів, що будуть забезпечувати її вирішення. Серед важливих задач інформаційної безпеки особливе місце займають забезпечення цілісності, достовірності та можливості підтвердження авторства.

Вище згадані задачі сьогодні ефективно вирішуються з використанням методів цифрового підписування. Невід'ємною частиною таких методів є функції хешування. Крім того, вони знаходять широке застосування і для вирішення ряду інших питань, пов'язаних із забезпеченням захисту потоків даних, наприклад для хешування паролів користувачів з метою подальшого їх шифрування і зберігання в базі даних.

Однією з найважливіших характеристик хеш-функцій, що обумовили їх широке впровадження в практику, виявилася здатність отримувати з відкритого тексту великої довжини, хеш-код – текст фіксованої довжини. Крім того, застосування хеш-функцій дозволяє усунути надмірність відкритого тексту, що при подальшому криптографічному перетворенні хеш-коду відкритого тексту позитивно позначається на криптографічних властивостях зашифрованого повідомлення.

В зв’язку з цим, сьогодні актуальним є питання дослідження та аналізу сучасних хеш-функції, їх недоліків та методів побудови, а також розробка ефективних програмних засобів для прикладного застосування в різних додатках.

1 Аналіз методів формування хешу

    1. Основні поняття функцій хешування

Хеш-функцією називається однобічна функція, призначена для одержання дайджесту (хеш-суми) файлу, повідомлення або деякого блоку даних [1].

Хеш-код створюється функцією Н:

,

де є повідомленням довільної довжини і є хеш-кодом фіксованої довжини [1].

Критографічні контрольні суми (хеш-код, хеш-значення, хеш) широко використовуються для забезпечення цілісності, автентичності та достовірності інформації. Наприклад, для формування цифрового підпису необхідна ефективна функція хешування, яка б відображала оригінальне повідомлення в образ невеликої довжини. Хеш-коди також знайшли своє застосування в задачах ефективного пошуку файлів, даних та ін. Хеш-функції застосовують також для заміни собою даних, зберігати які в явному вигляді не є безпечним. Таким чином, постає можливість перевірки важливих даних без використання оригіналу цих даних (широко використовується для збереження хеш-коду паролів).

З розвитком обчислювальних потужностей та наукової бази, багато з широко розповсюджених сьогодні хеш-функцій не є безпечними. Наприклад, для відомої хеш-функції MD5 знаходяться все нові та швидші методи пошуку колізій [1, 2]. Тому актуальним є задача пошуку нових методів створення хеш-функцій.

Проведемо аналіз відомих функцій хешування.

Всі існуючі функції хешування можна розділити на два класи [2]: безключові хеш-функції, що залежать тільки від повідомлення, і хеш-функції із секретним ключем, що залежать як від повідомлення, так і від секретного ключа.

По використовуваних внутрішніх перетвореннях функції хешування можна розділити на [1]:

- функції, що використовують бітові логічні перетворення;

- функції, що використовують блокові симетричні шифри;

- функції, що використовують перетворення в групах, полях і кільцях з цілочисельним або поліноміальним базисом;

- функції, що використовують матричні перетворення.

Розглянемо основні вимоги до функцій хешування. Нехай, хеш-код створюється функцією н [1]: , де є повідомленням довільної довжини і є хеш-кодом фіксованої довжини.

  1. Стиснення. Функція відображає вхідне повідомлення довільної кінцевої довжини в хеш-значення невеликої фіксованої довжини, при цьому вхідне повідомлення будемо називати прообразом.

  2. Простота обчислення. Для заданої функції і повідомлення , обчислюється не вище чим з поліноміальною складністю.

Аналіз умов застосування хеш-функцій використовуваних в криптографії [1] і практичного їх застосування дозволив сформулювати вимоги, запропоновані для застосовуваних в криптографії безключових хеш-функцій. Вони полягають у наступному:

1. Стійкість до обчислення прообразу – неможливість обчислення невідомого прообразу для будь-яких попередньо заданих хеш-значень.

2. Стійкість до обчислення другого прообразу – неможливість обчислення будь-якого іншого прообразу, що давав би таке ж хеш-значення, як і заданий.

3. Стійкість до колізій – неможливість обчислення двох прообразів для яких вироблялося б однакове значення хеш-функції.

Введемо поняття односпрямованої та без колізійної функції хешування.

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

Без колізійною хеш-функцією називається функція , що задовольняє вимогам стиснення, простоти обчислення, стійкості до обчислення другого прообразу і стійкості до колізій.

В схемах цифрового підписування зазвичай використовуються хеш-функції, що є одночасно без колізійними й однонапрямленими, до яких висуваються такі вимоги:

1. Відсутність кореляції. Вхідні і вихідні біти не повинні корелювати, тобто зміна будь-якого вхідного біта приводить до великих непередбачених змін вихідних бітів.

2. Стійкість до близьких колізій. Для заданої односпрямованої функції обчислювально неможливо знайти два прообрази і , для яких хеш-значення і відрізнялися б на малу кількість бітів.

3. Стійкість до часткової одно спрямованості. Обчислювально неможливо відновити будь-яку частину вхідного повідомлення так само, як і все повідомлення. Більш того, по будь-якій відомій частині вхідного повідомлення обчислювально неможливо відновити частину, що залишилася, (відновлення невідомих бітів вимагає не менш операцій).

4. Можливість роботи в режимі розтягування. Можливість обчислення хеш-функції при довжині вхідного повідомлення менше ніж довжина хеш-значення.

5. Обчислювальна стійкість. Неможливість обчислення хеш-значення для заданого повідомлення без відомого секретного ключа.

Функція хешування із секретним ключем є функцією обчислення кодів аутентифікації повідомлень, якщо виконуються вимоги стиснення, обчислювальної простоти (при відомому сеансовому ключеві) і обчислювальної стійкості.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]