Основные шаблоны оформления курсовой работы

Содержание отчета

Отчет по курсовой работе должен содержать:

А) Титульный лист с указанием названия университета, темы работы, номера варианта, ФИО студента и преподавателя (см. прилагаемый в приложении образец). 

Б) Содержание работы с указанием номеров страниц разделов в конце строки (см. прилагаемый ниже образец). 

Далее следуют номера и названия разделов (они оформляются по общим правилам оформления, изложенным выше).

1) Задание на курсовую работу. Следует указать свой порядковый номер по журналу преподавателя, описать как вы определяли соответствующий номер варианта курсовой работы, а затем привести задание на курсовую работу в соответствии с вариантом. 

2) Актуальность и предыстория секретных систем связи с открытым ключем. В этом разделе по ходу изложения предыстории должны быть четко определены две конкурирующие системы секретной связи: симметричные криптосистемы с закрытым ключем и асимметричные криптосистемы с открытым ключем. Нужно объяснить, какие из них исторически появились раньше и указать их достоинства и недостатки. Отсюда логически вывести ограничения на область применения тех и других и большую актуальность развития и совершенствования криптосистем с открытым ключем.

Описываемая предыстория не должна включать ручную докомпьютерную криптографию древнего мира, а только научный период ее развития с 1949 года. В конце нужно обязательно коснуться особенностей именно вашей разрабатываемой криптосистемы. При написании данного раздела следует привести ссылки на используемую литературу. Ссылка на литературу указывается по ходу текста с указанием номера источника в списке литературы в квадратных скобках (например, [2], [3,4], [1-2] и т.п).

3 )Постановка задачи (не должна дословно повторять задание) в которой более подробно описывается суть решаемой проблемы и указываются этапы решения задачи.

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

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

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

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

3.1. Разработка процедуры кодирования сообщения ….

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

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

3.k-3. Разработка алгоритма генерации открытого и закрытого ключей …..

3.k-2. Разработка вычислительной процедуры шифрования …

3.k-1. Разработка вычислительной процедуры расшифрования ….

3. k. Разработка вычислительной процедуры декодирования ….

Здесь общее число этапов для разных криптосистем обычно лежит в диапазоне k=9…12. Разработку структурных схем, программ, проверочных тестов сюда не включаем – они описываются в отдельных разделах курсовой работы. Там где отсутствует слово «вспомогательный» означает, что указанные процедуры являются основными, т.е. им на структурной схеме в разделе 5 обязательно должны быть поставлены в соответствие некоторые блоки.

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

Замечание. Писать Алиса и Боб для обозначения отправителя и получателя сообщений – это больше литературный стиль для «мэтров» зарубежной криптографии. В студенческой курсовой работе такой стиль лучше не использовать. Вместо этого для отправителя и получателя шифрограммы используйте фразы «абонент А», «абонент Б». При этом в начале описания раздела дайте пояснение типа: «В дальнейшем для обозначения отправителя шифрограммы будем использовать термин «абонент А», а для получателя - «абонент Б»

4) Описание метода решения поставленной задачивыполняется с учетом выданного теоретического материала, но без его прямой компиляции. Это важнейший раздел курсовой и по объему и содержанию, так как если студент самостоятельно и осмысленно его выполнит, то он поймет, как работает его Матлаб-программа и в целом и ее отдельные модули. Защита курсовой в этом случае существенно упростится, поскольку именно эти вопросы обычно в первую очередь и задаются преподавателем.

В начале раздела 4 должна быть словесная преамбула, в которой надо сказать, что в данном разделе приводится подробное математическое описание всех перечисленных в разделе 3 этапов – иначе непонятно что вы будете ниже перечислять!

Описание метода должно охватывать все этапы решения задачи, перечисленные в п. 3) и фактически представляет собой математическое (формульное или табличное) описание этих этапов. Это означает, что количество пунктов описания в разделе 4 (их рекомендуется оформить в виде подразделов: 4.1, 4.2, ….), а также их порядок следования и нумерация должны соответствовать этапам решения задачи в разделе 3. При этом математическое описание этапов решения в разделе 4 должно быть полным и самодостаточным, т.е. таким, чтобы по нему затем можно было составить вычислительную программу, реализующую весь алгоритм системы секретной связи.

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

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

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

При аналитическом описании рекуррентного вычислительного алгоритма надо соблюдать следующие правила.

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

Отметим, что часто в качестве параметров алгоритма выступают заданные в варианте курсовой работы исходные константы, но иногда эти параметры нужно заранее вычислить из исходных констант с помощью некоторой процедуры (возможно поисковой) с привлечением либо известных формул, либо описанных ранее вспомогательных вычислительных алгоритмов. Например, если , некоторые исходные параметры-константы рекуррентного вычислительного алгоритма, заданные в варианте курсовой; то параметр

(1)

может вычисляться на основе  с помощью известной процедуры ;

Далее следует описание самого вычислительного алгоритма, выполняемое следующим образом:

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

Например, если  - входные аргументы алгоритма, а , текущие переменные рекуррентного алгоритма, то описание начальных условий для них может выглядеть так:

          (2)

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

Например, пусть , - определенные выше параметры-константы рекуррентного вычислительного алгоритма;  - индексная переменная, определяющая текущий шаг расчета вычислительной процедуры;  - значение индекса, определяющее последний шаг расчета, тогда аналитическая запись алгоритма может выглядеть так

§ (3)

§ Если количество шагов рекуррентного алгоритма заранее неизвестно и определяется в ходе его работы, нужно привести условие для вычисления последнего шага расчета (Условие остановки) и ввести обозначение для него обозначение

Например, описание условия остановки может выглядеть так

§  , (4)

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

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

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

 . (5)

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

(6)

,

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

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

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

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

 или или                           (7)

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

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

,                                        (8)

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

Основная цель аналитического описания вспомогательных вычислительных процедур и оформление их в виде отдельных этапных функций типа (8) – предельно упростить описание основных вычислительных процедур, связанных с генерацией ключей, шифрованием и расшифрованием. Рассмотрим подробнее, как следует аналитически описывать эти основные процедуры.

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

Конкретный вид алгоритма генерации ключей зависит от типа разрабатываемой

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

Классический вариант поисковой процедуры генерации случайных ключей включает в себя следующие операции:

- Генерация случайных вещественных чисел , равномерно распределенных на интервале [0,1], причем каждому новому значению индекса  соответствует новый независимый запуск случайного датчика ;

-  Преобразование , сдвига-растяжения и округления чисел для их перевода на заданный дискретный интервал .

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

- Процедура поверки числа  на выполнение некоторого дополнительного условия, (например, проверкана взаимную простоту  с заданным числовым параметром )

- Процедура проверки выполнения «условия остановки» процедуры поиска и формирование момента  окончания поиска. Выберем в качестве условия остановки – одновременное выполнение двух предыдущих ограничений на . Тогда, по аналогии с (4),данная процедура описывается выражением: , где  - функция, реализующая классический алгоритм Евклида,  - логическая операция «И»

-  Формирование выхода алгоритма генерации ключей, по аналогии с (5), можно записать в виде: .

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

,

(9)

 ,

.

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

Чтобы в дальнейшем эффективно использовать вычислительную процедуру (9) при описании алгоритмов шифрации и дешифрации, по аналогии с (8) введем для нее специальное обозначение.

 ,                                                   (10)

где  - входные аргументы и параметры алгоритма, описанные выше,  - выходной аргумент, представляющий сгенерированный ключ.

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

Во-первых, в преамбуле соответствующего подраздела 4.k-3 и 4.k-1, где они должны быть описаны, нужно обязательно привести их протоколы, т.е. формульно-словестное описание. Для каждого типа криптосистемы эти протоколы подробно описаны в книге Рябко [3]. Изложить протокол рекомендуется изложить своими словами, причем так, чтобы прочитав написанный текст,студент мог сам его понять и вспомнить на защите. Для этого нужно обязательно указать, какой смысл имеют переменные, используемые в протоколе, какие значения они могут принимать, что подается на вход процедуры шифрования/расшифрования, что формируется на ее выходе.

 Замечание ВАЖНО иметь в виду, что операции кодирования и декодирования текста сообщения не входят в процедуры шифрования/расшифрования.Это независимые операции, которые относятся к основным, на структурной схеме изображаются отдельными блоками и аналитически описываются в подразделах 4.1 и 4.k.

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

Наша цель – получить быстро работающие процедуры. Поэтому после описания протокола надо привести аналитическое описание эффективного вычислительного алгоритма, который реализует данный протокол. Это оказывается уже довольно простой задачей, если учесть, что все необходимые вспомогательные вычислительные алгоритмы, и алгоритм генерации ключей уже были разработаны в предыдущих подразделах4.2 – 4.k-3, и для них мы ввели удобные обозначения в виде соответствующих функций вида (8) и (10). Осталось только последовательно задействовать эти функциив нужном порядке и с нужными аргументами, чтобы получить конечный результат – систему функций, описывающих «быстрый» вычислительный алгоритм. Другими словами, процедуры шифрования/расшифрования могут быть сконструированы, как в известной детской игре «Лего», если логически правильно расставить и состыковать ее исходные элементы-функции.

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

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

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

(Для абонента А) (11)

 

   (Для абонента Б)          (12)

где  - числовые элементы зашифрованных сообщений;  - открытый и закрытый ключи абонента А; аналогично, - ключи абонента Б. Предполагается, что по открытому каналу абоненты могут обмениваться только своими открытыми ключами и .

Отметим, что для разных криптосистем исходные параметры, количество задействованных вспомогательных функций, порядок их следования, значения и количество входных и выходных аргументов в системах (11) и (12)

могут существенно различаться. Однако при этом соблюдается важное правило, по которому строятся вычислительные алгоритмы – каждое последующая функция в системах (11), (12) может использовать в качестве входных аргументов только те величины, которые или известны, или были вычислены ранее, или были переданы по открытому каналу.

Аналитическое описание вычислительных алгоритмов расшифрования для абонентов А и Б строится аналогичным образом.

Разберем теперь некоторые типичные ошибки оформления раздела 4

 Студент приводит словесное описание процедуры, сопровождая ее демонстрационными формулами из учебника, примерами, схемами и даже яркими литературными образами из яркой жизни Алисы и Боба. Все эти книжные приемы объяснения «на пальцах» допустимы только в научно-популярных изданиях для «чайников». Но это не является аналитическим описанием процедуры (алгоритма), которое должен выполнить разработчик (в данном случае вы), чтобы затем по этому описанию программист мог на любом языке написать адекватную программу. Единственным способом добиться однозначности понимания всех шагов работы алгоритма – это формульное аналитическое описание, с четким указанием входных и выходных переменных алгоритма. 

Тогда как правильно поступить? Нужно сначала описать каждую процедуру аналитически в виде формулы или системы формул (если процедура рекуррентная), Затем надо обозначить эту систему как некоторую функцию в виде одной вынесенной формулы

                                                 y=fi(x,…),                                                                        (13)

(где i – номер описываемой математической процедуры, который обычно совпадает с номером этапа в разделе 3) с пояснениями по поводу входящих в нее входных и выходных переменных. В этом случае при описании, например, алгоритма шифрования, вы можете сослаться на эту формулу (13) и употребить ее в рассматриваемом контексте с конкретными входными и выходными переменными.

 Но важно, чтобы формула (13) появилась в тексте раздела 4 не сразу – ей должна предшествовать система формул, уравнений (или таблица, если (13) табличная функция), однозначно описывающая данную процедуру с расшифровкой всех входящих в нее констант и переменных. Эти вопросы разбираются на практических занятиях по ОК.

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

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

Важно: Таким образом, написание раздела «4. Описание метода решения» предполагает, что студент полностью понимает, как работает каждый модуль его Матлаб-программы и может по программе восстановить математическое аналитическое выражение, описывающее работу каждого модуля. Если такого понимания нет, то этот раздел будет содержать пробелы в описании, что говорит о недостаточном уровне освоения материала и необходимости очередной доработки курсовой работы.

5 )Разработка структурной схемы секретной связи с открытым ключем применительно к своему алгоритму шифрования/расшифрования и с описанием работы входящих в него блоков.

В начале раздела 5 должна быть словесная преамбула, в которой надо сказать, что в данном разделе разрабатывается структурная схема секретной связи с открытым ключем (для указанного в варианте типа) и приводится ее описание. Далее надо сказать, что структурная схема приведена на рис. 1 и привести ее редактируемый рисунок с соответствующей подписью (см. ниже)

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

Передача открытых ключей от одного абонента другому должна происходить по открытому каналу связи – тому же, по которому передается зашифрованное сообщение. Поэтому с помощью отдельных стрелок необходимо указать, какие величины с генераторов ключей входят в канал, а затем выходят из него. Канал лучше изобразить в виде цилиндра подходящей ширины, в который входят и выходят по отдельным путям (стрелкам) ключи, параметры, шифрованное сообщение. При этом надо учесть, что в некоторых криптосистемах процесс шифрования/дешифрования предполагает обмен ключами или сообщениями через открытый канал связи. Это должно быть отражено на структурной схеме соответствующими стрелками входящими/ выходящими в канал связи. Например, в криптосистеме по алгоритму Шамира обмен трехшаговый – значит на схеме должно быть три входящих/ выходящих в канал стрелки.

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

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

Если схема не вмещается можно использовать следующие рекомендации:

разместить схему в альбомной ориентации;

отдельные ее блоки, выполняющие сразу несколько процедур, перечисленных в пунктах 3),4), можно изобразить в виде подблоков и схем на дополнительных рисунках.

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

Другими словами – описание структурной схемы это не просто описание работы каждого из блоков, но и а описание ее работы в целом.

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

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

Замечание. Схемы очень удобно рисовать в пакете VISIO (который входит MicrosoftOffice 10), где есть четкая привязка элементов рисуемой схемы и большой ассортимент шаблонов для этих элементов. Сохранять в рисунок в этом случае надо в формате VISIO, тогда он будет воспроизводиться в тексте редактора Word как редактируемый элемент.

6) Разработка программных модулей (m-файлов), реализующих на языке пакета МАТЛАБ каждый из перечисленных в пункте 3 этапов решения задачи с подробными поясняющими комментариями (см. записи семинаров, где это подробно разбиралось). При этом по ходу изложения приводятся тексты разработанных студентом матлабовских программ для алгоритмов шифрования и расшифрования с комментариями, включая тексты используемых вспомогательных функций, не входящих в стандартный пакет матлаба. Рекомендуемый размер шрифта для текста программ, приводимых в отчете курсовой работы, не должен быть меньше 11 pt

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

7) Разработка тестовой программы (отдельныйm-file) проверки системы секретной связи и ее описание. Данный тестовый файл должен включать все команды, запускающие разработанный алгоритм шифрации/дешифрации входного текста в виде фамилии имени и отчества и выводящие на экран наиболее важные результаты (начальные, промежуточные и конечные) работы криптосистемы.  Тест должен быть составлен так, чтобы он позволил судить о правильной работе криптосистемы в целом и ее отдельных блоков.

Данный раздел должен содержать два подраздела с названиями указанными ниже в образце оформления. Текст результатов тестирования не должен быть размытым, мелким, плохо читаем и сделанным в виде рисунка. Для этого нужно использовать промежуточное копирование из командного окна Матлаба в редактор Ворд. Рекомендуемый размер шрифта для результатов тестирования - 11 pt.

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

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

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

B) Список используемой литературы. Каждый источник (учебник, пособие и пр.), должен быть пронумерован. В основном тексте курсовой должны быть указаны ссылки на эту литературу.

Замечание. Перед заголовками «Список литературы» и «Содержание» номер не ставится (см. образец оформления в примечании). Нумеруются только разделы и подразделы

Г). К электронной версии отчета по курсовой работев вордовском формате docxследует добавить электронную папку с m-файлами матлаба, которые реализуют разработанный алгоритм секретной связи и включая m-ScriptFileтестовой проверки ее работоспособности. Все эти материалы высылаются преподавателю на проверку через облачный сервис YandexDisk путем помещения их в папку со своей фамилией. Данная папка будет доступна студенту после активации соответствующей электронной ссылки, высылаемой преподавателем студенту на его электронную почту. После проверки отчета преподавателем, студенту высылается отрецензированный вариант с замечаниями на полях, которые надо учесть при последующей его доработке. Онлайн проверка/доработка отчета продолжаются до тех пор, пока все замечания не будут корректно учтены. Только в этом случае следует распечатать отчет для его последующей защиты в назначенное время.

Итого: Отчет должен содержать Титульный лист, Содержание, 8 пронумерованных разделов (с возможными подразделами) с названиями в соответствии с пунктами 1)-8), Список литературы.(Примеры оформления приводятся ниже) Кроме того, к отчету прилагается папка с электронными файлами программы

4. Рекомендации для подготовки к защите курсовой работы

а) Уметь ответить на все вопросы, касающиеся перечисленных в п.3) этапов решения задачи, включая их теоретическое описание по п. 4)

б) Уметь ответить на все вопросы, касающиеся структурной схемы секретной связи, работы ее блоков.

в) Уметь ответить на все вопросы, касающиеся работы программных модулей по п. 6)

5. Варианты заданий на курсовую работу

Варианты 1 - 6:  тема: «Разработка системы секретной связи с открытым ключом на основе на алгоритма Диффи-Хеллмана »

1) Используя математический пакет Матлаб, разработать программу генерации и восстановления секретных ключей для криптосистемы системы Диффи-Хеллмана (с открытымколючем) в случае двух абонентов A и B. Рекомендуемые значения параметров g и p приведены в таблице 1. Секретные ключи генерировать случайным образом

 

Таблица 1. Номера вариантов 

№ варианта 1 2 3 4 5 6
p 63211 63029 63467 63367 63949 63649
g 2 2 2 2 2 2

 

2) Использовать полученные в предыдущем пункте результаты для построения алгоритмов шифрования и дешифрования по правилу Цезаря со случайно сгенерированными ключами для кодировки русского алфавита Z44. Алгоритмы протестировать на примере шифрации/дешифрации своей фамилии имени и отчества (ФИО).

 

Варианты 7 - 12:  тема: «Разработка системы секретной связи с открытым ключем на основе алгоритма Шамира »

1) Используя математический пакет Матлаб, разработать программу реализующую алгоритмы шифрования и дешифрования Шамира в случае двух абонентов A и B. В качестве простого модуля взять число p, указанное в таблице 2. Остальные параметры генерировать случайным образом.

Таблица 2. Номера вариантов

№ варианта 7 8 9 10 11 12
p 5501 5701 5309 5419 5281 5623

 

2) Алгоритмы протестировать с использованием кодировки русского алфавита Z65 на примере шифрации/дешифрации своей фамилии имени и отчества (ФИО).

 

Варианты 13 - 18: тема: «Разработка системы секретной связи с открытым ключем на основе алгоритма Эль-Гамаля »

1) Используя математический пакет Матлаб, разработать программу реализующую алгоритмы шифрования и дешифрования Эль-Гамаля в случае двух абонентов А и B. Рекомендуемые значения параметров g и p приведены в таблице 3. Секретные ключи и другие параметры генерировать случайным образом.

Таблица 3. Номера вариантов

№ варианта 13 14 15 16 17 18
p 30871 31013 30469 30637 30071 30259
g 2 2 2 2 2 2

 

2) Алгоритмы протестировать с использованием кодировки русского алфавита Z76 на примере шифрации/дешифрации своей фамилии имени и отчества (ФИО).

 

Варианты 19 - 24: тема: «Разработка системы секретной связи с открытым ключем на основе алгоритма RSA »

1) Используя математический пакет Матлаб, разработать программу реализующую алгоритмы шифрования и дешифрования RSA в случае двух абонентов А, B. Рекомендуемые значения параметров PA, QA, PB, QB приведены в таблице 4. При этом для всех вариантов dA = dB=3.

Таблица 4. Номера вариантов

№ варианта 24 23 22 21 20 19
PA 109 163 211 181 239 131
QA 311 263 307 241 331 227
PB 151 193 223 149 251 113
QB 293 293 317 347 373 281

 

2) Алгоритмы протестировать с использованием кодировки русского алфавита Z44 на примере шифрации/дешифрации своей фамилии имени и отчества (ФИО).

 

Варианты 25 - 30: тема: «Разработка системы секретной связи с открытым ключем на основе алгоритма RSAс усовершенствованным протоколом »

1) Используя математический пакет Матлаб, разработать программу реализующую алгоритмы шифрования и дешифрования улучшенного RSA в случае двух абонентов А, B. В этом случае, в отличии от классического RSA-алгоритма, используется усовершенствованный протокол с электронной подписью (см. учебное пособие Санникова В.Г. [2, с. 30-31]). Рекомендуемые значения параметров PA, QA, PB, QB приведены в таблице 5. При этом для всех вариантов dA = dB=3.

 

 

Таблица 5. Номера вариантов

№ варианта 30 29 28 27 26 25
PA 101 107 241 151 127 179
QA 281 293 317 269 313 271
PB 211 137 263 199 149 163
QB 337 331 383 349 367 359

2) Алгоритмы протестировать с использованием кодировки русского алфавита Z65 на примере шифрации/дешифрации своей фамилии имени и отчества (ФИО).

 

. ПРИЛОЖЕНИЕ

Основные шаблоны оформления курсовой работы

 

(см. на след.странице)

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: