Описание онлайн-курса

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

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

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

· ознакомить слушателей с теоретико-числовыми основами двухключевой криптографии

 сформировать у слушателей представление об основных алгоритмических проблемах криптографии и способах их решения

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

· сформировать у слушателей представление об информационной безопасности, как сфере профессиональной деятельности

· объяснить студентам особенности криптографических методов защиты информации и содержание базовых понятий криптографии

· ознакомить слушателей с основными видами шифров

· ознакомить слушателей с современными стандартами криптографической защиты

· сформировать у слушателей представление об атаках на криптографические системы.

 

Информация о преподавателях

Ищукова Евгения Александровна - доцент кафедры БИТ, кандидат технических наук

Бабенко Людмила Климентьевна - профессор кафедры БИТ, доктор технических наук

Маро Екатерина Александровна - доцент кафедры БИТ, кандидат технических наук 

Сидоров Игорь Дмитриевич - доцент кафедры БИТ, кандидат технических наук

 

Программа курса

Модуль 1. Обзор современных систем шифрования

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

Модуль 3. Современные симметричные системы шифрования (блочные и поточные) Модуль 4. Стандарт шифрования США - AES.

Модуль 5. Стандарт шифрования России – ГОСТ Р34.12-2015.

Модуль 6. Режимы использования блочных шифров.

Модуль 7. Требования к поточным шифрам.

Модуль 8. Универсальные методы криптоанализа. Часть 1

Модуль 9. Универсальные методы криптоанализа. Часть 2

Модуль 10. Математика для систем с открытым ключом.

Модуль 11. Алгоритм шифрования RSA.

Модуль 12. Алгоритмы асимметричного шифрования, основанные на задаче дискретного логарифмирования

Модуль 13. Свойства хэш-функций.

Модуль 14. Криптографические протоколы

Модуль 15. Элиптическая криптография

Модуль 16. Гомоморфное шифрование

 

Формируемые компентенции

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

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

Способность выбирать и эффективно применять комплекс криптографических средств для обеспечения информационной безопасности информационных систем.

Входные требования

Для ознакомления с базовым курсом требуется:

·         Знание и понимание основ математики, а именно: владение математическими терминами, формулами, приемами вычислений, способами представления и преобразования математических зависимостей, знание основ теории вероятностей и математической статистики.

·         Знание теории информации и основ двоичной арифметики.

Общая трудоемкость (з.е.)/Длительность (нед)

количество недель обучения – 17

средняя нагрузка в неделю, акад.час – 6 час

общая трудоемкость курса – 3 зач.ед.

Сертификат

По данному курсу возможно получение сертификата.


Онлайн-курс «Основы профессиональной разработки приложений на C/C++» разработанный на основе дисциплин и тематических модулей "Основы алгоритмизации и программирования", "Практикум по программированию", "Структуры и алгоритмы обработки данных", посвящен не только изучению основ языков программирования C и C++, но и знакомству с требованиями, которые предъявляются к коду в промышленной разработке ПО.

Сложность и "размеры" программных проектов растут, при этом требования к срокам разработки и выделяемым ресурсам, как правило, становятся все жестче. Кроме того, если раньше львиная доля ресурсов уходила именно на разработку программы, то теперь в "долгоиграющих" программных проектах значительные затраты приходятся на стадии тестирования, сопровождения и модернизации кода.

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

В данном курсе не только рассматриваются "классические" положения конкретного языка программирования, но и затрагиваются вопросы стиля кодирования, методики отладки программного продукта и его переносимости между платформами. При подготовке курса авторы учли методику представления материалов и проверки знаний в рамках четырех сертификационных курсов по языкам C и C++ (уровней Associate Programmer и Professional Programmer) от C++ Institute - крупнейшей международной организации по сертификации специалистов по языкам программирования C/C++. Успешное освоение курса будет способствовать подготовке обучающихся к сдаче соответствующих сертификационных экзаменов. Авторский коллектив включает как профессиональных преподавателей программирования с многолетним стажем, так и специалистов-разработчиков программного обеспечения, использующих C/C++ в свой повседневной деятельности.

Полученные в ходе изучения курса умения и навыки могут создать основу для формирования у слушателя трудовых функций, включенных в профессиональные стандарты “Программист”, “Системный программист”, “Специалист по тестированию”

Информация о преподавателях

Хусаинов Наиль Шавкятович - заведующий кафедрой МОП ЭВМ ИКТИБ, к.т.н.

Дроздов Сергей Николаевич - доцент ИКТИБ ЮФУ, к.т.н.

Жиглатый Артемий Александрович - ассистент ИКТИБ ЮФУ

Ковалева Карина Сергеевна - ассистент ИКТИБ ЮФУ

Балабаева Ирина Юрьевна - старший преподаватель ИКТИБ ЮФУ

 

Программа курса

Модуль 1. Первый проект на языке C/C++

Модуль 2. Данные, операции и операторы

Модуль 3. Составные типы данных. Алгоритмы данных для решения типовых алгоритмических задач

Модуль 4. Функции и коллекции

Модуль 5. Качество программного кода

Формируемые компентенции

Способность разрабатывать программы на языке C++

Способность применять алгоритмический подход к решению прикладных задач

Способность к использованию инструментальных средств разработки и отладки программ на языке С++

Входные требования

Школьный курс информатики и ИКТ

Общая трудоемкость (з.е.)/Длительность (нед)

количество недель обучения – 14

средняя нагрузка в неделю, акад.час – 10 час

общая трудоемкость курса – 4 зач.ед.

Сертификат

По данному курсу возможно получение сертификата.

Онлайн-курс «Эффективное программирование на C++. Структуры данных, алгоритмы, контейнеры» разработан на основе дисциплин «Программирование» и «Структуры и алгоритмы обработки данных».

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

В данном курсе рассматриваются два круга взаимосвязанных вопросов:

- как использовать средства библиотеки STL в рамках объектно-ориентированного программирования (ООП) на языке C++;

- как устроены эти средства, и от чего зависит эффективность их применения.

Изложение теоретических вопросов сопровождается примерами применения описываемых средств при проектировании и разработке программ.

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

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

Авторы курса

Дроздов С.Н.   Дроздов Сергей Николаевич - доцент ИКТИБ ЮФУ, к.т.н.

Лутай В.Н.   Лутай Владимир Николаевич - доцент ИКТИБ ЮФУ, к.т.н.

Балабаева И.Ю.   Балабаева Ирина Юрьевна - старший преподаватель ИКТИБ ЮФУ.

Ковалева К.С.Ковалева Карина Сергеевна - ассистент ИКТИБ ЮФУ.

Программа курса

Модуль 1. Основные структуры данных

Модуль 2. Алгоритмы сортировки и поиска

Модуль 3. Классы и шаблоны классов в C++

Модуль 4. Библиотека контейнеров STL

Формируемые компентенции и результаты обучения

Способность выполнять обоснованный выбор средств и методов библиотеки  STL при проектировании системных и прикладных программ.

Способность разрабатывать и отлаживать программы на языке C++, эффективно использующие средства библиотеки STL.

Входные требования

Владение основами программирования на языке C или C++

Общая трудоемкость (з.е.)

Общая трудоемкость курса – 2 з.е.

Длительность (нед)

Количество недель обучения – 7

Средняя нагрузка в неделю, акад.час – 10 час.