Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичкаТОЗИ лаб.rtf
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
862.36 Кб
Скачать

Практикалық ж±мыс №4

N-граммдыќ алмастырып ќою

Ж±мыс маќсаты: N-граммды алмастырып ќою шифрыныњ ж±мысын ќарастыру.

N-граммды алмастырып қоюда бір әріптің орнына N әріпті қоюға болады. Мысалы, жалпы түрде N екіге тең болса онда екіграммды алмастырып қою болады және оған ағылшын алфавиты үшін 262 екіграммалы алмастыру кілті керек болады.Кілтті кесте ретінде көрсетуге болады. Кестенің жолында екіграмманың бірінші әріпі болады, ал бағанында екінші әріпі болады.

Алмастырып қою шифрына мысал ретінде берілген программа листингі:

program almastiru;

uses crt;

var

str,alf,key,keyc,res,keyc1,keyc2:string;

i,j,d,k,r,pk,ps,pr,l,s,ch,h,pm,chd,chm:integer;

begin

clrscr;

writeln('input alf');

readln(alf);

writeln('input str');

readln(str);

writeln('input key');

readln(key);

l:=length(alf);

k:=length(key);

s:=length(str);

if (s>k) then

begin

chd:=s div k;

chm:=s mod k;

if chd>1 then d:=1;

repeat

insert(key,keyc,k+1);

d:=d+1;

until d>chd;

if chm<>0 then

keyc1:=copy(key,1,chm);

keyc2:=concat(keyc,keyc1);

r:=length(keyc2);

end;

for j:=1 to r do

begin

for i:=1 to l do

if str[j]=alf[i] then ps:=i;

for i:=1 to l do

if keyc2[j]=alf[i] then pk:=i;

pr:=ps+pk;

if pr>l then

begin

pm:=pr-l;

res:=copy(alf,pm,1);

end

else

res:=copy(alf,pr,1);

writeln(res);

end;

end.

Тапсырмалар

  1. Теориялық материалды оқу.

  2. Берілген шифрмен мәтінді шифрлау және керішифрлау.

  3. Берілген программа листигі бойынша блокті сұлбасын сызу.

  4. Шифрдың тұрақтылығына баға беру.

Практикалық ж±мыс №5 матрицалыќ ж‡йелер

Ж±мыс маќсаты: матрицалыќ шифрыныњ ж±мысын ќарастыру

Бұл шифрда кілт ретінде матрица болады. Матрицада аралыстырылған алфавит жазылады. Матрицаның көлемін алфавиттің ұзындығына байланысты таңдау керек. Мысалы, ағылшын алфавитінде 26 әріп бар J әріпінің орныны I әріпін қолданып 25 әріпті 5х5 матрицаға жазамыз. Шифрлаған кезде мәтіннің әріпін алып матрицадан табамызда оның жолының нөміріман бағанның нөмірін криптограмма ретінде қолданамыз. Мысалы:

Мєтін COMET

0

1

2

3

4

0

L

Z

Q

C

P

1

A

G

N

O

U

2

R

D

M

I

F

3

K

Y

H

V

S

4

X

B

T

E

W

Криптограмма 03 13 22 43 42

Матрицалық жүйесіне мысал ретінде берілген программа листингі:

Program matrizsystem;

Uses crt;

Type

Arr=array [0..4,0..5] of string;

Var

a:arr;

f:Text;

I, j, e:integer;

M:string;

Begin

Clrscr;

Assign(f,’c:\text1.txt’);

Reset(f);

Begin

For i:=0 to 4 do

For j:=0 to 5 do

Readln (f,a[i,j]);

End;

Close(f);

For i:=0 to 4 do

begin

For j:=0 to 5 do

Write (‘’,a[i,j],’-‘,i,j);

End;

Writeln(‘Vvedite text’);

Read (m);

For e:=1 to length(m) do

Begin

For i:=0 to 4 do

For j:=0 to 5 do

If (m[e]=a[i,j]) then write(i,j);

End;

Readkey;

End.

Тапсырмалар

  1. Теориялық материалды оқу.

  2. Берілген шифрмен мәтінді шифрлау және керішифрлау.

  3. Берілген программа листигі бойынша блокті сұлбасын сызу.

  4. Шифрдың тұрақтылығына баға беру.