Тема 9. Хеш-функції і генератори псевдовипадкових чисел

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

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

1) її значення достатньо легко обчислити, тобто знаючи відкрите повідомлення Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , легко обчислити Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

2) відновити відкрите повідомлення Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru за відомим значенням Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru неможливо протягом реального часу, тобто знаючи Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , важко визначити Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , для якого Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

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

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

Однокрокові стискуючі функції є вектор-функціями від двох змінних вигляду Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , де аргументи Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru є двійковими векторами довжини Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , а значення функції Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – двійковий вектор довжини Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru . Величина Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru є довжиною хеш-коду.

Для обчислення хеш-коду Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru повідомлення Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru розбивається на Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru блоків Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru довжини кратної Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru . Якщо довжина повідомлення Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru не кратна Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , то останній блок спеціальним способом доповнюють до довжини Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .До блоків Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru застосовують наступну послідовну процедуру обчислення хеш-коду:

Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

де Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – деякий фіксований початковий вектор.

54. Типи криптографічних хеш-функцій.

Хеш-функції поділяються на два основних типи – ключові та безключові.

Для ключової хеш-функції, тобто такої, при обчисленні значень якої використовується додатковий секретний параметр, скажімо, Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , значення її хеш-коду Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru називається кодом аутентифікації повідомлення (імітовставкою) і має загальноприйняту абревіатуру МАС (message authentification code). Відповідні процедури обчислення значення ключової хеш-функції називаються алгоритмами обчислення коду аутентифікації повідомлення.

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

55. Принципи побудови та властивості генераторів псевдовипадкових чисел.

Генератор псевдовипадкових чисел(ГПВЧ)(Pseudorandom number generator, PRNG (англ.)) – алгоритм, що генерує послідовність чисел, якій характерні всі частотні (статистичні) властивості, типові для послідовності реалізацій якої-небудь випадкової величини із заданим законом розподілу. Найбільш поширені випадкові числа, які рівномірно розподілені на відрізку Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

Ці послідовності виходять за допомогою математичних алгоритмів із скінченним числом параметрів. Тому не кожен спосіб вибору елементів числової послідовності дає сукупність чисел з бажаними характеристиками.

При побудові генераторів ПВЧ висуваються лише необхідні вимоги до типів вибірок елементів, для яких статистичні властивості відповідають властивостям рівноймовірності і незалежності. Наприклад, можна зажадати, щоб розподіли будь-яких вибірок від одного до десяти чисел на відрізку послідовності не більше 100 практично не відрізнялися від випадкових.

Більшість простих арифметичних генераторів хоча і мають велику швидкість, але страждають від багатьох серйозних недоліків:

- Дуже короткий період/періоди;

- Послідовні значення не є незалежними;

- Деякі біти «менш випадкові», чим інші;

- Нерівномірний одновимірний розподіл;

- Оборотність.

Тому, в криптографії до псевдовипадкових послідовностей чисел висувають наступні вимоги:

1) Великий період;

2) Непередбачуваність зліва, тобто неможливість визначення члена Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru числової послідовності на основі її відомого наступного фрагменту Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru скінченної довжини Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

3) Непередбачуваність справа, тобто неможливість визначення члена Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru числової послідовності на основі її відомого попереднього фрагменту Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru скінченної довжини Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru ;

56. Лінійні конгруентні генератори.

Найбільш відомий на сьогодні ГПВЧ являє собою окремі види алгоритму, який був запропонований Лехмером (Деррік Генрі Лехмер (1905–1991) – американський вчений, працював в університеті Беркли) ще у 1948 році і відомий як метод лінійного конгруента. Послідовність псевдовипадкових чисел Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru отримується за допомогою лінійного рекурентного рівняння

Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru (1)

де Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – початкове значення (ключ); Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – множник; Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – приріст; Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – модуль, Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru . Якщо Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru – цілі числа, то утворюється послідовність цілих чисел в діапазоні Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

Послідовність, що є розв’язком рівняння (1), називається лінійною конгруентною послідовністю.

57. Генератори псевдовипадкових чисел на основі однонапрямлених функцій з лазівкою. Генератор Блюма–Блюм–Шуба (ВВS).

Принцип роботи генератора BBS:

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

2. З мультиплікативної групи лишків Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru випадково вибирається інше ціле число Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , взаємно просте з числом Блюма Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru : Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

3. Обчислюється число Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , яке буде початковим значенням генератора.

4. За законом Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru утворюється послідовність чисел Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

5. Шуканою псевдовипадковою двійковою послідовністю Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru буде послідовність молодших бітів чисел Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , тобто Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru , Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

Псевдовипадкову двійкову послідовністю, згенеровану за цим алгоритмом, позначають як Тема 9. Хеш-функції і генератори псевдовипадкових чисел - student2.ru .

Наши рекомендации