Гаммирование
Процесс зашифрования заключается в генерации гаммы шифра и наложении этой гаммы на исходный открытый текст. Перед шифрованием открытые данные разбиваются на блоки Т(0)i одинаковой длины (по 64 бита). Гамма шифра вырабатывается в виде последовательности блоков Г(ш)i аналогичной длины (Т(ш)i=Г(ш)i+Т(0)i, где + - побитовое сложение, i =1-m).
Процесс расшифрования сводится к повторной генерации шифра текста и наложение этой гаммы на зашифрованные данные T(0)i=Г(ш)i+Т(ш)i.
3. Порядок выполнения работы
Основные шаги шифрования текстового файла методом гаммирования.
1. Получить от пользователя ключ, имя входного и выходного файла.
2. Инициализировать генератор случайных чисел с помощью ключа. Открыть указанные файлы.
3. Прочитать строку из файла.
4. Получить случайное число.
5. Получить ASCII-код очередного символа строки и увеличить его на случайное число, полученное на шаге 4.
6. Проверить правильность (допустимый диапазон) нового ASCII-кода.
7. В выходную строку записать очередной символ, соответствующий ASCII-коду, полученному на шаге 6.
8. Если не достигли конца входной строки, то перейти к шагу 4.
9. Записать полученную строку в выходной файл.
10. Если не достигнут конец файла, то перейти к шагу 3.
11. Закрыть файлы.
Алгоритм дешифрации аналогичен алгоритму шифрации за исключением того, что из ASCII –кода вычитаем 256 и проверяем больше ноля или нет.
Open Filename For Input As # FileNumber –открытие файла для чтения.
Out Put –для вывода.
В ASCII –коде символы 10 и 13 (возврат каретки).
Надо открывать файлы как двоичные, ключевое слово Binary.
Line Input # FileNumber, A$ -переменная строковая.
Print –для записи.
Для чтения и записи двоичного файла объявляем переменную типа Variant.
Put # NF,, VA
Get # NF,, VA
Close –закрытие файла.
На языке VBA, С++ или С# написать программу шифрования и дешифрования текстового файла методом, указанным преподавателем.
Содержание отчета
1. Название работы.
2. Цель работы.
3. Блок-схему алгоритма шифрования.
4. Тексты программ.
4. Вопросы для самопроверки
1. Шифр Гронcфельда.
2. Шифры двойной перестановки. Шифрование с помощью магического квадрата.
3. Шифр многоалфавитной замены и алгоритм его реализации.
Рекомендуемая литература
1. Жельников В. Криптография от папируса до компьютера. М.: ABF, 1997. – 336c.
2. Зубанов Ф. WINDOWS NT-выбор “профи”. – М.: Издательский отдел “Русская Редакция” ТОО “Chanel Trading Ltd.”, 1996.
3. Баричев С. Криптография без секретов. М.: "ДИАЛОГ-МИФИ", - 1995.
4. Алгоритм шифрования ГОСТ 28147-89. - Центр информационных технологий citforum.ru, 1998.
5. Медведовский И.Д., Семьянов П.В., Платонов В.В. Атака через Internet. - СПб.: Мир и семья.-1997.
6. Вакка Дж. Секреты безопасности в Internet. – К.: Диалектика, 1997.