КАТЕГОРИИ: Архитектура-(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) |
Согласно Малой теореме Ферма в поле для любого имеем
Если n – число составное, то кольцо Для любого элемента а мультипликативной группы имеем место Эффективный метод обращения элементов мультипликативной группы основан на алгоритме Евклида. Пусть требуется найти а -1. Так как (а, n)=1, то существуют такие целые k 1 и k 2, что 1= k 1 а+k 2 n. Тогда Выберем в качестве примера n =20. Мультипликативная группа кольца 20=2×9+2. Делим 9 на 2 с остатком 9=4×2+1. Полученную в качестве остатка единицу выражаем из последнего равенства через 9 и 2 и подставляем вместо двойки её выражение из первого равенства 1=9-4×2=9-4(20-2×9)=9×9- 4×20. Таким образом, элемент 9 оказался обратным сам себе 9-1=9. Если а – примитивный корень по простому модулю р, то каждый ненулевой элемент поля Есть, однако, существенная разница между двумя функциями с вычислительной точки зрения. Для вычисления а m достаточно сделать не более
которая требует всего лишь 5+3=8 умножений. Для дискретного логарифма подобного эффективного приёма не известно, и его вычисление представляет собой трудную задачу, которая оказывается не под силу даже современным компьютерам, если р - число с более чем 200 десятичными знаками. Другая алгоритмически трудная задача в теории чисел – это разложение числа на простые множители. Существуют эффективные методы проверки числа на простоту, полиномиальной трудоёмкости от длины записи числа в позиционной системе счисления. Однако, если число оказывается не простым, то найти его разложение на простые множители может оказаться невозможным даже с помощью самого мощного современного компьютера, если это число с более чем 200 десятичными знаками. Эффективного алгоритма для решения этой задачи не известно, хотя и не доказано, что его не существует. Положение не улучшается даже в том случае, когда известно, что число разлагается на два простых множителя. На алгоритмической трудности задач нахождения дискретного логарифма и разложения на множители и основана современная криптография, позволяющая избежать процедуры предварительного обмена ключом. Современная криптография. Рассмотрим две известные криптографические системы, позволяющие избежать предварительного распространения ключа – это система с открытым распространением ключа и система с открытым ключом. В системе с открытым распространением ключа два корреспондента вырабатывают общий секретный ключ, пользуясь открытым каналом связи. При этом третье лицо, перехватывая все общения по данному каналу, тем не менее не в состоянии получить ключ. Это «чудо», предложенное Диффи и Хеллменом, основано на алгоритмической сложности вычисления дискретного логарифма. В системе с открытым ключом каждый пользователь имеет два собственных ключа: открытый для зашифровывания и секретный- для расшифровывания. Ключ для зашифровывания помещается в открытый файл и любой, желающий отправить секретное сообщение данному лицу, может им воспользоваться. Расшифровать же данное сообщение способно только само лицо, т.к. лишь оно имеет ключ для расшифровывания. Хотя, в принципе, найти ключ для зашифровывания возможно, алгоритмическая трудность этой задачи не позволяет решить её в приемлемое время. Среди систем с открытым ключом наибольшее распространение получила система RSA, названная так в честь своих создателей (Rivest, Shamir, Adleman, 1978). Система RSA основана на алгоритмической трудности разложения числа на простые множители. Опишем сначала систему Диффи и Хеллмана с открытым распространением ключа. Группа пользователей помещает в открытый файл простой модуль р (очень большое число) и примитивный корень a поля Двоичная запись ключа Перехватчик, зная y i и y j, может, в принципе, найти х i и x j и получить ключ Обратимся теперь к системе RSA. Каждый пользователь выбирает два больших простых числа Кодовым алфавитом в системе RSA является множество Пусть
Обратное преобразование осуществляется с помощью хранимого пользователем в секрете числа
Покажем, что результатом обратного преобразования будет исходное кодовое слово открытого текста
Так как
Последнее сравнение следует из Малой теоремы Ферма. Аналогично
Отсюда следует, что
Факт существования обратного преобразования доказывает, что зашифровывающее преобразование действительно является перестановкой на множестве символов Не известно эффективного способа нахождения секретного расшифровывающего ключа Системы с открытым ключом типа RSA, наряду с несомненным удобством для пользователей, обладают, на первый взгляд, и существенным недостатком. А именно, каждый может воспользоваться открытым ключом определенного лица и от его имени послать зашифрованное сообщение. Если банк получает по электронной почте от своего клиента зашифрованное сообщение с распоряжением, касающимся управления финансовым вкладом клиента, то он должен быть уверен в подлинности авторства сообщения при осуществлении с вкладом требуемых операций. В случае письменного распоряжения его аутентичность подтверждается личной подписью клиента. Подобное подтверждение в случае распоряжения, посланного по электронному каналу связи, называется электронной подписью. В системе RSA проблема электронной подписи может быть решена просто. Пусть
а банку для расшифровывания следует воспользоваться оператором
Этим приемом в системе RSA может быть обеспечена как секретность, так и аутентичность. Подтверждением аутентичности служит зашифровывающий оператор
Тест 1. Что такое «ключ»? а) Алгоритм зашифровывания; б) Алгоритм расшифровывания; в) Сменный элемент шифра, обеспечивающий поддержание секретности. 2. Совпадают ли зашифровывающий и расшифровывающий ключи? а) Совпадают; б) Не совпадают; в) Не совпадают в системе с открытым ключом. 3. Что обуславливает криптографическую стойкость системы RSA? а) Трудность нахождения дискретного логарифма; б) Трудность разложения на множители; в) Трудность нахождения обратного элемента в мультипликативной группе кольца
Итоговый тест 1. Сколько подмножеств у n – мерного множества? а) 2. Чему равна мощность прямого произведения n – мерного и m – элементного множеств? а) 3. Cколько m – элементных подмножеств у n – элементного множества? а) 4. Сколькими способами можно рассадить n человек за круглым столом? (Два способа считаются одинаковыми, если каждый имеет тех же двух соседей, неважно с какой стороны). а) 5. Цикл называется гамильтоновым, если он а) проходит через каждое ребро; б) проходит через каждую вершину; в) через каждую вершину проходит один раз. 6. Алгоритм в дискретной математике считается эффективным, если а) всегда приводит к решению; б) может быть реализован на компьютере; в) имеет полиномиальную от размерности задачи трудоемкость. 7. Чему равно минимальное расстояние между кодовыми словами линейного кода? а) минимальному числу единиц нулевого кодового слова; б) числу строк порождающей матрицы; в) числу строк проверочной матрицы. 8. Число кодовых слов у кода с порождающей матрицей 9. Что обеспечивает криптографическую стойкость системы с открытым распространением ключа? а)трудность нахождения дискретного логарифма; б)трудоемкость разложения на множители; в)трудоемкость нахождения обратного элемента в мультипликативной группе кольца 10. Почему в современных криптографических системах типа RSA невозможно вскрытие шифра с помощью частотного анализа? а) из – за объема необходимых вычислений; б) из – за трудностей программирования; в) большая длина участков открытого текста, зашифровываемая одним блоком, практически исключает повторяемость блоков шифротекста.
Рекомендуемая литература Основная 1. Андерсон Д.А. Дискретная математика и комбинаторика. – М.: «Вильямс», 2003. 2. Аршинов М.Н., Садовский Л.Е. Коды и математика. – М.: «Наука», 1983. 3. Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по курсу дискретной математики. – М.: «Наука», 2004. 4. Дориченко С.А., Ященко В.В. 25 этюдов о шифрах. – М.: «ТЕИС», 1994. 5. Зуев Ю.А., Садыкова А.Р. Математика логика и теория алгоритмов. Теория множеств. Дискретная математика. – М.: МГУТУ, 2004. 6. Иванов Б.Н. Дискретная математика. Алгоритмы и программы. – М.: «Лаборатория Базовых Знаний», 2002. 7. Нефедов В.Н., Осипова В.А. Курс дискретной математики. – М.: «МАИ», 1992.
Дополнительная 1. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. – М.: «Наука», 1990. 2. Кнут Д.Э. Искусство программирования. Том 1. Основные алгоритмы. – М.: «Вильямс», 2000. 3. Мак – Вильямс Ф.Дж., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки. – М.: «Связь», 1979. 4. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность.- М.: «Мир», 1985. 5. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика.- М.: «Мир», 1980. 6. Харари Ф. Теория графов. – М.: «Мир», 1973. 7. Штайнер Б. Прикладная криптология. – М.: «Триумф», 2002.
Словарь основных терминов
1. Гамильтонов граф – граф, имеющий гамильтонов цикл.
2. Гамильтонов цикл – цикл, проходящий по одному разу через каждую вершину графа.
3. Граф – конечное множество элементов, называемых вершинами, с выделенным подмножеством неупорядоченных пар элементов, называемых ребрами.
4. Двудольный граф – граф, множество вершин которого можно разбить на 2 пересекающиеся подмножества так, что каждое ребро имеет одну вершину из одного подмножества, а другую – из другого.
5. Дерево – связный граф без циклов.
6. Ключ – сменный элемент шифра, периодическое изменение которого обеспечивает поддержание секретности.
7. Криптография – тайнопись.
8. Лес – граф без циклов.
9. Ориентированный граф (орграф) – конечное множество элементов, называемых вершинами, с выделенным подмножеством упорядоченных пар элементов, называемых дугами.
10. Остовной подграф графа
11. Паросочетание – подмножество ребер графа такое, что каждая вершина графа инцидентна не более чем одному ребру из подмножества.
12. Подграф графа
13. Регулярный граф – граф, все вершины которого имеют одинаковую степень.
14. Сеть – ориентированный граф с двумя выделенными вершинами – истоком и стоком и с заданными на дугах пропускными способностями.
15. Степень вершины – число инцидентных ей ребер.
Ответы к тестам
1 2 3 4 5
Зуев Юрий Анатольевич Дискретная математика Курс лекций
Подписано к печати:
Тираж:
Заказ №:
Дата добавления: 2014-01-03; Просмотров: 258; Нарушение авторских прав?; Мы поможем в написании вашей работы! |