
- •1Розробка універсальних додатків для різних типів кодувань символьної інформації
- •1.1Мета роботи
- •1.2Підготовка до роботи. Теоретичні положення
- •1.2.1Типи даних char і wchar_t. Універсальне завдання типу
- •1.2.2Функції для роботи з рядками для ansi і unicode кодувань
- •1.2.3Файл tchar.H. Пошук імен для універсальних функцій
- •1.2.4Визначення типу тексту і перетворення типу кодування тексту
- •1.3Завдання до лабораторної роботи. Порядок виконання
- •2.2.2Загальна характеристика динамічних бібліотек
- •2.2.3Створення статичних бібліотек
- •2.2.4Створення dll
- •2.2.5Використання dll
- •2.2.6Алгоритм шифрування rsa
- •2.3Порядок виконання лабораторної роботи
- •3.3Порядок виконання лабораторної роботи. Завдання до лабораторної роботи
- •3.5Контрольні запитання і завдання
- •4Керування зовнішніми пристроями. Нестандартні пристрої
- •4.1Мета роботи
- •4.2Підготовка до роботи
- •4.3 Завдання до лабораторної роботи
- •4.4Контрольні питання и завдання
- •5.2.2Інформація про файлову систему пристрою
- •5.2.3Визначення вільного місця на пристрої
- •5.3Порядок виконання лабораторної роботи
- •5.4Контрольні запитання і завдання
- •6.2.1.2Функція GlobalMemoryStatusEx
- •6.2.1.3Функція VirtualQueryEx
- •6.2.2Функції для керування віртуальною та фізичною пам’яттю
- •6.2.2.1Функція VirtualAllocEx
- •6.2.2.2Функція VirtualFree
- •6.2.2.3Функція VirtualProtectEx
- •6.2.3.3Функція MapViewOfFile
- •6.2.3.4Функція UnmapViewOfFile
- •6.2.3.5Функція CloseHandle
- •6.3Завдання до лабораторної роботи
- •6.5Контрольні питання й завдання
- •7Планування процесів
- •7.1Мета роботи
- •7.2 Підготовка до роботи і порядок її виконання
- •8.3Порядок виконання лабораторної роботи
- •8.5Контрольні запитання і завдання
- •9 Керування потоками
- •9.1Мета роботи
- •9.2Підготовка до роботи і порядок її виконання
- •9.4Контрольні питання й завдання
- •10 Синхронізація процесів і потоків
- •10.1Мета роботи
- •10.2Підготовка до роботи і порядок її виконання
- •10.4 Контрольні питання й завдання
- •Список використаних джерел
- •Додаток а Стандартні функції для введення – виведення даних для стандартних пристроїв. Функції для роботи з файлами.
2.2.6Алгоритм шифрування rsa
Формується 2 простих числа (p, q, p!=q).
Формується додаток для цих чисел, будемо далі називати цей добуток модулем n = p * q.
Формується функція Ейлера для цих чисел по формулі:
= (p - 1) * (q - 1).
Формуються ключі для крипто перетворень. Ключ для шифрування даних E – випадкове число, яке взаємно просте з , ключ для розшифрування даних D задовольняє формулі D * E = 1 mod (). Остання формула означає, що (D * E) % = 1.
Шифрувати можна довільні дані, значення яких менше ніж n1. Для шифрування даних використовується ключ E, який в криптографії називають відкритим ключем. Для шифрування даного М використовується формула M’ = ME mod n. Отримане значення M’ – це зашифроване значення.
Для розшифрування використовується ключ D, який в криптографії називають особистим ключем. В даному випадку розшифрувати дане зможе тільки власник особистого ключа. Зашифрувати дане для нього може любий користувач, якому передали відкритий ключ даного користувача. Для розшифрування використовується формула M = M’D mod n.
2.3Порядок виконання лабораторної роботи
Визначите необхідні функції для реалізації алгоритму RSA. Визначите серед цих функцій ті, які повинні використовуватись в зовнішніх програмах;
Визначите умову по виклику для функцій, якщо відомо, що функції треба використовувати в С, С++ файлах і вони повинні бути максимально надійними;
Складіть файл заголовків таким чином, щоб цей файл заголовків можна було б використовувати для статичної, динамічної бібліотек та програм, які використовують ці бібліотеки;
Реалізуйте функції бібліотек;
Реалізуйте головну програму для статичної бібліотеки;
Створить проект для формування динамічної бібліотеки;
Створить динамічну бібліотеку;
Реалізуйте головну програму для динамічної бібліотеки для першого способу її використання.
Реалізуйте головну програму для динамічної бібліотеки для другого способу її використання;
Добавте до DLL підтримку введення – виведення на різних мовах;
2.4Зміст звіту
Звіт повинен включати:
Правила формування проектів для статичної та динамічної бібліотек;
Тексти функцій для обох бібліотек;
Тексти головних програм (3);
Порівняльна характеристика бібліотек та способів їх застосування
2.5Контрольні запитання та завдання
Що таке статична бібліотека?
Що таке динамічна бібліотека?
Якого типу файли можна підключати до статичних бібліотек?
Якого типу файли можна підключати до динамічних бібліотек?
Які режими використання динамічних бібліотек ви знаєте. Дайте характеристику кожного режиму
3КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. СТАНДАРТНІ ПРИСТРОЇ
3.1 Мета роботи
Обробка помилок при використанні функцій WINAPI.
Вивчення функцій WINAPI для введення – виведення даних з використанням стандартних пристроїв
3.2Підготовка до роботи
Вивчить структуру помилки для функцій. Структура помилки визначена в файлі WinError.h:
Біти 0..15 – номер помилки;
Біти 16..27 – код підсистеми, при виконані якої виникла помилка (наведені нижче);
Біт 28 – резерв, повинен бути 0;
Біт 29 – 1, якщо це помилка користувача, 0 – для помилок операційної системи;
Біти 30..31 – код важливості помилки:
// 01 - Informational
// 10 - Warning
// 11 – Error
Коди підсистем:
#define FACILITY_WINDOWS_CE 24
#define FACILITY_WINDOWS 8
#define FACILITY_URT 19
#define FACILITY_UMI 22
#define FACILITY_SXS 23
#define FACILITY_STORAGE 3
#define FACILITY_SSPI 9
#define FACILITY_SCARD 16
#define FACILITY_SETUPAPI 15
#define FACILITY_SECURITY 9
#define FACILITY_RPC 1
#define FACILITY_WIN32 7
#define FACILITY_CONTROL 10
#define FACILITY_NULL 0
#define FACILITY_MSMQ 14
#define FACILITY_MEDIASERVER 13
#define FACILITY_INTERNET 12
#define FACILITY_ITF 4
#define FACILITY_HTTP 25
#define FACILITY_DPLAY 21
#define FACILITY_DISPATCH 2
#define FACILITY_CONFIGURATION 33
#define FACILITY_COMPLUS 17
#define FACILITY_CERT 11
#define FACILITY_BACKGROUNDCOPY 32
#define FACILITY_ACS 20
#define FACILITY_AAF 18
2 Вивчити функції операційної системи (WINDOWS API) для організації введення – виведення. Зверніть увагу на наступні функції:
MessageBox – для виведення інформації;
функції для роботи з консоллю.
Довідник по необхідним функціям наведено в додатку А до Методичних вказівок