Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЕлизавета Вышеславцева
1 Шифры замены Программирование алгоритмов
2 Шифр замены – преобразования заключаются в замене каждого символа (слова) открытого сообщения на другие символы – шифрообозначения, порядок следования шифрообозначений совпадает с порядком следования соответствующих им символов в открытом тексте.
3 Шифр Цезаря (замена со сдвигом) Каждый символ открытого текста заменяется символом, находящимся тремя символами правее в алфавите Таблица для сдвига, равного 3. АБВГДЕЖЗИЙКЛМНОП ГДЕЖЗИЙКЛМНОПРСТ РСТУФХЦЧШЩЪЫЬЭЮЯ УФХЦЧШЩЪЫЬЭЮЯАБВ
4 Букву заменяют на ее естественный номер в алфавите Этот шифр может быть описан уравнением C=(M+K) mod N, где М - номер буквы исходного текста в алфавите, С - номер буквы зашифрованного текста в алфавите, K – ключ (число, на которое делаем смещение), N – количество букв в алфавите, mod – операция вычисления остатка от деления. Шифр Цезаря (замена со сдвигом)
5 Программный код для алгоритма Цезаря program cezar; var n,i,r:integer; s:string; begin writeln('vvedite stroku'); readln(s); writeln('vvedite regim: 1-shifrovanie, 2-rasshifrovanie'); readln(r); if r=1 then begin i:=1; while i
6 Шифр Виженера предполагает выбор ключа, который рассматривают как блоковую последовательность букв, а сообщение разбивают на блоки длиной, соответствующей длине ключа. Затем выполняют операцию сложения по модулю номеров каждой буквы исходного текста с номером соответствующей буквы ключа в блоке и по полученному номеру записывают букву в зашифрованный текст.
7 Для примера используем слово ФАЙЛ, состоящее из 4 букв, как ключ. Алфавитным номерам букв соответствует блок чисел 21, 1, 10, 12. Чтобы зашифровать сообщение при помощи этого ключа, исходный текст разбивается на блоки длинной в 4 буквы каждый. Затем к каждому числовому представлению первой буквы блока надо прибавить 21, к числовому представлению второй буквы – 1, третьей – 10, четвертой – 12. Получающиеся суммы по модулю представляют числовые значения шифртекста. Шифр Виженера
8 Шифр сложной замены -это модификация шифра Цезаря с числовым ключом. Под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают, отсчитывая букву по алфавиту на соответствующую цифру ключа.
9 Полибианский квадрат Квадрат или прямоугольник заполняется буквами случайным образом. При шифровании находят букву текста и заменяют ее буквой, стоящей в строке ниже ( или первой буквой в столбце).
10 Пусть дан квадрат - ключ для шифра «Полибианский квадрат». Зашифровать слово «криптография» полученным ключом. Найдем в прямоугольнике первую букву слова. Выберем букву, которая стоит ниже этой буквы, и запишем ее в качестве первого символа криптограммы. Выполним аналогичные действия для всех оставшихся букв слова. Получим «азбжхвизтъбс» УХЭНЖЧЕС ЛКЦГОРДЩ ФАЬИВЗЮЙ ЪТМБПЫШЯ
11 Программный код для алгоритма Виженера program vigener; var n,i,r:integer; s,s1,s2:string; begin writeln('vvedite stroku'); readln(s); writeln('vvedite kluch'); кeadln(s1); writeln('vvedite regim: 1-shifrovanie, 2-rasshifrovanie'); readln(r); s2:=''; for i:=1 to length(s) div length(s1)+1 do {размножаем ключ до длины текста} s2:=s2+s1; if r=1 then begin i:=1; while iord('z') then n:=ord('a')+(n-ord('z'))mod 26-1; s[i]:=chr(n); end; end else for i:=1 to length(s) do begin n:=ord(s[i])-(ord(s2[i])-ord('a'))-1; if n
12 Программный код для алгоритма Полибианский квадрат program polib_kvadrat; var n,i,r,j,k:integer; s,s1:string; a:array[1..5,1..5] of char; begin writeln ('vvedite rasmer kvadrata');}readln(n); writeln ('vvedite bukvi alfavita v kvadrad rasmera',' ',n); for k:=1 to n do begin for j:=1 to n do read(a[k,j]); readln; end; writeln('vvedite stroku'); readln(s); writeln('vvedite regim: 1-shifrovanie, 2-rasshifrovanie'); readln(r); s1:=''; {формируемая новая строка} if r=1 then begin i:=1; while i
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.