Програмна реалізація криптографічного захисту файлів

Ознайомлення з видами криптографічного закриття: шифруванням і кодуванням. Визначення властивостей криптографічної геш-функції. Вивчення схеми роботи програми. Розробка коду програми. Вивчення інструкції користувача і вимог до програмного забезпечення.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 14.12.2014
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Національний авіаційний університет

Інститут комп'ютерних інформаційних технологій

Кафедра комп'ютеризованих систем захисту інформації

КУРСОВА РОБОТА

з дисципліни: «Прикладна криптологія»

на тему: «Програмна реалізація криптографічного захисту файлів»

Студента 4 курсу групи 441

інституту комп'ютерних інформаційних технологій

напряму підготовки 6.170101:

«Безпека інформаційно-комунікаційних систем та мереж»

Храпача Романа Юрійовича

Перевірив:

Терейковський Ігор Анатолійович

Київ 2014

Зміст

Вступ

1. Теоретична частина

1.1 Конфіденційність

1.2 Цілісність

1.3 Аутентифікація

1.4 Криптографічні засоби захисту

1.5 Криптосистеми

1.6 Принципи роботи Криптосистеми

2. Практична частина

2.1 Геш-функція

2.2 Алгоритм RSA

2.2.1 Генерування ключів

2.2.2 Шифрування й розшифрування

2.3 Середовище розробки

2.4 Схема роботи програми

2.5 Код програми

Висновки

Список використаної літератури

Додаток

Вступ

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

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

Бажано, щоб методи шифрування мали мінімум двома властивостями:

- Законний одержувач зможе виконати зворотне перетворення і розшифрувати повідомлення;

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

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

1. Основні криптографічні алгоритми.

2. Основи створення програм для шифрування.

1. Теоретична частина

1.1 Конфіденційність

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

Рис. 1 Передача шифрованої інформації

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

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

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

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

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

1.2 Цілісність

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

1.3 Аутентифікація

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

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

1.4 Криптографічні засоби захисту

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

1.5 Криптосистеми

Криптосистема працює за певною методологією (процедурою). Вона складається з:

1. одного або більш алгоритмів шифрування (математичних формул);

2. ключів, використовуваних цими алгоритмами шифрування;

3. системи управління ключами;

4. незашифрованого тексту;

5. зашифрованого тексту (шифртекста).

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

1.6 Принципи роботи криптосистеми

Рис. 2 Обмін інформацією

На рис.2. А і В - законні користувачі захищеної інформації, вони хочуть обмінюватися інформацією по загальнодоступному каналу зв'язку. П - незаконний користувач (супротивник, хакер), який хоче перехоплювати надіслані через з'єднання повідомлення і спробувати витягнути з них цікаву для нього інформацію. Цю просту схему можна вважати моделлю типової ситуації, в якій застосовуються криптографічні методи захисту інформації або просто шифрування. Історично в криптографії закріпилися деякі військові слова (супротивник, атака на шифр і ін.) Вони найбільш точно відображають сенс відповідних криптографічних понять. Разом з тим широко відома військова термінологія, заснована на понятті коду (військово-морські коди, коди Генерального штабу, кодові книги і т. п.), вже не застосовується в теоретичній криптографії. Справа в тому, що за останні десятиліття сформувалася теорія кодування - великий науковий напрям, який розробляє і вивчає методи захисту інформації від випадкових спотворень в каналах зв'язку.

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

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

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

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

2. Практична частина

2.1 Геш-функція

Криптографічна Геш-функція -- це геш-функція, яка є алгоритмом, що приймає довільний блок даних і повертає рядок встановленого розміру, (криптографічне) геш-значення, таке що (випадкові або навмисні) зміни даних (з дуже високою ймовірністю) змінять геш-значення. Дані до кодування часто звуть «повідомлення,» геш-значення іноді називають дайджест повідомлення

Ідеальна криптографічна геш-функція має чотири основні або значимі властивості:

· легкість обчислення геш-значення для будь-якого повідомлення

· нездійсненно утворити повідомлення для заданого геш-значення

· нездійсненно змінити повідомлення без зміни геша

· нездійсненно знайти два різних повідомлення з тим самим гешем

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

2.2 Алгоритм RSA

RSA -- криптографічна система з відкритим ключем.

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

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

2.2.1 Генерування ключів

Для того, щоб згенерувати пари ключів виконуються такі дії:

1. вибираються два великі прості числаі приблизно 512 біт завдовжки кожне

2. обчислюється їх добуток

3. обчислюється функція Ейлера

4. вибирається ціле таке, що та взаємно просте з

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

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

2.2.2 Шифрування й розшифрування

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

.

Число використовується в якості шифротексту. Для розшифрування потрібно обчислити

.

Неважко переконатися, що при розшифруванні ми відновимо вихідне повідомлення:

З умови

випливає, що

для деякого цілого , отже

Згідно з теоремою Ейлера:

,

тому

2.3 Середовище розробки

Borland C++ Builder, сьогодні є найбільш досконалим візуальним середовищем швидкої розробки на Сі++ для Windows. До її складу входить близько200найрізноманітніших компонентів, а створення закінченої програми вимагає мінімуму зусиль. Найближчий конкурент Borland C++Builder- це не система Microsoft Visual C ++, яка побудована за іншою схемою, a Microsoft Visual Basic. Однак ефективність програм, що створюються за допомогою C++ Builder, в десятки разів перевершує швидкодію програм, написаних на MS Visual Basic. Та йпочислувільнихдоступнихкомпонентіврівнихсередовищіC++Builderсьогодніне знайти.

У цієї системи є рідний брат - середовище Borland Delphi, технологія роботи з якої повністю збігається з технологією, прийнятою в С++ Builder. Тільки в Delphi програмний код пишеться не на мові C++, а на мові програмування Паскаль, точніше на його об'єктно-орієнтованій версії Object Pascal. Але найцікавіше, що Borland C++ Builder дозволяє писати програму при бажанні одночасно і на С++, і на Паскалі.

Замість окремого інструментарію, що оперує візуальними елементами управління, в C++Builder інтегрована так звана Палітра компонент, розділена картотечними вкладками на декілька функціональних груп. Функціональні можливості поставляються компонент можна досить просто модифікувати, а також розробляти компоненти, що володіють абсолютного оригінальною поведінкою.

Система містить Бібліотеку з більше 100 повторно використовуваних візуальних компонентів, які перетягуються мишею на форму і відразу стають елементами управління прототипу вашої програми. Крім відомих елементів управління Windows(кнопки, лінійки прокрутки, поля редагування, прості і комбіновані списки і т.д.). Бібліотека містить нові компоненти підтримки діалогів, обслуговування баз даних та багато інших.

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

C++ Builder підтримує основні принципи об'єктно-орієнтованого програмування - інкапсуляцію, поліморфізм і множинне спадкування, а також нововведені специфікації і ключові слова в стандарті мови C++.

C++ Builder забезпечує високу швидкодію при компіляціїі збірці32-розрядних додатківдлясучаснихопераційнихсистемWindows95 і Windows NT, включаючи OLE взаємодія клієнт-сервер. Система навіть відображає час, витрачений на основні етапи побудови програм. Результуючі програми добре оптимізовані за швидкістю виконання і витратами пам'яті. Хоча відлагоджувальний режим низького рівня повністю інтегрований в середовище C++ Builder, до налагодження також довелося звикати. Дизайнер форм, Інспектор об'єктів та інші засоби залишаються доступними під час роботи програми, тому вносити зміни можна в процесі налагодження.

C++ Builder підтримує зв'язок з різними базами даних 3-х видів: dBASEіParadox: Sybase, Oracle, InterBaseіInformix; Excel, Access, FoxProіBtrieve. Механізм BDE (Borland Database Engine) надає обслуговуванню зв'язків з базами даних дивовижну простоту і прозорість. Провідник Database Explorer дозволяє зображувати зв'язку та об'єкти баз даних графічно.

Завдяки засобам управління проектами, двосторонньої інтеграції додатка й синхронізації між засобами візуального й текстового редагування, а також вбудованому відладчику (за семблерним вікном прокрутки, покроковим виконанням, точками зупину, трасуванням і т.п.) - C++ Builder корпорації Borland надає собою вражаюче середовище розробки.

2.4 Схема роботи програми

2.5 Код програми

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include<stdio.h>

#include<math.h>

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

bool pr(int n) {

int i;

boolean fl = true;

for (i = 2; i <= sqrt(n); i++) {

if (n % i == 0) {

fl = false;

}

}

if (n == 2) {

fl = true;

}

return fl;

}

int NOD(int a, int b) {

while ((a > 0) && (b > 0)) {

if (a > b) {

a %= b;

} else {

b %= a;

}

}

return a + b;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)

{

ShowMessage("Студенти 441 групи ІКІТ\nСтоляр Дмитро,Бондаренко Лєна");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if(SaveDialog1->Execute());else

{

ShowMessage("Виберіть місце збереження");

return;

}

FILE *input,*output;

input=fopen(Label1->Caption.c_str(),"rb");

output=fopen((SaveDialog1->FileName+".dim").c_str(),"wb");

char ch,dm='a',hesh='q';

int p=Edit1->Text.ToInt(),q=Edit2->Text.ToInt(),n,f,e=2;

if(!pr(p)||!pr(q))

{

ShowMessage("Перевірте правильність введення чисел.\n Вони мають бути простими!");

return;

}

n=p*q;

f=(p-1)*(q-1);

while (NOD(e, f) != 1) {

e++;

}

int a, b, d, x, y, x1 = 0, x2 = 1, y1 = 1, y2 = 0, r,c,m;

a = f;

b = e;

while (b > 0) {

q = a / b;

r = a - q * b;

x = x2 - q * x1;

y = y2 - q * y1;

a = b;

b = r;

x2 = x1;

x1 = x;

y2 = y1;

y1 = y;

}

d = abs(y2);

fprintf(output,"%s",Label1->Caption.SubString(Label1->Caption.Length()-3,4));

while(true)

{

fread(&ch,sizeof(char),1,input);

hesh=char(int(hesh)^int(ch));

m=int(ch);

c=m;

for(int j=1;j<d;j++)

c=(c*m)%n;

ch=int(ch)^int(dm);

fwrite(&ch,sizeof(char),1,output);

if(feof(input))

{

fclose(input);

fclose(output);

ShowMessage("Готово");

output=fopen((SaveDialog1->FileName+".dim").c_str(),"r+");

fseek(output, 0, SEEK_SET);

fwrite(&hesh,1,1,output);

fclose(output);

return;

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if(SaveDialog1->Execute());else

{

ShowMessage("Виберіть місце збереження");

return;

}

FILE *input,*output;

char ch,c1,c2,c3,c4,dm='a',hesh='q',h;

input=fopen(Label1->Caption.c_str(),"rb");

fscanf(input,"%c%c%c%c",&h,&c1,&c2,&c3);

output=fopen((SaveDialog1->FileName+'.'+c1+c2+c3).c_str(),"wb");

int p=Edit1->Text.ToInt(),q=Edit2->Text.ToInt(),n,f,e=2;

if(!pr(p)||!pr(q))

{

ShowMessage("Перевірте правильність введення чисел.\nВони мають бути простими!");

return;

}

n=p*q;

f=(p-1)*(q-1);

while (NOD(e, f) != 1) {

e++;

}

int a, b, d, x, y, x1 = 0, x2 = 1, y1 = 1, y2 = 0, r,c,m;

a = f;

b = e;

while (b > 0) {

q = a / b;

r = a - q * b;

x = x2 - q * x1;

y = y2 - q * y1;

a = b;

b = r;

x2 = x1;

x1 = x;

y2 = y1;

y1 = y;

}

d = y2;

while(true)

{

fread(&ch,sizeof(char),1,input);

m=int(ch);

m=c;

for(int j=1;j<e;j++)

{

m=(c*m)%n;

}

ch=int(ch)^int(dm);

hesh=char(int(hesh)^int(ch));

fwrite(&ch,sizeof(char),1,output);

if(feof(input))

{

fclose(input);

fclose(output);

ShowMessage("Готово");

return;

}

}

}

Висновки

Виконавши курсову роботу, мною був розроблений програмний продукт, який здійснює шифрування файлі різних форматів. Шифрування відбувається по алгоритму RSA, який забезпечує конфіденційність інформації і знаходження геш-суми, яка забезпечує перевірку цілісності даних. Шифрований файл зберігається у форматі *.dim. Є можливість розшифрування файлі відповідного формату.

Інтерфейс програми і результати роботи представлені в додатках.

Список використаної літератури

1. Саломаа А. Криптография с открытым ключом.

2. Міністерство освіти і науки України, Одеський національний політехнічний університет, лекцій до дисципліни «Захист інформації», Укладач Ю.С.Ямпольський,Одеса, ОНПУ, 2002 р.

3. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. -- М.: Горячая линия -- Телеком, 2002. -- 175 с. -- (Специальность. Для высших учебных заведений). -- 3000 экз. -- ISBN 5-93517-075-2

4. Хорст Файстель. Криптография и компьютерная безопасность. Перевод Андрея Винокурова

Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. -- М.: Триумф, 2002. -- 816 с. -- 3000 экз. -- ISBN 5-89392-055-4

5. Павел Исаев. Некоторые алгоритмы ручного шифрования (рус.) // КомпьютерПресс. -- 2003. -- В. 3.

6. Жельников В. Появление шифров // Кpиптогpафия от папиpуса до компьютеpа. -- М.: ABF, 1996. -- 335 с. -- ISBN 5-87484-054-0

7. http://uk.wikipedia.org/wiki/Криптографія

8. http://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом

9. http://ru.wikipedia.org/wiki/RSA

10. https://uk.wikipedia.org/Криптографічна_геш-функція

Додаток

Інструкція користувачеві

Програма інсталяції не потребує.

Вимоги до програмного забезпечення - платформа Windows.

Після запуску програма виглядає так

Початкове вікно програми

Містить два пункти меню:

· Файл

- Огляд

- Вихід

Огляд пункту меню «Файл»

· Автор

Огляд пункту меню «Автор»

Три кнопки:

· Огляд

· Шифрувати

· Дешифрувати

Огляд розташування кнопок

Два текстові поля для вводу простих чисел:

· p

· q

Огляд розташування полів вводу

Необхідно ввести два прості числа p та q. Вони повинні бути взаємно

простими. Якщо числа такими не є, програма повідомить про некоректність введених даних.

Натисненням кнопки «Огляд» чи підпункту меню «Файл» -> «Огляд» відкривається вікно, в якому необхідно обрати файл, який потрібно зашифрувати.

Огляд вікна вибору файлу для шифрування

Після того, як файл обрано, необхідно натиснути кнопку «Шифрувати». Після цього з'явиться вікно, в якому необхідно обрати місце збереження зашифрованого файлу та ввести його ім'я.

Огляд вікна збереження зашифрованого файлу

Про виконання шифрування буде сповіщено повідомленням.

Процедура розшифрування аналогічна шифруванню.

Бінарний вигляд до шифрування

Бінарний вигляд після шифрування

Размещено на Allbest.ru

...

Подобные документы

  • Дослідження етапів розробки програмної реалізації криптографічного алгоритму RC5. Опис об'єкту, що потребує захисту: операційне середовище, тип програмного забезпечення. Блок-схема алгоритму функціонування програми криптозахисту. Листінг тесту програми.

    курсовая работа [4,4 M], добавлен 28.10.2010

  • Створення програми для роботи з веб-камерою з автоматичним визначенням встановленої камери на комп'ютері. Характеристика апаратної конфігурації програми. Опис мови і середовища програмування. Розробка алгоритму, інструкції для програміста та користувача.

    курсовая работа [1,2 M], добавлен 26.07.2013

  • Програми лінійної та розгалуженої структури. Програмна реалізація функцій для роботи з датою та часом. Робота з візуальними компонентами керування. Створення інтерфейсу користувача стандартними подіями. Глобальні ідентифікатори Screen, Mouse, Application.

    отчет по практике [1,3 M], добавлен 24.02.2015

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

    курсовая работа [343,9 K], добавлен 24.08.2012

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

    курсовая работа [3,1 M], добавлен 10.03.2009

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

    курсовая работа [57,1 K], добавлен 31.05.2013

  • Інструменти середовища C++Builder, які були використані в програмі. Робота з файлами, їх відкриття, відображення та закриття. Розробка основних функцій для реалізації програми. Тестування програмного забезпечення. Блок-схема та алгоритм програми.

    курсовая работа [924,3 K], добавлен 14.01.2014

  • Проектування архітектури гри "Тетріс". Аналіз вимог до неї. Вивчення особливостей реалізації, кодування та тестування програми. Алгоритм побудови робочого поля. Вибір мови програмування. Розробка і налагодження тексту програми. Інструкції з експлуатації.

    курсовая работа [460,9 K], добавлен 04.03.2014

  • Дослідження можливостей та властивостей мікроконтролера ATtiny13, його архітектури. Розробка програми, що керує роботою мікропроцесора. Моделювання роботи системи кодового захисту з однією кнопкою. Організація пам’яті та розподіл адресного простору.

    курсовая работа [1,0 M], добавлен 01.06.2013

  • Дослідження методів криптографічного аналізу. Властивості гарної статистики. Технічні та програмні засоби. Алгоритм програми криптографічного аналізу. Модель статичного кріптоаналізу. Аналіз зашифрованого тексту. Рекомендації щодо використання програми.

    курсовая работа [1,5 M], добавлен 05.12.2012

  • Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.

    курсовая работа [143,1 K], добавлен 11.03.2021

  • Задачі інформаційних систем криптографічного захисту інформації. Принципи шифрування даних на основі використання хеш-функцій. Розробка програмних компонентів інформаційних систем криптографічного захисту інформації. Види криптографічних алгоритмів.

    курсовая работа [2,7 M], добавлен 23.01.2012

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

    курсовая работа [1,1 M], добавлен 04.01.2012

  • Визначення вимог до програмного забезпечення. Проектування архітектури програми, структури даних та інтерфейсу. Програмування графічного редактора, специфікація його класів та алгоритм роботи. Зміна архітектури редактора згідно нових вимог замовника.

    дипломная работа [1,2 M], добавлен 05.01.2014

  • Вивчення існуючих систем по виявленню плагіату. Алгоритм створення системи для виявлення плагіату, в базі якої будуть зберігатися всі лабораторні роботи студентів. Проектування програми: побудова uml-діаграм, видалення коментарів в коді, опис архітектури.

    дипломная работа [4,1 M], добавлен 09.06.2012

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

    курсовая работа [35,5 K], добавлен 16.11.2012

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

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

    курсовая работа [932,8 K], добавлен 03.06.2010

  • Побудова інформаційно-математичної моделі та алгоритм задачі. Визначення структури даних. Розробка інтерфейсу програми з користувачем. Складання коду програми. Реалізація проекту у візуальному середовищі. Тестування та інструкція з експлуатації програми.

    курсовая работа [1,3 M], добавлен 14.04.2009

  • Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.

    курсовая работа [3,4 M], добавлен 17.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.