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

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

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

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

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

Аннотация

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

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

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

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

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

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

  • Основные языки и средства разработки программного обеспечения в области защиты информации
  • Существующие нормативные документы в области средств защиты информации
  • Система лицензирования средств защиты информации в Российской Федерации
  • Алгоритмы сложения, вычитания, умножения и деления с остатком для больших целых чисел
  • Примеры программных реализаций из распространенных библиотек с открытым исходным кодом
  • Преобразование Монтгомери для оптимизации вычислений в конечных полях простой характеристики
  • Алгоритм Баррета для приведения по модулю простого числа
  • Группа точек эллиптической кривой: операции сложения и удвоения точек на эллиптической кривой, операция вычисления кратной точки и ее оптимизация
  • Представления эллиптических кривых в формах Вейерштрасса, Монтгомери, Якоби, Гессе и Эдвардса; основные различия и области применения
  • Операции в конечных полях малой характеристики; оптимизация вычислений для полей характеристики два; примеры программных реализаций из библиотек с открытым исходным кодом
  • Матрицы; операции умножения матриц и умножения матрицы на вектор; алгоритмы вычисления ранга матрицы и обращения матрицы; 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; особенности применения инфраструктуры открытых ключей в российской федерации
  • Практические занятия по реализации криптографических преобразований
  • Сдача окончательной (годовой) программной реализации
Элементы контроля

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

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

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

  • 2024/2025 1st module
    Студент получает оценку от 0 до 10 баллов
  • 2024/2025 2nd module
    Студент получает оценку от 0 до 10 баллов
Список литературы

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

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

  • Искусство программирования. Т.1: Основные алгоритмы, Кнут, Д. Э., 2011
  • Казарин, О. В.  Программно-аппаратные средства защиты информации. Защита программного обеспечения : учебник и практикум для вузов / О. В. Казарин, А. С. Забабурин. — Москва : Издательство Юрайт, 2019. — 312 с. — (Специалист). — ISBN 978-5-9916-9043-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/437163 (дата обращения: 28.08.2023).

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

  • Linux. Системное программирование, Лав, Р., 2014
  • Аленичев, Д. ALT Linux изнутри / Д. Аленичев, А. Боковой, А. Бояршинов. — Москва : ДМК Пресс, 2009. — 416 с. — ISBN 5-9706-0029-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1197 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Лось Алексей Борисович
  • Нестеренко Алексей Юрьевич