аному програмному засобі був використаний клас GZip для архівування і розархівування файлів. Також був написаний модуль асиметричного і симетричного шифрування Form1.cs, який здійснює шифрування і дешифрування даних. Основні процедури та функції модуля Form1.cs:
Асимметричное шифрування:
- public void GenPosl (ref int [] bb, int x, ref int ww, ref int mm, ref int rrr). Генерація супервозрастающей послідовності bb по початковому значенню x. Результат виконання - масив, що містить супервозрастающую послідовність;
- public bool fileRanecCode (string fname, string newfname). Шифрування файлу fname. Результат виконання - зашифрований файл;
- public bool fileRanecDecode (string fname, string newfname) Розшифровка файлу. Результат виконання - розшифрований файл;
- Симетричне шифрування:
- private bool WriteToFileS (string fname, byte [] [] m). Запис масиву S симетричного алгоритму в файл;
- private bool ReadFromFileS (string fname, ref byte [] [] m). Читання масиву S симетричного алгоритму з файлу;
- private void OperationR (ref byte [] [] x). Виконання операції R (транспонування матриці) алгоритму;
- private void OperationQ (ref byte [] [] x). Виконання операції Q (множення вихідної матриці на фіксовану матрицю H) алгоритму;
- private void OperationU (byte [] [] keyY, ref byte [] [] x). Виконання операції U (XOR) алгоритму;
- private void GetSubkey (string key, int n, ref byte [] [] keyY). Виділення підключа раунду.
private void CodeFile (string fname, string newfname, string key). Кодування файлу з використанням ключа key. Результат виконання - зашифрований файл;
- private void DeCodeFile (string fname, string newfname, string key). Декодування файлу з використанням ключа key. Результат виконання - розшифрований файл.
В
Малюнок 6. Загальна схема роботи програмного засобу
Приклад роботи програми.
Нехай необхідно зашифрувати файл cat.jpg. <В
Малюнок 7 - Перегляд вихідного файлу cat.jpg
Для цього користувач у полі В«Початковий файлВ» вводить cat.jpg, а в рядку В«КлючВ» вводить довільне число символів ключа. <В
Малюнок 8. Приклад заповнення полів
Після проведених операцій необхідно натиснути кнопку В«НадіслатиВ». Результатом даних операцій служить створення...