Тестирование шифрования текстовых сообщений

Попытаемся зашифровать сообщение, введя неправильное подтверждение парольной фразы. Программа выведет сообщение об ошибке. Эти действия продемонстрированы на рисунках 3.1 и 3.2.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.1. Неверное подтверждение парольной фразы.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.2. Сообщение об ошибке.

Зашифруем текстовое сообщение и сохраним полученный шифротекст в текстовый файл.Эти действия изображены на рисунках 3.3, 3.4,3.5.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.3. Шифрование текстового сообщения.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.4. Сохранение шифротекста в текстовый файл.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.5. Содержимое текстового файла, в который был сохранен шифротекст.

Тестирование дешифрации текстовых сообщений

Попробуем расшифровать зашифрованное сообщение с помощью парольной фразы, отлично от той, что была использована при шифровании. Программа выдаст сообщение об ошибке. То же самое будет, если попытаться расшифровать сообщение с помощью ключа, длина которого отличается от длины ключа, использованного при шифровании. Результаты этих двух ситуаций изображены на рисунках 3.6 и 3.7.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.6 Попытка дешифрации сообщения с помощью неверной парольной фразы.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.7. Попытка дешифрации сообщения с помощью верной парольной фразы, но длинной ключа отличной от той, что была использована при шифровании.

Тестирование шифрования бинарных файлов

Зашифруем бинарный файл небольшого объема и посмотрим на результат. Это действие отражено на рисунках 3.8, 3.9, 3.10.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.8. Выбор бинарного файла для шифрования.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.9 Процесс шифрования.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.10. Исходный и зашифрованный файлы.

Зашифруем еще раз уже зашифрованный файл, используя опцию удаления шифруемого файла. Посмотрим на результат (Рисунки 3.11 и 3.12).

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.11. Шифрование файла со включенной опцией удаления шифруемого файла.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.12. Исходный файл и файл, зашифрованный дважды. Файл, зашифрованный единожды, отсутствует.

Попробуем зашифровать большой бинарный файл (объем более 6 Мб). Действия отражены на рисунках 3.13, 3.14.

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.13. Выбор большого бинарного файла.

Тестирование шифрования текстовых сообщений - student2.ru

Рис.3.14. Процесс шифрования большого бинарного файла.

Процесс шифрования файлов такого размера занимает длительное время (более нескольких минут), но в итоге завершается успешно (Рис. 3.15).

Тестирование шифрования текстовых сообщений - student2.ru

Рис. 3.15. Исходный и зашифрованный большой бинарный файл.

Причина затрат большого количества временных ресурсов в том, что реализация класса алгебры поля GF(28) далека от совершенства. Выполнение некоторых алгебраических операций реализовано через циклы, что замедляет и без того трудоемкий процесс шифрования. Данный изъян может быть устранен, если использовать побитовые операции вместо циклов там, где это возможно. Так же следует отказаться от встроенных контейнеров C#, таких как List. Потому как выделение памяти в таких контейнерах происходит неоправданно долго. Это так же ускорит работу алгоритма.



Наши рекомендации