Дәріс Блоктық шифрлер



бет2/2
Дата10.02.2023
өлшемі82,45 Kb.
#66654
1   2
Байланысты:
Лек 6

program FileCoding;
const Brk=4;
type Range=1..Brk; const
stend:array[Range] of Range=(3,1,4,2); var
Fin :file; FOut :file of byte; Tmp :array[Range]of byte; RealCnt, i: integer; begin
assign(FIn,'input.txt'); reset(FIn,1); assign(FOut,'output.txt'); rewrite(FOut); while not(eof(FIn)) do begin BlockRead(FIn, tmp, Brk, RealCnt); for i:=RealCnt+1 to Brk do Tmp[i]: =0;
for i:=1 to Brk do write(FOut, Tmp[stend[i]]); end;
close(FIn); close(FOut); end.
program FileEnCoding;
const Brk=4;
type Range=1..Brk; const
stend2:array[Range] of Range=(2,4,1,3); var
Fin :file;
FOut :file of byte; Tmp :array[Range]of byte;
RealCnt,i: integer;
Begin
assign(FIn,'output.txt'); reset(FIn,1);
assign(FOut,'output2.txt'); rewrite(FOut); while not(eof(FIn)) do begin
BlockRead(FIn, tmp, Brk, RealCnt);
for i:=RealCnt+1 to Brk do Tmp[i]:=0;
for i:=1 to Brk do write(FOut, Tmp[stend2[i]]); end;
close(FIn); close(FOut); end.


Күрделі орын ауыстыру шифрлері
Қарапайым орын ауыстыру шифрлерінен басқа кестедегі хабарды жол және баған бойынша орын ауыстыру шифрлері де бар. Шифрлеу бірнеше вариант бойынша жүргізілуі мүмкін. Күрделі орын ауыстыру шифрлерінде ашық текстің символдар тобы тек жолдар бойынша емес бағандар бойынша да ауыстырылады. Төмендегі қадамдар орындалуы тиіс:

  1. Кестеге ашық текс жазылады. (бірнеше жолмен жазуға болады);

  2. Кестенің горизанталь және вертикаліне кілтті жазып шығамыз;

  3. Кілтке сол сияқты кестенің бағандарын кілт цифрлары өсу тәртібі бойынша орын ауыстырылады;

  4. Сол заң бойынша жолдар да ауыстырылады. Шифрленген хабар кестені қатар бойынша оқудан келіп шығады.

Ашық текст Бағандар бойынша ауыстыруда н кейін

Жолдар бойынша ауыстыруда н кейін


Жоғарыдағы хабарды басқа орын ауыстыру шифрімен шифрлейміз. Мұнда шифрлеу тізбектелінбеген ашық текст жолдарлардын кілт бойынша оқудан пайда болады. Жолдар шифртекст жанындағы вертикаль бойынша орналасқан кілт бойынша оқылады.
Негізгі әдебиеттер: [2] - 193- 206 б.
Бақылау сүрақтары:

  1. Блоктың ұзындығы қандай?

  2. Кілттің ұзындығы қандай?

  3. Состояния деген не және оны қалай кәрсетуге болады?

  4. Раундтық кілттердің жалпы бит сандары қалай есептеледі?

  5. Rijndael шифры қандай этаптардан тұрады?


Достарыңызбен бөлісу:
1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет