Засіб для захисту з використанням електронно-цифрового підпису
Дослідження методів захисту за допомогою електронно-цифрового підпису. Цілісність підписаного документа та ключі від модифікацій. Порівняльна характеристика алгоритмів, які засновані на еліптичних кривих. Розробка програмного засобу для шифрування.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 13.11.2016 |
Размер файла | 838,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Вінницький національний технічний університет
Факультет інформаційних технологій та комп'ютерної інженерії
Курсовий проект
Засіб для захисту з використанням електронно-цифрового підпису
Виконав:
Шулятицькій О.О.
Зміст
програмний шифрування електронний підпис
Вступ
1. Дослідження методів захисту за допомогою електронно-цифрового підпису
1.1 Властивості і призначення електронно-цифрового підпису
1.2 Стандарти електронно-цифрового підпису
1.3 Обґрунтування вибору алгоритму для реалізації
2. Розробка програмного засобу для шифрування за допомогою ЕЦП
2.1 Задача, мета та вимоги до програмного засобу
2.2 Обґрунтування вибору програмних засобів
2.3 Розробка загальної схеми роботи програми
3. Тестування розробленого засобу
3.1 Робота програми при коректному використанні
3.2 Робота програми при некоректному використанні
Висновки
Перелік використаних джерел
Додатки
Вступ
Розвиток глобальних комунікацій в діловому і повсякденному житті призвів до появи нової області взаємовідносин, предметом яких є електронний обмін даними. У такому обміні даними можуть брати участь органи державної влади, комерційні і некомерційні організації, а також громадяни в своїх офіційних і особистих стосунках. Проблема збереження електронних документів від копіювання, модифікації і підробки вимагає для свого вирішення специфічних засобів і методів захисту. Одним з поширених в світі засобів такого захисту є електронно-цифровий підпис (ЕЦП), який за допомогою спеціального програмного забезпечення підтверджує достовірність інформації документу, його реквізитів і факту підписання конкретною особою. Як відомо, електронний підпис - це дані в електронній формі, які додаються до інших електронних даних або логічно з ними пов'язані та призначені для ідентифікації того хто підписує ці дані.
Електронно-цифровий підпис накладається за допомогою особистого ключа та перевіряється за допомогою відкритого ключа. Існує закон України «Про електронно-цифровий підпис», який визначає правовий статус електронно-цифрового підпису і регулює відносини, що виникають при використанні електронно-цифрового підпису. Програма електронного документообігу з використанням електронно-цифровий підпис на сьогодні активно впроваджується в державних установах і органах державної влади, що істотно розширює можливості застосування ЕЦП і розвиток електронного документообігу в Україні. Закон «Про електронні документи та електронний документообіг», відповідно до статті 5 електронний документ - це документ, інформація в якому зафіксована у вигляді електронних даних, включаючи обов'язкові реквізити документа.
Обов'язковим реквізитом електронного документа є обов'язкові дані в електронному документі, без яких він не може бути підставою для його обліку і не матиме юридичної сили. Електронний підпис є обов'язковим реквізитом електронного документа, який використовується для ідентифікації автора та/або підписувача електронного документа іншими суб'єктами електронного документообігу. Накладанням електронного підпису завершується створення електронного документа.
Метою курсового проекту є дослідити накладання електронно-цифрового підпису на файли, а саме текстові документи.
Для досягнення поставленої мети слід вирішити наступні задачі:
визначити сутність і ознаки електронно-цифрового підпису;
визначити переваги використання електронно-цифрового підпису;
дослідити можливості використання електронно-цифрового підпису;
визначити проблеми вдосконалення електронно-цифрового підпису;
розробити систему захисту файлів за допомогою електронно-цифрового підпису.
Результатом курсового проекту буде програмний засіб, що дозволить захищати текстові файли будь-якого розміру електронно-цифровим підписом.
1. Дослідження методів захисту за допомогою електронно-цифрового підпису
1.1 Властивості і призначення електронно-цифрового підпису
Електронно-цифровий підпис - вид електронного підпису, отриманого за результатом криптографічного перетворення набору електронних даних, який додається до цього набору або логічно з ним поєднується і дає змогу підтвердити його цілісність та ідентифікувати підписувача. Електронно-цифровий підпис накладається за допомогою особистого ключа та перевіряється за допомогою відкритого ключа. Електронно-цифровий підпис функціонально аналогічний звичайному рукописному підпису на папері і володіє всіма його основними перевагами:
засвідчує, що підписаний документ надходить від особи, що його підписала;
гарантує цілісність підписаного документа (захист від модифікацій);
не дає можливості особі, що підписала документ, відмовитися від зобов'язань, пов'язаних з підписаним документом.
Закони України прирівнюють за юридичною силою електронні документи, підписані ЕЦП, до документів з власноручним підписом або печаткою, а також створюють правову основу для застосування електронно-цифрового підпису і здійснення юридично значущих дій шляхом електронного документообігу. Безпека використання ЕЦП забезпечується тим, що засоби, які використовуються для роботи з ЕЦП, проходять експертизу та сертифікацію в Департаменті спеціальних телекомунікаційних систем СБУ, що гарантує неможливість злому і підробки ЕЦП.
Переваги використання ЕЦП є те, що застосування ЕЦП дозволяє значно скоротити час руху документів в процесі оформлення звітів і обміну документацією. Документи, підписані ЕЦП, передаються через інтернет або локальну мережу протягом декількох секунд. Всі учасники електронного обміну документами дістають рівні можливості, незалежно від їх віддаленості один від одного.
Використання ЕЦП дозволяє:
замінити при без паперовому документообігу традиційні печатку та підпис;
удосконалити і здешевити процедуру підготовки, доставки, обліку і зберігання документів, гарантувати достовірність документації;
значно скоротити час руху документів, прискорити і полегшити процес візування одного документа декількома особами;
використовувати одні і ті ж засоби ЕЦП при обміні інформацією зі всіма міністерствами, відомствами, адміністраціями на території України;
побудувати корпоративну систему обміну електронними документами;
забезпечити цілісність - гарантію того, що інформація зараз існує в її початковому вигляді, тобто при її зберіганні або передачі не було проведено несанкціонованих змін;
мінімізувати ризик фінансових втрат за рахунок забезпечення конфіденційності інформаційного обміну документами (при використанні функції шифрування).
Цифровий підпис призначений для автентифікації особи, яка підписала електронний документ. Крім цього, використання цифрового підпису дозволяє здійснити:
контроль цілісності переданого документа: при будь-якому випадковому або навмисному зміну документа підпис стане недійсним, тому що обчислена вона на підставі вихідного стану документа і відповідає лише йому;
захист від змін (підроблення) документа: гарантія виявлення підробки при контролі цілісності робить підроблюють недоцільним у більшості випадків;
неможливість відмови від авторства. Оскільки, створити коректний підпис можна, лише знаючи закритий ключ, а він повинен бути відомим тільки власнику, то власник не може відмовитися від свого підпису під документом;
доказове підтвердження авторства документа. Оскільки, створити коректний підпис можна, лише знаючи закритий ключ, а він повинен бути відомим тільки власнику, то власник пари ключів може довести своє авторство підпису під документом. Залежно від деталей визначення документа можуть бути підписані такі поля, як «автор», «внесені зміни», «мітка часу» і т. д.
Отже, підпис призначений для автентифікації підписувача інформації. ЕЦП ряд переваг над рукописним підписом, але юридично вони однаково діють, однією із важливих переваг це те, що ЕЦП дозволяє значно скоротити час руху документів, що є на сьогодні важливим фактором, і в майбутньому підписаний документ може передаватися через мережу.
1.2 Стандарти електронно-цифрового підпису
Американські стандарти електронно-цифрового підпису: DSA, ECDSA
Алгоритм DSA (Digital Signature Algorithm) - криптографічний алгоритм з використанням відкритого ключа для створення електронного підпису, але не для шифрування (на відміну від RSA і схеми Ель-Гамаля). Підпис створюється таємно, але може бути публічно перевірена. Це означає, що тільки один суб'єкт може створити підпис повідомлення, але будь-хто може перевірити її коректність.
Алгоритм DSA ґрунтується на двох обчислювальний завданнях, пов'язаних з дискретним логарифмування. Однією завданням є складність обчислення логарифма в Z * р, інше завдання - складність логарифмування в циклічної підгрупі порядку q. Алгоритм є окремим випадком цифрового підпису Ель-Гамаля (ElGamal) і був представлений як стандарт FIPS PUB 186-94 (DSS).В даному алгоритмі пропонується використовувати просте р розміром від 512 до 1024 біт. Розмір в 512 біт забезпечує мінімальну захищеність. Рекомендований розмір - не менше 768 біт. Згідно FIPS 186, алгоритм не допускає простих чисел більше 1024 біт. Зовсім не обов'язково існування унікальних р і q для кожного користувача алгоритму. FIPS допускає використання р, q і в якості системних параметрів для групи користувачів. Однак для підвищення безпеки роботи краще використовувати унікальні значення.
Алгоритм ECDSA (Elliptic Curve Digital Signature Algorithm) - це алгоритм з відкритим ключем для створення цифрового підпису, за аналогічний своєю будовою DSA, але певний, на відміну від нього, не над полем цілих чисел, а в групі точок еліптичної кривої. Алгоритм ECDSA (Elliptic Curve DSA) є аналогом алгоритму цифрового підпису DSA (Digital Signature Algorithm), реалізованим за допомогою еліптичних груп. Розглянемо еліптичну групу EM (a, b) і генеруючу точку G з порядком q, причому q просте число.
Особлива перевага криптосистем на еліптичних кривих полягає в тому, що в порівнянні з системами на основі алгоритму RSA вони забезпечують більш високу стійкість при рівній трудомісткості або, навпаки, істотно меншу трудомісткість при рівній стійкості. В результаті той рівень стійкості, який досягається в RSA при використанні 1024-бітних модулів, в системах на еліптичних кривих реалізується при розмірі модуля 160 біт, що забезпечує більш просту як програмну, так і апаратну реалізацію.
Російські стандарти електронного цифрового підпису: ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2001.
ГОСТ Р 34.10-2012 (повна назва: «ГОСТ Р 34.10-2012 Інформаційна технологія Криптографічний захист інформації Процеси формування та перевірки електронного цифрового підпису») - російський стандарт, що описує алгоритми формування та перевірки електронного цифрового підпису. Прийнятий і введений в дію Наказом Федерального агентства з технічного регулювання і метрології від 7 серпня 2012 № 215-ст замість ГОСТ Р 34.10-2001. До ГОСТ Р 34.10-2001 діяв стандарт ГОСТ Р 34.10-94.
ГОСТ Р 34.10-2012 і ГОСТ Р 34.10-2001 засновані на еліптичних кривих. Стійкість цих алгоритмів ґрунтується на складності обчислення дискретного логарифма в групі точок еліптичної кривої, а також на стійкості хеш-функції. Для ГОСТ Р 34.10-2012 використовується хеш-функція по ГОСТ Р 34.11-2012. Для ГОСТ Р 34.10-2001 - ГОСТ Р 34.11-94.
Стандарт ГОСТ Р 34.10-2012 використовує ту ж схему формування електронного цифрового підпису, що і ГОСТ Р 34.10-2001. Новий стандарт відрізняється наявністю додаткового варіанту параметрів схем (відповідного довжині секретного ключа порядку 512 біт) і вимогою використання функцій хешування ГОСТ Р 34.11-2012: перший варіант вимог до параметрів (такий же, як в ГОСТ Р 34.10-2001, відповідний довжині секретного ключа порядку 256 біт) передбачає використання хеш-функції з довжиною хеш-коду 256 біт, додатковий варіант вимог до параметрів передбачає використання хеш-функції з довжиною хеш-коду 512 біт.
Даний алгоритм не описує механізм генерації параметрів, необхідних для формування підпису, а тільки визначає, яким чином на підставі таких параметрів отримати цифровий підпис. Механізм генерації параметрів визначається на місці в залежності від розроблюваної системи.
Український стандарт електронно-цифрового підпису: ДСТУ 4145-2002.
Алгоритм ДСТУ 4145-2002 - український стандарт, що описує алгоритми формування та перевірки електронного цифрового підпису. Прийнятий і введений в дію в 2002 році. Алгоритм заснований на еліптичних кривих над полем 2. У стандарті використовуються криві в поліноміальному базисі і криві в оптимальному нормальному базисі. Причому останні (ОНБ) двох різних типів: другого і третього типу. Основою для розробки даного стандарту став міжнародний стандарт «IEEE P1363a». Принциповою відмінністю «ДСТУ 4145-2002» є використання своєї функції хешування - алгоритму «ГОСТ 34.311-95» (раніше використовувався «ГОСТ 28147-89» в режимі імітовставки).
Стандарт PKCS#1 описує, зокрема, схему електронного цифрового підпису на основі алгоритму RSA.
PKCS - це специфікації, вироблені RSA Laboratories у співпраці з розробниками систем безпеки всього світу з метою прискорення розробки криптографії з відкритим ключем. Внесок з серії PKCS став частиною багатьох формальних і де-факто стандартів, включаючи документи ANSI X9, PKIX, SET, S / MIME і SSL.PKCS#1 -RSA Cryptography Standard - Базові принципи роботи з ключами.
RSA (від прізвищ Rivest, Shamir і Adleman) - криптографічний алгоритм з відкритим ключем, який базується на обчислювальної складності задачі факторизації великих цілих чисел. Криптосистема RSA стала першою системою, придатною і для шифрування, і для цифрового підпису. Алгоритм використовується у великій кількості криптографічних додатків, включаючи PGP, S / MIME, TLS / SSL, IPSEC / IKE і інших. Система RSA використовується для захисту програмного забезпечення та в схемах цифрового підпису. Також вона використовується у відкритій системі шифрування PGP та інших системах шифрування в поєднанні з симетричними алгоритмами.
Через низьку швидкість шифрування (близько 30 кбіт / с при 512 бітному ключі на процесорі 2 ГГц), повідомлення зазвичай шифрують за допомогою більш продуктивних симетричних алгоритмів з випадковим сеансовим ключем (наприклад, AES, IDEA, Serpent, Twofish), а за допомогою RSA шифрують лише цей ключ, таким чином реалізується гібридна криптосистема. Такий механізм має потенційно вразливі місця через необхідність використовувати криптографічно стійкий генератор псевдовипадкових чисел для формування випадкового сеансового ключа симетричного шифрування.
1.3 Обґрунтування вибору алгоритму для реалізації
Оскільки головною метою для створення електронно-цифрового підпису забезпечення безпеки модифікації інформації, а це можливе при стійкому алгоритму ЕЦП, тому розглядаються порівняльна характеристика тільки алгоритмів, які засновані на еліптичних кривих - DSA і ECDSA.
ECDSA є дуже привабливим алгоритмом для реалізації ЕЦП. Найважливішою перевагою ECDSA є можливість його роботи на значно менших полях . Як, загалом, з криптографією еліптичної кривої, передбачається, що бітовий розмір відкритого ключа, який буде необхідний для ECDSA, дорівнює подвійному розміру секретного ключа в бітах. Для порівняння, при рівні безпеки в 80 біт (тобто атакуючому необхідно приблизно версій підписи для знаходження секретного ключа), розмір відкритого ключа DSA дорівнює, принаймні, 1024 біт, тоді як відкритого ключа ECDSA - 160 біт. Але іншого боку розмір підпису однаковий і для DSA, і для ECDSA: 4t біт, де t - рівень безпеки, який вимірюється в бітах, тобто - приблизно 320 біт для рівня безпеки в 80 біт.
Таблиця 1. Порівняння криптографічної стійкості ECDSA і DSA відносно довжини ключа
№ |
ECDSA (sizeof n inbits) |
DSA (modulussizeinbits) |
|
1 |
112 |
512 |
|
2 |
160 |
1024 |
|
3 |
224 |
2048 |
|
4 |
256 |
3072 |
|
5 |
384 |
7680 |
|
6 |
512 |
15360 |
В таблиці 1 наведено порівняння рекомендацій щодо довжини ключа для ECDSA, яка повинна забезпечувати достатню криптографічну стійкість. Прослідковується така закономірність: чим раніше розроблено рекомендації, тим меншу мінімальну довжину ключа пропонують на майбутні роки. Дане джерело рекомендує не використовувати ключі цифрового підпису розміром 160 бітів після 2010 року. Це дає змогу зробити висновок, що розмір ключа втрачає свою криптографічну стійкість раніше, ніж передбачено в різноманітних розрахунках, і вже у наш час є актуальним розроблення методів і засобів для збільшення розрядності полів Галуа для українського стандарту. Отже, найкращим варіантом, з точки зору стійкості, для реалізації електронно-цифрового підпису є алгоритм DSA, який і буде обрано.
2. Розробка програмного засобу для шифрування за допомогою ЕЦП
2.1 Задача, мета та вимоги до програмного засобу
Для досягнення поставленої мети слід вирішити наступні задачі:
визначити сутність і ознаки електронно-цифрового підпису;
визначити переваги використання електронно-цифрового підпису;
дослідити можливості використання електронно-цифрового підпису;
визначити проблеми вдосконалення електронно-цифрового підпису;
розробити систему захисту файлів за допомогою електронно-цифрового підпису.
Результатом курсового проекту буде програмний засіб, що дозволить захищати текстові файли довільного розміру електронно-цифровим підписом.
Задачею курсового проекту є створення засобу захисту файлів від модифікації шляхом накладання ЕЦП. Потрібно розробити програмний засіб, що забезпечує захист тексту будь-якого розміру шляхом накладання ЕЦП. Крім того, програма може зберігати хеш-значення та сам підпис в окремому файлі. При модифікації тексту, який був підписаний ЕЦП, з'являється вікно з помилкою, що текст не відповідає цифровому підпису.
Метою курсового проекту, що розробляється, є розробка робочої програми для захисту файлів, а саме текстових документів шляхом накладання ЕЦП.
Для виконання поставленої мети необхідно передбачити такі вимоги:
розробити загальну схему функціонування програми;
розробити схему функціонування захисту;
підготувати алгоритм шифрування файлів;
протестувати програму на правильність роботи;
розробити інструкцію до програми.
2.2 Обґрунтування вибору програмних засобів
Реалізація поставленої задачі, а саме розробка програмного засобу для захисту файлів, а саме текстових документів, шляхом накладання ЕЦП, буде проводитись за допомогою мови програмування С#.Є велика кількість мов програмування такі як Java, C++, Delphi, Basicі т. д. Але оскільки, у курсовому проекті використовується багато логіки, робота з файлами, тощо, то буде використовуватись мова програмування саме C#.
C# - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Мовою C# дуже легко реалізувати простий, зрозумілий користувацький інтерфейс, просто обробляти різні події та об'єкти вікна, та не складно розбиратися в коді програми. На цій мові є можливість підключення великої кількості бібліотек, які потрібні для реалізації завдання курсового проекту.
C# розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#. CLR надає C#, як і всім іншим. NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.
Програма повинна запускатись на різних комп'ютерах з різними параметрами, бути зручною у використанні і швидкою у виконанні, тому була обрана саме ця мова для її реалізації. Існує багато середовищ розробки. В якості середовища розробки обрано Visual Studio 2012. VisualStudio- це повний набір інструментів і служб для створення різних додатків як для платформи Microsoft, такі для інших платформ, а також зручним інтерфейсом. Перевагою даного середовища є те, що він містить багато стандартних бібліотек для розробки повноцінних додатків, а також має розвинений інструментарій для побудови інтерфейсної частини програми, що надає змогу не відволікати увагу розробника на дрібниці. Програмний додаток будується під платформу Windows. Повинен працювати на Windows 7 та Windows 8.
2.3 Розробка загальної схеми роботи програми
Кожний програмний засіб є зручний тоді коли розроблений зрозумілий інтерфейс. Передбачається, що інтерфейс програми не буде перевантажений зайвими елементами керування. Після запуску програми, відразу ж з'являється головне вікно програми, в якому є 4 кнопки та 4 поля для файлів. Для початку треба обрати файл натиснути кнопку «Відкрити файл», тобто текст, який треба підписати. Потім натиснути кнопку «Підписати», для того щоб згенерувалось хеш-функція і цифровий підпис. Потім при перевірці тексту, якщо текст не був модифікований при натисканні кнопки «Перевірити» відобразиться вікно з повідомленням про те, що текст відповідає цифровому підпису, в противному випадку з'явиться вікно з помилкою про те, що текст не відповідає цифровому підпису.
Рисунок 1. Вигляд головного вікна програми
При натисканні кнопки «Зберегти», в окремому документі збережеться хеш-значення і сам ЕЦП підписаного документу, в тій дерикторії де відкривався файл. При натисканні кнопки «Підписати», без вибору документу, з'явиться вікно з помилкою про те, що треба заповнити поле текст. Також при натисканні кнопки «Перевірити» з'явиться вікно з текстом про те, що треба підписати текст цифровим підписом. Загальна схема функціонування програмного засобу показана на рисунку 2.
Рисунок 2. Загальна схема функціонування програми
Як бачимо на схемі присутні декілька блоків, які потребують детального розгляду. Для початку буде розглянуто загальний алгоритм роботи DSA
Загальний алгоритм роботи DSA.
Оскільки було обрано алгоритм шифрування DSA, який являється більш стійким далі буде розкрита суть алгоритму. Алгоритм DSA (Digital Signature Algorithm) - алгоритм з використанням відкритого ключа для створення електронного підпису. Для побудови системи цифрового підпису потрібно виконати наступні кроки:
Крок 1. Вибір криптографічної хеш-функції H(x).
Важливою характеристикою цієї функції є бітова довжина вихідної послідовності, що позначається далі N (160 для функції SHA-1). У першій версії стандарту DSS рекомендована функція SHA-1 і, відповідно, бітова довжина підписуваного числа 160 біт.
Крок 2. Вибір великого простого числа q, розмірність якого N в бітах співпадає з розмірністю в бітах значень хеш-функції H(x).
Крок 3. Вибір простого числа p, такого, що (p-1) ділиться на q. Бітова довжина p позначається L ().
Крок 4. Вибір числа g такого, що його мультипликативний порядок по модулю p рівний q. Для його обчислення можна скористатися формулою
g=,
де h - деяке довільне число,h? (1; p-1) таке, що g?1. В більшості випадків значення h = 2 задовольняє цій вимозі.
Відкритий і секретний ключі:
Секретний ключ є числом x? (0,q).
Відкритий ключ обчислюється за формулою
y=modp.
Відкритими параметрами є числа (p, q, g, у). Закритий параметр тільки один - число x. При цьому числа (p, q, g) можуть бути загальними для групи користувачів, а числа x і у є відповідно закритим і відкритим ключами конкретного користувача. При підписанні повідомлення використовуються секретні числа x і к, причому число к повинно вибиратися випадковим чином (на практиці псевдовипадковим) при підписці кожного наступного повідомлення. Оскільки (p, q, g) можуть бути використані для декількох користувачів, на практиці часто ділять користувачів по деяких критеріях на групи з однаковими (p, q, g). Тому ці параметри називають доменними параметрами (Domain Parameters).
Підпис повідомлення виконується по наступному алгоритму:
1) Вибір випадкового числа k? (0,q).
2) Обчислення r = (modp) modq.
3) Обчислення s = .
4) Вибір іншого до, якщо виявилось, що r=0 або s=0.
Підписом є пара чисел (r, s), загальна довжина підпису 2*N.
Перевірка підпису виконується по алгоритму:
1) Обчислення w = modq.
2) Обчислення u1 = H(m) * w.
3) Обчислення u2 = r * wmodq.
4) Обчислення v = (((g)u1 (r)u2) modp) modq.
Схематичне представлення алгоритму представлене на рисунку 3.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 3. Генерація ЕЦП Перевірка ЕЦП
Оскільки розглянуто загальний алгоритм роботи DSA, наступним кроком буде розкрита суть кожного блоку загальної схеми функціонування програми.
Використання DSA для отримання хеш-значення.
Першим блоком є генерування хеш-функції та ЕЦП. Алгоритм SHA(Secure Hash Algorithm-1) - це алгоритм криптографічного хешування. Для вхідного повідомлення довільної довжини (максимум -1 біт, що приблизно дорівнює 2 екса-байта) алгоритм генерує 160-бітове хеш-значення, зване також дайджестом повідомлення. Використовується в багатьох криптографічних додатках і протоколах. SHA-1 реалізує хеш-функцію, побудовану на ідеї функції стиснення. Входами функції стиснення є блок повідомлення довжиною 512 біт і вихід попереднього блоку повідомлення. Вихід є значення всіх хеш-блоків до цього моменту. Іншими словами хеш блоку Mi дорівнює hi = f (Mi,hi-1). Хеш-значенням всього повідомлення є вихід останнього блоку.
Ініціалізація алгоритму SHA-1 реалізується наступним чином. Оригінал тексту розбивається на блоки по 512 біт в кожному (рис. 4). Останній блок доповнюється до довжини, кратної 512 біт. Спочатку додається 1 (біт), а потім нулі, щоб довжина блоку стала рівною (512 - 64 = 448) біт.
Рисунок 4. Одна ітерація алгоритму SHA-1
В останні 64 біта записується довжина вихідного повідомлення в бітах (в little-endian форматі). Якщо останній блок має довжину понад 448, але менше 512 біт, то додаток виконується в такий спосіб: спочатку додається 1 (біт), потім нулі аж до кінця 512-бітного блоку; після цього створюється ще один 512-бітний блок, який заповнюється аж до 448 біт нулями, після чого в що залишилися 64 біта записується довжина вихідного повідомлення в бітах (в little-endian форматі). Доповнення останнього блоку здійснюється завжди, навіть якщо повідомлення вже має потрібну довжину. У програмі хеш-функція SHA-1 реалізується за допомогою готового класу визначення хеш-функції SHA1CryptoServiceProvider таким чином, повний код програми представлений в додатку Б:
SHA1Crypto Service Provider SHA1 alg = new SHA1 Crypto Service Provider(); //Обчислює значення хешу
//System.Security.Cryptography.SHA1 для вхідних даних
//за допомогою реалізації, представленим постачальником
// служб шифрування
Hashed Data = SHA1alg.Compute Hash (data To Sign);
//Обчислює хеш-значення для заданого масиву байтів
String Builders Builder = new String Builder ();
//Представляє змінний рядок символом
Таким чином і реалізується отримання хеш-значення. Наступним буде отримання ЕЦП та реалізація його в програмному засобу.
Отримання електронно-цифрового підпису.
Реалізація в коді програми ЕЦПвиконується наступним чином. Алгоритм DSA використовується однією стороною для генерації підпису даних, на інший для перевірки справжності особи, яка підписує. Підпис генерується за допомогою закритого ключа. Будь-яка сторона може перевірити справжність цифрового підпису за допомогою відкритого ключа. Відкритий ключ посилається разом з підписаними даними. Відкритий і закритий ключі не збігаються. При генерації підпису для отримання стислої версії даних використовується хеш-функція. Отримані дані обробляються за допомогою DSA для отримання цифрового підпису. Для перевірки підпису використовується та ж хеш-функція. Підписання даних представлено на рисунку 5.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 5. Підписання даних
DSA використовує параметри, які описані вище: цілі p, q і g можуть бути відкритими і можуть бути загальними для групи людей. x і y є закритим і відкритим ключами, відповідно. Параметри x і k використовуються тільки для генерації підпису та повинні триматися в секреті. Параметр k різний для кожного підпису. Підписом повідомлення M є пара чисел r і s, SHA (M) - 160-бітна бінарна рядок.
Якщо r = 0 або s = 0, має бути створене нове k і обчислений новий підпис.
Якщо підпис обчислився правильно, ймовірність того, що r = 0 або s = 0 дуже мала. Підпис разом з повідомленням пересилається одержувачу.
У програмі генерування ЕЦП виглядає таким чином:
DSA Crypto Service Provider DSA alg = new DSA Crypto Service Provider();
string OID = Crypto Config. Map Name To OID ("SHA1");
signed Data = DSA alg. Sign Hash(hashed Data, OID);
String Builder sBuilder1 = new String Builder();
Тобто, існує спеціальний клас для створення ЕЦП алгоритмом DSA, який звертається до функції хешування, що була реалізована раніше та генерує ЕЦП, тобто послідовність знаків Юнікоду. Sign Hash - обраховує підпис для заданого хеш-значення шляхом зашифрування його за допомогою закритого ключа.
Перевірка початкового документу з отриманим.
Наступним процесом є порівняння початкового документу з отриманим. Числа p, q, q і відкритий ключ знаходяться у відкритому доступі. Нехай M', r' і s' - отримані версії M, r і s відповідно, і нехай y - відкритий ключ. При перевірці підпису спочатку потрібно подивитися, чи виконуються наступні нерівності:
0 < r' <q та0 < s' <q
Якщо хоча б одну нерівність не виконано, підпис повинний бути відкинутий. Якщо умови нерівностей виконані, виконуються такі обчислення:
w = modq
u1 = ((SHA(M')w) mod q)
u2 = ((r')w) modq
v = (((g)u1 (r)u2) modp) modq.
Якщо v = r', то справжність підпису підтверджена. Якщо v ? r', то повідомлення могло бути змінено, повідомлення могло бути неправильно підписано або повідомлення могло бути підписано шахраєм. В цьому випадку отримані дані слід розглядати як пошкоджені. Перевірка даних представлена на рисунку 6.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 6. Перевірка даних
У програмі реалізація перевірки модифікації тексту реалізується наступним чином:
SHA1Crypto Service Provider SHA1 alg = new SHA1Crypto Service Provider ();
Byte [] hashed Data New = SHA1alg.ComputeHash (data To Sign);
DSA Crypto Service Provider DSA alg = New DSA Crypto Service Provider();
string OID = Crypto Config. Map Name To OID ("SHA1");
signed Data = DSA alg. Sign Hash (hashed Data New, OID);
if (DSA alg. Verify Signature (hashed Data, signed Data))
У перших двох рядках вираховується хеш-значення для заданого масива байтів. У наступних двох рядках відбувається обрахування підпису для заданого хеш-значення шляхом зашифрування його за допомогою закритого ключа. А сама функція Verify Signature (hashed Data, signed Data) з двома даними хеш-значення і підпису безпосередньо перевіряє підпис для вказаних даних.
Реалізація зчитування тексту з файлу та збереження SHAта ЕЦП.
Для початку роботи з програмою необхідно відкрити файл для виконання читання та внесення в нього змін або ввести інформацію вручну в текстове поле. Приклад зчитування тексту з файлу:
Stream Reader filearray = New Stream Reader (openFileDialog1.FileName,
Encoding. Get Encoding ("windows-1251"));
a.stringarray = filearray.Read To End ().Split(a.razdelitel);
Отже, тепер є можливість виконувати будь-які модифікації з текстом, після того як він відкрився у текстовому полі. Правильним є вибір підписати текст. Наступний блок, реалізація збереження безпосередньо самого SHAта ЕЦП. Для того щоб в майбутньому перевірити чи був модифікований початковий документ чи ні. Приклад збереження SHAта ЕЦП в окремому документі:
saveFile Dialog1.Filter = "Текстовый документ (*.txt)|*.txt|Все файлы (*.*)|*.*";
Filter - повертає або задає поточний рядок фільтру імен файлів, яка визначає варіанти, доступні в полі «Сохранить как тип файлов» або «Файлы типа» діалогового вікна. Таким чином виконується відкриття, підписання, збереження та перевірка файлу програми.
В даному розділі здійснювалась розробка програмного засобу, шляхом накладання електронно-цифрового підпису на текстовий документ. В результаті компілювання і налагодження програмного засобу отримано виконуваний файл Kursova_ZPZ.exe. Необхідно перевірити коректність його роботи і ефективність захисту за допомогою електронно-цифрового підпису, тому тепер можна приступити до тестування програмного засобу, на скільки правильно працює програма.
3. Тестування розробленого засобу
3.1 Робота програми при коректному використанні
При запуску програми відображається єдине і головне вікно програми (див. рис. 7). На головному вікні розміщено 4 текстових поля та 4 кнопки. При виборі кнопки «Відкрити» з'являється вікно (рис. 8) для вибору файлу. Обрати можна тільки один файл і тільки формату .txt.
Рисунок 7. Вибір файлу для відкриття
Обравши файл Документ.txt, натискаємо «Открыть» і у головному вікні програми, відкривається підписуваний файл.
Рисунок 8. Вигляд вікна відкритого документу
Далі перейдемо до безпосереднього накладання підпису відкритого документу. Для цього натискаємо кнопку «Підписати», результат натискання представлений на рисунку 9.
Рисунок 9. Вигляд вікна при натисканні кнопки «Підписати»
Отже, згенерувалося хеш-значення та сам ЕЦП, вони містять по 40 символів у кожному полі, які не повторюються, хеш-значення для даного документу не зміниться при повторному натисканні на кнопку «Підписати», на відміну від ЕЦП, який змінюється стільки разів скільки буде здійснюватися натискання на кнопку, але при цьому ніколи не буде повторюватись. При натисканні кнопки «Зберегти» з'являється вікно, де вказуємо назву файлу «Реквізити підпису» та розміщення самого файлу. Результат представлений на рисунку 10.
Рисунок 10. Вигляд вікна збереження файлу
Наступний етап - це перевірка початкового та отриманого документів. Для цього вводимо отриманий документ в текстове поле та натискаємо кнопку «Перевірити». Результатом успішної перевірки з'явиться вікно з текстом про те, що текст відповідає цифровому підпису.
Рисунок 11. Вигляд успішної перевірки документу
Тестування програмного засобу показало, що програма працює коректно, тобто виконує всі функції правильно.
3.2 Робота програми при некоректному використанні
При некоректному використанні дана програма видає повідомлення, які допомагають зорієнтуватися, якщо працювати з програмою перший раз. Для прикладу, якщо не відкрити документ і не ввести у текстове поле повідомлення, але натиснути кнопку «Підписати» з'явиться повідомлення про те, що треба заповнити текстове поле (рис. 12).
Рисунок 12. Вигляд вікна повідомлення про необхідність заповнення текстом
Також, якщо не згенеровано ЕЦП, і натиснути кнопку «Перевірити», з'явиться вікно з повідомленням про необхідність спочатку підписати цифровим підписом. Результат виконання некоректного спрацювання команди представлено на рисунку 13.
Рисунок 13. Вигляд вікна про попередження, що потрібно підписати ЕЦП
Далі, якщо все робити правильно, тобто вибрати документ формату .txt, завантажити його в програму, підписати ЕЦП, але при перевірці цей документ модифікувати, навіть мінімально поставити пробіл, з'явиться вікно, яке представлене на рисунку 14.
Рисунок 14. Вигляд вікна програми, яке говорить про те, що текст не відповідає цифровому підпису
Отже, протестувавши програму, можна зробити висновок, що програма працює правильно, та навіть при некоректному використанні програма забезпечує допоміжні повідомлення, які допоможуть зорієнтуватися в програмі для коректного використання та правильного накладання ЕЦП.
Висновки
В курсовому проекті було проаналізовано сучасні стандарти, за якими реалізують ЕЦП, порівняно алгоритми реалізації ЕЦП та вибрано більш стійкий, обґрунтовано вибір алгоритму DSA. Під час реалізації курсового проекту були сформовані вимоги до програмного засобу та обрано мову С# для його реалізації. При розробці було реалізовано функції для хешування, підписання та перевірки ЕЦП. Також була додана функції для збереження та відкриття файлу. Під час тестування та аналізу правильності роботи програми у виконанні її функцій проблем не виникло. Програма правильно підписувала та перевіряла файли, також програма реагувала при неспівпаданні документів виданням діалогових вікон з повідомленням про помилку.
Недоліком програмного засобу є те, що при накладанні підпису на документ реквізити підпису, що зберігаються в окремому текстовому документі, дійсні до тих пір поки програма не завершила роботу. Результатом виконання курсового проекту є програмний засіб, що дозволяє захищати текстові файли довільного розміру електронно-цифровим підписом. Таким чином, розроблений програмний продукт може бути використаний, як засіб захисту текстових файлів.
Перелік використаних джерел
1. Закон України «Про електронний цифровий підпис» 2003 р. № 852-ІV зі змінами та доповненнями -[Електронний ресурс] - Режим доступу - http://zakon0.rada.gov.ua/laws/show/852-15.
2. Закон України «Про електронні документи та електронний документообіг» 2003 р. № 851-IV зі змінами та доповненнями. [Електронний ресурс] - Режим доступу - http://zakon3.rada.gov.ua/laws/show/851-15.
3. Алгоритм DSA - [Електронний ресурс] - Режим доступу -http://life-prog.ru/view_teorinfo.php?id=13.
4. Алгоритм ЕЦП на основі еліптичних кривих ECDSA. [Електронний ресурс] - Режим доступу -http://wincrypt.chat.ru/dsa.htm
5. ГОСТ_Р_34.10-2012- [Електронний ресурс] - Режим доступу -https://ru.wikipedia.org/wiki/ГОСТ_Р_34.10-2012.
6. Алгоритм ДСТУ 4145-2002- [Електронний ресурс] - Режим доступу -http://gostshifr.url.ph.
7. Алгоритм RSA - [Електронний ресурс] - Режим доступу -https://ru.wikipedia.org/wiki/RSA.
8. Recommendation for Key Management // Special Publication 800-56 Part 1 Rev. 3, NIST, 05/2007.
9. C# мова програмування - [Електронний ресурс] - Режим доступу -https://uk.wikipedia.org/wiki/C_Sharp.
10. Алгоритм функціювання хеш-функції SHA-1- [Електронний ресурс] - Режим доступу - https://ru.wikipedia.org/wiki/SHA-1.
Додаток А
1. Назва та область використання.
Програмний засіб для забезпечення захисту текстових файлів шляхом накладання електронно-цифрового підпису.
2. Основа для розробки.
Основою для розробки є індивідуальне завдання на курсове проектування (рішення кафедри ЗІ від 25.01.16, протокол № 1).
3. Мета та призначення розробки.
Підвищення ефективності захисту інформації шляхом накладання електронно-цифрового підпису.
4. Джерела розробки.
Закон України «Про електронний цифровий підпис» 2003 р. № 852-ІV зізмінами та доповненнями - [Електронний ресурс] - Режим доступу - http://zakon0.rada.gov.ua/laws/show/852-15.
Закон України «Про електронні документи та електронний документообіг» 2003 р. № 851-IV зі змінами та доповненнями. [Електронний ресурс] - Режим доступу - http://zakon3.rada.gov.ua/laws/show/851-15.
Алгоритм DSA - [Електронний ресурс] - Режим доступу - http://life-prog.ru/view_teorinfo.php?id=13.
Алгоритм ЕЦП на основі еліптичних кривих ECDSA- [Електронний ресурс] - Режим доступу - http://wincrypt.chat.ru/dsa.htm.
5. Вимоги до програми.
Параметри розроблюваної системи захисту:
механізм захисту - навісний;
об'єкт захисту - файли файлової системи;
середовище функціонування - ОС Windows;
програмні засоби - C#.
Програма повинна працювати без помилок:
надавати змогу підписувати текст будь-якого розміру;
давати змогу відкрити документ потрібного формату;
надавати змогу зберегти реквізити ЕЦП для подальшого його перевірки.
Мінімальні вимоги до апаратного забезпечення:
Процесор Intel (R) Pentium (R) 3558U @ 1,70GHz 1,70 GHz;
Оперативна пам'ять 1,00 ГБ;
монітор з розширенням 2048 x 1536 пікселів;
середовище функціонування - ОС сімейства Windows.
Програма повинна мати зручний графічний інтерфейс користувача.
6. Вимоги до програмної документації.
Графічна і текстова документація повинна відповідати діючим стандартам України.
Розробка повинна супроводжуватись інструкціями для користування програмою під час експлуатації, здійснення захисту програми.
7. Стадії та етапи розробки.
Робота по темі виконується в чотири етапи.
Етап |
Зміст |
Початок |
Закінчення |
Результат |
|
1 |
Аналіз літературних джерел, опис алгоритму захисту. Оцінка стійкості алгоритму. |
25.01.2016 |
01.02.2016 |
Розділ звіту. Перелік джерел. Технічне завдання |
|
2 |
Розробка функціональної схем спеціалізованого засобу та опис його роботи. Оцінка апаратних витрат. |
01.02.2016 |
22.02.2016 |
Чернетки розділу звіту, додатки у вигляді схем алгоритмів |
|
3 |
Розробка програмної моделі. Підбір програмних засобів для реалізації завдання. Створення початкового варіанту програми, проведення тестувань на предмет коректності роботи |
22.02.2016 |
28.03.2016 |
Макет програми. Основні функції, шаблон, інтерфейсу. Розділ звіту |
|
4 |
Створення кінцевого варіанту програми, тестування на ефективність захисту, розробка інструкцій по роботі з програмою |
28.03.2016 |
25.04.2016 |
Діюча програма і остаточний звіт. |
8. Порядок контролю та прийому.
До прийому і захисту курсового проекту подається:
заключний звіт (пояснювальна записка);
робоча програма;
графічний матеріал;
інструкції по роботі з програмою.
Початок розробки.
Крайній термін виконання курсового проекту.
Розробила студентка групи 2БС-13б Шулятицька О.О.
Додаток Б
Лістинг програмиKursova_ZPZ.exe
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Security.Cryptography;
using System.IO;
namespaceKursova_ZPZ
public partial class Form1 : Form
public Form1()
InitializeComponent();
byte[] dataToSign;
byte[] hashedData;
byte[] signedData;
public class Massiv
public string[] stringarray;
public string array;
public double[] massivfile;
public char razdelitel = ' ';
Massiv a = new Massiv();
ASCIIEncodingByteConverter = new ASCIIEncoding();
private void button1_Click(object sender, EventArgs e)
{ //Підписатидокумент
if (richTextBox1.Text != "")
dataToSign = ByteConverter.GetBytes(richTextBox1.Text);
SHA1CryptoServiceProvider SHA1alg = new SHA1CryptoServiceProvider();
hashedData = SHA1alg.ComputeHash(dataToSign);
StringBuildersBuilder = new StringBuilder();
for (int i = 0; i <hashedData.Length; i++)
sBuilder.Append(hashedData[i].ToString("x2"));
textBox1.Text = sBuilder.ToString();
DSACryptoServiceProviderDSAalg = new DSACryptoServiceProvider();
string OID = CryptoConfig.MapNameToOID("SHA1");
signedData = DSAalg.SignHash(hashedData, OID);
StringBuilder sBuilder1 = new StringBuilder();
for (int i = 0; i <signedData.Length; i++)
sBuilder1.Append(signedData[i].ToString("x2"));
textBox2.Text = sBuilder1.ToString().Substring(0, 40);
textBox3.Text = sBuilder1.ToString().Substring(39, 40);
elseMessageBox.Show("Заповнітьполетекстом");
private void button2_Click(object sender, EventArgs e)
{ // Перевірити
if (richTextBox1.Text != "")
dataToSign = ByteConverter.GetBytes(richTextBox1.Text);
SHA1CryptoServiceProvider SHA1alg = new SHA1CryptoServiceProvider();
byte[] hashedDataNew = SHA1alg.ComputeHash(dataToSign);
DSACryptoServiceProviderDSAalg = new DSACryptoServiceProvider();
string OID = CryptoConfig.MapNameToOID("SHA1");
signedData = DSAalg.SignHash(hashedDataNew, OID);
if (DSAalg.VerifySignature(hashedData, signedData))
MessageBox.Show("Текствідповідаєцифровомупідпису.");
else
MessageBox.Show("Текстневідповідаєцифровомупідпису.");
elseMessageBox.Show("Підпишітьтекстцифровимпідписом");
private void button3_Click(object sender, EventArgs e)
{ //Відкритифайл
int i;
try
if (openFileDialog1.ShowDialog() == DialogResult.OK)
StreamReaderfilearray = new StreamReader(openFileDialog1.FileName,Encoding.GetEncoding("windows-1251"));
a.stringarray = filearray.ReadToEnd().Split(a.razdelitel);
for (i = 0; i <a.stringarray.Length; i++)
richTextBox1.Text += " " + Convert.ToString(a.stringarray[i]);
i = a.stringarray.Length;
a.massivfile = new double[i];
for (i = 0; i <a.stringarray.Length; i++)
a.massivfile[i] = Convert.ToDouble(a.stringarray[i]);
catch (Exception ex)
{ MessageBox.Show(ex.Message); }
private void button4_Click(object sender, EventArgs e)
{ //Зберегтифайл
saveFileDialog1.Filter = "Текстовыйдокумент (*.txt)|*.txt|Всефайлы (*.*)|*.*";
try
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
StreamWriterfilearray = new StreamWriter(saveFileDialog1.FileName);
filearray.WriteLine(textBox1.Text);
filearray.WriteLine(textBox2.Text);
filearray.WriteLine(textBox3.Text);
filearray.Close();
catch (Exception ex)
{ MessageBox.Show(ex.Message); }
Додаток В
Інструкція з технічного обслуговування.
Вступ.
Інструкція призначена для роз'яснення роботи програмним продуктом, що реалізує захист текстових документів шляхом накладання ЕЦП.
Загальні вказівки.
Для роботи необхідно запустити програму Kursova_ZPZ.exe та ввести дані або відкрити відповідний документ.
Вимоги до технічних засобів.
Мінімальний склад технічних засобів, потрібних для роботи програми:
процесор Pentium 600MHz;
оперативну пам'ять не менше 256 Mb;
500 Мб вільного місця на жорсткому диску;
ОС Windows XP/ 7;
монітор з розширенням 800 x 600;
клавіатура.
Опис функцій.
Програмний продукт призначений для захисту текстових файлів.
Додаток Г
Інструкція системного програміста.
Програмний додаток є специфічною програмою, яка надає можливість забезпечити захист текстових документів шляхом накладання ЕЦП. Реалізована програма перевіряє початковий документ і отриманий чи не було здійснено модифікацій.
Програмний засіб має єдине вікно, яке і є головним, також на вікні програми зображено чотири текстових поля та чотири кнопки. Першим кроком виконання програми є відкриття файлу, який буде підписуватись, або його можна ввести вручну. Другим кроком потрібно підписати відкритий документ, це можна здійснити натиснувши кнопку «Підписати». Наступним кроком є збереження реквізитів ЕЦП, тобто в при натисканні кнопки «Зберегти», користувач зберігає хеш-значення та ЕЦП в окремому документі. Останнім кроком є перевірка документу на наявність модифікацій. Тобто знову необхідно повторити перший крок, необхідно відкрити бажаний документ, ввести реквізити ЕЦП, тобто хеш-значення і сам ЕЦП та натиснути кнопку «Перевірити», перевірка буде супроводжуватись повідомленням про відповідність чи не відповідність документа ЕЦП.
Додаток Д
Інструкція програміста.
Програмний засіб призначений для забезпечення захисту текстових документів шляхом накладання ЕЦП. Для роботи з програмою необхідно мати саму програму та текстовий документ, який буде підписуватись.
Щоб працювати з програмним засобом потрібен комп'ютер з ОС сімейства Windowsта текстовий документ, який буде підписутись. Інтерфейс програми дуже простий, що полегшує роботу з нею. При не дотримання послідовності дій використання програми, з'являються повідомлення про помилку.
Додаток Е
Схема даних програми
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Схема функціонування програми
№ |
Формат |
Позначення |
Найменування |
Кіл. арк. |
№ екз. |
Примітка |
|
1 |
4 |
08-20.ЗПЗ.016.05.205 ПЗ |
Пояснювальна записка |
29 |
|||
2 |
4 |
08-20.ЗПЗ.016.05.205 ТЗ |
Технічне завдання |
3 |
|||
3 |
4 |
08-20.ЗПЗ.016.05.205 ГМ |
Схема даних програми |
1 |
|||
4 |
4 |
08-20.ЗПЗ.016.05.205 ГМ |
Загальна схема функціювання програми |
1 |
|||
5 |
4 |
08-20.ЗПЗ.016.05.205 ГМ |
Схема функціювання програми |
1 |
Размещено на Allbest.ru
...Подобные документы
Застосування криптографічного захисту інформації від випадкової чи навмисної її модифікації, поняття цілісності інформації та ресурсів. Розповсюдженням електронного документообігу, застосування цифрового підпису, характеристика методів шифрування.
курсовая работа [140,9 K], добавлен 01.03.2012Електронний цифровий підпис із відновленням повідомлення. Генерування асиметричної ключової пари. Формування попереднього підпису. Цифровий підпис Ніберга-Рюпеля в групі точок еліптичних кривих. Стійкість до колізій відновлюваної частини повідомлення.
курсовая работа [3,4 M], добавлен 29.06.2011Основи електронного юридично значимого документообігу в процесі створення цифрового підпису. Використання схеми криптографічних ключів. Створення сертифіката з локальною генерацією ключової пари. Асиметричні алгоритми шифрування. Криптосистема Ель-Гамаля.
дипломная работа [414,9 K], добавлен 12.01.2016Основи безпеки даних в комп'ютерних системах. Розробка програми для забезпечення захисту інформації від несанкціонованого доступу: шифрування та дешифрування даних за допомогою криптографічних алгоритмів RSA та DES. Проблеми і перспективи криптографії.
дипломная работа [823,1 K], добавлен 11.01.2011Основні поняття, складові, призначення та правова база електронно-цифрового підпису. Вимоги до нього, переваги використання. Алгоритми побудови ЕЦП. Характеристика моделей атак та їх можливі результати. Підписування електронних документів різних форм.
курсовая работа [42,4 K], добавлен 16.03.2015Криптографія – математичні методи забезпечення інформаційної безпеки та захисту конфіденційності. Огляд існуючих методів пошуку нових алгоритмів шифрування. Розробка системи оцінки ефективності криптографічних систем. Найпоширеніші методи шифрування.
дипломная работа [1,2 M], добавлен 13.06.2015Задачі інформаційних систем криптографічного захисту інформації. Принципи шифрування даних на основі використання хеш-функцій. Розробка програмних компонентів інформаційних систем криптографічного захисту інформації. Види криптографічних алгоритмів.
курсовая работа [2,7 M], добавлен 23.01.2012Розробка криптопротоколу двосторонньої автентифікації з використанням цифрового підпису і випадкових чисел. Розрахунок технічних характеристик: часу реалізації криптопротоколу, складності апаратури для обчислень і ємності пам'яті для роботи процесора.
курсовая работа [1,4 M], добавлен 15.02.2012Покращення захисту інформаційно-комунікаційних безпек з точки зору вимоги доступності. Класифікація DoS-атак, розробка моделі методики виявлення DoS-атаки та реалізація відповідного програмного засобу. Захист критичних ресурсів корпоративної мережі.
дипломная работа [932,6 K], добавлен 02.09.2016Дослідження криптографічних методів захисту даних від небажаного доступу. Основи безпеки даних в комп'ютерних системах. Класифікаційні складові загроз безпеки інформації. Характеристика алгоритмів симетричного та асиметричного шифрування інформації.
курсовая работа [245,8 K], добавлен 01.06.2014Історія виникнення та розвиток методів шифрування. Особливості розробки програми, що виконує шифрування за допомогою доповнювального модуля, який надає доступ до самої програми. Вибір ефективного методу шифрування даних. Розробка відповідного інтерфейсу.
курсовая работа [1,9 M], добавлен 21.07.2011Основи технології запису на оптичні диски. Довготривале зберігання інформації на оптичних носіях. Дослідження існуючих програмних і технічних засобів шифрування даних. Можливі рішення проблем і попередження злому. Програмні засоби шифрування даних.
дипломная работа [4,0 M], добавлен 27.01.2012Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією.
дипломная работа [1,1 M], добавлен 19.09.2012Домеханічний період розвитку обчислювальної техніки. Перехід до механічного періоду. Останній період - електронно-обчислювальний. Характеристика поколінь електронно-обчислювальних машин. Комп'ютер - основний технічний засіб інформаційних технологій.
реферат [26,8 K], добавлен 25.05.2015Вивчення особливості програмування додатків на мові C++ Builder. Шифрування повідомлення методом перестановки букв за маршрутами типу гамільтонський. Огляд існуючих аналогів. Розгляд необхідних вимог до конфігурації електронно-обчислювальної машини.
контрольная работа [1,2 M], добавлен 24.07.2014Характеристика видів крипто-аналітичних атак. Особливості симетричних та асиметричних систем шифрування. Розробка програми, призначеної для криптографічного дешифрування повідомлення методом гамування за допомогою лінійного рекурентного регістру.
курсовая работа [171,4 K], добавлен 25.08.2014Алгоритм створення відкритого і секретного ключів. Коректність схеми RSA. Шифрування і створення електронного підпису. Використання китайської теореми про залишки для прискорення розшифрування. Криптоаналіз та атаки на криптографічний алгоритм RSA.
контрольная работа [747,6 K], добавлен 19.11.2014Аналіз вимог до програмного забезпечення. Розробка структури бази даних, що дозволить реалізувати різноманітні операції для створення платіжного доручення. Розробка об’єктної моделі, алгоритмів та структури бази даних. Вибір засобу автоматизації.
курсовая работа [3,2 M], добавлен 30.01.2014Характеристика функціональної структури предметної області програмного комплексу. Розробка архітектури програмної системи. Вибір типу архітектури й зразків проектування. Опис декомпозиції, залежностей та інтерфейсу. Детальне проектування модулів та даних.
курсовая работа [462,2 K], добавлен 19.12.2013Основні теоретичні відомості алгоритмів стиснення зображень: класи зображень та їх представлення в пам'яті, алгоритми та принципи групового кодування. Огляд та аналіз сучасних програмних засобів конвертування. Тестування, опис роботи програмного засобу.
курсовая работа [2,9 M], добавлен 15.03.2014