Розробка проекту програмного шифратора алгоритмічною мовою високого рівня
Основи криптосистем та їх використання. Шифрування методом гамування, його зміст, прийоми та етапи реалізації. Вимоги до програмного продукту, його структура та принципи роботи, схеми алгоритму, вимоги до функціональних можливостей. Лістинг програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 25.08.2014 |
Размер файла | 245,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсовий проект
Розробка проекту програмного шифратора алгоритмічною мовою високого рівня
Вступ
Інформаційна безпека постійна еволюціонує і з кожним роком стає все актуальніша не тільки в державних, а й в комерційних структурах. Державна служба спеціального зв'язку та захисту інформації України забезпечує інформаційну безпеку державних структур України від незаконного втручання зловмисників до баз даних, держаних секретів і т.д. При цьому інформаційна безпека включає в себе не тільки технологічний бік, але й законодавчий. Важливо аби законодавство країни відображало зміни у підходах до захисту інформації у комп'ютерно-інтегрованих системах. Для забезпечення безпеки інформації використовуються криптосистеми, в основі яких полягають криптографічні перетворення - це таке перетворення інформації, яке використовує таємні данні (таємні ключі) відомі тільки визначеному колу осіб. Криптографічні перетворення виконуються за вітчизняними та закордонними стандартами. Нині використовуються стандарти AES, ГОСТ 28147-89, RSA, криптосистеми на базі еліптичної кривої (як альтернатива RSA). Можливо, новим витком у методах інформаційного захисту стане квантова криптографія, хоча навести приклад її успішного практичного застосування не можна, незважаючи на активні дослідження у цій сфері.
Курсовий проект з дисципліни « Алгоритмізація та програмування» має за основну мету підготувати особовий склад курсу до майбутньої роботи в галузях інформаційних технологій та безпеки.
Ця тема курсової роботи дозволяє оволодіти початковими криптографічними навичками та вдосконалити навички програмування на алгоритмічній мові високого рівня, познайомитись з криптографічними системами та їх різновидами.
Ціллю даної курсової роботи є робота з криптографічною системою створеною методом гамування та розробка проекту програмного шифратора, що забезпечує конфеденційность повідомлення М шляхом його крипто перетворення у криптограму Е за допомогою ключових даних К. Ключова послідовність формується за допомогою лінійного рекурентного регістру (ЛРР). Моя робота має 21 елемент пам'яті регістру та зворотній зв'язок на 2, 5, 7 та 13 елементах.
По закінченні роботи програми, у файл повинна бути записана бінарна комбінація, яка представляє собою зашифроване повідомлення. Ця криптографічна програма використовує симетричну систему шифрування.
Даний проект створювався за допомогою вивчення спеціальної літератури по криптографії та літератури по настройці і компіляції програм мовою «С».
1. Основи криптосистем та їх використання
Принцип роботи криптосистеми захисту інформації
Криптографічне перетворення - таке перетворення інформації, котре використовує таємні данні (таємний ключ), відомий тільки окремому кругу осіб
1. На шифратор подається повідомлення М, котре в шифраторі, за допомогою ключа Кш, методом гамування, перетворюється в криптограму Е.
2. В каналі зв'язку криптограма Е піддається спотворенню, за рахунок завад та перехвату, та на приймач приходить спотворена криптограма.
3. З приймача на дешифратор передається криптограма Е', яка в дешифраторі, за допомогою Кдш, дешифрує повідомлення і після дешифрування виходить повідомлення М'.
1.1 Принцип роботи шифратора
1. Повідомлення Мbyte в пристрої Пр. перетворюється в бітову комбінацію Мbit, яка складається з «1» та «0».
2. В пристрої F ключ шифрування Кш перетворюється в гамму Гі (в даному випадку за допомогою ЛРР).
3. В шифраторі гама Гі сумується по модулю два з бітовою комбінацією Мbit та отримаємо криптограму Еbit.
1.2 Основи криптографії
Криптографічне перетворення - це таке перетворення інформації, котре використовує таємні данні (таємний ключ), відомий тільки окремому колу осіб. Ключ - інформація, необхідна для безперешкодного шифрування і дешифрування текстів.
Шифруванням даних - називається процес перетворення відкритих даних на зашифровані з допомогою шифру.
Дешифруванням даних - процес перетворення закритих даних на відкриті з допомогою шифру
Математична модель криптосистеми
Еі=Mі Гі;
Mі'=Eі' Гі'.
Системи шифрування поділяються на:
1. Симетричні системи - це системи, в яких ключ шифрування дорівнює ключу дешифрування (Кш = Кдш) (далі п. 1.6);
2. Асиметричні системи або системи з відкритим ключем - це системи, в яких ключ шифрування не дорівнює ключу дешифрування (КшКдш) (далі п. 1.7).
Перші системи шифрування використовуються в державних структурах, так як вони вважаються найбільш надійними. Другі системи використовуються в комерційних структурах. Ці системи менш стійкі до крипто-аналізу.
Криптоаналіз - це наука, котра дозволяє із перехопленої криптограми Е добувати інформацію М без знання ключа. Іншими словами, криптоаналіз - це злом криптографічного алгоритму або системи, хоча цей термін має і строго технічні значення.
1.3 Криптоаналітичні атаки
Криптоаналітична атака - це спроба реалізації загрози інформації з використанням методів криптографічного аналізу.
На схемі 1 представлені найбільш відомі криптоаналітичні атаки, вживані до синхронних потокових шифрів.
Класифікація крипто аналітичних атак
До аналітичних атак відносять атаки, в яких алгоритм побудови атаки заснований на аналітичних принципах розтину крипто-схеми.
Клас аналітичних атак можна розбити на два підкласи:
* методи крипто-аналізу гамми, що шифрує;
* методи крипто-аналізу процедури ключової ініціалізації і реініцiалiзацiї.
Через специфіку принципів побудови потокових шифрів основним видом атак на дані схеми в першому підкласі є кореляційні атаки, основна ідея яких полягає в знаходженні кореляції між гаммою, що шифрує і різними лінійними комбінаціями ключа (регістра зрушення). Як об'єкт дослідження кореляційної атаки розглядають нелінійну функцію, що вносить не лінійність до вихідної послідовності регістра зрушення. Особливістю даних атак є те, що успішний крипто-аналіз може бути проведений і без наявності знань про вид нелінійної функції.
Всі аналітичні атаки відбуваються при допущенні, що криптоаналітику відомий опис генератора (створюючи поліноми, вид нелінійного перетворення), він володіє відкритим і відповідним йому закритим текстом. Атаки даного класу еквівалентні атакам по відомому відкритому тексту. Завданням крипто аналітика є визначення вживаного ключа (початкового заповнення). Для забезпечення безпеки від атак використовують деяку комбінацію з чотирьох різних криптографічних послуг. Ці послуги:
*Перевірка користувача - введенням шляху в оперативну транзакцію, користувач підтверджує, що це саме він.
*Ідентифікація Початку координат Даних - забезпечення джерела повідомлення.
*Цілісність Даних - забезпечення збереження даних неправомочними сторонами.
*Чи не відмова - одержувач транзакції здатна демонструвати нейтральному третій особі, що потрібний передавач дійсно посилав транзакцію. [Сайт «kriptograf.ru»]
1.4 Вимоги для сучасних криптографічних систем захисту інформації
*Зашифроване повідомлення повинно піддаватися читання тільки при наявності ключа;
* Кількість операцій, необхідних для визначення використаного ключа шифрування за фрагментом шифрованого повідомлення і відповідного йому відкритого тексту, має бути не менше загального числа можливих ключів;
* Кількість операцій, необхідних для розшифрування інформації шляхом перебору всіляких ключів повинно мати строгу нижню оцінку і виходити за межі можливостей сучасних комп'ютерів (з урахуванням можливості використання мережевих обчислень);
* Знання алгоритму шифрування не повинно впливати на надійність захисту,
* Незначна зміна ключа повинно приводити до істотної зміни виду зашифрованого повідомлення навіть при використанні одного і того ж ключа;
* Структурні елементи алгоритму шифрування повинні бути незмінними;
* Додаткові біти, що вводяться в повідомлення в процесі шифрування, повинен бути повністю та надійно сховані в зашифрованому тексті;
* Довжина шифрованого тексту повинна бути рівною довжині вихідного тексту;
* Не повинно бути простих і легко встановлюваних залежністю між ключами, послідовно що використовуються в процесі шифрування;
* Будь-який ключ з безлічі можливих повинен забезпечувати надійний захист інформації;
* Алгоритм повинен допускати як програмну, так і апаратну реалізацію, при цьому зміна довжини ключа не повинно вести до якісного погіршення алгоритму шифрування.
1.5 Симетричні системи шифрування
Симетричні системи - це системи шифрування, в яких ключ шифрування дорівнює ключу дешифрування Кш=Кдш. Ключ - інформація, необхідна для безперешкодного шифрування і дешифрування текстів. Симетричні системи найбільш стійкі до крипто аналізу, тому-що у цих системах використовуються один ключ, яким шифрується і дешифрується повідомлення. Не знаючи ключа не можливо прочитати зашифроване повідомлення. Кожен користувач повинен довіряти іншому, щоб не оприлюднювати загальний ключ третій особі. Ці системи ефективно зашифруйте велику кількість даних, однак, вони висловлюють істотні ключові проблеми управління в мережах більше ніж у маленькому числі користувачів, і зазвичай використовуються разом з шифрування з відкритим ключем.
1.6 Асиметричні системи або системи з відкритим ключем
Асиметричні системи або системи з відкритим ключем - це системи шифрування, в яких ключ шифрування не дорівнює ключу дешифрування Кш ?Кдш. Загалом використовуються в комерційних структурах. Для асиметричних систем ставляться дві вимоги:
1. Перетворення вихідного тексту повинно бути незворотним і виключати його відновлення на основі відкритого ключа;
2. Визначення закритого ключа на основі відкритого також повинно бути неможливим на сучасному технологічному рівні. При цьому бажана точна нижня оцінка складності (кількості операцій) розкриття шифру.
Алгоритми шифрування з відкритим ключем одержали широке поширення в сучасних інформаційних системах. Так, алгоритм RSA став світовим стандартом де-факто для відкритих систем і рекомендований МККТТ.
Взагалі ж всі пропоновані сьогодні криптосистеми з відкритим ключем спираються на один з наступних типів незворотних перетворень:
1. Розкладання великих чисел на прості множники.
2. Обчислення логарифма в кінцевому полі.
3. Обчислення коренів алгебраїчних рівнянь.
Тут же слід зазначити, що алгоритми криптосистеми з відкритим ключем (СОК) можна використовувати в двох призначеннях:
1. Як самостійні засоби захисту переданих і збережених даних.
2. Як кошти для розподілу ключів.
Алгоритми СОК більш трудомісткі, ніж традиційні криптосистеми. Тому часто на практиці раціонально за допомогою СОК розподіляти ключі, обсяг яких як інформації незначний. А потім за допомогою звичайних алгоритмів здійснювати обмін великими інформаційними потоками.
Схеми Шифрування з відкритим ключем вимагають, щоб кожна сторона мала ключову пару: секретний ключ, який не повинен бути розкритий іншому користувачеві, і загальний ключ, який може бути доступним у загальному каталозі. Ці два ключі пов'язані жорсткої односторонньою функцією, так що в обчислювальному відношенні нездійсненно визначити секретний ключ від загального ключа. Секретний ключ часто зберігається в програмному забезпеченні з використанням пароля, а проте, секретний ключ повинен ідеально бути збережений в безпечній апаратної лексеми, що запобігає прямий доступ або втручання.
Криптосистеми з ключем загального користування вирішують ключові проблеми управління, пов'язані з симетрично - ключовим кодуванням, а проте, шифрування з відкритим ключем пропонує здатність ефективно здійснити цифрові подання.
Цифрові подання.
Цифрові подання - це електронний еквівалент традиційних рукописних сигнатур. Рукописні сигнатури забезпечують службу безпеки, тому що унікальність почерку особистостей робить сигнатури інтенсивними.
На відміну від почерку індивідуума, електронна інформація проста для дублювання. Якщо електронні сигнатури використовувалися таким же чином як письмові сигнатури, захист легко може бути поставлена під загрозу.
Цифрові подання можуть використовуватися, щоб використовувати три криптографічних послуги: ідентифікацію, відмова і цілісність даних. код з виправленням помилок може використовуватися, щоб генерувати сильні цифрові подання з маленькою кількістю обробки енергії. [Сайт «kriptograf.ru»]
2. Шифрування методом гамування
Гамування - процес накладення за певним законом гами шифру на відкриті дані. Під гамою шифру розуміється псевдовипадкова двійкова послідовність, що виробляється за заданим алгоритмом, для зашифровування відкритих даних і розшифрування зашифрованих даних.
Гамування є також широко застосовуваних криптографічним перетворенням.
Принцип шифрування гамування полягає в генерації гами шифру за допомогою датчика псевдовипадкових чисел і накладення отриманої гами на відкриті дані оборотним чином (наприклад, використовуючи додавання по модулю 2). Процес дешифрування даних зводиться до повторної генерації гами шифру при відомому ключі і накладення такої гами на зашифровані дані.
Отриманий зашифрований текст є досить важким для розкриття в тому випадку, якщо гамма шифру не містить повторюваних бітових послідовностей. По суті справи гамма шифру повинна змінюватися випадковим чином для кожного шифруємого слова. Фактично ж, якщо період гами перевищує довжину всього зашифрованого тексту і невідома ніяка частина вихідного тексту, то шифр можна розкрити тільки прямим перебором (пробою на ключ). Крипостійкість в цьому випадку визначається розміром ключа.
Метод гамування стає безсилим, якщо зловмисникові стає відомий фрагмент початкового тексту і відповідна йому шифрограма. Простим вирахуванням за модулем виходить відрізок ПСП і по ньому відновлюється вся послідовність. Зловмисники може зробити це на основі припущень про зміст вихідного тексту. Так, якщо більшість надісланих повідомлень починається зі слів» СОВ.СЕКРЕТНО», то крипто-аналіз всього тексту значно полегшується. Це слід враховувати при створенні реальних систем інформаційної безпеки.
2.1 Лінійно рекурентний регістр (ЛРР)
ЛРР - це перемикаюча схема, яка призначена для утворення псевдовипадкових послідовностей (рис. 3) і складається із чарунок пам'яті та суматорів за модулем два, об`єднаних зворотніми зв`язками.
Довжиною ЛРР називають число, яке дорівнює кількості елементів пам'яті, що входять до нього. В момент, коли почнуть поступати імпульси тактової частоти від ГТЧ, вихідний символ кожного розряду ЛРР приймає те значення, яке перед цим знаходилось у попередній чарунці пам'яті.
Схема ЛРР
аі - чарунки пам`яті;
hi - зворотні зв'язки;
A - суматори за mod 2;
ГТЧ - генератор тактової частоти (в усіх наступних схемах існування ГТЧ береться до уваги, але не зображується).
Одночасно відбувається додавання вихідних елементів, які знаходяться в тих чарунках пам'яті, котрі з'єднані зворотнім зв'язком з суматорами та результат суми записується в (n-1) чарунку пам'яті. При надходженні наступних імпульсів тактової частоти робота ЛРР проходить аналогічним чином. Лінійний рекурентний регістр (ЛРР) є найбільш простим і поширеним генератором Псевдо Випадковій Двійковій Послідовності (ПСДП). Це малогабаритний, недорогий пристрій, здатний надати багатий вибір породжуваних послідовностей і забезпечити такі вимоги як:
*великий розмір ансамблю послідовностей, що формуються на одній алгоритмічній основі;
*оптимальність кореляційних функцій в ансамблі;
*збалансованість структури;
*максимальність періоду для даної довжини регістра зрушення.
ЛРР є зсувним регістром з лінійними зворотними зв'язками (схема роботи представлена на Схемі 3), в якому вхідний сигнал утворюється в результаті складання по модулю 2 декількох фіксованих розрядів. В результаті утворюється вихідний сигнал у вигляді ПСП «0» і «1». Цей «шум» володіє цікавою властивістю: після події деякого часу, визначуваного довжиною регістра, він в точності повторюється (регістр максимальної довжини n перед повторенням проходить через 2n-1 стан). Тобто утворюються циклічні або кільцеві ПСДП.
Кожному лінійному рекурентному регістру довжиною n розрядів можна зіставити поліном зворотних зв'язків h(x) з двійковими коефіцієнтами.
Якщо поліном h(x) - примітивний, то довжина послідовності, ЛРР, що генерується, максимальна.
Така послідовність називається послідовністю максимальної довжини для зсувного регістра (Maximal Length Shift Register Sequence - MLSRS). Пітерсон і Уелдон показали, що при будь-якому цілому існує n-бітування послідовність MLSRS з періодом. Зокрема, при послідовність матиме період і не повториться років при передачі її по лінії зв'язку із швидкістю 1Мбит/с.
Слід зазначити, що для MLSRS, по-перше, розподіл «1» і «0» близько до рівномірного, наскільки це можливо при проходженні повного циклу (кількість «0» відрізняється від «1» на 1). По-друге, якщо розглянути в одному циклі серії послідовних бітів, то половина серій з «1» довжину 1 ј серій - довжину 2,1/8 - довжину 3 і так далі Ця властивість розповсюджується на серії з «0», с обліком пропущеного. Це говорить про те, що вірогідність появи «1» і «0» не залежить від результату попереднього досвіду. І, по-третє, якщо послідовність повного циклу порівняти з цією ж послідовністю, але циклічно зрушеною на будь-яке число бітів (не рівне нулю або довжині До), то число не спів падань буде на одиницю більше, ніж число збігів. Всі ці властивості послідовності максимальної довжини свідчать про рівномірність розподілу випадкових чисел в цих послідовностях. [ВІТІ НТУУ «КПІ», Збірник праць №2, - Київ, ВІТІ, 2007, c 101-109]
3. Вимоги до програмного продукту
Вимоги розроблено відповідно до п. 20 статті 8 Закону України «Про державне регулювання ринку цінних паперів в Україні», з урахуванням існуючих міжнародних стандартів ISO 9000, ISO 9001, ISO 15022 та державних стандартів України класу 35.80 «Розроблення програмного забезпечення і системна документація».
Ці вимоги поширюються на програмні продукти, які створюються і/або використовуються професійними учасниками ринку цінних паперів та інститутами спільного інвестування при здійсненні професійної діяльності та визначають вимоги до таких програмних продуктів (далі - програмні продукти). Вимоги розповсюджуються на всі програмні продукти, які використовуються для формування електронних форм подання до Державної комісії з цінних паперів та фондового ринку (далі - Комісія) адміністративних даних різних видів та іншої інформації.
Вимоги:
1. Розробка програмного продукту, який призначено для використання на фондовому ринку України, створюється на підставі технічного завдання. Технічне завдання на розробку програмного продукту створюється відповідно до нормативного документа Комісії, яким урегульовані питання, програмна реалізація яких потрібна.
2. Програмний продукт повинен бути створений на ліцензійному програмному забезпеченні (з використанням ліцензійних засобів розробника), якщо це передбачено чинним законодавством.
3. Документація до програмного продукту повинна мати опис процедури резервного копіювання та відновлення інформації баз даних.
4. Механізми захисту інформації, які містить програмний продукт, повинні реалізуватися відповідно до національних нормативно-правових актів захисту інформації або міжнародних стандартів.
4. Схема алгоритму програми
Для правильного та якісного виконання курсової роботи потрібно перш за все скласти алгоритм. В нашому випадку це блок-схема програми шифратора (дешифратора).
Блок-схема складається також для пояснення структури програми. Кожен блок в схемі відповідає окремій дії у програмі. Для зручності в схемі використані слова з самого тексту програми.
Для використання програми необхідно виконати ряд вимог:
1. У папці, в якій міститься програма необхідно створити файл, в якому має зберегтися зашифрований текст;
2. Текст та ключ вводиться з клавіатури;
3. Довжина повідомлення - 30 символів, ключа - 21 символ.
4. Після вводу тексту та ключа, потрібно вказати адресу файлу куди його треба зберігати, наприклад: file.txt, цей файл повинен знаходитись в одній папці.
5. Текст програми
програма шифрування алгоритм гамування
#include<stdio.h>
int i, k, r, ms, u, j;
unsigned char m[30], l[7];
unsigned char bit[7]={0,0,0,0,0,0,0};
unsigned char byte[7]={64,32,16,8,4,2,1};
unsigned char reg[21], key[21];
FILE *fp1;
char f1 [8];
main()
{
clrscr();
/*Ведення даних*/
printf(«=================================»);
printf («\n Programma KODIROVANIA»);
printf («\n=================================\n\n»);
printf («\n Vedite message \n»);
gets(m);
printf («\n Vedite key \n»);
scanf («%s», key);
printf («\n Vvedite kolichestvo simvolov \n»);
scanf («%d»,&u);
printf («\n Vedite name file kuda kodirovat=»);
scanf («%s», f1);
/*===================================*/
for (i=0; i<21; i++)
{
reg[i]=key[i];
}
if((fp1=fopen («f1.txt», «w»))==NULL)
{
printf («\n Nevozmozhno open file \n»);
goto fin;
}
/*Шифратор*/
for (k=0; k<u; k++)
{
r=m[k];
for (i=0; i<7; i++)
{
bit[i]= r & byte[i];
if (bit[i]!=0) bit[i]=1;
l[i]=bit[i]^reg[20];
fprintf (fp1, «%c», l[i]);
/*Генератор гами*/
ms=(reg[2]+reg[5]+reg[7]+reg[13]+reg[20])%2;
for (j=21; j>0; j-)
{
reg[j]=reg [j-1];
ms=reg[0];
}
/*===========================*/
}}
/*============================*/
fin:;
fcloseall();
fflush(stdout);
bioskey();
}
6. Опис роботи програми
Дана програма призначена для криптографічного шифрування повідомлення методом гамування за допомогою лінійного рекурентного регістру. Для коректної роботи програми необхідно у папку, в якій міститься програма необхідно створити файл, в якому має зберегтися зашифроване повідомлення. Потім необхідно запустити програму. На екрані появиться «vvedite SOOBSHЕNIE», на наступному рядку вводимо повідомлення англійською мовою повідомлення, яке складається з 30 символів.
Потім на екрані з'явиться «vvedite kluch». На наступному рядку вводимо будь-яку послідовність «1» та «0». Ця послідовність повинна складатися із 21 символу.
Потім на екрані з'явиться «vvedite kolichestvo bukv», де користувач повинен ввести кількість символів у повідомленні, враховуючи пропуски.
Потім на екрані з'явиться «vvedite kuda kodirovat». На наступному рядку вказуємо адресу файлу у який треба зберегти зашифроване повідомлення, наприклад: «file1.txt».
На цьому робота користувача закінчується. Далі працює машина.
Далі іде цикл ключа та регістру, в якому значення ключа привласнюється значенню регістра.
Далі іде умовний оператор, який перевіряє правильність адреси файлу у який потрібно зберегти зашифроване повідомлення. Якщо адреса не підходить за умовою, то програма за допомогою без умовного оператора зупиняє свою роботу.
Якщо адреса підходить за умовою, то починає працювати цикл, в якому кожний символ повідомлення, переводиться у бітову комбінацію та сумується побітово з ключем регістру по модулю 2 за допомогою лінійного рекурентного регістра. Потім просумуємо за модулем два ключа та просумовану у ЛРР комбінацію. Потім те, що вийшло запишемо у файл. Далі іде цикл зсуву регістру, який з кожним кроком регістр зсувається на одну позицію.
Це усе вищесказане іде стільки разів, скільки введено букв. Далі іде закриття усіх файлів, очистка буферу екрану та затримка екрану.
Після всього цього у вказаному вище текстовому файлі отримаємо комбінацію одиниць та нулів. Коли цю комбінацію відправимо на дешифратор та введемо такий же ключ, то екран виведе зашифроване повідомлення.
Висновки
При виконанні цього курсового проекту було закріплено та поглиблено знання з навчальної дисципліни «Алгоритмізація та програмування». Також під час написання програми було удосконалено навички імперативного програмування алгоритмічною мовою високого рівня, були сформовані практичні навички проектування та дослідження програмного забезпечення інформаційних систем. Під час підготовки даного проекту було відпрацьоване правильне оформлення технічної документації на програмні продукти.
Під час написання курсового проекту було вивчено основи криптографії та криптографічні системи, а саме симетричні системи шифрування - це шифрування, де ключ шифрування повинен бути ідентичним ключу дешифрування, та системи з відкритим ключем або асиметричні - це системи коли кожна сторона мала ключову пару: секретний ключ, який не повинен бути розкритий іншому користувачеві, і загальний ключ, який може бути доступним у загальному каталозі. Ці два ключі пов'язані жорсткої односторонньою функцією, так що в обчислювальному відношенні нездійсненно визначити секретний ключ від загального ключа. Вивчили різновиди крипто-аналітичних атак та засоби захисту від них. Метод гамування, на даний момент, є одним із найпростішим та одним з найефективнішим метод шифрування. Гамування - це процес накладення за певним законом гами шифру на відкриті дані. Під гамою шифру розуміється псевдовипадкова двійкова послідовність, що виробляється за заданим алгоритмом, для зашифровування відкритих даних і розшифрування зашифрованих даних. Режим гамування на лінійному рекурентному регістрі дозволяє гаму, яку накладаємо на повідомлення, змінити так, що без ключа дане повідомлення не прочитати.
Список використаної літератури
1. Рябко Б.Я., Фионов А.Н. Криптографические методы защиты информации. - Москва. - Изд-во Горяч. Линия-Телеком, 2010.
2. Сыпченко Р.П. - «Основы алгоритмизации задач и управления» 2009
3. Фридман «Основы Си»
4. Сайт «wikipedia»
5. ВІТІ НТУУ «КПІ», Збірник праць №2, - Київ, ВІТІ, 2009.
6. Сайт «kriptograf.ru»
Размещено на Allbest.ru
Подобные документы
Характеристика видів крипто-аналітичних атак. Особливості симетричних та асиметричних систем шифрування. Розробка програми, призначеної для криптографічного дешифрування повідомлення методом гамування за допомогою лінійного рекурентного регістру.
курсовая работа [171,4 K], добавлен 25.08.2014Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.
практическая работа [1,8 M], добавлен 05.06.2014Сутність алгоритму розв’язку задачі на оптимізацію конічної передачі. Оптимізація параметрів, підстави до розробки, призначення та вимоги до програмного продукту, вибір моделі його створення. Особливості діаграми прецедентів та умови виконання програми.
курсовая работа [1,6 M], добавлен 12.06.2013Основні показники, які описують підприємство, напрямки та етапи їх аналізу. Будівництво рішення поставленого завдання в С++. Розробка програмного коду та його лістинг. Зміст та структура таблиць Excel. Правила та етапи оформлення отриманих результатів.
контрольная работа [204,5 K], добавлен 26.03.2015Опис методів і алгоритмів вирішення задачі в середовищі розробки Myeclipse. Основні функції програмного продукту, його структура. Розробка алгоритму та програми, інструкція користувачу. Результати тестування, лістинг основних блоків. Вікно головного меню.
курсовая работа [1,8 M], добавлен 24.02.2014Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.
курсовая работа [143,1 K], добавлен 11.03.2021Призначення програмного продукту та вимоги до її функціональних можливостей, вхідних та вихідних даних. Інструкція оператора для роботи з програмою. Діаграми класів, прецедентів та станів. Введення даних в документ Excel і Word. Запис та зчитування з Xml.
курсовая работа [6,8 M], добавлен 25.04.2015Дослідження вбудованого акселерометра, розробка алгоритму автоматичного підрахунку фізичнх вправ і його практична реалізація у вигляді програмного продукту для смартфонів iPhone. Налаштування сервера. Поширення програмного продукту, його тестування.
дипломная работа [2,6 M], добавлен 14.12.2012Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми.
реферат [37,2 K], добавлен 26.10.2004Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми. Оновлення антивірусних баз.
реферат [35,8 K], добавлен 26.10.2004