'

Шифры перестановки

Понравилась презентация – покажи это...





Слайд 0

Шифры перестановки Программирование алгоритмов


Слайд 1

Шифр перестановки использует изменение порядка следования символов. Криптограмма и исходный текст состоят из одних и тех же букв.


Слайд 2

Шифр простой вертикальный перестановки Открытый текст пишется по горизонтали фиксированной ширины, а шифртекст считывается по вертикали. Для расшифрования такого текста достаточно написать шифртекст по вертикали той же самой ширины, и затем прочитать открытый текст по горизонтали.


Слайд 3

Фраза «байты сохраняются в виде файлов» размещается следующим образом б а й т ы с о х р а н я ю т с я в в и д е ф а й л о в После считывания по вертикали получаем криптограмму: «баи анд йяе тюф ыта ссй оял хво рвв» (если в последнем блоке не хватает символов, добавляется буква х). Шифр простой вертикальной перестановки


Слайд 4

Программный код для алгоритма простой вертикальной перестановки program prost_vert_perest; var n,i,r,j,k:integer; s,s1,s2:string; a:array[1..5,1..5] of char; begin writeln ('vvedite shirinu bloka'); readln(n); writeln('vvedite stroku'); readln(s); writeln('vvedite regim: 1-shifrovanie, 2-rasshifrovanie'); readln(r); s1:=''; if r=1 then begin i:=1; while i<=length(s) do if s[i]=' ' then delete(s,i,1) else i:=i+1; if length(s) mod n <>0 then for i:=1 to n-length(s)mod n do s:=s+'x'; {добавим в текст символы ‘x’, чтобы длина строки стала кратной ширине} i:=0; for k:=1 to length(s) div n do for j:=1 to n do begin i:=i+1;a[k,j]:=s[i]; end; for j:=1 to length(s) div n do for k:=1 to n do s1:=s1+a[k,j]; end else begin i:=0; for j:=1 to length(s) div n do for k:=1 to n do begin i:=i+1; a[k,j]:=s[i]; end; for k:=1 to n do for j:=1 to length(s) div n do s1:=s1+a[k,j]; end; writeln (s1); end.


Слайд 5

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


Слайд 6

Исходный текст «байты сохраняются». Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы. Шифртекст «оыхснряасюятйбта». Шифр двойной перестановки


Слайд 7

Магические квадраты Магический квадрат – квадратная таблица со вписанными в ее клетки последовательными натуральными числами (с 1), в которой сумма по всем строкам , столбцам и диагоналям одинакова.


Слайд 8

Алгоритм шифрования Текст вписывается в таблицу в соответствии с приведенной в ней нумерацией, затем текст выписывается по строкам. Надежность шифра: квадратов 3*3 – 1, 4*4 – 880, 5*5 – 250000. Для расшифровки записать текст в таблицу по строкам и по ключу получить открытый текст.


Слайд 9

Ключ: Текст: БИТЫ СОХРАНЯЮТСЯ В ВИДЕ ФАЙЛОВ Шифртекст: ИХОАСБЫТРЯВЯИСНТЮВЕОЛ_ЙДАФВ


Слайд 10

program odin_perest; var nmin,i,r,j,k,p:integer; s,s1,s2:string; a:array[1..5,1..5] of char; begin writeln('vvedite stroku'); readln(s); writeln('vvedite kluch'); readln(s1); writeln('vvedite regim: 1-shifrovanie, 2-rasshifrovanie'); readln(r);s2:=''; if r=1 then begin i:=1; while i<=length(s) do if s[i]=' 'then delete(s,i,1) else i:=i+1; if length(s) mod length(s1) <>0 then for i:=1 to length(s1)-length(s)mod length(s1) do s:=s+'x'; i:=0; for k:=1 to length(s) div length(s1) do for j:=1 to length(s1) do begin i:=i+1;a[k,j]:=s[i];end; for i:=1 to length(s1) do begin nmin:=1; for j:=2 to length(s1) do if ord(s1[j])<ord(s1[nmin]) then nmin:=j; s1[nmin]:=chr(ord('z')+10); for k:=1 to length(s) div length(s1) do s2:=s2+a[k,nmin]; end; end else begin p:=0; for i:=1 to length(s1) do begin nmin:=1; for j:=2 to length(s1) do if ord(s1[j])<ord(s1[nmin]) then nmin:=j; s1[nmin]:=chr(ord('z')+10); for k:=1 to length(s) div length(s1) do begin p:=p+1; a[k,nmin]:=s[p]; end; end; for k:=1 to length(s1) do for j:=1 to length(s) div length(s1) do s2:=s2+a[k,j]; end; writeln (s2); end. Программный код для алгоритма одиночной перестановки


×

HTML:





Ссылка: