20943

Шифрування та дешифрування даних за допомогою потокових алгоритмів

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

Информатика, кибернетика и программирование

Програма шифрування інформації з використанням визначених алгоритмів. У якості інформації використовувати копію файлу з розробленою програмою. програма дешифрування інформації (повернення початкового вигляду файла)...

Украинкский

2017-03-13

51.15 KB

2 чел.

Міністерство освіти, науки, молоді та спорту України

Національний технічний Університет “ХПІ”

“ХАРКІВСКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “ Обчислювальна техніка та програмування ”

Лабораторна робота №6

по курсу “Захист інформації у комп’ютерних системах та мережах”

 

                                                                                                Виконав:

                                                                                                      ст. гр КІТ 39

 Родін С.І

                                                                                                 Перевірив:

Межерицький С.Г

Харків 2012

Варіант №15

Тема: “Шифрування та дешифрування даних за допомогою

потокових алгоритмів”

Ціль роботи :cтворення програм для шифрування та дешифрування інформації за допомогою шифрів підстановки.

Постановка задачі

Необхідно розробити і налагодити дві програми:

 Програма шифрування інформації з використанням визначених алгоритмів.

 У якості інформації використовувати копію файлу з розробленою програмою.

 програма дешифрування інформації (повернення початкового вигляду файла);

а також оцінити правильність процедури “шифрування – дешифрування” (відсутність зміни результату відносно початкового файлу).

Індивідуальні завдання: алгоритм М

Ця назва дано Кнутом Алгоритм являє собою спосіб об'єднати кілька псевдослучайних потоків, збільшуючи їхню безпеку. Вихід одного генератора використовується для вибору відстає виходу іншого генератора

Текст програми

Program1

const

alphabet : string[26] = '0123456789';

type

barray = array [1..100] of byte;

var

b : barray;

N,M,i,j,k : byte;

z : longint;

Procedure WriteB(B:barray);

begin

Inc(Z); Write (Z:3,' : ');

for i:=1 to M do write(alphabet[b[i]]);

writeln;

end;

Procedure SwapB(var B:barray;i,k:byte);

var x : byte;

begin

x:=B[i]; B[i]:=B[k]; B[k]:=x;

end;

Procedure PermuteAll(B:barray;N:byte);

var i,k,j : byte;

begin

WriteB(B);

while (true) do

begin

i:=N;

while (i>0) and (B[i]>=B[i+1]) do i:=i-1;

if i=0 then exit;

for j:=i+1 to N do

if (B[j]>B[i]) then K:=j;

SwapB(B,i,k);

for j:=i+1 to (i+ ((N+1-i) div 2)) do SwapB(B,j,N+i+1-j);

WriteB(B);

end;

end;

begin

readln(N,M);

for i:=1 to M do b[i]:=i;

PermuteAll(B,M);

while (true) do

begin

i:=M;

while (i>0) and (b[i]=N-m+i) do Dec(i);

if i=0 then exit;

Inc(B[i]);

for j:=i+1 to M do B[j]:=B[j-1]+1;

PermuteAll(B,M);

end;

readln;

end.

Результат програми All

Program2

const

alphabet : string[40] = '0123456789';

type

barray = array [1..100] of byte;

var

b : barray;

N,M,i,j,k : byte;

z : longint;

Procedure WriteB(A:barray);

begin

Inc(Z); Write (A:3,' : ');

for i:=1 to M do write(alphabet[b[i]]);

writeln;

end;

Procedure SwapB(var B:barray;i,k:byte);

var x : byte;

begin

x:=B[i]; B[i]:=B[k]; B[k]:=x;

end;

Procedure PermuteONE(B:barray;N:byte);

var i,k,j : byte;

begin

WriteB(B);

while (true) do

begin

i:=N;

while (i>0) and (B[i]>=B[i+1]) do i:=i-1;

if i=0 then exit;

for j:=i+1 to N do

if (B[j]>B[i]) then K:=j;

SwapB(B,i,k);

for j:=i+1 to (i+ ((N+1-i) div 3)) do SwapA(A,j,N+i+2-j);

WriteB(B);

end;

end;

begin

readln(N,M);

for i:=1 to M do b[i]:=i;

PermuteAll(B,M);

while (true) do

begin

i:=M;

while (i>0) and (b[i]=N-m+i) do Dec(i);

if i=0 then exit;

Inc(B[i]);

for j:=i+1 to M do B[j]:=B[j-1]+1;

PermuteONE(B,M);

end;

readln;

end.

Результат програми One

Алгоритм

Сенс полягає в тому, що якщо prngA - дійсно випадково, неможливо нічого дізнатися про prngB (і, слепослідовно, неможливо виконати криптоаналіз). Якщо prngA має такий вигляд, що його криптоаналіз може

бути виконаний тільки, якщо його вихід доступний в свою чергу (тобто, тільки якщо спочатку був виконаний криптоаналіз prngB), а в іншому випадку воно по суті дійсно випадково, то ця комбінація повинна бути

безпечною.

Висновок: за час лабораторної роботи cтворив  програму для шифрування та дешифрування інформації за допомогою шифрів підстановки.


 

А также другие работы, которые могут Вас заинтересовать

83877. Малый сальник, сальниковая сумка, стенки, отверстие, связь с другими отделами. Способы осуществления доступа к поджелудочной железе 69.84 KB
  В зависимости от локализации патологического процесса и характера оперативного вмешательства производят различные разрезы передней брюшной стенки. Для обнажения тела и хвоста поджелудочной железы чаще применяют верхний срединный разрез который в случае необходимости можно расширить путем пересечения прямых мышц живота. Для подхода к головке поджелудочной железы особенно если одновременно предполагают вмешательство на желчных путях целесообразно применять разрезы С. Разрез проводят параллельно XII ребру справа если необходимо подойти к...
83878. Хирургическая анатомия печени. Связки, доли, ворота, кровеносные сосуды. Хирургическая анатомия печёночно – двенадцатипертной связки, элементы 54.27 KB
  Нижний край острый с двумя вырезками вдавление от желчного пузыря и вырезки круглой связки печени. Поперечная борозда соответствует воротам печени. Левая продольная борозда глубокая щель отделяющая левую долю печени от правой.
83879. Холецистэктомия. Лапароскопическая холецистэктомия. Треугольник Кало. Показания, техника выполнения, анатомические сложности 50.01 KB
  Границы треугольника: 1 пузырный проток латерально; 2 общий печеночный проток медиально; 3 правая ветвь собственной печеночной артерии сверху пузырная артерия сама нередко образует верхнюю границу треугольника Холецистэктомия Показания: воспаление желчного пузыря желчнокаменная болезнь опухоль желчного пузыря. Оперативный прием: существуют два способа выделения пузыря: от дна и от шейки. Холецистэктомия от шейки пузыря Выделение пузырного протока и пузырной артерии. Производят выделение и удаление желчного пузыря.
83880. Хирургическая анатомия желчного пузыря и желчных протоков. Варианты желчных протоков. Дренирование желчных протоков 78.03 KB
  Хирургическая анатомия желчного пузыря Желчный пузырь представляет собой грушевидной формы резервуар для желчи располагающийся между правой и квадратной долями печени. Шейка желчного пузыря продолжается в пу зырный проток направлена в сторону ворот печени и залегает вместе с пузырным протоком в печеночнодвенадцатиперстной связке. С\'келетотопия: дно желчного пузыря определяется спереди.
83881. Хирургическая анатомия желудка. Отделы, кровеносные сосуды, нервы и лимфатические пути 54.69 KB
  Отделы желудка Желудок имеет достаточно специфическую форму. В нем можно выделить несколько отделов которые отличаются в функциональном отношении и по своему гистологическому строению: кардиальный отдел дно желудка тело желудка и пилорический отдел. Кардиальный отдел или кардия желудка назван так за то что он располагается в непосредственной близости к сердцу.
83882. Хирургическая анатомия двенадцатиперстной кишки. Отделы, кровеносные сосуды. Большой и малый дуоденальные сосочки 50.97 KB
  Верхняя часть луковица двенадцатиперстной кишки располагается между привратником желудка и верхним изгибом двенадцатиперстной кишки. Нисходящая часть двенадцатиперстной кишки образует более или менее выраженный изгиб вправо и идет от верхнего до нижнего изгибов. В эту часть открываются обший желчный проток и проток поджелудочной железы на большом сосочке двенадцатиперстной кишки.
83883. Хирургическая анатомия поджелудочной железы и спленэктомия 51.49 KB
  Она имеет: переднюю поверхность к которой выше брыжейки поперечной ободочной кишки прилегает антральная часть желудка а ниже петли тонкой кишки; заднюю поверхность к которой прилегают правая почечная артерия и вена общий жёлчный проток и нижняя полая вена; верхний и нижний края. Тело имеет: переднюю поверхность к которой прилегает задняя стенка желудка; заднюю поверхность к которой прилегают аорта селезёночная и верхняя брыжеечная вены; нижнюю поверхность к которой снизу прилегает дена дцатиперстнотощекишечный изгиб; верхний...
83884. Хирургическая тактика при проникающих ранениях брюшной полости Тактика при ранении паренхиматозных и полых органов 50.73 KB
  Для осмотра селезенки желудок оттягивают вправо а левый изгиб ободочной кишки книзу. При обнаружении в брюшинной полости содержимого желудочнокишечного тракта сначала осматривают переднюю стенку желудка его пилорическиий отдел верхнюю горизонтальную часть двенадцатиперстной кишки а затем заднюю стенку желудка для чего рассекают желудочноободочную связку. Для обнаружения источника повреждения задней стенки нисходящей части двенадцатиперстной кишки рассекают париетальный листок брюшины по её наружному краю по Кохеру и мобилизовав...
83885. Операции при перфоративной язве желудка и двенадцатиперстной кишки. Техника выполнения. Тактика при перфорации опухоли желудка 51.17 KB
  Тактика при перфорации опухоли желудка. Ушивание прободной язвы желудка и двенадцатиперстной кишки При прободной язве желудка возможно выполнение двух видов срочных оперативных вмешательств: ушивание прободной язвы или резекция желудка вместе с язвой. При ушивании перфорационного отверстия необходимо придерживаться следующих правил: дефект в стенке желудка или двенадцатиперстной кишке ушивается обычно двумя рядами серозномышечных швов линия швов должна быть направлена перпендикулярно к продольной оси органа во избежание стеноза просвета...