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творив  програму для шифрування та дешифрування інформації за допомогою шифрів підстановки.


 

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

66492. Анализ условий выпуска и обращения ценных бумаг коммерческих банков 522.5 KB
  Целью моей работы является рассмотрение и анализ условий выпуска и обращения ценных бумаг коммерческих банков. Для достижения данной цели я поставила следующие задачи: определить понятие ценных бумаг и их виды; рассмотреть структуру, задачи и участников рынка ценных бумаг; определить роль банка на рынке ценных бумаг...
66493. МЕЖБАНКОВСКИЙ КЛИРИНГ 556.5 KB
  В соответствии с утвержденными планами модернизации платежной системы Республики Беларусь РБ в ближайшее время намечено внедрить пусковой комплекс нового проекта межбанковских расчетов в составе: системы расчетов по срочным и крупным платежам на валовой основе...
66494. ОСОБЕННОСТИ РАЗВИТИЯ ВНИМАНИЯ У ДЕТЕЙ ДОШКОЛЬНОГО ВОЗРАСТА 315.5 KB
  Внимание среди познавательных процессов занимает особенное место, поскольку оно не имеет собственного содержания, а обслуживает другие психические процессы. Внимание во многом определяет успешность их функционирования. От уровня развития свойств внимания (устойчивости, концентрации, объёма, распределения, переключения)
66497. Механизмы сетевого взаимодействия 39.5 KB
  Цель работы – изучить программный интерфейс сетевых сокетов, получить навыки организации взаимодействия программ при помощи протоколов Internet и разработки прикладных сетевых сервисов.
66499. Автоматическое управление в функции времени. Реле времени 248.5 KB
  Наряду с автоматизацией технологических процессов реле времени широко применяют для автоматизации процесса пуска мощных электродвигателей посредством пусковых реостатов в металлорежущих станках бытовых машинах и пр.