Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 курс / ЗащИнф / лаб-р-защ-2 / Лаб. раб

.2.doc
Скачиваний:
40
Добавлен:
27.04.2015
Размер:
45.06 Кб
Скачать

Лабораторная работа №2

Шифр Виженера

Цель работы: изучение способа шифрования с помощью шифра Вижинера.

Введение

В шифре Виженера ключ задается набором из d символов. Шифрование сообщения заключается в следующем . Заданный набор (ключ) подписываются с повторением под сообщением и коды символов этих последовательностей складываются по модулю М, где М - длина алфавита. Если используются только буквы, то каждая буква , например, латинского алфавита нумеруется от А = 0 до Z = 25. Таким образом, выходное сообщение будет содержать коды символов :

ei = si+ki (mod М),

где si - код символа исходного сообщения, ki - код символа ключа.

Повторное применение двух или более шифров Виженера называется составным шифром Виженера. Шифрование осуществляется по формуле:

ei = si + ki + li + ... + pi (mod M),

где ki,li,...,pi могут иметь различные периоды. Период их суммы , как и в составной транспозиции, будет наименьшим общим кратным отдельных периодов. Если используется шифр Виженера с неограниченным неповторяющимся ключом, то это шифр Вернама, в котором также

ei = si + ki (mod M),

но ki выбираются случайно и независимо среди чисел 0, 1,..., M.

Пример программы:

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

Листинг программы

program VIGIN; {программа шифрования по вижинеру}

uses WinCrt,Windos;

var

i,j,k,m:integer;

f1,f2:file;

numf1,numf2:string;

nr,nw:word;

buf1,buf2:array[1..2048]of char;

bf:char;

kluch:array[1..10] of char;

begin

{$I-}

writeln(' программа шифрования файла по вижинеру ');

writeln('введите имя шифруемого файла ');

readln(numf1);

assign(f1,numf1); readln;

reset(f1,1);

writeln('файл открыт');

writeln('введите имя зашифрованного файла');

readln(numf2);

assign(f2,numf2); readln;

rewrite(f2,1);

writeln('введите ключ – строку из десяти символов');

for i:=1 to 10 do kluch[i]:=readkey;

writeln;writeln('ваш ключ ');

for i:=1 to 10 do write(kluch[i]);

writeln;

repeat

blockread(f1,buf1,sizeof(buf1),nr);

for i:=1 to nr div 10 do

begin

for j:=1 to 10 do

begin

k:=10*(i-1)+j;

m:=(ord(buf1[k])+ord(kluch[j])) mod 256;

buf2[k]:=chr(m);

end;

end;

blockwrite(f2,buf2,nr,nw);

until (nr=0) or (nw<>nr);

close(f1);

close(f2);

writeln('файл зашифрован')

{$I+}

end.

Варианты задания

1 Разобрать программу VIGIN.pas , которая осуществляет шифрование

файла с помощью алгоритма Вижинера с помощью ключа с d=10

2 С помощью программы VIGIN.pas зашифровать файл D2.doc и

получить файл D2_s.doc

Номер вариента

Ключ

1

Sahufwlkgv

2

Dsco7fpcmu

3

438T49GdVW

4

C803Re-8s5

5

C8fd7e8rvd

6

49fvj9wfqr2

7

D98fwvvjwe

8

1e012r8u42

9

D130rckmsc

10

3288cvwqfj

3 На основе программы VIGIN.pas сделать программу дешифрования

VIGIN_DSH.pas

  1. Расшифровать файл D2_S.doc и получить дешифрованный файл

D2_DSH.doc . Сравнить файлы D2.doc и D2_DSH.doc .

  1. Предложить собственный ключ и проверить ее шифровкой и

расшифровкой файлов.

  1. Прочитать и разобрать описания устройств, содержащихся в файле

D2.doc :

  • назначение устройства

  • принцип действия устройства

  • характеристики устройств (габариты, потребляемая мощность, способ установки, режимы работы и др.)

Выполнение лабораторной работы

1. Получить задание у преподавателя.

2. Написать и отладить на компьютере программу расшифрования

файла.

3. Получить и представить преподавателю результат выполнения пунктов 1-7.

Содержание отчета

Отчет включает:

1)краткое теоретическое введение

2) содержание задания;

3) листинги программ и. результаты выполнения пунктов 1-7

задания.

Контрольные вопросы

  1. Заданы две подстановки Вижинера с периодами d1=56 и d2=33, применяемые последовательно . Каков будет общий период такого шифра ?

  2. Каким способом осуществляется подавление телефонных закладок в

устройстве , описанном в файле DEV3.doc.?

  1. Какова зона подавления, которое обеспечивает устройство , описанном в файле DEV31.doc.?

4

Соседние файлы в папке лаб-р-защ-2