8.3 Генератор пвп на основі rsa
Параметрами
генератора є параметри криптосистеми
RSA,
за винятком секретного ключа, тобто
,
де
великі нерівні прости числа і випадкове
число
,
у діапазоні
,
взаємно просте з
,
де
.
Після генерації
і
,
решта даних і результати проміжних
обчислень знищуються.
Генератор
видає двійкову послідовність
довжини
,
виходячи із випадкового секретного
значення
:
.
Алгоритм
генерації:
,
,
.
8.4 Генератор квадратичних лишків bbs
Позначення
генератора пов’язано з призвіщамі
авторів (Blum,
Blum,
Shub). Параметри генератора: секретні
великі нерівні прости числа
,
такі що,
;
число
;
- випадковий секретний лишок за модулем
.
Алгоритм
обчислення
послідовності бітів
.
1.
Обчислити початкове значення
.
2.
Для
:
,
.
Зауваження.
Алгоритм можна використовувати для
шифрування файлів з довільним доступом,
якщо, крім
,
ввести секретний параметр
,
оскільки тоді
можна обчислити без знання
,
оскільки
,
де
.
8.5 Генератор Блюма-Мікалі
Цей генератор оснований на складності дискретного логарифмування.
Нехай
-
велике просте число, таке, що дискретний
логарифм у
обчислювально неможливий, а
- елемент великого порядку.
Вибираємо
випадково секретне початкове значення
.
Алгоритм
побудови ПВП
наступний.
Обчислити
.
Якщо
,
то
,
інакше,
.
8.6 Методи симетризації та селекції поліпшення якості пвп
Модифікація первісної ПВП спрямована на поліпшення її статистичних властивостей за рахунок послаблення залежності між елементами і наближення розподілу елементів до рівномірного.
Це, наприклад, вибір підпослідовностей, додавання за модулем 2 частини бітів блоку, видалення підпослідовностей бітів з блоків, тощо.
Наприклад, в українському стандарті на цифровий підпис ДСТУ 4145-2002, для побудови рандомізаторів застосовується генератор випадкових двійкових послідовностей побудований за схемою ANSI X9.17 з використанням алгоритму ГОСТ 28147-89.
При
цьому черговий біт
такої послідовності є правим крайнім
розрядом відповідного блоку
довжини 64, що за ANSI X9.17 міститься у ПВП
цілком.
Для порушення зв’язку ПВП з первісним алгоритмом, або для поліпшення первісної ПВП, можна застосувати т. зв. алгоритми симетризації та селекції.
Метод симетризації полягає у наступному.
Нехай
- первісна двійкова псевдовипадкова
послідовність
з
незалежними елементами, в якій порушено
умову рівноймовірності:
;
,
де
,
.
За
допомогою наступних (або еквівалентних)
перетвореннь первісна послідовність
перетворюються до виду:
,
якщо
;
,
якщо
;
- у
інших випадках.
Таким
чином, розглядаємо пари бітів, що не
перетинаються, і робимо заміну:
,
,
,
.
З
послідовності
відкинемо значення
.
В
результаті, отримуємо двійкову
послідовність
.
Підрахуємо розподіл ймовірностей
елементів послідовності
.
![]()
![]()
![]()
Оскільки
,
то після відкидання
значень
отримуємо двійкову послідовність
з рівноймовірним розподілом.
Зауважимо, що цей результат використовує умову щодо попарної незалежності елементів первісної послідовності.
Крім
того, чим більше
відхиляється від 0,5, тим більше скорочується
довжина
.
Але у випадку, коли первісна послідовність є результатом шифроперетворення, обидва ці недоліки практично відсутні.
На відміну від методу симетризації, метод селекції дозволяє побудувати безліч способів поліпшення послідовностей за рахунок комбінування елементарних генераторів ПВП.
У методі
селекції двійкова ПВП
«проріджується» за допомогою іншої ПВП
,
в результаті чого отримується послідовність
![]()
.
Наприклад, в
залишаються лише ті елементи
,
для яких
(послідовність
стискується).
Елементи
послідовності
називаються селекторами.
Слід
враховувати, що якщо генератор
якісний, то генератор
,
у якому послідовності помінялися ролями,
може бути дуже слабкий.
Тому
цей метод звичайно застосовується для
послідовностей
з хорошими статистичними властивостями,
з метою порушення зв’язку
з початковим станом первісного генератора.
Приклад 1. Стискуючий генератор SG (Shrinking Generator), що генерує двійкову ПВП.
У цьому
генераторі послідовності
і
породжуються двійковими регістрами
зсуву з лінійним зворотним зв’язком
і
відповідно.
Теорема
8.1 Нехай
мінімальні поліноми регістрів
і
примітивні,
,
,
а періоди послідовностей
і
-
взаємно прості числа.
Тоді
період
і лінійна складність
послідовності, що генерується,
задовільняють умовам:
,
.
Приклад
2. Послідовність
генерується так званим старт-стоп
генератором. У цьому генераторі задіяні
три РЗЛЗЗ
і
.
Регістр
рухається рівномірно і керує рухом
регістрів
,
:
якщо після просування
його вихід дорівнює 1, то просувається
,
інакше, просувається
.
Після
зміни стану системи біти, що знімаються
з виходів регістрів
,
додаються за модулем два. Результат є
черговим бітом ПВП
,
що генерується.
Приклад 3. Генератор Mush. Нерівноймовірна послідовність селекторів.
Послідовність
отримується з рекурентного співідношення
виду
,
,
з початковим станом
.
Елементи
-
двійкові числа розміром 32 біти. Операція
означає, що спочатку числа додаються
звичайним образом. Далі результат
розглядається як 33-х розрядне число,
яке розбивається на старший розряд
і молодші 32 розряди, які становлять
значення
.
Значення
є черговим бітом послідовності селекторів
.
Приклад
4. У якості
і
вибираємо послідовності з прикладів 2
і 3, або
послідовності, що відповідно отримані
з генератора ANSI
X9.17
і генератора Блюма-Мікалі.
