певними комбінаціями знаків, наприклад, триразовим повторенням однієї і тієї ж букви у відкритому тексті. Шифр став більш стійким, але менш зручним у застосуванні. p align="justify"> У віршованому шифрі ключем є заздалегідь обумовлений вірш, який записується в прямокутник узгодженого розміру, наприклад, 10? 20. Цей прямокутник є ключовою сторінкою книжкового шифру. br/>
3. ПРОГРАМНА РЕАЛІЗАЦІЯ
Дана програма містить декілька реалізацій, це Підключається DLL бібліотека, що реалізує саме шифрування, Програма з графічним інтерфейсом її використовує, і також консольна реалізація програми без використання ресурсів бібліотеки.
3.1 Опис структури програми
.1.1 Бібліотека DLL
У динамічно підключається бібліотеці (файл bookc.dll) реалізовані класи crypt, key, і keymanager.
Клас crypt реалізує сам алгоритм шифрування.
Кеу - в цьому класі описаний ключ для реалізації його в класі keymanager-клас для управліня ключами від різних кореспондентів за певними правилами. У бібліотеці експортована функція Process (char * crypt_file, char * encrypt_file, char mode_value, char * key_value), яка служить для шифрування у форматі С, для можливості використання бібліотеки з різними мовами програмування. br/>
3.1.2 Графічна оболонка
У графічній оболонці (файл book.exe) реалізований інтерфейс користувача з використанням бібліотек віджетів GTK +. GTK + був обраний тому, що ці бібліотеки є популярними, кроссплатформенную і безкоштовними. br/>
3.1.3 Консольна реалізація
У консольної реалізації програми (файл bookc.exe) реалізовані функції шифрування. Дані для обробки програма отримує з командного рядка. Консольна версія призначена для використання в різних скриптах. br/>
3.2 Опис алгоритму програми
Головною програмної складової, які використовуються в даній роботі, є функція шифрування: Process (char * crypt_file, char * encrypt_file, char mode_value, char * key_value), де: * crypt_file - ім'я зашифрованого файлу. * encrypt_file - ім'я розшифрованого (вихідного) файла.mode_value - символ режим (з - для шифрування) * key_value - Рядок містить в собі ключ.
Розглянемо докладніше роботу функції:
Залежно від режиму mode вибирається шифрувати або розшифровувати файл. Якщо mode == з тоді файл шифрується, інакше файл буде розшифровано. Далі після визначення режиму, функція зчитує блок з файлу розмірів 512 байт. Такий розмір був вибраний не випадково, тому що більшість обладнання працює з блоками такого розміру. Отже це збільшує швидкість обробки файлу. p align="justify"> Функція шифрування виглядає наступним чином:
writebuffer [i] = (ti + t)% 255, де:
writebuffer - це вихідна рядок розміром 512 байт. - поточна позиція в рядку, - символ з початкового рядка, - поточний символ ключа.
Результат узятий за модулем, щоб значення входило в діапазон значень char.
При розшифровці використовується зворотна + операція -.
Строка результату writebuffer записується у файл.
4. ІНСТРУКЦІЯ КОРИСТУВАЧА
Даний програмний продукт може використовуватися для створення зашифрованих файлів, які можна безпечно зберігати, і передавати по небезпечним каналах інформаційних мереж типу Інтернет.
На диску зберігаються всі файли, які пов'язані з реалізацією програми на мові програмування C + +, а також компілятор gcc, середовище розробки Dev-Cpp, набір бібліотек GTK + та текст пояснювальної записки. Який був створений в текстовому редакторі Word, прочитавши який можна отримати необхідні відомості для роботи з програмою. p align="justify"> Створені файли відповідають усім особливостям і завданням мови ANSI C + +, наприклад, фаіл з розширенням. exe відповідає самій програмі, запустивши який, ми можемо працювати з самою програмою; фаіл з розширенням. cpp відповідає за текст програми ( переглянути його можна тільки тоді, коли у вас на комп'ютері встановлена ​​та версія С + +, на якій була створена програма); також існують файли з розширеннями h, o, rc, glade. br/>
5. ІНСТРУКЦІЯ СИСТЕМНОГО ПРОГРАММИСТА
криптографічний шифрування інформація програма
У файлі crypt.h реалізований інтерфейс класу шифрування.
Клас для шифровки, розшифровки даних
Поля класа: - для зберігання ключа шифрування-ім'я кодованого файлаімя розшифрованого файладля установки режиму (з - код...