• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Программирование алгоритмов защиты информации

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс обязательный
Когда читается:
4-й курс, 1, 2 модуль

Преподаватель

Программа дисциплины

Аннотация

Данная дисциплина относится к вариативной профильной части Профессионального цикла (Major), проводится на 4 курсе обучения и является обязательной. Для освоения учебной дисциплины студенты должны владеть базовыми знаниями и компетенциями школьной программы, основными понятиями алгебры, теории конечных групп, колец и полей, основными понятиями алгоритмической теории чисел, знанием и навыками применения языков программирования С и С++, базовыми знаниями об операционных системах, базовыми знаниями о сетевых технологиях, базовым знанием технического английского языка, навыками поиска информации в сети Интернет, базовыми навыками разработки технической документации. Результаты освоения дисциплины используются в дальнейшем при изучении таких дисциплин, как криптографические методы защиты информации, криптографические протоколы, теоретико-числовые методы в криптографии, методы алгебраической геометрии в криптографии, научный семинар, а также при написании итоговой выпускной квалификационной (дипломной) работы. Дисциплина реализуется в он-лайн формате
Цель освоения дисциплины

Цель освоения дисциплины

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

Планируемые результаты обучения

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

Содержание учебной дисциплины

  • Основные языки и средства разработки программного обеспечения в области защиты информации
  • Существующие нормативные документы в области средств защиты информации
  • Система лицензирования средств защиты информации в Российской Федерации
  • Алгоритмы сложения, вычитания, умножения и деления с остатком для больших целых чисел
  • Примеры программных реализаций из распространенных библиотек с открытым исходным кодом
  • Преобразование Монтгомери для оптимизации вычислений в конечных полях простой характеристики
  • Алгоритм Баррета для приведения по модулю простого числа
  • Группа точек эллиптической кривой: операции сложения и удвоения точек на эллиптической кривой, операция вычисления кратной точки и ее оптимизация
  • Представления эллиптических кривых в формах Вейерштрасса, Монтгомери, Якоби, Гессе и Эдвардса; основные различия и области применения
  • Операции в конечных полях малой характеристики; оптимизация вычислений для полей характеристики два; примеры программных реализаций из библиотек с открытым исходным кодом
  • Матрицы; операции умножения матриц и умножения матрицы на вектор; алгоритмы вычисления ранга матрицы и обращения матрицы; MDS-матрицы и способы их генерации
  • Линейные регистры сдвига; построение регистров максимального периода; алгоритмическая связь линейных регистров сдвига с умножением матрицы на вектор; примеры эффективных программных реализаций
  • Перестановки на конечных множествах; построение перестановок с заданными свойствами; эффективная реализация перестановок для конечных полей характеристики два
  • Методы разработки и отладки программного обеспечения
  • Методы совместной разработки программного обеспечения
  • Методы документирования программного обеспечения
  • Методы доказательства корректности разработанного программного обеспечения; написание системы тестов
  • Практические занятия по реализации поставленных задач
  • Практические занятия по отладке и тестированию поставленных задач
  • Алгоритмы поточного шифрования информации; примеры поточных шифров - алгоритмы rc4, а5 и grain128
  • Алгоритм блочного шифрования гост 28147-89 (магма); ключевая система алгоритма гост 28147-89, слабые ключи алгоритма
  • Алгоритм блочного шифрования гост р 34.12-2005 (кузнечик); описание различных принципов реализации алгоритма
  • Алгоритм блочного шифрования aes; использование аппаратных инструкций архитектуры intel для реализации алгоритма aes
  • Алгоритмические методы защиты ключевой информации, используемой в алгоритмах блочного шифрования
  • Режимы использования блочных шифров (простая замена, простая замена с зацеплением, режимы гаммирования)
  • Связь блочных шифров с поточными шифрами
  • Алгоритмы выработки имитовставки
  • Режим выработки имитовставки для блочных шифров согласно гост р 34.13-2015)
  • Режим работы блочных шифров с возможностью аутентификации сообщений (одновременной выработкой имитовставки)
  • Режим работы блочных шифров с регулярным изменением ключевой информации (режим acpkm)
  • Функции хеширования; алгоритм гост р 34.11-94 (с использованием гост 28147-89)
  • Функция хеширования гост р 34.11-2012 (стрибог)
  • Функция хеширования keccak (стандарт fips 180-3)
  • Алгоритмы выработки имитовставки на основе бесключевых функций хеширования; алгоритм hmac
  • Алгоритмы выработки и проверки электронной подписи; стандарт гост р 34.10-2012
  • Асимметричные алгоритмы шифрования; гибридные схемы шифрования
  • Инфраструктура открытых ключей; стандарты asn.1 и x.509; особенности применения инфраструктуры открытых ключей в российской федерации
  • Практические занятия по реализации криптографических преобразований
  • Сдача окончательной (годовой) программной реализации
Элементы контроля

Элементы контроля

  • неблокирующий Промежуточная программная реализация
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.5 * Промежуточная программная реализация + 0.5 * Экзамен
Список литературы

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

Рекомендуемая основная литература

  • Введение в программирование : учеб. пособие, Баженова, И. Ю., 2007
  • Вся высшая математика. Т.1: Аналитическая геометрия, векторная алгебра, линейная алгебра, дифференциальное исчисление : учебник, Краснов, М. Л.,
  • Искусство программирования. Т.1: Основные алгоритмы, Кнут, Д. Э., 2011
  • Казарин О. В., Забабурин А. С. - ПРОГРАММНО-АППАРАТНЫЕ СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ. ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Учебник и практикум для вузов - М.:Издательство Юрайт - 2019 - 312с. - ISBN: 978-5-9916-9043-0 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmno-apparatnye-sredstva-zaschity-informacii-zaschita-programmnogo-obespecheniya-437163
  • Ларин С. В. - АЛГЕБРА И ТЕОРИЯ ЧИСЕЛ. ГРУППЫ, КОЛЬЦА И ПОЛЯ 2-е изд., испр. и доп. Учебное пособие для академического бакалавриата - М.:Издательство Юрайт - 2019 - 160с. - ISBN: 978-5-534-05567-2 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/algebra-i-teoriya-chisel-gruppy-kolca-i-polya-441295

Рекомендуемая дополнительная литература

  • Аленичев Д., Боковой А., Бояршинов А. - ALT Linux изнутри - Издательство "ДМК Пресс" - 2009 - 416с. - ISBN: 5-9706-0029-6 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1197