Національний технічний університет україни „київський політехнічний інститут”



Сторінка9/9
Дата конвертації11.05.2017
Розмір1.38 Mb.
1   2   3   4   5   6   7   8   9
ТЕМА 1. ВСТУП ДО ТЕХНОЛОГІЙ ПРОГРАМУВАННЯ

Предмет курсу. Основні поняття. Моделі життєвого циклу та етапи розробки програмного забезпечення.



ТЕМА 2. ПЛАНУВАННЯ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Методи аналізу вимог. Мова UML. Еволюція та особливості мов програмування. Види типізації. Основні управляючі конструкції імперативних мов програмування. Управляючі структури та функціональних мов програмування. Принцип повторного використання коду. Процедурна та модульна декомпозиція. Перевантажені функції.



ТЕМА 3. ОБ’ЄКТНО-ОРІЄНТОВАНИЙ АНАЛІЗ

Поняття абстракції даних. Інкапсуляція, спадкування, поліморфізм. Діаграми класів та станів. Абстрактні класи та інтерфейси. Поняття патернів проектування. Патерни «Стратегія», «Сінглтон», «Фабрика класів». Множинне спадкування, абстрактні класи та інтерфейси.



ТЕМА 4. УЗАГАЛЬНЕНЕ ПРОГРАМУВАННЯ

Абстракція алгоритмів. Шаблони. Патерн «Ітератор». Колекції з використанням шаблонів на прикладі STL. Параметризовані макроси. Метапрограмування.



ТЕМА 5. СУЧАСНІ МЕТОДИ ОРГАНІЗАЦІЇ ПРОМИСЛОВОГО ПРОГРАМУВАННЯ

Надійне програмне забезпечення. Обробка виключних ситуацій. Контрактне програмування. Архітектура MVC. Програмування, основане на подіях. Патерн «Спостерігач». Умовна компіляція. Кросплатформеність та стандарт POSIX. Роздільна компіляція.



ТЕМА 6. ТЕСТУВАННЯ ТА ОПТИМІЗАЦІЯ ПРОГРАМНОГО КОДУ

Модульні, функціональні та інтеграційні тести. Поняття та методи рефакторингу. Інструментальні засоби оптимізації. Системи контролю версій.



  1. МЕТОДИ НАВЧАННЯ ТА ІНФОРМАЦІЙНО-МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ

Інформаційно-методичне забезпечення дисципліни включає підручники, що знаходяться в НТБ, методичні вказівки щодо виконання лабораторних робіт та електронний курс для дистанційного навчання

Список рекомендованої ЛІТЕРАТУРи

  1. Александреску А. Современное проектирование на С++. – М.: «Вильямс», 2002.

  2. Бадд Т. Объектно-ориентированное программирование в действии. – СПб.: Питер, 1997.

  3. Бек К. Экстремальное программирование. – Питер, 2002.

  4. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. – Бином, 1998.

  5. Буч Г., Якобсон А., Рамбо Дж. UML. – СПб.: Питер, 2006.

  6. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. – СПб: Питер, 2005.

  7. Макконелл С. Совершенный код. – СПб.: Питер, 2005.

  8. Стелтинг С., Маасен О. Применение шаблонов Java. — М.: Издательский дом "Вильямс", 2002.

  9. Страуструп Б. Язык программирования С++. – Бином, 2004.

  10. Фаулер М. Архитектура корпоративних программных приложений. – М.: Вильямс, 2006.

  11. Фаулер М. Рефакторинг: улучшение существующего кода. – СПб.: Символ-Плюс, 2003.

  12. Фаулер М., Скотт К. UML. Основы. – СПб.: Символ-Плюс, 2002.

  13. D Specification. http://www.digitalmars.com/d/download.html

  14. http://nemerle.org/Language

  15. Guide to the Software Engineering Body of Knowledge. http://www.swebok.org.

  16. Бек К., Фаулер М. Экстремальное программирование: планирование. – Питер, 2003.

  17. Бек К. Экстремальное программирование: разработка через тестирование. – Питер, 2003.

  18. Ф. Брукс. Мифический человеко-месяц или как создаются программные системы, – Символ-Плюс, 2000.

  19. Кериевски Дж. Рефакторинг с использованием шаблонов. – Вильямс, 2006.

  20. Коплиен Дж. Мультипарадигменное проектирование для С++. – СПб.: Питер, 2005.

  21. C# Language Specification. ECMA-334, 4th edition, June 2006.

  22. http://usecases.org

  23. Yukihiro Matsumoto, Ruby Language Reference Manual.

  24. Эккель Б. Философия С++. Введение в стандартный С++. – СПб.: Питер, 2004.

  25. Эккель Б., Эллисон Ч. Философия С++. Практическое программирование. – СПб.: Питер, 2004.

Індивідуальне консультування виконується у вигляді щотижневих консультацій.

  1. МОВА

Українська.

  1. ХАРАКТЕРИСТИКА ІНДИВІДУАЛЬНИХ ЗАВДАНЬ

З дисципліни «Технологія програмування» передбачене індивідуальне завдання у вигляді:

1) лабораторних робіт,

2) розрахунково-графічної роботи.

Цикл лабораторних робіт передбачає вивчення сучасних підходів до розробки програмного забезпечення. Перелік лабораторних робіт:

Лабораторна робота 1. Аналіз вимог та моделювання обраної предметної області. Розробка технічного завдання на проект.

Лабораторна робота 2. Виконання об'єктно-орієнтованої декомпозиції предметної області для обраного проекту.

Лабораторна робота 3. Розробка модульних тестів.

Лабораторна робота 4. Застосування засобів автоматичного документування.

Розрахунково-графічна робота (РГР) присвячена реалізації програмного коду для проекту, який обрано для виконання лабораторних робіт. Вона складається з теоретичної частини та розробленого програмного коду.

Вимоги до теоретичної частини розрахунково-графічної роботи:


  1. Теоретична частина складається з реферату на задану тему та опису розробленого програмного забезпечення.

  2. Опис розробки повинен включати опис використаних алгоритмів, модулів та функцій, а також оцінку швидкодії.

  3. Останнім розділом роботи повинен бути список літератури за темою (включаючи посилання на джерела в Internet).

Вимоги до програмних засобів:

  1. Розроблені програмні засоби повинні являти собою самостійний програмний продукт, що не потребує ніяких допоміжних програм.

  2. Розробка повинна виконана на мовах C++ з використанням бібліотек STL, Boost та засобів розпаралелення (MPI, OpenMP, CUDA/OpenCL) та Python.

  1. МЕТОДИКА ОЦІНЮВАННЯ

Оцінка ECTS, яку студент отримує після вивчення кредитного модуля дисципліни „Комп'ютерні системи автоматичної ідентифікації”, визначається відповідно до рейтингу студента.

Рейтинг студента з кредитного модуля складається з балів, що він отримує протягом семестру за такі види робіт:



  1. Модульна контрольна робота (МКР)

Максимальна кількість балів за відповідь на кожне запитання: 6 балів.

Бали нараховуються за:



- правильність відповіді на одне питання: 0-6 балів;

Разом за МКР (максимальна кількість балів): 12 балів.



  1. Розрахункова робота (РР).

Максимальна кількість балів за РР: 30 балів.

Бали нараховуються за:



- відповідь під час захисту лабораторної роботи: 0-6 балів;

- самостійне виконання роботи (відсутність запозиченого програмного коду): 0-6 балів;

- ефективність програмної реалізації: 0-6 балів;

- використання бібліотек: 0-6 балів;

- своєчасне представлення роботи до захисту: 0-6 балів.

Разом за РГР (максимальна кількість балів): 30 балів.

  1. Виконання лабораторних робіт.

Протягом семестру студенти виконують 4 лабораторні роботи.

Максимальна кількість балів за кожну лабораторну роботу: 7 балів.

Бали нараховуються за:

- відповідь під час захисту лабораторної роботи: 0-2 балів;

- самостійне виконання роботи (відсутність запозиченого програмного коду) та ефективність (швидкодія): 0-3 бали;

- своєчасне представлення роботи до захисту: 0-2 бал;

Разом за лабораторні роботи (максимальна кількість балів):
7 балів × 4 лаб. робіт = 28 бали.

Штрафні бали нараховуються за:

- невідвідування лекцій: –1 бал за кожну пропущену
(без поважної причини) лекцію;


Заохочувальні бали нараховуються за:

- підготовка рефератів,

- виконання завдань з удосконалення дидактичних матеріалів,

- огляд наукових праць: 0-10 балів.

Сума вагових балів контрольних заходів протягом семестру: 70 балів.

Залік формується з із балів, що їх студент отримує за відповіді на два теоретичних питання в заліковому білеті. Максимальна сума балів за відповідь на одне теоретичне питання складає 15 балів, мінімальна – 0 балів. Проміжні значення встановлюються екзаменатором, виходячи із правильності і повноти відповідей. Необхідною умовою допуску до заліку є зарахування РГР та наявність рейтингу не менше 35 балів.



Максимальна кількість балів за залікову роботу: 30 балів.

Залікові бали студента додаються до його семестрового рейтингу. Оцінка (ECTS та традиційна) виставляється відповідно до набраних балів згідно з таблицею:



Сумарний рейтинг за семестр

Оцінка ECTS

Традиційна оцінка

95-100

А

відмінно

85-94

В

добре

75-84

С

65-74

D

задовільно


60-64

Е

Сума балів < 60

Fx

незадовільно

Рейтинг за семестр < 35

F

не допущено

  1. ОРГАНІЗАЦІЯ

Порядок реєстрації на вивчення дисципліни та на семестрову атестацію – згідно нормативним документам НТУУ «КПІ».
Опис кредитного модуля (дисципліни)

ВП-02 КОМП’ЮТЕРНА КРИПТОГРАФІЯ

(код та назва кредитного модуля, дисципліни)

Статус

кредитного модуля



обов’язковий




(обов’язковий або за вільним вибором студентів)

Лектор

Тесленко Олександр Кирилович, к.т.н. доцент




(прізвище, ім’я та по-батькові, вчений ступень, посада)

Факультет

прикладної математики




(назва)

Кафедра

спеціалізованих комп’ютерних систем




(назва)

  1. ЗАГАЛЬНІ ВІДОМОСТІ

Дисципліна «Комп'ютерна криптографія» є однією із професійно-орієнтованих дисциплін підготовки студентів за спеціальністю 7.091503, 8.091503 «Спеціалізовані комп`ютерні системи» денної форми навчання. Викладенню дисципліни повинні передувати дисципліни „Теорія інформації та кодування”, „Програмування”, «Системне програмування», «Прикладна теорія цифрових автоматів», «Комп‘ютерна схемотехніка», «Комп’ютерні мережі», «Захист інформації в комп’ютерних системах» бакалаврської підготовки.

  1. РОЗПОДІЛ НАВЧАЛЬНОГО ЧАСУ

    Семестр

    Код кредитного модуля

    Всього (кред./год)

    Розподіл за видами занять

    (всього год./год.у тижні)



    СРС

    Модульні контр.роб. (кількість)

    Індивід.завдання (вид)

    Семестрова атестація (вид)

    Лекції

    Практичні/

    семінарські



    Лабораторні/

    комп’ютерний практикум



    9

    ВП-02

    4 / 144

    36

    -

    27

    80

    1

    -

    Екз

  2. МЕТА І ЗАВДАННЯ КРЕДИТНОГО МОДУЛЯ (ДИСЦИПЛІНИ)

Навчальна дисципліна «Комп’ютерна криптографія» має за мету набуття студентами знань теоретичних основ комп'ютерної криптографії та умінь їх застосування в практичній діяльності для програмних та програмно-апаратних реалізацій криптографічних перетворень, їх використання в сучасних інформаційних технологіях.

  1. ЗМІСТ КРЕДИТНОГО МОДУЛЯ (ДИСЦИПЛІНИ)

ТЕМА 1. ПРЕДМЕТ ДИСЦИПЛІНИ.

Перелік проблем, які вирішуються засобами комп'ютерної криптографії в сучасних інформаційних системах. . Короткий огляд історії криптографії. Основні етапи розвитку комп'ютерної криптографії. Роль теорії інформації, теорії алгоритмів і обчислювальної складності програм. Терміни і визначення в області криптографічного захисту інформації.



ТЕМА 2. ОСНОВИ ТЕОРІЇ СЕКРЕТНИХ СИСТЕМ К.ШЕННОНА.

Визначення криптографічного простору та криптографічних перетворень в комп'ютерній криптографії на основі секретної системи по К.Шеннона. Теорема про теоретичну секретність. Аналіз властивостей криптографічних перетворень при забезпеченні теоретичної секретності.

Поняття криптографічного алгоритму. Блочні та потокові криптографічні алгоритми. Поняття ненадійності блочного алгоритму шифрування. Формули К.Шеннона для обчислення ненадійності. Функція ненадійності. Теореми про властивості ненадійності. Вплив апріорного розподілу ймовірностей початкових повідомлень на функцію ненадійності. Визначення практичної секретності. Значення довжини ключа блочного алгоритму. Визначення методів зчеплення при блочному шифруванні і аналіз їх ефективності.

ТЕМА 3. ПРАКТИЧНА СЕКРЕТНІСТЬ.

Поняття масового алгоритму (масових функцій, масових задач). Оцінки складності алгоритмів. Класи складності N та NP. Визначення односторонніх функцій та односторонніх функцій з секретом. Симетричні та несиметричні криптографічні перетворення. Використання односторонніх функцій в симетричних криптографічних перетвореннях. Визначення практичної секретності. Значення довжини ключа блочного алгоритму



ТЕМА 4. СТАНДАРТНІ АЛГОРИТМИ СИМЕТРИЧНИХ КРИПТОГРАФІЧНИХ ПЕРЕТВОРЕНЬ.

Операційна база комп’ютерної криптографії. Аналіз систем команд сучасних ЕОМ для використання в криптографічних перетвореннях.. Забезпечення перемішування та розсіювання. Цикли Фейстеля. Вимоги до алгоритмів блочних симетричних криптографічних перетворень. Рівні криптоаналізу. Лінійний та диференційний крипто аналіз. Характеристика алгоритмів DES, ГОСТ 28147-89, RC6, Rijndael та їх порівняльний аналіз. Режими блочних алгоритмів.



ТЕМА 5. АЛГОРИТМИ НЕСИМЕТРИЧНИХ КРИПТОГРАФІЧНИХ ПЕРЕТВОРЕНЬ.

Математичні основи алгоритмів шифрування з відкритими ключами. Елементи теорії скінчених груп та скінчених полів, основні теореми. Проблеми дискретного логарифмування та факторизації чисел. Алгоритм шифрування Ель-Гамаля та його математичне обґрунтування. Алгоритм шифрування RSA та його математичне обґрунтування. Особливості програмної реалізації алгоритмів Ель-Гамаля та RSA.. Оцінки швидкодії алгоритмів. Шляхи апаратної реалізації. Порівняльна характеристика симетричних алгоритмів та алгоритмів шифрування з відкритим ключем.



ТЕМА 6. ЦИФРОВИЙ ЕЛЕКТРОННИЙ ПІДПИС.

Визначення електронного підпису і його ролі в сучасних інформаційних технологіях. Перелік вимог до електронного підпису. Математичні основи електронного підпису. Практичні засади електронного підпису. Визначення функції хешування та вимоги до неї. Алгоритм функції хешування по ГОСТ Р 34.11-94. Аналіз алгоритму та особливостей його програмної реалізації. Процедура вироблення та перевірки електронного підпису по ДСТУ 4145-2002. Генерація загальних параметрів, секретного та відкритого ключів. Особливості програмної реалізації процедури.



ТЕМА 7 ПРИКЛАДИ СУЧАСНИХ КОМП'ЮТЕРНИХ КРИПТОГРАФІЧНИХ СИСТЕМ.

Визначення криптографічного протоколу. Перелік вимог до криптографічного протоколу. Аналіз атак на криптографічні протоколи. –Використання симетричного та несиметричного шифрування в криптографічних протоколах.



Характеристики протоколу SSL компанії Netscape Communication Corporation для захисту інформаційного обміну в середовищі Інтернет. Ієрархія ключів, блок-схема розсилки ключів абонентам мережі, блок-схема забезпечення цифрового підпису даних в мережі.

  1. МЕТОДИ НАВЧАННЯ ТА ІНФОРМАЦІЙНО-МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ

Інформаційно-методичне забезпечення дисципліни включає підручники, що знаходяться в НТБ.

Список рекомендованої ЛІТЕРАТУРи

Основна література

  1. Задірака В., Олексюк О. Комп'ютерна криптологія. Підручник. Київ 2002.

  2. Шеннон К. Работы по теории информации и кибернетике. Теория связи в секретных системах. Издательство иностранной литературы. М.1963.

  3. Диффи У., Хэлмэн М. Защищенность и имитостойкость. Введение в криптографию. ТИИЭР, том 67, №3, 1979.

  4. Вербіцький О.В. Вступ до криптології. Львів. 1998

  5. ДСТУ 4145 – 2002. Інформаційні технології. Криптографічний захист інформації. Цифровий підпис, що ґрунтується на еліптичних кривих. Формування та перевірка. К. 2002.

  6. ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. Издательство стандартов. М. 1989.

  7. ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функция хэширования. Издательство стандартов. М. 1994

  8. ГОСТ Р 34.10-94 Информационная технология. Криптографическая защита информации. Процедура выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма. Издательство стандартов. М. 1994

  9. Саломаа А. Криптография с открытым ключем. М., МИР, 1996.

  10. Кострикин А.И. Введение в алгебру. М. Наука, 1994.


Додаткова література

  1. Большаков А.А. и др. Основы обеспечения безопасности данных в компьютерных системах и сетях. Учебное пособие. Санкт-Петербург. 1996.

  2. Спесивцев А.В. и др. Защита информации в персональных ЭВМ. Радио и связь. М. 1992.

  3. Ященко В.В. Введение в криптографию. М.,1998.

  4. Нечаев В.И. Элементы криптографии. М.,"Высшая школа",1999

  5. Анохин М.И., Варновский М.П., Сидельников В.М., Ященко В.В. Криптография в банковском деле. М., МИФИ., 1997.

Індивідуальне консультування виконується у вигляді щотижневих консультацій.


  1. МОВА

Українська.



  1. ХАРАКТЕРИСТИКА ІНДИВІДУАЛЬНИХ ЗАВДАНЬ

В дисципліні „ Комп'ютерна криптографія ” передбачені індивідуальні завдання у вигляді лабораторних робіт

  1. Дослідження апостеріорних ймовірностей криптограм в залежності від властивостей функції шифрування, довжини ключа та розподілу апріорних ймовірностей початкових повідомлень та ключів (6 години).

  2. Дослідження властивостей функції ненадійності блочних алгоритмів шифрування. (6 годин)

  3. Одержання практичних навичок програмування алгоритмів стандартних блочних криптографічних перетворень. (8 години)

  4. Реалізація та дослідження криптографічностійких програмних генераторів випадкових послідовностей (7 годин)

  1. МЕТОДИКА ОЦІНЮВАННЯ

Оцінка ECTS, яку студент отримує після вивчення кредитного модуля дисципліни «Комп'ютерна криптографія», визначається відповідно до рейтингу студента.

Рейтинг студента з кредитного модуля складається з балів, що він отримує протягом семестру та за складання іспиту:

Семестрові бали нараховуються за:


  1. Модульна контрольна робота (МКР).

Контрольна робота має 2 запитання, одне із них теоретичне, а друге – практичне. Ваговий бал запитання = 14.

Критерії оцінювання:

Відповідь правильна та прокоментована r2 =

Відповідь правильна, але не прокоментована r2 = 10 балів

Відповідь не правильна, але коментарій вказує на механічну помилку (наприклад, помилку в обчисленнях) r2 = 8 балів

Відповідь не правильна, але коментарій вказує на не значну логічну помилку – 6 балів

0 балів в інших випадках.

Максимальна кількість балів за МКР: 14 балів × 2 запит. = 28 балів. Позначимо R2 – кількість балів, які отримав студент за виконання контрольної роботи.



Разом за МКР (максимальна кількість балів): 28 балів.

  1. Виконання лабораторних робіт.

Протягом семестру студенти виконують 3 лабораторних робіт.

Максимальна кількість балів за кожну лабораторну роботу: 24 бали.

По кожній лабораторній роботі студент одержує ваговий бал при умові якісного виконання, що включає


  1. безпомилкову роботу програми з першої перевірки викладачем або самостійне виправлення помилки на протязі поточного заняття;

  2. самостійність студента при створенні програми, яка визначається знанням семантики будь якої частини програми та спроможністю на протязі поточного заняття модифікувати програму по вимозі викладача;

  3. захист лабораторної роботи в установлений строк

В випадку виконання пп. а) та b) і не виконання п. с) або виконання с) та b) і не виконання п. а) студент одержує r1=16 балів

В випадку виконання лише п. b) студент одержує r1=10 балів

Позначимо R1 – кількість балів, які студент одержав на протязі семестру за виконання лабораторних робіт.

Разом за лабораторні роботи (максимальна кількість балів):
24 бали × 3 лаб. робіт = 72 бали.

Штрафні бали нараховуються за:

- недопуск до лабораторних робіт у зв’язку з незадовільним вхідним

контролем: -1 бал;

- відсутність на лекції без поважної причини: -1 бал;

Заохочувальні бали нараховуються за:

- участь у модернізації лабораторних робіт, виконання завдань із удосконалення дидактичних матеріалів: 5 – 10 балів;
Позначимо Rшз – суму штрафних та заохочувальних балів
Сума вагових балів контрольних заходів протягом семестру складає:

RС = 72 + 28 = 100 балів.

Сума вагових балів контрольних заходів протягом семестру: 100 балів.

Відповідь на екзамені:


Екзаменаційна складова шкали дорівнює 30 % від R, а саме:

.

Таким чином, рейтингова шкала з дисципліни складає R = RС + RЕ = 143 бали.

Стартовий рейтинг студента rC = R1+R2+ Rшз

Необхідною умовою допуску до екзамену є зарахування всіх лабораторних робіт, виконання контрольної роботи, а також стартовий рейтинг (rC) не менше 40 % від RС, тобто 40 балів.

Виходячи з розміру шкали RЕ = 43 бали, складаються критерії екзаменаційного оцінювання з визначенням 4-5 рівнів.

Екзаменаційний білет складається з 2 питань – одного теоретичного та одного практичного. Максимальна кількість балів за теоретичне питання – 23. Максимальна кількість балів за практичне питання - 20.



Максимальна кількість балів за залікову роботу: 43 балів.

Екзаменаційні бали студента додаються до його семестрового рейтингу. Оцінка (ECTS та традиційна) виставляється відповідно до набраних балів згідно з таблицею:



Сумарний рейтинг за семестр

Оцінка ECTS

Традиційна оцінка

RD 135

А

відмінно

122-134

В

добре

107-121

С

93-106

D

задовільно


83-92

Е

Сума балів ≤ 82

Fx

незадовільно

Рейтинг за семестр < 40 або не виконані інші умови допуску до екзамену

F

не допущений

  1. ОРГАНІЗАЦІЯ

Порядок реєстрації на вивчення дисципліни та на семестрову атестацію – згідно нормативних документів НТУУ «КПІ».

Поділіться з Вашими друзьями:
1   2   3   4   5   6   7   8   9


База даних захищена авторським правом ©divovo.in.ua 2017
звернутися до адміністрації

войти | регистрация
    Головна сторінка


загрузить материал