Одним из основных предметов специальности «Компьютерная безопасность» является «Криптографические методы защиты информации». В нем рассмотрены основные шифры с открытыми и закрытыми ключами, методы цифровой подписи, основные криптографические протоколы, блоковые и потоковые шифры, криптографические хеш-функции, а также криптосистемы на эллиптических кривых. Но для того чтобы понять как работают те или иные криптографические протоколы нужно знать математические основы, ведь понимание алгоритмов криптографии и криптоанализа невозможно без понимания идей и принципов, которые в них заложены. Для этого студенты сначала проходят курс «Теоретико-числовые методы в криптографии». В этой дисциплине изучаются основы теории чисел и криптографические алгоритмы, базирующиеся на теоретико-числовых принципах, алгебраические основы теории чисел и такие алгебраические структуры как кольца многочленов, алгоритмы криптоанализа двухключевых криптосистем – алгоритмы факторизации и дискретного логарифмирования.
В ходе изучения дисциплины «Теоретико-числовые методы в криптографии» студент должен иметь представление:
• об основных задачах и понятиях криптографии;
• о теоретико-числовых основах двухключевой криптографии;
• об основных алгоритмических проблемах криптографии и способах их решения;
• о специальных математических структурах, применяемых в криптографии.
знать:
• основы дискретной алгебры и теории чисел;
• применение конечных автоматов в криптографии;
• характеристики языков, распознаваемых конечными автоматами (P, NP, BPP и т.д.)
• применение теории вероятности в криптографии и криптоанализе;
• применение теоретико-числового аппарата для решения задач криптографии;
• основные двухключевые криптосистемы и доказательство их стойкости.
уметь:
• формализовать поставленную задачу;
• выполнить постановку задач криптоанализа и указать подходы к их решению;
• использовать основные математические методы, применяемые в синтезе и анализе типовых криптографических алгоритмов.
• применять полученные знания к различным предметным областям.
иметь навыки:
• владения криптографической терминологией;
• применения алгоритмов, основанных на теоретико-числовых принципах, к вопросам построения криптосистем и их анализу;
• использования современной научно-технической литературы в области криптографической защиты.
Предусмотрены следующие виды учебной нагрузки по предмету: лекции, практические занятия, самостоятельная работа студента, контрольные работы. Обучение происходит таким образом, что студенты сначала посещают лекции, потом закрепляют материал путем решения задач по теме. После прохождения и закрепления темы студенты решают контрольные работы.
Одним из главных разделов теории чисел является «Теория сравнений». В ней изучаются такие темы, как полная и приведенная системы вычетов, обратный элемент, сравнения, системы сравнений, китайская теорема об остатках, квадратичные вычеты по простому модулю, символ Лежандра, символ Якоби, квадратичные сравнения, квадраты и псевдоквадраты. Для закрепления теоретического материала по этим темам студенту предлагается решить следующие задачи: нахождение обратного элемента, нахождение полной и приведенной систем вычетов, решение сравнений, решение систем сравнений, нахождение символа Лежандра и символа Якоби, решение квадратичных сравнений. Раздел «Теория квадратичных вычетов» базируется на теории сравнений и нахождение символа Лежандра и символа Якоби. Также на теории сравнений основываются почти все криптоалгоритмы, поэтому умение решать такие задания необходимо для понимания многих тем в криптографии. Теория сравнения используется во многих криптографических алгоритмах: схемы разделения секрета, скрытый канал, тесты на простоту, криптосистема Диффи-Хеллмана, шифр Шамира, шифр Эль-Гамаля, криптографические алгоритмы: RSA, DSA, ГОСТ, AES, IDEA, SAFER. Важную роль в теории сравнений играет малая теорема Ферма, теорема Эйлера, символ Лежандра. Понимание теории сравнений необходимо любому специалисту в области компьютерных наук и информационной безопасности.
Учебным планом предусмотрено выполнение трех контрольных работ, одна из которых по теме «теория сравнений», а также выполнение трех домашних контрольных работ, одна из которых включает в себя 60% заданий по теме «теория сравнений». Задания должны служить как для контроля знаний студента, так и в качестве материала для самообучения студента, помощи освоения и закрепления материала курса. Поэтому индивидуальные задания для домашних контрольных работ должны охватывать весь спектр случаев, возникающих при решении той или иной задачи.
В 2009г. в ТюмГУ на 4 курсе специальности «Компьютерная безопасность» вводится рейтинговая система оценки знаний, которая предполагает накопление студентом баллов за выполнение заданий в течение семестра. В конце семестра в зависимости от количества набранных баллов выставляется экзаменационная оценка или зачет. Такой подход требует от студента активной работы в течение семестра, а от преподавателя - максимальной объективности при оценке студенческих работ. Для объективной оценки знаний нужно использовать индивидуальные варианты контрольных и домашних работ для каждого студента, чтобы снизить вероятность списывания и значительно раньше выявлять неуспевающих студентов.
Таким образом, в ходе изучения дисциплины «Теоретико-числовые методы в криптографии» студент должен решить более 20 индивидуальных контрольных заданий по теме «Теория сравнений». При количестве студентов на курсе около 40 человек, это дает около 800 заданий, которые должен составить и решить преподаватель. Поэтому было решено разработать программный комплекс, автоматически формирующий большое число индивидуальных заданий и решений к ним, что значительно снизит нагрузку на преподавателя. В ходе решения заданий студент приобретет необходимые знания, умения и навыки для дальнейшего изучения и понимания курса криптографии.
Целью моей дипломной работы является разработка модулей для автоматической генерации заданий и решений по теме «Теория сравнений», которая занимает важное место в дисциплине «Теоретико-числовые методы в криптографии».
Задачи:
1) изучить материал по теме «Теория сравнений»;
2) определить список заданий, обязательных для выполнения студентами;
3) спроектировать и разработать модули генерации заданий с решениями;
4) разработать документацию к модулям;
5) внедрить модули в учебный процесс университета;
6) составить базу заданий по теме «Теория сравнений».
Для разработки модулей по теме «Теория сравнений» были выбраны следующие темы:
1) обратный элемент;
2) сравнения 1-й степени с одним неизвестным;
3) системы сравнений 1-й степени. Китайская теорема об остатках;
4) символ Лежандра. Символ Якоби.
Для реализации модулей были сформулированы задания:
1) найти обратный элемент;
2) решить сравнение 1-й степени;
3) решить систему сравнений 1-й степени;
4) вычислить символ Якоби.
Мною были выбраны темы, являющиеся основными в теории сравнений. Каждое задание реализовано в отдельном модуле. Задания генерируются случайным образом, исходя из входных параметров. В результате работы модуля создается 2 файла в формате .doc - с заданиями и с решениями. Программный комплекс может использоваться для построения списка заданий, проверки работ студентов, поиска ошибок в процессе решения задания студентом, самообучения студентов.
|