3. Вычисляется значение n=2m+1;

4. Построенное число n испытывается тестом Миллера с заданным параметром надежности.

Тест Миллера, приведенный в пособии, осуществляет проверку сравнений (1) и (2) теоремы Сэлфриджа для всех qi по нескольким случайным основаниям a. Если для какого-то основания данные сравнения не выполняются, число отвергается (как, возможно, составное). Количество оснований, по которым производится проверка, есть параметр надежности.

Следует заметить, что проверка условия (2) теоремы Сэлфриджа возможна благодаря тому, что проверяющему известны все простые числа из разложения числа n-1, а именно числа 2 и qi. Для случайно выбранного (а не построенного) числа n проверка тестом Миллера была бы невозможна.

Числа qi из разложения числа m не должны быть известны никому кроме лица, построившего данное число, иначе крипосистемы, построенные с использованием такого числа, станут уязвимыми для атак.

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

Теорема Поклингтона.

Пусть n=RF+1, F= - каноническое разложение.

Если a: 1) an—1≡1(mod n);

2) 1(mod n) .

p≡1(mod F) для любого простого p\n.

Итак, если разложить n—1 на два сомножителя n—1=RF, где F>—1, то, если для некоторого a будут выполнены условия Теоремы Поклингтона (1) и (2), то n – простое.

Таким образом, можно значительно сократить количество проверок по сравнению с тестом Миллера.

Алгоритм построения простого числа с помощью теста на основании теоремы Поклингтона следующий:

1. Строится таблица малых простых чисел qi (или используется готовая таблица);

2. Строится число F=(где qi—случайные простые числа из таблицы, αi – случайные целые числа), размер которого на 1 бит больше половины требуемого размера для простого числа;

3. Вычисляется значение n=RF+1, где R – случайное четное число, размер которого на 1 бит меньше размера F;

4. Построенное число n испытывается тестом на основании теоремы Поклингтона с заданным параметром надежности.

 Такой тест, приведенный в пособии, осуществляет проверку сравнений (1) и (2) теоремы Поклингтона для всех qi из разложения числа F по нескольким случайным основаниям a. Если для какого-то основания данные сравнения не выполняются, число отвергается (как, возможно, составное). Количество оснований, по которым производится проверка, есть параметр надежности.

Заметим, что число, построенное с помощью данного теста, более предпочтительно для использования в качестве модуля криптосистем, поскольку никто, даже его создатель, не знает полного разложения числа n—1.

Для иллюстрации алгоритма в пособии приведен пример расчета алгоритма со следующими параметрами: испытуемое число(n = RF+1) равно 4021, разложение n-1 - 22·3·5·67 , R=67 , F=22·3·5=60. Студенту разъясняется, что в данном примере вероятность того, что наугад выбранное a будет удовлетворять условиям теоремы Поклингтона для данного примера, есть (1—1/67)≈0,985.

Процедура генерации простых чисел заданной длины ГОСТ Р 34.10-94. Данный процедура позволяет строить доказуемо простые числа большего размера на основе простых чисел меньшего размера. Основана она на теореме Диемитко, которая гласит что для n=qR+1( где q – простое число, R – четное, R<4(q+1)) если найдется a<n: 1) an—1≡1(mod n); 2) 1(mod n), то n – простое число.

1.4. Разработка заданий для лабораторных и самостоятельных работ

Для закрепления материала лекционных занятий нами были разработаны задания для лабораторных и самостоятельных работ. Всего разработано три комплекта заданий, соответствующие трем темам: «Операции с большими числами», «Вероятностные тесты на простоту» и «Доказуемо простые числа». Предполагается последовательное выполнение этих заданий, в порядке, изложенном в методическом пособии. На изучения каждой из тем, соответствующих разделам пособия, отводится по 2 часа лабораторных занятий и по 2 часа самостоятельной работы. Программная реализация алгоритмов осуществляется студентами в компьютерном классе под руководством преподавателя, отладка программы и оформление результата – в часы, отведенные для самостоятельной работы.

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

Задание к первому разделу – «Операции с большими числами» не разделено на варианты, так как результат данной лабораторной работы подразумевает разработку класса для работы с большими числами, который используется при выполнении лабораторных работ ко второй и третьей главам. Выполнение задания к первому разделу, таким образом, является базовым элементом программ, которые разрабатываются студентами в дальнейшем, на протяжении всего курса предмета «КМЗИ».

Задания к разделу «Операции с большими числами» включают в себя создание класса больших чисел, в котором заданы следующие операции: сложение, вычисление остатка от деления, умножения двух чисел (методом Карацубы), возведение в квадрат, возведение в степень (дихотомический алгоритм). Используя данные операции можно получить практически любую арифметическую операцию.

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

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

Существует большое количество различных вероятностных тестов на простоту. Из большинства тестов было выбрано три «основных», которые и стали предметом изучения в рамках лабораторной работы к главе «Вероятностные тесты на простоту». Данные тесты были выбраны нами исходя из следующего: другие тесты либо гораздо сложнее, либо не имеют принципиальных отличий от выбранных нами тестов. Мы разработали три варианта лабораторной работы, в каждом из вариантов студенту предлагается реализовать один из тестов, в зависимости от варианта, и закрепить свои знания, выполняя задания на использование Асимптотического закона распределения простых чисел. Результат лабораторной работы предлагается оформить в виде таблицы, что позволило бы преподавателю сократить время, затрачиваемое на проверку данной лабораторной работы (это связано с тем, что в данной лабораторной работе используются алгоритмы, компьютерный расчет которых на больших числах занимает достаточно много времени (на персональном компьютере)).

1 2 10
p
n

Здесь №-номер эксперимента, p- найденное простое число, n- количество перебранных чисел до получения простого.

Также следует отметить, что при заполнении таблицы число n имеет следующий смысл: количество перебранных чисел до получения простого, и если взять среднее значение n по десяти экспериментам, то результат должен получиться достаточно близким к рассчитанному числу ожидаемого количества перебранных чисел до получения простого числа. Если расхождение слишком велико, то можно сделать вывод, что данный вероятностный тест реализован не верно. Результат работы реализованного алгоритма студент может проверить с помощью теста для самопроверки (тесты для самопроверки будут детально рассмотрены в главе 1.5).

В задании к главе «Доказуемо простые числа» студенту предлагается реализовать три теста основанных на трех различных принципах (Данные тесты описаны в разделе 1.3). Исходя из этого, мы выделили три варианта лабораторной работы. В первом и втором варианте лабораторной работы предлагается использовать тесты Миллера и Поклингтона для построения простых чисел, а для третьего варианта предлагается генерировать простые числа при помощи процедуры ГОСТ 34.10-94. Результат лабораторной работы студенту предлагается оформить в виде таблицы, что позволяет преподавателю затрачивать минимум времени на проверку данной работы, а также, при отсутствии времени на проверку работы на занятии, проверить работы во внеурочное время.

1 2 3 4 5 6 7 8 9 10
p
Результат проверки вероятностным тестом
k

В данной таблицу в первой строке указывается номер эксперимента. Во второй строке – простое число, получившиеся в ходе эксперимента. В третьей строке – результат проверки этого числа p ,реализованного студентом к заданию в главе «Вероятностные тесты на простоту». В четверную строку необходимо внести количество чисел, которые были проверенны детерминистическим тестом и определены как составные, но вероятностным тест определил их, как простые.

Такой способ проверки также позволяет при необходимости студентам выполнять, а преподавателю проверять задания, приведенные в пособии, дистанционно или полностью во время, отведенное для самостоятельной работы (например, в случае болезни студента или при изучении данных тем в рамках других специальностей, где изучение криптографии предусмотрено в качестве спецкурса или темы для самостоятельного изучения). Следует отметить, что компьютерный расчет работы тестов, представленных в данном разделе, на больших числах занимает достаточно много времени (на персональном компьютере)). Студенту предлагается сгенерировать десять простых чисел, алгоритм зависит от выбранного варианта, и затем проверить данные числа одним из вероятностных тестов (реализованным в задании к главе «Вероятностные тесты на простоту»). Каждое число, отвергнутое при проверке детерминистическим тестом, также проверять вероятностными тестами. Данное задание показывает студенту, что некоторое количество простых чисел распознаются детерминистическими тестами как составные.

Итак, в результате выполнения комплекса заданий, предложенных в методическом пособии, студент должен получить следующие знания, умения и навыки:

·          навыки реализации и использования класса больших чисел;

·          навыки реализации и практического использования вероятностных тесов на простоту;

·          знание о практическом применении асимптотического закона распределения;

·          умение рассчитывать необходимое количество итераций теста для достижения заданной вероятности ошибки (если студенту представиться возможность, применимо к конкретной задачи, столкнуться с реализацией тестов на простоту, то он самостоятельно сможет рассчитать необходимое количество итераций);

·          представление о различии вероятностных и детерминистических тестов на простоту (студент будет иметь четкое представление о том, что при реализации детерминистических тестов он строит число, простота которого не вызывает сомнений);

·          знание о надежности тестов, об их быстродействии;

·          знаниями о том, что не все числа определенные детерминистическими тестам, как составные на самом деле таковыми являются.

1.5. Тесты для самопроверки

Для того чтобы студент мог самостоятельно проверить корректность выполненных им работ, нами были разработаны тесты для самопроверки. Тесты представляют собой наборы входных и выходных данных, то есть студент подставляет в реализованный им тест набор входных данных и делает вывод о корректности теста на основе сравнения полученных им выходных данных и данных «эталона». В пособии тесты выделены в отдельную главу, которая располагается после заданий к главам.

Тесты для самопроверки для раздела «Операции с большими числами» представляет собой две таблицы (в первой таблице длина чисел не превышает 64 бит, во второй длина чисел не превышает 128бит), в столбцы которой занесены числа a и b, название операции и результат.

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

1.         сложение, так как это базовая операция, использующаяся при реализации всех остальных;

2.         умножение, так как при реализации данной операции используется только сложение, то для студента не составит труда найти ошибку в алгоритме, зная, что операция сложения работает верно;

3.         вычисление остатка от деления, так как при реализации данной операции используется битовый сдвиг, сложение и вычитание;

4.         возведение в квадрат, так как при реализации данной операции используются операции сложения и умножения;

5.         возведение в степень следует проверять последним, так как при реализации данной операции используются почти все предыдущие проверяемые операции.

Пример тестовых данных приведен в следующей таблице.

a b a+b a*b a mod b

a2

ab

0 51 0 7 0 58 0 357 0 2 0 2601 0 897410677851
0 78 0 5 0 83 0 390 0 3 0 6084 0 2887174368
0 36 0 4 0 40 0 144 0 0 0 1296 0 1679616
0 21 0 10 0 31 0 210 0 1 0 441 0 16679880978201
0 5 0 12 0 18 0 60 0 5 0 25 0 244140625

Числа a и b подаются в программу, реализованную студентом, на вход, а данные в колонках «a+b», «a*b», «a mod b», «a2», «ab» это результаты которые должна вернуть программа при данных операциях (т.е. на основе этих данных студент делает вывод о корректности, реализованной им операции). Следует отметить, что в таблице числа записаны «0 210» это следует понимать как старшую и младшую часть числа.

Также следует реализованные операции проверять сначала на данных из таблицы с малыми значениями (64 бита), при успешном результате следует проверить на данных из второй таблицы(128 бит).

Тесты для самопроверки для раздела «Вероятностные тесты на простоту» представляют собой таблицы, в которых указаны входные данные и реакция теста на эти входные данные (то есть число определяется как простое или как составное). Перед тем как использовать таблицы по назначению, следует установить количество итераций теста равным одному. Также следует отметить, что проверяемое число следует проверять тестом не менее десяти раз и результат проверки сверять с данными из таблицы. Это обусловлено тем, что данные тесты всегда простое число принимает за простое, но каждый тест может принять составное число за простое (при использовании некоторых случайных оснований чисел). Поэтому если мы будем проверять составные числа тестом, то иногда результат будет «простое» но чаще «составное». Стоит отметить, что для теста Ферма существует класс чисел Кармайкла, которые являются составными, но всегда принимаются за «простые». Такие числа также внесены в таблицу для самопроверки.

Числа для проверки Результат теста
Простые числа

0 8363

0 1657

0 9781

Всегда «простое»
Числа Кармайкла

0 1105

0 2465

Для теста Ферма -Всегда «простое»,

для тестов Миллера-Рабина и Соловея-Штрассена- чаще «составное»,чем «простое»

Составные, нечетные, не Кармайкла

0 625

0 791

0 3871

Чаще «составное»,чем «простое»

Всего в пособии насчитывается 30 наборов.

Тесты для самопроверки для раздела «Доказуемо простые числа» представляют собой таблицы, в которых указаны входные данные и реакция теста на эти входные данные. Для тестов Миллера и Поклингтона проверка проводиться в два этапа первый этап заключается в проверке данных тестов таблицей составных чисел, второй проверкой таблицей ориентированной на каждый из тестов. (Стоит отметить, что перед проверкой следует установить значение параметра надежности равным единицы).

Таблица составных чисел:

Числа для проверки (p) Разложение p-1 Разложение F R Результат теста

0 335

0 437

0 657

0 779

2*167

22*109

24*41

2*389

167

109

41

389

2

4

16

2

Всегда отвергаются

Тест Миллера:

Простое число

p

Разложение

(p-1)

Вероятность ошибки (вероятность того, что число будет принято за составное)
13

22*3

0,66666
29 2*2*7 0,57142
61 2*2*3*5 0,73333
97

25*3

0,66666

Тест Поклингтона:

Простое число

p

Разложение F R Вероятность ошибки (вероятность того, что число будет принято за составное)
13 2*2 3 0,5
29 7 4 0,14285
61 3*5 4 0,46666
97

3*22

8 0,66666
157 13 8 0,125

Всего в пособии более 30 тестовых примеров на каждый из тестов.

Для процедуры генерации чисел заданной длинны ГОСТ 31.10-94 предусмотрена отдельная таблица, в которой входными данными являются числа q и t а результатом является построенное число p (Стоит отметить, что перед проверкой следует установить значение параметра ξ равным 0).

Процедура генерации чисел заданной длинны ГОСТ 31.10-94:

q t Построенное число p
3 4 13
5 6 41
7 5 29
5 5 31
11 7 67
11 8 199
13 7 79

Всего в пособии насчитывается 20 наборов.


Глава 2. Апробация методического пособия

В 2007-2008 учебном году данное методическое пособие впервые было предложено студентам 4 курса специальности «Компьютерная безопасность» групп 347 и 347 Института математики и компьютерных наук Тюменского государственного университета для выполнения лабораторных работ по дисциплине «Криптографические методы защиты информации». Данный эксперимент проходил по следующей схеме: студенту предлагалось выполнить лабораторные работы из методического пособия, после того как он прослушал материал на лекционных занятиях. Лабораторные работы, разработанные для дисциплины «Криптографические методы защиты информации», предполагают реализацию алгоритмов на каком-либо языке программирования. После анализа программных кодов студенческих лабораторных работ, нами была собраны статистические данные по ошибкам допущенных студентами. На основе этих данных мы попытались выдвинуть гипотезы о причинах возникновения ошибок.

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

Нами были доработаны некоторые иллюстрации к алгоритмам 1й главы («Операции с большими числами»), которые позволяют студенту сформировать более точное представление о механизмах протекающих «внутри» алгоритма.

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

По завершении апробации методического пособия в Тюменском государственном университете методическое пособие сильно изменилось в плане подачи материала, но основная концепция была сохранена. В основном изменения коснулись заданий лабораторных работ, наполнения глав теоретическим материалом. При анализе результатов мы основывались на предположении, что студенты выполняли лабораторные работы самостоятельно, используя для достижения цели только материалы лекционных занятий и материалы, изложенные в методическом пособии. Для получения более адекватных данных об эффективности методического пособия было принято решение провести еще одну апробацию в одном из ВУЗов города Тюмени. Для апробации пособия была выбрана ГОУ ВПО Тюменская государственная академия экономики, управления и права специальность прикладная «информатика в экономике». Наш выбор был обусловлен тем, что данная специальность в своем учебном плане имеет дисциплины, а именно «Информационная безопасность», схожие с дисциплинами учебного плана ТюмГУ ИМиКН специальности «Компьютерная безопасность», а именно «Криптографические методы защиты информации». Методическое пособие было предложено студентам 5го курса специальности «Прикладная информатика в экономике» Тюменской государственной академии экономики, управления и права.

 Данная апробация была проведена в рамках преддипломной практики в период с сентября по декабрь 2008 года. Апробация проводилась по уже отлаженной схеме, которая ранее применялась в Тюменском государственном университете. В результате апробации были внесены следующие изменения в методическом пособии:

Было принято решение разработать тестовые задания для проверки работы алгоритмов, реализованных студентами. Данные тестовые задания представляют из себя наборы тестовых данных, используя которые студент может оценить правильность работы реализованного им алгоритма. В качестве примера таких тестовых данных приведем данные, предложенные студенту в главе «Вероятностные тесты на простоту» к тесту Ферма. Тестовые данные оформлены в виде таблицы. В первой колонке данной таблицы присутствует описание чисел, которые представлены во второй колонки. В третьей колонке представлен результат теста при проверки чисел из второй колонки.

  2.1 Апробация в Тюменском государственном университете

Первая апробация методического пособия проходила в апреле 2008 года в институте Математики и компьютерных наук ТюмГУ на специальности «Компьютерная безопасность» (группы 347, 348) в рамках курса «Криптографические методы защиты информации». К моменту апробации пособие содержало только два раздела: вероятностные тесты на простоту» и «Доказуемо простые числа». Каждый раздел содержал теоретический материал по данному разделу, а именно описание алгоритмов тестов на простоту и задания для выполнения к каждому разделу. Студентам двух групп (347 и 348 группа) на протяжении двух лабораторных занятий (4 учебных часа) давались задания из второго и третьего разделов методического пособия. При выполнении этих заданий студенты пользовались лекционным материалом и теоретическим материалом из методического пособия. Задания выполнялись ими в аудитории под руководством преподавателя, а также во время, отведенное для самостоятельной работы.

Результаты сдавались в виде таблиц, приведенных в заданиях к лабораторным работам. Кроме того, для проверки и анализа были собраны исходные коды программ, реализованных студентами.

Кроме того, студенты были опрошены на предмет того, какие моменты в реализации алгоритмов генерации простых чисел вызывали затруднение. Оказалось, что 7 из 11-ти человек, выполнявших генерацию простых чисел с помощью теста Соловея-Штрассена, затруднялись в исполнении программной реализации вычисления символа Якоби, который используется в данном тесте. Это тем более неожиданно, что большинство студентов достаточно уверенно вычисляют подобные символы самостоятельно (при помощи ручки и бумаги). Поэтому было решено включить в текст пособия алгоритм вычисления символа Якоби. 6 из 11-ти студентов, реализовывавших тест Миллера-Рабина, заявили о необходимости примера в тексте пособия, демонстрирующего работу алгоритма. Такой пример был добавлен в пособие.

Студенты, выполнявшие задания по генерации простых чисел при помощи тестов Миллера и Поклингтона (1-й и 2-й варианты), затруднялись в построении числа p – кандидата в простые числа. Дело в том, что число p должно быть случайным, нечетным, и при этом каноническое разложение числа (p—1) должно быть известно. 18 из 22-х студентов, выполнявших 1-й и 2-й варианты, заявили о необходимости осветить в тексте пособия вопрос создания такого числа подробнее. Поэтому в текст пособия были включены инструкции по генерации таких чисел.

Кроме того, анализ текстов программ показал, что общим местом является неоптимальное выполнение арифметических операций на больших числах, которые используются в тестах. В частности, алгоритм возведения в степень у 19 из 33 студентов был реализован через последовательное умножение. Небольшое количество студентов (5 чел.) обращались к преподавателю за помощью, поскольку при возведении числа в степень по модулю (ak mod n) получали переполнение буфера. Оказалось, что все эти студенты пытались сначала возвести число в степень, и лишь затем вычислить остаток от деления на n. Такого рода ошибки, возникающие из-за недопонимания процессов, происходящих в памяти компьютера при выполнении арифметических операций, встречались достаточно часто, что послужило побудительным мотивом к включению в пособие раздела «Операции с большими числами», включающего в себя теоретический материал, задания к лабораторным работам.

В целом, апробация пособия в ТюмГУ прошла успешно, студенты справились с предложенными им заданиями, в текст пособия были внесены необходимые изменения, несколько изменилась подача материала.

 

2.2 Апробация в Тюменской государственной академии экономики, управления и права

 

Апробация пособия в ТГФЭУП проводилась в рамках преддипломной практики в период с сентября по декабрь 2008 года. На апробацию пособия руководством вуза было выделено 10 часов аудиторной нагрузки. В апробации участвовали студенты пятого курса специальности «Прикладная информатика в экономике». Дисциплина «Криптографические методы защиты информации» не является профильной на данной специальности, а выступает в качестве специального курса. На момент апробации методическое пособие содержало три главы: «Операции с большими числами», «Вероятностные тесты на простоту», «Доказуемо простые числа» также задания для лабораторных и самостоятельных работ.

Апробация проводилась по той же схеме что и в ТюмГУ. Студентам двух групп на протяжении двух занятий преподавателем было предложено выполнить первую лабораторную работу, т.е. реализовать класс для работы со 128битными числами. Изначально преподаватель объяснил студентам общетеоретический материал касающейся данной темы и реализовал совместно с ними операцию сложения, а остальные операции было предложено реализовать самостоятельно. В ходе эксперимента выяснилось, что студенты имеют слабое представление о представлении чисел в памяти компьютера, что в свою очередь потребовало дополнительных объяснений. Несмотря на то, что операцию сложения студенты делали под руководством преподавателя, довольно распространенной ошибкой стала ошибка связная с битом переноса. У студентов данной специальности отсутствует в программе дисциплина «Теория чисел», поэтому перед тем как приступить к заданиям второй главы преподавателю пришлось прочитать лекцию (в частности о практическом применении Асимптотического закона распределения, вычислении символа Якоби и символа Лежандра и.т.д.). Несмотря на то что студентов ознакомили с теоретическим материалом непосредственно перед выполнением лабораторной работы студенты затруднялись в применении асимптотического закона при генерации простых чисел. В результате анализа лабораторных работ второй главы встречались разнообразные ошибки, но данные ошибки были настолько разные, что не представлялось возможным обледенить их в общие группы. Несмотря на то, что на апробацию пособия руководством вуза было выделено 10 часов, нам не удалось апробировать третью главу пособия, это связано с тем, что преподавателю приходилось отклоняться от темы работы и объяснять сопутствующий материал из других дисциплин. В целом апробация прошла успешно, в пособие были внесены некоторые корректировки. Также было принято решение включить в пособие тесты для самопроверки для каждой из глав, что позволило бы студенту проверять правильность выполненных им работ без участия преподавателя.


Заключение

Результатом данной дипломной работы является методическое пособие довольно полно и подробно освещающее тему генерации больших простых чисел. Поставленная цель - разработать методическое пособие на тему «Генерация простых чисел» для специальности «Компьютерная безопасность» Тюменского государственного университета, включающее в себя теоретический материал, задания к практическим работам, указания к их выполнению и материалы для проверки качества выполненных заданий, достигнута в полном объеме.

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

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

В результате прочтения студентом теоретической части, изложенной в пособии, студент должен получить следующие знания:

·          знание об основных принципах создания класса больших чисел и работы с ним;

·          знание о способах получения простых чисел;

·          знание о теоретико-числовых принципах, на которых основаны тесты на простоту;

·          знание об асимптотическом законе распределения простых чисел;

·          знание о надежности тестов, об их быстродействии;

·          знания о том, что не все числа определенные детерминистическими тестам как составные на самом деле таковыми являются;

·          представление о различии вероятностных и детерминистических тестов на простоту (студент будет иметь четкое представление о том, что при реализации детерминистических тестов он строит число, простота которого не вызывает сомнений).

В результате выполнения комплекса заданий, предложенных в методическом пособии, студент должен получить следующие умения и навыки:

·          навыки реализации и использования класса больших чисел;

·          навыки реализации и практического применения вероятностных тесов на простоту;

·          навыки практического применения асимптотического закона распределения;

·          навыки реализации вероятностных тестов на простоту;

·          умение рассчитывать необходимое количество итераций теста для достижения заданной вероятности ошибки (если студенту представиться возможность, применимо к конкретной задачи, столкнуться с реализацией тестов на простоту, то он самостоятельно сможет рассчитать необходимое количество итераций);

·          навыки реализации алгоритмов для построения доказуемо простых чисел.

Данное пособие позволяет студенту изучить теоретическую часть, выполнить задания для лабораторных работ и проверить свою работу на тестовых примерах. Данное пособие изначально ориентировано на использование при аудиторной работе и для самостоятельной работы студентов дневного отделения, однако оно может быть использовано и при дистанционном обучении, поскольку содержит материал, необходимый на всех этапах выполнения самостоятельной работы при изучении темы «генерация больших простых чисел». А именно: краткое изложение теории, задания для выполнения, подробное руководство к выполнению заданий и наборы тестовых данных для самостоятельной проверки корректности реализованных программ.


Список литературы

1.         Агибалов Г.П. Избранные теоремы начального курса криптографии: Учебное пособие. – Томск: Изд-во НТЛ, 2005. – 116 с.

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

3.         Введение в криптографию/Под общей ред. В.В. Ященко. – М.: МЦНМО, 1998. – 272 с.

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

5.         Молдовян Н.А., Молдовян А.А. Введение в криптосистемы с открытым ключом. – СПб.: БХВ-Петербург, 2005. 288 с.: ил.

6.         Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. – СПб.: Изд-во «Лань», 2001. – 224с.

7.         Рябко Б.Я., Фионов А.Н. Криптографические методы защиты информации: учебное пособие для вузов. – М.: Горячая линия–Телеком, 2005. – 229 с.: ил.

8.         Черемушкин А.В. Вычисления в алгебре и теории чисел. Курс лекций. — М.: 2002.

9.         Шнайер Б. Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Cи. – М.: Издательство ТРИУМФ, 2003 – 816 с., ил.

10.       Goldwasser S., Bellare M. Lecture notes on cryptography. – Cambridge, Massachusetts, 2001. – 283 p.

11.       Grundbegriffe der Kryptographie/ Vorlesungsscript von Eike Best - Oldenburg, 2005.

12.       Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. – CRC Press, 1996. – 661 p.

13.       Анохин М.И., Варновский Н.П., Сидельников В.М., Ященко В.В. Криптография в банковском деле. http://geo.com.ru/db/msg.html?mid=1161287&uri=all.html

14.       ГОСТ Р34.10-94. Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма.

15.       Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. Учебное пособие для ВУЗов – М.: Горячая линия – Телеком, 2002 – 175с.

16.       Саломаа А., Криптография с открытым ключом.- М.:Мир, 1995


Информация о работе «Разработка методического пособия на тему "Генерация простых чисел"»
Раздел: Математика
Количество знаков с пробелами: 56781
Количество таблиц: 8
Количество изображений: 0

Похожие работы

Скачать
146463
19
10

... с положительностью сальдо поступлений и расходов и малым сроком окупаемости. 6. Обеспечение безопасности жизнедеятельности в системе ДО В данном дипломном проекте разработана автоматизированная информационная система дистанционного обучения по дисциплине “Финансы и кредит”. Ее использование тесно связано с применением ПЭВМ, поэтому организация рабочего места пользователя системы должна ...

Скачать
47960
4
26

... свойствами, делающими его необходимым для студентов, полезным для аудиторных занятий и удобным для преподавателей. Заключение Целью курсовой работы была разработка электронного учебного пособия на тему "Линейное программирование" средствами языка программирования PHP и СУБД MySQL. Для достижения поставленной цели были решены следующие задачи: изучить литературу по теме курсовой работы; ...

Скачать
34137
1
0

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

Скачать
216371
14
6

... и менеджмента Санкт-Петербургского Государственного технического университета соответствовал поставленной цели. Его результаты позволили автору разработать оптимальную методику преподавания темы: «Использование электронных таблиц для финансовых и других расчетов». Выполненная Соловьевым Е.А. дипломная работа, в частности разработанная теоретическая часть и план-конспект урока представляет ...

0 комментариев


Наверх