Гаммирование

Процесс зашифрования заключается в генерации гаммы шифра и наложении этой гаммы на исходный открытый текст. Перед шифрованием открытые данные разбиваются на блоки Т(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.