програмному засобі був використаний клас 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. Результат виконання - розшифрований файл;
ÄîêóìåГГІ
c. Приклад роботи програми
Нехай необхідно зашифрувати файл cat.jpg.
В
Для цього користувач у полі В«Початковий файлВ» вводить cat.jpg, а в рядку В«КлючВ» вводить довільне число символів ключа.
В
Після проведених операцій необхідно натиснути кнопку В«НадіслатиВ». Результатом даних операцій служить створення в папці програми файлів:
key.txt - файл, що містить В«чистийВ» ключ алгоритму Anubis;
key.txt.code.txt - файл, що містить ключ алгоритму Anubis, закодований рюкзачними метод...