Реферат на тему:
Дискретний логарифм
Проблема обчислення дискретного логарифма є не лише цікавою, а й вкрай корисною для систем захисту інформації. Ефективний алгоритм знаходження дискретного логарифму значною мірою знизив би безпеку систем ідентифікації користувача та схеми обміну ключей.
Означення . Нехай G – скінченна циклічна група порядка n . Нехай g – генератор G та b Î G. Дискретним логарифмом числа b за основою g називається таке число x (0 £ x £ n - 1), що gx = b та позначається x = logg b .
Проблема дискретного логарифму. Нехай p – просте число, g – генератор множини Zp * , y ÎZp * . Знайти таке значення x (0 £x £p - 2), що gx ºy (modp ). Число x називається дискретним логарифмом числа yза основою g та модулем p .
Узагальнена проблема дискретного логарифму. Нехай G – скінченна циклічна група порядка n, g – її генератор, b Î G. Необхідно знайти таке число x (0 £ x £ n - 1), що gx = b .
Розширенням узагальненої проблеми може стати задача розв’язку рівняння g x = b , коли знято умову циклічності групиG, а також умову того, що g – генератор G (в такому випадку рівняння може і не мати розв’язку).
Приклад. g = 3 є генератором Z7 *: 31 = 3, 32 = 2, 33 = 6, 34 = 4, 35 = 5, 36 = 1.
log3 4 = 4 (mod 7), тому що розв’язком рівняння 3x = 4 буде x = 4.
Теорема. Нехай а – генератор скінченної циклічної групи G порядка n. Якщо існує алгоритм, який обчислює дискретний логарифм за основою а , то цей алгоритм може також обчислити дискретний логарифм за будь-якою основою b , яка є генератором G.
Доведення. Нехай k ÎG, x = loga k , y = logb k , z = loga b . Тоді a x = b y = (a z )y , звідки x = zymodn. Підставимо в останню рівність замість змінних логарифмічні вирази:
loga k =(loga b) (logb k) modn
або
logb k =(loga k) (loga b)-1 modn.
З останньої рівності випливає справедливість теореми.
Для знаходження logg b (g – генератор G порядка n , b Î G) будемо обчислювати значення g , g 2 , g 3 , g 4 , ... поки не отримаємо b . Часова оцінка алгоритму – O(n ). Якщо n – велике число, то час обчислення логарифму є достатньо великим і тому алгоритм є неефективним.
Першим детермінованим алгоритмом для обчислення дискретного логарифму був алгоритм великого та малого кроку, запропонований Шанком (Shank) [1].
Для обчислення logg b в групі Zn * необхідно зробити наступні кроки:
1. Обчислити a = é ù ;
2. Побудувати списокL1 = 1, g a , g 2 a , ..., g (за модулем n );
3. Побудувати списокL2 = b , bg , bg 2 , ..., bg a - 1 (за модулем n );
4. Знайти число z , яке зустрілося в L1 та L2 .
Тоді z = bgk = g la для деяких k та l . Звідси b = gla - k = gx ; x = la - k .
Два питання постає при дослідженні роботи наведеного алгоритму:
1. Чи завжди знайдеться число, яке буде присутнім в обох списках?
2. Як ефективно знайти значення z?
Запишемо x = s a + t для деяких s , t таких що 0 £s , t < a . Тоді b = gx = gs a + t . Домножимо рівність на g a - t , отримаємо: bg a - t = gs ( a + 1) . Значення зліва обов’язково зустрінеться в L2 , а справа – в L1 .
Відсортуємо отримані списки L1 та L2 за час O(a * loga ). За лінійний час проглядаємо списки зліва направо порівнюючи їх голови: якщо вони рівні, то значення z знайдене,
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.