КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лабораторная работа № 3. Методы двухключевой криптографии
. . . Цель работы Знакомство с методами проектирования датчиков псевдослучайных чисел и генерации псевдобесконечных ключей. 2. Теоретические положения Чем больше длина ключа, тем сложнее взломать такой ключ. Для генерации и воспроизводства псевдобесконечных ключей достаточно просто использовать генераторы псевдослучайных чисел. Генераторы псевдослучайных чисел имеют максимальный период m до того, как последовательность начнет повторятся. В задачах криптографии необходимо выбрать числа a и c таким образом, чтобы этот период m (и, таким образом длина последовательности ключа) был максимизирован. Можно доказать, что последовательность Ti+1 = (a×Ti + c) mod m, (1) где m = 2k и k – целое число > 2, имеет максимальную длину m тогда и только тогда, когда c нечетное и a mod 4 = 1. Сначала можно выбрать битовое представление из имени файла или пароля. Если оно нечетное, то его можно использовать в качестве c. В противном случае его можно использовать как T0 и затем сгенерировать T1, T2,..., Tk, где k – первое целое число, такое, что Tk нечетно. Далее Tk может быть использовано как c. Выбирая m = 2h-1, где h – длина слова в процессоре, a должно быть таким, что a (mod 4) = 1 и a незначительно больше, чем 2h/2. Эти ограничения для генератора ПСЧ необходимы для генерации случайных чисел, кажущихся случайными за счет поддержания большого периода. ШИФР С «БЕСКОНЕЧНЫМ» КЛЮЧЕВЫМ СЛОВОМ Выше было сказано, что при определенных условиях степень безопасности шифрования увеличивается с увеличением длины ключа. Возможно, лучше всего сгенерировать бесконечный ключ? Это вполне можно сделать, правда, за счет затрат на небольшие дополнительные вычисления. Рассмотрим метод «бесконечного» ключа для знаков. Начиная с порождающего числа S0 вычислим порождающую последовательность S1, S2,..., SL, используя то же уравнение (1). S1 = a S0 + c (mod m), S2 = a S1 + c (mod m), SL = a SL-1 + c (mod m), где L – шесть самых младших битов S0, дополненных до 16. ПОСЛЕДОВАТЕЛЬНОСТЬ КЛЮЧА Последовательность ключа T1, T2,... вычисляется из порождающей последовательности следующим образом: выберем K = 12 для умеренной степени безопасности или K = 18 для более высокой степени безопасности и затем определим N = 2k + K самых младших битов Si. Имея определенное N, сгенерируем первые N чисел в последовательности ключа на основе (2) и (3): Tj = Sj, j = 1,..., L, (2) Tj = Tj-1 + Tj-1-L (mod m), L < j £ N. (3) После генерации первых N чисел последовательности ключа создают новую порождающую последовательность: SN = SL, SN + 1 = a × SN + c (mod m), SN + 2 = a × SN + 1 + c (mod m),..., SN + L = a × SN + L - 1 + c (mod m). Имея созданную новую порождающую последовательность, мы можем теперь получить другие N элементов последовательности ключа, используя выражения (4) и (5): Tj = Sj, j = N + 1, N + 2,..., N + L, (4) Tj = Tj - 1 + Tj - 1 - L (mod m), N + L < j £ 2N. (5) Заметим, что выражения (2) и (4) отличаются только значениями j, которые в них используются. То же справедливо для уравнений (3) и (5). Следует поочередно генерировать N элементов последовательности ключа и L элементов порождающей последовательности. 3. Задание на работу Написать программу, выполняющую задачу исследования ДСЧ для одного из следующих вариантов: 1) Исследовать равномерность датчика (проверить гипотезу о равномерности распределения совокупности ДСЧ). 2) Определить период ДСЧ для различных параметров. 3) Исследовать автокорреляцию совокупности ДСЧ для различных параметров на глубину 100 отсчетов. 4) Построить гистограмму частоты появления каждого возможного значения совокупности ДСЧ. 4. Оборудование ПЭВМ с архитектурой IBM PC, операционная система – Windows 95, интегрированная среда – C++ Builder или Delphi версии не ниже 3.0 5. Порядок выполнения работы 1) Согласно полученному варианту задания разработать и отладить ПО для исследования датчика псевдослучайных чисел. 2) Представить результаты исследования в графическом виде. 3) Оформить отчет. 6. Оформление отчета Отчет должен содержать: − задание на лабораторную работу; − листинг разработанного ПО для исследования датчика псевдослучайных чисел; − результаты исследования датчика псевдослучайных чисел. 7. Контрольные вопросы 1) Каким образом проектируются датчики псевдослучайных чисел? 2) Что влияет на период датчика псевдослучайных чисел? 3) Что такое коэффициент автокорреляции? 4) Каким образом определяют закон распределения, по которому функционирует датчик псевдослучайных чисел? 5) Укажите способ программной реализации определения периода датчика псевдослучайных чисел, требующий минимальных затрат оперативной памяти. 6) В каком случае при исследовании датчиков псевдослучайных чисел используют критерий Дабрина – Уотсона?
Дата добавления: 2015-05-07; Просмотров: 608; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |