Основні сучасні способи шифрування. Аcиметричні алгоритми шифрування До якого виду обробки можна віднести шифрування

Майже всі застосовувані криптографічні способи пов'язані з розбиттям повідомлення на велике число частин (або символів) фіксованого розміру, кожна з яких шифрується окремо, якщо не незалежно. Це значно спрощує завдання шифрування, оскільки повідомлення зазвичай мають різну довжину.

Можна виділити три основні методи шифрування: потоковий, блоковий та із застосуванням зворотного зв'язку.

Виділяються такі чотири характерні ознаки криптографічних методів.

    Операції з окремими бітами чи блоками.

    Залежність або залежність функції шифрування від результатів шифрування попередніх частин повідомлення.

3. Залежність чи незалежність шифрування окремих знаків повідомлення від своїх положень у тексті. Наприклад, при поточному шифруванні різні знаки повідомлення шифруються з урахуванням їх положення в повідомленні. Ця властивість називається позиційною залежністю чи незалежністю шифру.

4. Симетрія або асиметрія функції шифрування. Ця важлива властивість визначає істотну різницю між звичайними симетричними (одноключовими) криптосистемами та асиметричними двоключовими (криптосистемами з відкритим ключем). Основна відмінність між ними полягає в тому, що в асиметричній криптосистемі знання ключа шифрування (або розшифрування) замало розкриття відповідного ключа розшифрування (або шифрування).

Основні характеристики криптосистем

криптосистем

Операції з

бітами чи блоками

Незалежність від знаків

повідомлення

Позиційна залежність/незалежність

симетрія/

асиметрія

Поточного

шифрування

не залежить

симетрична

Блочного

шифрування

не залежить

не залежить

симетрична чи несиметрична

Зі зворотної

зв'язком від

шифртексту

біти або блоки

не залежить

симетрична

У криптосистемі, що має властивість залежності функції шифрування від знаків повідомлення, може мати місце розмноження помилок. Якщо, наприклад, при передачі буде спотворено біт шифртексту, то після розшифрування відкритий текст може містити більше спотворених бітів. Помилки типу "вставка" і "випадання" можуть призвести до катастрофічного розмноження помилок при дешифруванні.

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

До перевагПоточних шифрів відносяться відсутність розмноження помилок, проста реалізація та висока швидкість шифрування.

Недолікомє необхідність передачі синхронізації перед заголовком повідомлення, яка повинна бути прийнята до розшифрування будь-якого повідомлення. Це пов'язано з тим, що якщо два різні повідомлення шифруються на тому самому ключі, то для розшифрування цих повідомлень повинна використовуватися та сама псевдовипадкова послідовність. Таке положення може створити небезпечну загрозу криптостійкості системи і тому часто використовується додатковий, випадково обраний ключ повідомлення, який передається на початку повідомлення і використовується для модифікації ключа шифрування. В результаті, різні повідомлення будуть шифруватися з використанням різних послідовностей.

Поточні шифри широко застосовуються у військових системах та інших системах, близьких до них за призначенням, для шифрування даних та перетворених на цифрову форму мовних сигналів. Донедавна такі застосування були переважними для цього методу шифрування. Це пояснюється, зокрема, відносною простотою конструювання та реалізації генераторів хороших послідовностей, що шифрують. Але головним фактором, звичайно, залишається відсутність розмноження помилок у потоковому шифрі.

Оскільки передачі даних і мовних повідомлень у тактичних мережах зв'язку використовуються канали порівняно невисокої якості, будь-яка криптографічна система, яка збільшує і так високу частоту помилок, неприменна. У таких випадках обов'язкове застосування криптосистеми, яка не розмножує помилки.

Однак розмноження помилок може бути позитивним явищем. Нехай, наприклад, зашифровані дані повинні передаватися каналом з дуже низькою ймовірністю помилки (наприклад, 10 5) і дуже важливо, щоб дані приймалися точно. Це типова ситуація для обчислювальних мереж, де помилка в єдиному биті може призвести до катастрофічних наслідків, тому канал зв'язку повинен бути дуже надійним. У такій ситуації одна помилка настільки ж небезпечна, як 100 чи 1000 помилок. Але 100 або 1000 помилок можна знайти легше, ніж одна помилка. Отже, у разі розмноження помилок не є недоліком шифру.

Стандартним методом генерування послідовностей для потокового шифрування є метод, застосовуваний стандарті шифрування даних DES в режимі зворотного зв'язку від виходу.

Блокові шифри.Для блокового шифрування відкритий текст спочатку розбивається на рівні по довжині блоки, потім застосовується функція шифрування, що залежить від ключа, для перетворення блоку відкритого тексту довжиною тбіт блок шифртексту такої ж довжини. Важлива властивість блокового шифрування полягає в тому, що кожен біт блоку шифртексту є функцією всіх (або майже всіх) бітів відповідного блоку відкритого тексту, і жодні два блоки відкритого тексту не можуть бути представлені одним і тим самим блоком шифртексту. Алгоритм блокового шифрування може використовуватись у різних варіантах. Чотири режими шифрування в стандарті DES фактично застосовуються до будь-якого блокового шифру.

Ці режими отримали такі назви:

    режим прямого шифрування або шифрування з використанням електронної книги кодів ЄСВ (Electronic code book),

    шифрування зі зчепленням блоків шифртексту СВС (Cipher block chaining),

    шифрування із зворотним зв'язком від шифртексту CFB (Cipher feedback),

    шифрування із зворотним зв'язком від виходу OFB (Output feedback).

Основна перевагапрямого блочного шифрування (electronic code book) у тому, що у добре сконструйованої системі блочного шифрування невеликі зміни у шифртексті викличуть великі та непередбачувані зміни у відповідному відкритому тексті і навпаки.

Водночас застосування блочного шифру в цьому режимі пов'язане з серйозними вадами.Перший полягає в тому, що внаслідок фіксованого характеру шифрування навіть при порівняно великій довжині блоку, наприклад 50-100 біт, можливий криптоаналіз "зі словником" в обмеженій формі.

Ясно, що блок такого розміру може повторитися в повідомленні внаслідок великої надмірності в типовому тексті природною мовою. Це може призвести до того, що ідентичні блоки відкритого тексту завдовжки тбіт у повідомленні будуть представлені ідентичними блоками шифртексту, що дає криптоаналітики деяку інформацію про зміст повідомлення.

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

Внаслідок зазначених недоліків, блокові шифри рідко застосовуються у вказаному режимі для шифрування довгих повідомлень. Однак, у фінансових установах, де повідомлення часто складаються з одного або двох блоків, блокові шифри (зокрема алгоритм DES) широко застосовуються в цьому простому варіанті. Оскільки таке застосування пов'язане з можливістю частої зміни ключа шифрування, ймовірність шифрування двох ідентичних блоків відкритого тексту на тому самому ключі дуже мала. Найчастіше блокові шифри застосовують у системах шифрування зі зворотним зв'язком від шифртекста.

Можлива також освіта змішаних (гібридних) систем потокового та блочного шифруванняз використанням кращих властивостей кожного із цих шифрів. У таких системах потокове шифрування комбінується із псевдовипадковими перестановками. Відкритий текст спочатку шифрується як за звичайного потокового шифрування, потім отриманий шифртекст розбивається на блоки фіксованого розміру. У кожному блоці проводиться псевдовипадкова перестановка під управлінням ключа (переважні різні перестановки для окремих блоків).

Порядок прямування цих двох операцій може бути змінено на зворотний без впливу на основні властивості системи. В результаті виходить шифр, що не розмножує помилки, але має додаткову властивість, якого немає у потокового шифру. Ця властивість у тому, що перехоплювач не знає, якому біту відкритого тексту відповідає біт шифртексту. Завдяки цьому зашифроване повідомлення стає більш складним та важким для розкриття. Але слід зазначити, що це не справжній блоковий шифр, у якому кожен біт шифртексту є функцією лише одного, а чи не всіх бітів відкритого тексту.

Криптосистема з відкритим ключем має бути системою блокового шифрування, що оперує з блоками досить великої довжини. Це пов'язано з тим, що криптоаналітик, який знає відкритий ключ шифрування, міг би попередньо обчислити та скласти таблицю відповідності блоків відкритого тексту та шифртексту. Якщо довжина блоків мала (наприклад, 30 біт), то число можливих блоків буде не надто великим (при довжині 30 біт це 2 30 -10 9) і може бути складена повна таблиця, що дає можливість миттєвого дешифрування будь-якого зашифрованого повідомлення з використанням відомого відкритого ключа .

Було запропоновано багато різних криптосистем з відкритим ключем, найвідомішою є система RSA (Rivest, Shamir, Adleman). Криптостійкість цієї системи заснована на труднощі розкладання великих чисел на прості співмножники та виборі для ключів шифрування та розшифрування двох великих простих чисел.

Відомо, що алгоритм RSA не може бути використаний для шифрування з великою швидкістю. Найбільш оптимізована програмна реалізація цього алгоритму виявляється низькошвидкісною, а кілька апаратних реалізації забезпечують швидкість шифрування від 10 до 100 Кбіт/с (при використанні простих чисел порядку 2 7, що є мінімальною довжиною для забезпечення необхідної криптостійкості). Це означає, що застосування системи RSA для блокового шифрування обмежене, хоча застосування її для розподілу ключів, аутентифікації та формування цифрового підпису є цікавими можливостями. Деякі відомі нині криптоалгоритми з відкритим ключем допускають вищу швидкість шифрування, ніж алгоритм RSA. Однак вони поки що не є настільки популярними.

Системи шифрування із зворотним зв'язком.Системи шифрування із зворотним зв'язком зустрічаються у різних практичних версіях. Як і в системах блокового шифрування, повідомлення розбиваються в них на ряд блоків, що складаються з тбіт, і для перетворення цих блоків на блоки шифртексту, які також складаються з тбіт, використовуються спеціальні функції. Однак, якщо в блоковому шифрі така функція залежить тільки від ключа, то в шифрах із зворотним зв'язком вона залежить як від ключа, так і від одного або більше попередніх блоків шифртексту. Таке загальне визначення шифрування зі зворотним зв'язком включає як окремі випадки велика кількість різних типів практично застосовуваних систем.

Застосування криптосистем блочного шифрування із зворотним зв'язком дає ряд важливих переваг. Перше і найважливіше - можливість використання їх виявлення маніпуляцій з повідомленнями, вироблених активними перехоплювачами. У цьому використовується факт розмноження помилок, і навіть здатність таких систем легко генерувати код автентифікації повідомлень MAC (message aithentication code). Друга перевага полягає в тому, що шифри СТАК, які застосовуються замість блокових шифрів, не вимагають початкової синхронізації. Це означає, що якщо початок повідомлення пропущено при прийомі, то частина його, що залишилася, може бути успішно розшифрована (після успішного прийому наступних один за одним tбіт шифртексту. Зазначимо також, що системи шифрування зі зворотним зв'язком використовуються не тільки для шифрування повідомлень, але також для їхньої аутентифікації.

Криптосистем блочного шифрування зі зворотним зв'язком властиві певні недоліки. Основний їх - розмноження помилок, тобто. один помилковий біт при передачі може викликати від 1 до sm + iпомилок у розшифрованому тексті. Таким чином, вимога збільшення tпідвищення криптостойкости суперечить системним вимогам, що з розмноженням помилок. Інший недолік полягає в тому, що розробка та реалізація систем шифрування зі зворотним зв'язком часто виявляються складнішими, ніж для систем потокового шифрування. Хоча системи шифрування зі зворотним зв'язком різних типів знаходять широке застосування вже багато років, спеціальних алгоритмів для таких систем дуже мало. Найчастіше опубліковані алгоритми отримані з алгоритмів блокового шифрування, перетворених для спеціальних застосувань.

Перший висновок, який можна зробити з проведеного аналізу, у тому, що у більшості практичних криптосистем застосовуються алгоритми або потокового шифрування, або шифрування зі зворотним зв'язком. Більшість криптосистем потокового шифрування використовує алгоритми для комерційного сектора (у тому числі алгоритми, що є власністю фірм або окремих користувачів) або секретні урядові алгоритми. Такий стан, мабуть, збережеться ще найближчими роками.

Можливо також, що більшість систем шифрування із зворотним зв'язком буде засновано на застосуванні алгоритмів блочного шифрування у спеціальному варіанті, зокрема, найбільш відомого алгоритму блочного шифрування DES. Про інші методи шифрування можна сказати, що, незважаючи на швидке зростання публікацій з криптосистем з відкритим ключем, тільки одна з них, - система RSA, витримала випробування часом.

Але алгоритм цієї системи пов'язаний із серйозними обмеженнями у реалізації і тому не підходить для деяких криптографічних застосувань. Звичайно, можна стверджувати, що криптосистеми з відкритим ключем справили значний вплив на техніку шифрування даних. Вони знаходять все зростаюче застосування, в основному, для формування цифрових підписів або управління ключами у звичайних криптосистемах (таких, як ключ шифрування ключів).

Потенційним користувачам криптографії є ​​можливість вибирати між системами потокового шифрування та системами шифрування зі зворотним зв'язком (можливо, заснованими на застосуванні алгоритмів блокового шифрування). Однак є певні галузі застосування, наприклад, фінансові операції, де можливе використання методів прямого блокового шифрування ("electronic codebook"). Вибір криптоалгоритму значною мірою залежить від його призначення. Деякі дані, якими можна керуватися під час вибору типу шифрування, наведено в таблиці.

Серед найрізноманітніших способів шифрування можна виділити такі основні методи:

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

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

Алгоритми гамування - символи вихідного тексту складаються із символами певної випадкової послідовності. Найпоширенішим прикладом вважається шифрування файлів "ім'я користувача.рwl", в яких операційна система Microsoft Windows 95 зберігає паролі до мережевих ресурсів даного користувача (паролі на вхід до NT-серверів, паролі для DialUр-доступу в Інтернет і т.д.). Коли користувач вводить свій пароль при вході в Windows 95, з нього за алгоритмом шифрування RC4 генерується гамма (завжди одна й та сама), що використовується для шифрування мережевих паролів. Простота підбору пароля обумовлюється в цьому випадку тим, що Windows завжди віддає перевагу одній і тій самій гаммі.

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

Комбіновані методи. Послідовне шифрування вихідного тексту за допомогою двох та більше методів.

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

Розглянемо докладніше методи криптографічного захисту даних

1. Алгоритми заміни (підстановки)

2. Алгоритм перестановки

3. Алгоритм гамування

4. Алгоритми, що базуються на складних математичних перетвореннях

5. Комбіновані методи шифрування

Алгоритми 1-4 в «чистому вигляді» використовувалися раніше, а в наші дні вони закладені практично в будь-якій, навіть найскладнішій програмі шифрування. Кожен із розглянутих методів реалізує власний спосіб криптографічного захисту інформації та має власні переваги та недоліки, але їх загальної найважливішоюхарактеристикою є стійкість. Під цим розуміється мінімальний обсяг зашифрованого тексту, статистичним аналізом якого можна розкрити вихідний текст. Таким чином, за стійкістю шифру можна визначити гранично допустимий обсяг інформації, зашифровану при використанні одного ключа. При виборі криптографічного алгоритму для використання у конкретній розробці його стійкість одна із визначальних чинників.

Всі сучасні криптосистеми спроектовані таким чином, щоб не було шляху розкрити їх більш ефективним способом, ніж повним перебором у всьому ключовому просторі, тобто. за всіма можливими значеннями ключа. Ясно, що стійкість таких шифрів визначається розміром ключа, що використовується в них.

Наведу оцінки стійкості розглянутих вище методів шифрування. Моноалфавітна підстановка є найменш стійким шифром, оскільки за її використанні зберігаються все статистичні закономірності вихідного тексту. Вже за довжини 20-30 символів зазначені закономірності виявляються настільки, що, зазвичай, дозволяє розкрити вихідний текст. Тому таке шифрування вважається придатним лише для закривання паролів, коротких сигнальних повідомлень та окремих знаків.

Стійкість простої поліалфавітної підстановки (з подібних систем була розглянута підстановка таблиці Віжинера) оцінюється значенням 20n, де n - число різних алфавітів використовуваних для заміни. При використанні таблиці Віжінер число різних алфавітів визначається числом літер у ключовому слові. Ускладнення поліалфавітної підстановки значно підвищує її стійкість.

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

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

При використанні комбінованих методів шифрування стійкість шифру дорівнює добутку стійкостей окремих методів. Тому комбіноване шифрування є найнадійнішим способом криптографічного закриття. Саме такий метод було покладено основою роботи всіх відомих нині шифруючих апаратів.

Алгоритм DES був затверджений ще довше 20 років тому, проте за цей час комп'ютери зробили немислимий стрибок у швидкості обчислень, і зараз не так уже й важко зламати цей алгоритм шляхом повного перебору всіх можливих варіантів ключів (а в DES використовується всього 8-байтний), що нещодавно здавалося зовсім неможливим.

ГОСТ 28147-89 був розроблений ще спецслужбами Радянського Союзу, і він молодший за DES всього на 10 років; при розробці в нього було закладено такий запас міцності, що цей ГОСТ є актуальним досі.

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

Висновок

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

Найбільш простий критерій такої ефективності – ймовірність розкриття ключа або потужність безлічі ключів (М). По суті це те саме, що й криптостійкість. Для її чисельної оцінки можна використовувати також складність розкриття шифру шляхом перебору всіх ключів. Проте цей критерій не враховує інших важливих вимог до криптосистем:

· Неможливість розкриття або осмисленої модифікації інформації на основі аналізу її структури,

· Досконалість використовуваних протоколів захисту,

· Мінімальний обсяг використовуваної ключової інформації,

· Мінімальна складність реалізації (у кількості машинних операцій), її вартість,

· Висока оперативність.

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


Практична частина:

Завдання 1.

1) Заповнюємо поле X виконавши

1.1 Задаємо вручну перше значення

1.2 Виконуємо Правка->Заповнити->

2) Заповнюємо поле значень функції g =

Рис.1.1 - Формула функції g (x)

2.1) Прораховуємо значення функцій

3) Побудова графіків

3.1) Виділяємо комірки зі значеннями Функцій g

3.2) Вибираємо майстер діаграм

Рис.1.2 - Майстер діаграм - Графік

Далі -> ряд

Рис.1.3 - Майстер діаграм - підпис осей

Виділяємо значення осі X

Натискаємо Введення (enter)

3.3) Даємо імена графікам

3.4) Виділяємо комірку з формулою графіка

3.6) Вибираємо закладку -> Лінії сітки, виставляємо

X проміжні лінії, Y Основні лінії ->Далі

3.7) Поміщаємо графік функції на наявному аркуші -> (Готово)

4) У результаті отримуємо (Рис.1.4)

Рис.1.4 - Графік функції g(x)

1.2.

1) Визначаємо у полях таблиці функції майбутніх графіків

Рис.1.5 - Підпис функцій майбутніх графіків

2) Заповнюємо поле X виконавши:

2.1 Задаємо вручну перше значення

2.2 Виконуємо Правка->Заповнити->Прогресія (по стовпцях, арифметична, крок, граничне значення) за х [-2;2]

3) Прораховуємо значення функцій y=2sin( x) – 3cos( x), z = cos²(2 x) – 2sin( x).


Рис.1.6 – Формули функцій y(x) та z(x)

4) Побудова графіків

4.1Виділяємо комірки зі значеннями Функцій y та z

Вибираємо майстер діаграм

Рис.1.7 - Майстер діаграм - Графік

Виділяємо значення осі X

Натискаємо Введення (enter)

4.2) Даємо імена графікам

4.3) Виділяємо комірку з формулою графіка

Натискаємо введення (enter) , потім теж проробляємо з другим рядом

4.5) Вибираємо закладку -> Лінії сітки, виставляємо

X проміжні лінії, Y Основні лінії ->Далі

4.6) Поміщаємо графік функції на наявному аркуші -> (Готово)

5) У результаті отримуємо (Рис.1.8)

Рис.1.8 – Графіки функцій y(x) та z(x)

Завдання 2.

· Створення списку «Відділу кадрів»

Рис.2.1 Список "Відділу кадрів"

· Сортування

Рис.2.2 – Сортування по полю Ім'я

У результаті отримуємо (Рис.2.3)

Рис.2.3 - Відсортована таблиця "Відділ кадрів"

·
Пошук інформації за допомогою автофільтра (отримати інформацію про чоловіків, ім'я яких починається на букву Літера,по батькові – «Іванович», з окладом Оклад);

Рис.2.4 - Автофільтр

· Пошук інформації за допомогою розширеного фільтра (знайти інформацію з відділу Відділ1у віці Вік1і Вік2, і про жінок з відділу Відділ2у віці Вік3);

1) Вводимо критерії для розширеного фільтра 1

У результаті отримуємо (Рис.2.5)

Рис.2.5 – Розширений фільтр 1

2) Вводимо критерії розширеного фільтра 2.

У результаті отримуємо (Рис.2.6)

Рис.2.6 – Розширений фільтр 2

· Підбиття підсумків (визначити кількість та середній вік співробітників у кожному відділі);

Рис.2.7 - Підсумки

Функція ДМІН- Повертає найменше число в полі (стовпці) записів списку або бази даних, яке відповідає заданим умовам.

Рис.2.8 – Аналіз списку за допомогою функції ДМІН

Завдання 3.

Створюємо дві пов'язані таблиці Сесія(рис.3.2) та Студенти(Рис.3.4)

Рис.3.1- Конструктор таблиці Сесія

Рис.3.2- Таблиця Сесія

Рис.3.3 - Конструктор таблиці Студенти


Рис.3.4 - Таблиця Студенти

1) Використовуючи таблицю Студенти,створити три запити, за якими з бази даних будуть по черзі відібрані прізвища та імена студентів груп 1-Е-1, 1-Е-2, 1-Е-3.

Рис.3.5 - Конструктор Запиту 1.1


Рис.3.7 - Конструктор Запита1.2

Рис.3.9 - Конструктор Запиту 1.3

2) Використовуючи таблицю Студенти,створити два запити, за якими з бази даних будуть по черзі відібрані прізвища та імена жінок, а потім прізвища та імена чоловіків.

Рис.3.11 - Конструктор Запиту 2.1

Рис.3.13 - Конструктор Запиту 2.2

3) Використовую таблицю Студенти,створити два запити, за якими з бази даних будуть по черзі відібрані прізвища та імена жінок групи 1-Е-2, а потім чоловіків групи 1-Е-1.

Рис.3.15 - Конструктор Запиту 3.1

Рис.3.17 - Конструктор - 3.2

4) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліток та оцінки з математики студентів групи 1-Е-2.

Рис.3.19 - Конструктор Запиту 5

5) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліток та оцінки з філософії студентів (чоловіків) групи 1-Е-2.

Рис.3.21 - Конструктор Запиту 8

6) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «задовільно» (3) з філософії.

Рис.3.23 - Конструктор Запиту 10

7) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «добре» (4) одночасно з двох предметів: філософії та математики.

Рис.3.25 - Конструктор Запиту 14

8) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «незадовільно» (2) по одному з двох предметів: з математики або інформатики.

Рис.3.27 - Конструктор Запиту 18

9) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «добре» (4) з усіх предметів.

Рис.3.29 - Конструктор Запиту 22

10) Використовуючи таблицю Сесія,створити запит з ім'ям Середній балдля розрахунку середнього балу кожного студента за результатами складання чотирьох іспитів. Запит обов'язково повинен містити поле Заліковка, яке згодом буде використано для зв'язування кількох таблиць.

Рис.3.31 - Конструктор таблиці Сесія

11) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліток, номери груп студентів, які мають середній бал 3,25.

Рис.3.33 - Конструктор Запиту 25

12) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, Створити запит, за яким з бази даних буде відібрано оцінку математики, середній бал і номер групи студента Іванова.

Рис.3.35 - Конструктор Запиту 29

13) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, створити запит, за яким із бази даних будуть відібрані прізвища, імена студентів, які мають середній бал менше 3,75.

Рис.3.37 - Конструктор Запиту 33

14) Використовуючи таблицю Студенти, визначити прізвище, ім'я та номер заліковки студентки, якщо відомо, що її по батькові Вікторівна

Рис.3.39 - Конструктор Запиту 35

Завдання 4.

Для переведення числа з десяткової системи числення в систему числення з іншою основою надходять таким чином:

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

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

в) Відповідь записують у вигляді додавання перекладеної цілої та переведеної дробової частини числа.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812,22₁₀ = С294, 385₁₆

0,

Завдання 5.

Для переведення числа в десяткову систему обчислення із системи обчислення з іншою основою кожен коефіцієнт кількості, що переводиться, множиться на підставу системи в мірі, що відповідає цьому коефіцієнту, і отримані результати складаються.

А) 10101001,11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2(-5)= 169,78125₁₀

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

Таблиця 5.1 - Переклад чисел

Десяткова система числення Двійкова система числення Вісімкова система числення Шістнадцяткова система числення
Тріади (0-7) Зошити (0-15)
A
B
C
D
E
F

Б) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (-1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

В) EDF,51₁₆ = 111011011111,01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

Завдання 6.

У основі складання чисел у двійковій системі лежить таблиця складання однорозрядних двійкових чисел.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Додавання багаторозрядних двійкових чисел здійснюється відповідно до цієї таблиці з урахуванням можливих переносів з молодшого розряду до старших. У вісімковій системі числення, як і в будь-якій іншій позиційній, діють власні правила складання чисел, що представляють правила складання цифр з рівними порядками, що відносяться до двох цифр, що складаються. Ці правила видно з табл.6.1. Перенесення, що з'являється при додаванні деяких цифр даного розряду, показано символом "↶".
Таблиця 6.1 - Додавання в 8-й системі числення
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

Правила складання цифр двох шістнадцяткових чисел, що у однакових розрядах цих чисел, можна побачити з табл.6.2. Перенесення, що має місце при додаванні деяких цифр даного розряду, показано символом "↶".

6 8 5 , 3 2 2 A ₁₆ + 1 0 1 0 1 0 0 1 0 , 1 0 ₂ + 4 7 7 , 6₈

D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 ,3 6₈

Таблиця 6.2 - Додавання в 16-ій системі числення

+ A B C D E F
A B C D E F
A B C D E F ↶0
A B C D E F ↶0 ↶1
A B C D E F ↶0 ↶1 ↶2
A B C D E F ↶0 ↶1 ↶2 ↶3
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
C C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
D D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
E E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

Завдання 7.

Використовуючи таблицю складання вісімкових чисел, можна виконувати їх віднімання. Нехай потрібно обчислити різницю двох вісімкових чисел. Знайдемо у першому стовпці табл. 6.1 цифру, що відповідає останньої в віднімає, і в її рядку знайдемо останню цифру зменшуваного - вона розташована на перетині рядка віднімається і стовпця різниці. Так ми знайдемо останню цифру різниці. Аналогічно шукається кожна цифра різниці.

а) _ 2 5 1 5 1 4 , 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

б) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 0₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

в) _E 3 1 6 , 2 5 0₁₆

5 8 8 1 , F D C₁₆

8 А 9 4 , 2 7 4

Завдання 8.

В основі множення чисел у двійковій системі лежить таблиця множення однорозрядних двійкових чисел.

0 · 0 = 0
0 · 1 = 0
1 · 0 = 0
1 · 1 = 1

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

Власна таблиця множення, як ми вже була можливість переконатися, є у кожному позиційної системі числення. У двійковій вона найменша, у вісімковій (табл.8.1) і десятковій вже більша. Серед часто використовуваних систем числення з розглянутих нами найбільшою таблицею множення має шістнадцяткову (табл. 8.2).

Табл. 8.1. – Розмноження у 8-ій системі

×

а) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

б) 1 0 1 1 1 0 0₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

в) B C D , 5₁₆

*D5A₁₆

9 D 9 3 3 E 2₁₆


Табл.8.2 - Розмноження в 16-ій системі

× A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

Завдання 9.

Прямий код- спосіб представлення двійкових чисел із фіксованою комою у комп'ютерній арифметиці. При записі числа у прямому коді старший розряд є знаковим розрядом. Якщо його значення дорівнює 0 - то число позитивне, якщо 1 - негативне.

Зворотній код- метод обчислювальної математики, що дозволяє відняти одне число з іншого, використовуючи лише операцію додавання над натуральними числами. При записі числа для позитивного числа збігається з прямим кодом, а негативного числа всі цифри замінюються на протилежні, крім розрядного.

Додатковий код(Англ. two’s complement, іноді twos-complement) - найбільш поширений спосіб уявлення негативних цілих чисел у комп'ютерах. Він дозволяє замінити операцію віднімання операцію складання і зробити операції складання і віднімання однаковими для знакових і беззнакових чисел, ніж спрощує архітектуру ЕОМ. При записі числа для позитивного числа збігається з прямим кодом, а негативного числа додатковий код обумовлюється отриманням зворотного коду і додаванням 1.

Додавання чисел у додатковому коді виникає 1 перенесення у знаковому розряді відкидається, а зворотному коді додається до молодшого розряду суми кодів.

Якщо результат арифметичних дій є кодом негативного числа, необхідно перетворити в прямий код. Зворотний код перетворити на пряму заміну цифр у всіх розрядах крім знакового на протилежних. Додатковий код перетворюється на прямий додатком 1.

Прямий код:

X = 0,10111 1,11110

Y=1,11110 0,10111

Зворотній код:

X = 0,10111 0,10111

Y=1,00001 1,00001

1,11000 1,00111

Додатковий код:

X = 0,10111 0,10111

Y=1,00010 1,00010

1,11001 1,00110

Прямий код:

Зворотній код:

X = 0,110110 0,0110110

Y=0,101110 0,0101110

Додатковий код:

X = 0,110110 0,0110110

Y=0,101110 0,0101110

Завдання 10.

Логічні елементи

1. Логічний елемент НЕ виконує логічного заперечення. Він має один вхід та один вихід. Відсутність сигналу (напруги) позначимо через "0", а наявність сигналу через "1". Сигнал на виході завжди протилежний вхідному сигналу. Це з таблиці істинності, яка показує залежність вихідного сигналу від вхідного.

2. Логічний елемент АБО виконує логічне складання. Він має кілька входів та один вихід. Сигнал на виході буде, якщо є сигнал хоча б одному вході.

Умовне позначення Таблиця істинності

3. Логічний елемент І виконує логічне множення. Сигнал на виході цього логічного елемента буде лише у випадку, якщо є сигнал на всіх входах.

Умовне позначення Таблиця істинності

F=(A v B) ʌ (C v D)

Таблиця 10.1 - Таблиця істинності

A B C D A B C D (A v B) (C vD) F=(A v B) ʌ (C v D)

AВ алгебрі логіки є низка законів, що дозволяють проводити рівносильні перетворення логічних виразів. Наведемо співвідношення, які відбивають ці закони.

1. Закон подвійного заперечення: (А) = А

Подвійне заперечення виключає заперечення.

2. Переміщувальний (комутативний) закон:

Для логічного складання: A V B = B V A

Для логічного множення: A&B = B&A

Результат операції над висловлюваннями залежить від цього, у порядку беруться ці висловлювання.

3. Сполучний (асоціативний) закон:

Для логічного складання: (A v B) v C = A v (Bv C);

Для логічного множення: (A&B)&C = A&(B&C).

За однакових знаків дужки можна ставити довільно або взагалі опускати.

4. Розподільний (дистрибутивний) закон:

Для логічного додавання: (A v B)&C = (A&C)v(B&C);

Для логічного множення: (A&B) v C = (A v C)&(B v C).

Визначає правило винесення загального висловлювання за дужку.

5. Закон загальної інверсії (закони де Моргана):

Для логічного додавання: (Av B) = A & B;

Для логічного множення: (A&B) = A v B;

6. Закон ідемпотентності

Для логічного додавання: A v A = A;

Для логічного множення: A&A=A.

Закон означає відсутність показників ступеня.

7. Закони виключення констант:

Для логічного додавання: A v 1 = 1, A v 0 = A;

Для логічного множення: A&1=A, A&0=0.

8. Закон суперечності: A&A = 0.

Неможливо, щоб висловлювання, що суперечать, були одночасно істинними.

9. Закон виключення третього: A v A = 1.

10. Закон поглинання:

Для логічного додавання: A v (A&B) = A;

Для логічного множення: A&(A v B) = A.

11. Закон виключення (склеювання):

Для логічного складання: (A&B) v (A&B) = B;

Для логічного множення: (A v B)&(A v B) = B.

12. Закон контрапозиції (правило перевертання):

(A v B) = (Bv A).

(А→В) = А&В

А&(АvВ)= А&В

Формула має нормальну форму, якщо у ній відсутні знаки еквівалентності, імплікації, подвійного заперечення, у своїй знаки заперечення перебувають лише за змінних.


Подібна інформація.


Державним стандартом шифрування у Росії є алгоритм, зареєстрований як ГОСТ 28147-89. Він є блоковим шифром, тобто шифрує окремі символи, а 64-битные блоки. В алгоритмі передбачено 32 цикли перетворення даних з 256-бітним ключем, за рахунок цього він дуже надійний (має високу криптостійкість). На сучасних комп'ютерах розкриття цього шифру шляхом перебору ключів ("методом грубої сили") займе не менше сотні років, що робить таку атаку безглуздою. У США використовується аналогічний блоковий шифр AES.

В Інтернеті популярний алгоритм RSA, названий так за початковими літерами прізвищ його авторів - Р.Райвеста (R.Rivest), А.Шаміра (A.Shamir) та ЛАдлемана (L.Adleman). Це алгоритм із відкритим ключем, стійкість якого заснована на використанні властивостей простих чисел. Для його злому потрібно розкласти дуже велику кількість на прості співмножники. Це завдання зараз вміють вирішувати лише перебором варіантів. Оскільки кількість варіантів величезна, розкриття шифру потрібно багато років роботи сучасних комп'ютерів.

Для застосування алгоритмуRSA потрібно побудувати відкритий та секретний ключі наступним чином.

1. Вибрати два великі прості числа, р і q.
2. Знайти їх добуток n = p * q і значення f = (р – 1) (q – 1)
3. Вибрати число e (1< e < k), которое не имеет общих делителей с f.
4. Знайти число d, яке відповідає умові d e = k f + 1 для деякого цілого k
5. Пара значень (e, n) – це відкритий ключ RSA (його можна вільно публікувати), а пара (d, n) – це секретний ключ.

Надіслане повідомлення потрібно спочатку подати у вигляді послідовності чисел в інтервалі від 0 до n - 1. Для шифрування використовують формулу y = х e mod n, де х - число вихідного повідомлення, (e, n) - відкритий ключ, y - число закодованого повідомлення , а запис х e mod n означає залишок від розподілу х на n. Розшифровка повідомлення виконується за такою формулою х = y d mod n.
Це означає, що зашифрувати повідомлення може кожен (відкритий ключ загальновідомий), а прочитати його лише той, хто знає секретний показник ступеня d.
Для кращого розуміння ми покажемо роботу алгоритму RSA на прикладі.
ПРИКЛАД:Візьмемо р = 3 і q = 7, тоді знаходимо n = р q = 21 і f = (р – 1) (q – 1) = 12. Виберемо e = 5, тоді рівність d e = доf + 1 виконується, наприклад, при d = 17 (ік = 7). Таким чином, ми отримали відкритий ключ (5, 21) та секретний ключ (17, 21).

Зашифруємо повідомлення “123” за допомогою відкритого ключа (5,21). Отримуємо

1 1 5 mod 21 = 1 ,
2 2 5 mod21 = 11 ,

3 → 3 5 mod 21 = 12,
тобто зашифроване повідомлення складається з чисел 1 ,11і 12. Знаючи секретний ключ (17, 21), можна його розшифрувати:

1 → 1 17 mod 21 = 1 ,

11 → 11 17 mod 21 = 2 ,
12 → 12 17 mod 21 = 3 .

Ми отримали вихідне повідомлення.

Звичайно, ви помітили, що при шифруванні та розшифровці доводиться обчислювати залишок від поділу дуже великих чисел (наприклад, 1217) на n. Виявляється, саме число 1217 у цьому випадку знаходити не потрібно. Досить записати в звичайну цілісну змінну, наприклад х, одиницю, а потім 17 разів виконати перетворення х = 12 * х mod 21. Після цього в змінній х буде значення 12 17 mod 21 = 3. Спробуйте довести правильність цього алгоритму.
Щоб розшифрувати повідомлення, потрібно знати секретний показник ступеня d. А для цього, у свою чергу, потрібно знайти співмножники р і q, що n = р q. Якщо n велике, це дуже складне завдання, її вирішення перебором варіантів на сучасному комп'ютері триватиме сотні років. У 2009 році група вчених із різних країн у результаті багатомісячних розрахунків на сотнях комп'ютерів змогла розшифрувати повідомлення, зашифроване алгоритмом RSA із 768-бітним ключем. Тому зараз надійними вважаються ключі з довжиною 1024 біти та більше. Якщо буде побудований працюючий квантовий комп'ютер, зламування алгоритму RSA буде можливе за дуже невеликий час.
Використовуючи симетричні шифри, завжди виникає проблема: як передати ключ, якщо канал зв'язку ненадійний? Адже, отримавши ключ, ворог зможе розшифрувати всі подальші повідомлення. Для алгоритму RSA цієї проблеми немає, сторонам достатньо обмінятись відкритими ключами, які можна показувати всім охочим.
У алгоритму RSA є ще одна перевага: його можна використовувати для цифрового підпису повідомлень. Вона служить для доказу авторства документів, захисту повідомлень від підробки та навмисних змін.

Цифровий підпис – це набір символів, отриманий в результаті шифрування повідомлення за допомогою особистого секретного коду відправника.

Відправник може передати разом із вихідним повідомленням таке саме повідомлення, зашифроване за допомогою свого секретного ключа (це і є цифровий підпис). Отримувач розшифровує цифровий підпис за допомогою відкритого ключа. Якщо вона співпала із незашифрованим повідомленням, можна бути впевненим, що його відправила та людина, яка знає секретний код. Якщо повідомлення було змінено під час надсилання, воно не співпадає з розшифрованим цифровим підписом. Оскільки повідомлення може бути дуже довгим, для скорочення обсягу даних, що передаються, найчастіше шифрується не все повідомлення, а тільки його хеш-код.
Багато сучасних програмах є можливість шифрувати дані з паролем. Наприклад, офісні пакети OpenOffice.orgі Microsoft Officeдозволяють шифрувати всі документи, що створюються (для їх перегляду та/або зміни потрібно ввести пароль). При створенні архіву (наприклад, в архіваторах 7Zip, WinRAR, WinZip) також можна встановити пароль, без якого витягти файли неможливо.
У найпростіших завданнях для шифрування файлів можна використовувати безкоштовну програму Шифрувальник(http://www.familytree.ru/ru/cipher.htm), версії якої існують для Linuxі Windows. Програми TnieCrypt(http://www.truecrypt.org/), BestCrypt(www. jetico.com) та FreeOTFE(freeotfe.org) створюють логічні диски-контейнери, інформація на яких шифрується. Вільно розповсюджувана програма DiskCrypto r (diskcryptor.net) дозволяє шифрувати розділи жорстких дисків і навіть створювати шифровані флеш-диски та CD/DVD-диски.
Програма GnuPG(gnupg.org) також стосується вільного програмного забезпечення. У ній підтримуються симетричні та несиметричні шифри, а також різні алгоритми електронного цифрового підпису.

Стеганографія

Відео YouTube

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


Стеганографія - це наука про приховану передачу інформації шляхом приховання самого факту передачі.

Давньогрецький історик Геродот описував, наприклад, такий метод: на голену рабу раба записувалося повідомлення, а коли його волосся відростало, він вирушав до одержувача, який голив його голову і читав повідомлення.
Класичний метод стеганографії - симпатичні (невидимі) чорнила, які виявляються лише за певних умов (нагрів, освітлення, хіічний проявник). Наприклад, текст, написаний молоком, можна прочитати під час нагрівання.
Зараз стеганографія займається прихованням інформації в текстових, графічних, звукових та відеофайлах за допомогою програмного "впровадження" в них потрібних повідомлень.
Найпростіший спосіб – замінювати молодші біти файлу, в якому закодовано зображення. Причому це потрібно зробити так, щоб різниця між вихідним та отриманим малюнками була невідчутною для людини. Наприклад, якщо чорно-білому малюнку (256 відтінків сірого) яскравість кожного пікселя кодується 8 бітами. Якщо поміняти 1-2 молодших біти цього коду, "вбудувавши" туди текстове повідомлення, фотографія, в якій немає чітких меж, майже не зміниться. При заміні 1 біт кожен байт вихідного текстового повідомлення зберігається в молодших бітах кодів 8 пікселів. Наприклад, нехай перші 8 пікселів малюнка мають такі коди:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

Щоб закодувати в них код літери "І" (110010002), потрібно змінити молодші біти кодів:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

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

людиною на слух. Можлива заміна одного фрагмента звуку на інший.
Для підтвердження авторства та охорони авторських прав на зображення, відео та звукові файли застосовують цифрові водяні знаки – впроваджену у файл інформацію про автора. Вони отримали свою назву від старих водяних знаків на грошах та документах. Щоб встановити авторство фотографії, достатньо розшифрувати приховану інформацію, записану за допомогою водяного знака.
Іноді цифрові водяні знаки роблять видимими (текст чи логотип компанії на фотографії чи кожному кадрі відеофільму). На багатьох сайтах, що займаються продажем цифрових фотографій, видимі водяні знаки розміщені на фотографіях, призначених для перегляду.


Контрольні питання:
  1. Який алгоритм шифрування прийнятий у Росії як державний стандарт?
  2. Що таке блоковий алгоритм шифрування?
  3. Якого типу належить алгоритм RSA? На чому ґрунтується його криптостійкість?
  4. Що таке цифровий підпис?
  5. Як можна використовувати алгоритм RSA для цифрового підпису?
  6. Що таке стеганографія?
  7. Які методи стеганографії існували до винаходу комп'ютерів?
  8. Як можна додати текст до закодованого зображення?
  9. На чому ґрунтуються методи стеганографії для звукових та відеоданих?
  10. Що таке цифрові водяні знаки? Для чого вони використовуються?

Завдання:

1.Переглянути матеріал лекції та відповісти на контрольні питання.
2. Пройдіть посилання та ознайомтеся з програмами для шифрування файлів.
3. Зашифруйте будь-який документ у будь-якому з офісних пакетів OpenOffice.orgабо Microsoft Officeі надішліть мені .

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

Перші шифри використовувалися ще за часів Стародавнього Риму, Стародавнього Єгипту та Стародавньої Греції. Одним із відомих шифрів є шифр Цезаря. Цей алгоритм працював так: кожна літера має свій порядковий номер в алфавіті, який зрушувався на $3$ значення вліво. Сьогодні такий алгоритм не забезпечує той захист, який давав за часів його використання.

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

Поділяють алгоритми шифрування на симетричні(до них відносяться AES, CAST, ГОСТ, DES, Blowfish) та асиметричні(RSA, El-Gamal).

Симетричні алгоритми

Примітка 1

Симетричними алгоритмами шифрування використовується той самий ключ для шифрування та дешифрування інформації.

При надсиланні зашифрованої інформації необхідно передавати і ключ для дешифрування. Слабким місцем такого способу є канал передачі даних. У разі його незахищеності або можливості прослуховування, ключ для дешифрування може стати доступним зловмиснику.

Асиметричні алгоритми

Примітка 2

Асиметричними алгоритмами використовують два ключі – один для шифрування, інший – для дешифрування.

Кожен користувач повинен мати пару ключів - відкритий і секретний ключ.

Ключ шифрування

Визначення 1

Ключ шифруванняє випадковою або спеціальним чином створеною послідовністю біт, яка є змінним параметром алгоритму шифрування.

При шифруванні тих самих даних одним алгоритмом, але з використанням різних ключів, результати виходять різні.

Програми для шифрування (WinRAR, Rohos і т.д.) створюють ключ пароля, що задається користувачем.

Ключ шифрування може бути різної довжини, що вимірюється в бітах. У разі збільшення довжини ключа підвищується теоретична стійкість шифру. Фактично це не завжди так.

Стійкість алгоритму шифрування

Примітка 3

Алгоритм шифрування вважається стійким доти, доки не доведено протилежне.

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

Алгоритм AES (Rijndael)зараз є федеральним стандартом шифрування США. Як стандарт затверджений Міністерством торгівлі в $ 2001 $ р. Стандартом вважається варіант шифру з розміром блоку $ 128 $ біт. Розроблений у $1997$ у Бельгії. Можливими розмірами ключа є ключі $128, 192 $ та $256 $ біт.

Алгоритм ГОСТ 28147-8є стандартом Російської Федерації на шифрування та імітозахист даних. Офіційним стандартом став у $1989$ р. Розроблений у $1970$-х роках. у Головному Управлінні КДБ СРСР. Використовує ключ розміром $256$ біт.

Алгоритм Blowfishвикористовує складну схему створення ключів, що ускладнює атаку на алгоритм методом перебору. Непридатний для використання в системах частої зміни ключа та шифрування невеликих за обсягом даних. Алгоритм найкраще використовуватиме систем, у яких існує необхідність шифрування великих масивів даних. Розроблений у $1993$ р. Використовується розмір ключа від $32$ до $448$ біт.

Алгоритм DESбув Федеральним стандартом шифрування США у $1977-2001$ роках. Федеральним стандартом прийнято в $1977 $ р. після введення в дію нового стандарту в $2001 $ р. втратив статус стандарту. Розроблений у $1972–1975$. дослідницької лабораторії корпорації IBM. Використовує ключ розміром $56$ біт.

Алгоритм CASTє певним чином аналогом алгоритму DES. Використовує ключі розміром $128$ та $256$ біт.



Завантаження...
Top