книга Курсовая.Су
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты Поиск
«ADSL – подключение к Internet» ( Контрольная работа, 11 стр. )
«Автоматизированная система учета конструкторской доку-ментации» ( Дипломная работа, 96 стр. )
«Адаптивная информационная система управления ресурсами организации» ( Дипломная работа, 137 стр. )
«Вертикальный мини-портал по поддержке деятельности торговой фирмы» ( Дипломная работа, 94 стр. )
"1С:Бухгалтерия": настройка программного комплекса и начало работы в нем: работа с константами и справочниками, ввод первоначальных остатков ( Контрольная работа, 22 стр. )
"Автоматизация учета заявок клиентов в ООО "Инком-Сервис"" ( Дипломная работа, 70 стр. )
"Автоматизированные системы контроля за исполнением0 ( Курсовая работа, 49 стр. )
"Автоматизированные процессы управления коммерческой деятельностью на предприятии ООО "Велтон"" ( Курсовая работа, 44 стр. )
"БИОКОМПЬЮТЕР"2 ( Курсовая работа, 32 стр. )
"Виды системного программного обеспечения (назначение и примеры использования)" ( Контрольная работа, 12 стр. )
"Внедрение бизнес-процесса автоматизации бухгалтерского учета с помощью программы "БЭСТ-5"" ( Курсовая работа, 28 стр. )
"Информационная культура менеджера" ( Реферат, 17 стр. )
"КОМПЬЮТЕРНАЯ ПРЕСТУПНОСТЬ И КОМПЬЮТЕРНАЯ БЕЗОПАСНОСТЬ"0 ( Реферат, 25 стр. )
"КОМПЬЮТЕРНЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ОБРАЗОВАНИИ" ( Курсовая работа, 38 стр. )
"Локальные вычислительные сети" Проектирование ЛВС. ( Контрольная работа, 8 стр. )
"Поисковая оптимизация сайта auditory.ru" ( Реферат, 17 стр. )
"Протокол обмена управляющими сообщениями - ICMP. Протоколы обмена маршрутной информацией" (по дисциплине "Основы построения объединенных сетей") ( Курсовая работа, 40 стр. )
"Разработка автоматизированной информационной системы управления проектами". ( Дипломная работа, 69 стр. )
"Разработка аппаратно-программного комплекса отладки алгоритмов обслуживания очередей в узлах коммутации". ( Отчет по практике, 28 стр. )
"Разработка библиотеки компонентов для динамического формирования HTML-документов по настраиваемым шаблонам"* ( Дипломная работа, 80 стр. )
"Разработка программного обеспечения системы составления и ведения договоров на оказание услуг в области организации выставок". ( Дипломная работа, 100 стр. )
"Системы управления базами данных" (СУБД). ( Курсовая работа, 28 стр. )
"Технологии искусственного интеллекта - экспертные системы"* ( Реферат, 17 стр. )
"Электронный офис" ( Реферат, 17 стр. )
. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЭЛЕКТРОННОЙ КОММЕРЦИИ ( Контрольная работа, 49 стр. )

ВВЕДЕНИЕ 3

ГЛАВА 1. Алгоритмы дискретного логарифмирования 7

1.1 Общие сведения 7

1.2 Шаг младенца – шаг великана 8

1.2 Ро-метод Полларда для дискретного логарифмирования 10

1.3 Алгоритм Полига-Хеллмана 13

1.4 Алгоритм исчисления порядка (index-calculus algorithm) 16

1.5 Оценка сложности решения 19

ГЛАВА 2. Обзор существующих методов контроля знаний 20

2.1 Методы контроля знаний при изучении курса «Теоретико-числовые методы в криптографии» 20

2.2 Тесты 21

2.3 Контрольные и самостоятельные работы 25

2.4 Итоги 26

ГЛАВА 3. Реализация модулей 27

3.1 Среда разработки 27

3.2 Взаимодействие с ядром 28

3.3 Экспорт данных 30

3.4 Документация 31

3.5 Модуль BABYSTEP (Шаг младенца - шаг великана) 31

3.6 Модуль POLARD (Ро-метод Полларда дискретного логарифмирования) 34

3.7 Модуль POLIHELL (дискретное логарифмирование при помощи алгоритма Полига-Хеллмана) 36

3.8 Модуль INDEXCLCL (Алгоритм исчисления порядка (index-calculus algorithm) 38

ЗАКЛЮЧЕНИЕ 39

СПИСОК ЛИТЕРАТУРЫ 40

Приложение 1. Документация для пользователя. 42

Приложение 2. Документация для программиста. 46

Приложение 3. Примеры генерируемых заданий. 49

Современная криптография в значительной мере использует результаты таких дисциплин как алгебра, теория чисел, теория сложности. Студентам, изучающим криптографию, необходимо знание ее математических основ. Среди этих основ одно из ведущих мест занимает проблема дискретного логарифмирования.

Дискретное логарифмирование – задача обращения функции gx в некоторой конечной мультипликативной группе G.

Для заданных g и a решение x уравнения gx = a называется дискретным логарифмом элемента a по основанию g.

Решение задачи дискретного логарифмирования состоит в нахождении некоторого целого неотрицательного числа x удовлетворяющего данному уравнению. Если оно разрешимо, у него должно быть хотя бы одно натуральное решение, не превышающее порядок группы.

В отличие от логарифма непрерывного, дискретный логарифм не является дифференцируемой монотонной функцией, его нельзя найти приближенно, разложив в ряд Тейлора, и вообще никакого приближенного значения здесь не может быть, ведь x – целое число.

Именно трудность решения этой задачи лежит в основе многих криптосистем. Это и шифр Эль-Гамаля, Шамира, такие криптостандарты как подпись DSA , ГОСТ Р 34.10-94, ГОСТ Р 34.10-2001 и другие.

Например в том же шифре Эль-Гамаля открытым ключом является тройка (p, g, y), закрытым ключом — число x, и связаны они между собой cоотношением y=gxmod p. А процедура восстановления закрытого ключа по открытому есть решение задачи дискретного логарифмирования.

К тому же очень важное место в криптоанализе асимметричных шифров занимает эффективность используемых алгоритмов. Если, к примеру, в симметричной криптографии для взлома шифра используется в основном только полный перебор, то для взлома асимметричных шифров применяются специальные алгоритмы, сокращающие время в разы. Чем лучше алгоритм, тем более быстро он приводит к желаемому результату.

Наиболее очевидным и легким в реализации является алгоритм исчерпывающего поиска (прямого перебора). Этот наивный метод является самым трудоемким, он требует O(n) умножений, то есть обладает экспоненциальной сложностью.

Состоит он в следующем: вычисляются g0, g1, g2,…, gp—1 пока не попадется gi?a(mod p). Полученное i будет искомым дискретным логарифмом i=logga(mod p—1).

Как видим, алгоритм абсолютно неэффективен в реальных условиях при больших p, которые используются в криптографии.

Первым алгоритмом, позволяющим не использовать обычный перебор, был Baby-step-giant-step (Шаг младенца, шаг великана), предложенный Даниелем Шэнксом (Shanks) в 1973 году.

Сложность данного алгоритма составляет O( ) умножений по модулю и O( ) операций сравнения.

Как видим, алгоритм эффективнее прямого перебора, но в связи с малой распространенностью асимметричных шифров он оставался малоизвестным.

Но уже в конце 70х, в 80х вместе с развитием асимметричных шифров и подписей, данная тема получила большое распространение. Стали появляться все новые и новые алгоритмы с все большой и большой скоростью работы.

К примеру, ?-алгоритм Полларда для вычисления дискретного логарифма.

Основные идеи этого алгоритма известны в теории чисел довольно долгое время, однако только в 1979 г. американским ученым Адлеманом был предложен данный алгоритм как метод решения задачи нахождения дискретного логарифма. В реальных условиях использования этого алгоритма (в том числе и его усовершенствованных вариантов) дает довольно быстрое решение задачи нахождения дискретного логарифма. Самым быстрым на данное время считается алгоритм Полига-Хеллмана. Этот алгоритм используется в случае известной факторизации порядка p группы G. Алгоритм Полига-Хеллмана является наиболее сложным для написания, так как требует реализации других теоретико-числовых алгоритмов, таких как китайская теорема об остатках.

Трудоемкость данного метода составляет:

умножений в группе при условии, что разложение n известно.

Как видим, выбор алгоритма напрямую влияет на скорость. Поэтому для будущего специалиста в области компьютерной безопасности и криптоанализа так важно понимание и корректное усвоение основ дискретного логарифмирования.

Один из способов обеспечения объективной оценки – использование индивидуальных вариантов контрольных и домашних заданий. Такой подход снижает вероятность списывания и помогает в раннем выявлении неуспевающих студентов.

Но внедрению такого подхода мешает большой объем подготовительной работы, необходимой для создания проверочных заданий, и время, затрачиваемое преподавателем для проверки работ студентов.

К тому же данные алгоритмы обладают следующей особенностью: при одних входных параметрах процесс решения может занять две-три итерации, а при других – десятки.

Если у нас, к примеру:

g – порождающий элемент,

p – простое число,

a – аргумент логарифма,

то количество итераций любого метода может насчитывать от 1 до p-1, при этом при одних a количество итераций будет не велико (1-3), а при других a очень большим (до p-1). Причем заранее выяснить количество невозможно.

Поэтому, прежде чем дать студенту задание, преподавателю необходимо предварительно узнать степень его сложности.

Так, в курсе «Теоретико-числовые методы в криптографии» ТюмГУ общий объем домашних и контрольных работ составляет около 150 задач на студента, а число студентов на курсе – от 30 до 45 человек. Таким образом, для обучения одного потока студентов необходимо составить и решить более 4500 различных задач.

Поэтому цель моей дипломной работы – разработка модулей автоматической генерации случайных заданий и решений к ним по теме «Алгоритмы дискретного логарифмирования» в дисциплине «Теоретико-числовые методы в криптографии».

Для ее достижения были поставлены следующие задачи:

• определить необходимый набор модулей;

• cпроектировать и разработать учебные модули;

• создать документацию;

• сформировать базу учебных заданий по теме "Дискретное логарифмирование";

• обеспечить интеграцию созданных модулей с основным ядром системы.

1. А.В.Рожков, О.В. Ниссенбаум. Теоретико-числовые методы в криптографии: Учебное пособие. Тюмень: Издательство Тюменского государственного университета, 2007. 160с.

2. Виноградов И.М. Основы теории чисел. М.: Наука, 1972. 402с.

3. Бухштаб А.А. Теория чисел. Издательство: Лань. Серия: Учебники для вузов. Специальная литература. 2008 г. ISBN: 978-5-8114-0847-4

4. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. Учебное пособие. М.: Гелиос-АРВ, 2001.

5. Б. Я. Рябко, А. Н. Фионов. Основы современной криптографии для специалистов в информационных технологиях. Издательство - Научный мир, 2004 год. ISBN: 5-89176-233-1

6. Трей Нэш. C# 2008: ускоренный курс для профессионалов. Язык программирования C# 3.0 для .NET 3.5. М.: Вильямс, 2008. 576c.

7. Эндрю Троелсен. С# 2008 и платформа .NET 3.5 Framework = Pro C# 2008 and the .NET 3.5 Framework. — 4-е изд. — М.: Вильямс, 2009. — С. 1368. — ISBN 978-5-8459-1589-4

8. Герберт Шилдт. C# 3.0: полное руководство = C# 3.0: The Complete Reference. — 4-е изд. — М.: Вильямс, 2009. — С. 992. — ISBN 978-5-8459-1565-8

9. Кристиан Нейгел, Карли Уотсон и др. Visual C# 2008: базовый курс. Visual Studio® 2008 = Beginning Visual C# 2008. — М.: Диалектика, 2009. — ISBN 978-5-8459-1317-3

10. Кристиан Нейгел, Билл Ивьен и др. C# 2008 и платформа .NET 3.5 для профессионалов = Professional C# 2008. — М.: Диалектика, 2008. — ISBN 978-5-8459-1458-3

11. В.В. Гузеев. Образовательная технология: от приёма до философии. М.:Сентябрь, 1996.

12. В.И. Загвязинский - Теория обучения: Современная интерпретация: Учеб. пособие для студ. высш. пед. учеб. заведений. - М.: Издательский центр «Академия», 2001-192 с.

Примечаний нет.

2000-2024 © Copyright «Sessia-Shop.Ru»