Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС - Методичка по лабам.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
319.49 Кб
Скачать

2.2.6Алгоритм шифрування rsa

  1. Формується 2 простих числа (p, q, p!=q).

  2. Формується додаток для цих чисел, будемо далі називати цей добуток модулем n = p * q.

  3. Формується функція Ейлера для цих чисел по формулі:

 = (p - 1) * (q - 1).

  1. Формуються ключі для крипто перетворень. Ключ для шифрування даних E – випадкове число, яке взаємно просте з , ключ для розшифрування даних D задовольняє формулі D * E = 1 mod (). Остання формула означає, що (D * E) %  = 1.

  2. Шифрувати можна довільні дані, значення яких менше ніж n1. Для шифрування даних використовується ключ E, який в криптографії називають відкритим ключем. Для шифрування даного М використовується формула M’ = ME mod n. Отримане значення M’ – це зашифроване значення.

  3. Для розшифрування використовується ключ D, який в криптографії називають особистим ключем. В даному випадку розшифрувати дане зможе тільки власник особистого ключа. Зашифрувати дане для нього може любий користувач, якому передали відкритий ключ даного користувача. Для розшифрування використовується формула M = M’D mod n.

2.3Порядок виконання лабораторної роботи

  1. Визначите необхідні функції для реалізації алгоритму RSA. Визначите серед цих функцій ті, які повинні використовуватись в зовнішніх програмах;

  2. Визначите умову по виклику для функцій, якщо відомо, що функції треба використовувати в С, С++ файлах і вони повинні бути максимально надійними;

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

  4. Реалізуйте функції бібліотек;

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

  6. Створить проект для формування динамічної бібліотеки;

  7. Створить динамічну бібліотеку;

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

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

  10. Добавте до DLL підтримку введення – виведення на різних мовах;

2.4Зміст звіту

Звіт повинен включати:

  1. Правила формування проектів для статичної та динамічної бібліотек;

  2. Тексти функцій для обох бібліотек;

  3. Тексти головних програм (3);

  4. Порівняльна характеристика бібліотек та способів їх застосування

2.5Контрольні запитання та завдання

  1. Що таке статична бібліотека?

  2. Що таке динамічна бібліотека?

  3. Якого типу файли можна підключати до статичних бібліотек?

  4. Якого типу файли можна підключати до динамічних бібліотек?

  5. Які режими використання динамічних бібліотек ви знаєте. Дайте характеристику кожного режиму

3КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. СТАНДАРТНІ ПРИСТРОЇ

3.1 Мета роботи

Обробка помилок при використанні функцій WINAPI.

Вивчення функцій WINAPI для введення – виведення даних з використанням стандартних пристроїв

3.2Підготовка до роботи

    1. Вивчить структуру помилки для функцій. Структура помилки визначена в файлі 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 – для виведення інформації;

  • функції для роботи з консоллю.

Довідник по необхідним функціям наведено в додатку А до Методичних вказівок