Шифры перестановки Программирование алгоритмов
Шифр перестановки использует изменение порядка следования символов. Криптограмма и исходный текст состоят из одних и тех же букв.
Шифр простой вертикальный перестановки Открытый текст пишется по горизонтали фиксированной ширины, а шифртекст считывается по вертикали. Для расшифрования такого текста достаточно написать шифртекст по вертикали той же самой ширины, и затем прочитать открытый текст по горизонтали.
Фраза «байты сохраняются в виде файлов» размещается следующим образом б а й т ы с о х р а н я ю т с я в в и д е ф а й л о в После считывания по вертикали получаем криптограмму: «баи анд йяе тюф ыта ссй оял хво рвв» (если в последнем блоке не хватает символов, добавляется буква х). Шифр простой вертикальной перестановки
Программный код для алгоритма простой вертикальной перестановки 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
В таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, затем строки. При расшифровке порядок перестановок обратный. Шифр двойной перестановки
Исходный текст «байты сохраняются». Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы. Шифртекст «оыхснряасюятйбта». Шифр двойной перестановки БАЙТ4ЙБТА1ОЫХС 1ЫСОХ1ОЫХС2НРЯА 2РАНЯ2НРЯА3СЮЯТ 3ЮТСЯ3СЮЯТ4ЙБТА
Магические квадраты Магический квадрат – квадратная таблица со вписанными в ее клетки последовательными натуральными числами (с 1), в которой сумма по всем строкам, столбцам и диагоналям одинакова.
Алгоритм шифрования Текст вписывается в таблицу в соответствии с приведенной в ней нумерацией, затем текст выписывается по строкам. Надежность шифра: квадратов 3*3 – 1, 4*4 – 880, 5*5 – Для расшифровки записать текст в таблицу по строкам и по ключу получить открытый текст.
Ключ: Текст: БИТЫ СОХРАНЯЮТСЯ В ВИДЕ ФАЙЛОВ Шифртекст: ИХОАСБЫТРЯВЯИСНТЮВЕОЛ_ЙДАФВ ИХОЯВЯЕ ОЛ АСБИСН ЙД ЫТРТЮВА ФВ
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