«Программирование криптоалгоритмов замены». 1ч





Скачать 311.9 Kb.
Название«Программирование криптоалгоритмов замены». 1ч
страница2/4
Дата публикации30.09.2014
Размер311.9 Kb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   2   3   4
Фраза «байты сохраняются в виде файлов» размещается следующим образом

б

а

й

т

ы

с

о

х

р

а

н

я

ю

т

с

я

в

в

и

д

е

ф

а

й

л

о

в


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

В настоящее время криптографические алгоритмы реализуются с помощью компьютера, что будем делать и мы. А для этого вспомним возможности работы с символами и строками в Паскале, ответив на следующие вопросы (записать ответы на 2 и 3-й вопросы на доске):

  • Cколько символов в компьютерном алфавите? (256, все символы упорядочены в кодовой таблице ASCII)

  • Как описываются символы в Паскале, задается символьная константа, какие функции преобразования типов используются? (var c:char; c:=’a’; ord(c) – возвращает номер символа в кодовой таблице, chr(n)- возвращает символ по номеру из кодовой таблицы)

  • Как описываются строки в Паскале, задается строковая константа, как нумеруются символы в строке, как обратиться к символу строки с номером i, какие функции и процедуры обработки строк используются? (var s:string; s:=’файл’; s[i], length(s) – возвращает длину строки, copy(s,i,n)- возвращает n символов из строки s c i-й позиции, pos(s1,s)- возвращает номер первого вхождения подстроки s1 в строку s, concate(s,s1,…)- возвращает объединенную строку из строк s,s1 и т.д. , delete(s,i,n) – удаляет из строки s c i-й позиции n символов, insert(s1,s,i) – вставляет подстроку s1 в строку s начиная с i-й позиции, val(s,x,code) – преобразует строку s в число x, если code=0, то преобразование произошло успешно, str(x,s)- преобразует число x в строку s)

Домашнее задание: выучить лекцию, написать программу на Паскале для реализации шифрования и дешифрования фразы «personal computer» с помощью шифра Цезаря.
Второй урок.

Шифры замены

Форма урока: урок-лекция.

Цели урока: расширить знания учащихся об используемых шифрах замены, научить шифровать и дешифровать информацию.

В начале урока предполагается провести опрос и анализ ответов учащихся на вопросы:

  • Выделить основные возможности сохранения информации, определить понятия криптоалгоритм, шифр, ключ.

  • Выделить основные виды криптоалгоритмов, дать им характеристику.

  • Проверить заданную на дом программу (учащиеся должны написать программу на доске).

Код программы, написанный учащимися на доске обсудить и сверить с кодом на слайде 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<=length(s) do {убираем пробелы из открытого текста}

if s[i]=‘ ' then delete(s,i,1) else i:=i+1;

for i:=1 to length(s) do begin

n:=ord(s[i])+3; if n>ord('z') then n:=ord('a')+n-ord('z')-1;

s[i]:=chr(n); end;

end

else

for i:=1 to length(s) do begin

n:=ord(s[i])-3; if n
s[i]:=chr(n); end;

writeln(s);

end.
Продолжим изучение разновидностей криптографических алгоритмов замены. Лекция сопровождается презентацией. «Шрифты замены» с 6 по 10 слайды.

Другим представителем шифра замены является шифр Виженера. Этот шифр является усложненным шифром Цезаря и предполагает выбор ключа, который рассматривают как блоковую последовательность букв, а сообщение разбивают на блоки длиной, соответствующей длине ключа. Затем выполняют операцию сложения по модулю номеров каждой буквы исходного текста с номером соответствующей буквы ключа в блоке и по полученному номеру записывают букву в зашифрованный текст.

Для примера используем слово ФАЙЛ, состоящее из 4 букв, как ключ. Алфавитным номерам букв соответствует блок чисел 21, 1, 10, 12. Чтобы зашифровать сообщение при помощи этого ключа, исходный текст разбивается на блоки длинной в 4 буквы каждый. Затем к каждому числовому представлению первой буквы блока надо прибавить 21, к числовому представлению второй буквы – 1, третьей – 10, четвертой – 12. Получающиеся суммы по модулю представляют числовые значения шифртекста.

Шифр сложной замены состоит в модификации шифра Цезаря числовым ключом. Для этого под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают примерно так же, как в шифре Цезаря, но отсчитывают не третью букву по алфавиту (как в шифре Цезаря), а ту, которая смещена по алфавиту на соответствующую цифру ключа.

Пусть в качестве ключа используется группа из трех цифр – 314, тогда

Сообщение СОВЕРШЕННОСЕКРЕТНО

Ключ 3143143143143143143

Криптограмма ФПЖИСЫИОССТЙНСЙХОТ

Криптоалгоритм полибианский квадрат предполагает заполнение некоего квадрата буквами алфавита в случайном порядке. Для шифрования на квадрате находят букву текста и записывают в шифртекст букву, расположенную ниже ее в том же столбце. Если буква оказывалась в нижней строке таблицы, то брали верхнюю букву из того же столбца.

Пусть дан квадрат - ключ для шифра «Полибианский квадрат».

У

Х

Э

Н

Ж

Ч

Е

С

Л

К

Ц

Г

О

Р

Д

Щ

Ф

А

Ь

И

В

З

Ю

Й

Ъ

Т

М

Б

П

Ы

Ш

Я

Зашифруем слово «криптография» полученным ключом. Найдем в прямоугольнике первую букву слова. Выберем букву, которая стоит ниже этой буквы, и запишем ее в качестве первого символа криптограммы. Выполним аналогичные действия для всех оставшихся букв слова. Получим шифртекст «азбжхвизтъбс».
Третий урок.

Практическая работа по теме

«Программирование криптоалгоритмов замены»

Цели урока: научить шифровать и дешифровать информацию программным путем с помощью шифров замены.

Предлагается написать и отладить программы для шифрования и дешифрования фразы «personal computer» по следующим алгоритмам:

  • шифр Виженера с ключом «file»;

  • шифр Полибианский квадрат, размером 5*5, случайным образом заполненный прописными буквами латинского алфавита.

При выполнении практической работы необходимо обговорить следующие моменты:

  • все тексты состоят из малых английских букв;

  • текст читается как строка и поэтому не может содержать более 256 символов. Можно не ограничивать объем текста, если учащиеся знакомы c типом файлы.

При работе в среде программирования удобнее использовать файловый ввод-вывод.

Программный код для алгоритма Виженера

program vigener;

var n,i,r:integer; s,s1,s2:string;

begin

writeln('vvedite stroku'); readln(s);

writeln('vvedite kluch'); readln(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 i<=length(s) do

if s[i]=' ' then delete(s,i,1) else i:=i+1;

for i:=1 to length(s) do begin

n:=ord(s[i])+(ord(s2[i])-ord('a'))+1;

if n>ord('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
s[i]:=chr(n); end;

writeln(s);

end.

Тест

Входные данные (исходный текст, ключ) personal computer

file

Выходные данные (шифртекст) vndxuwmqixyuacqw
Программный код для алгоритма Полибианский квадрат

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<=length(s) do if s[i]=' ' then delete(s,i,1) else i:=i+1;

for i:=1 to length(s) do

for k:=1 to n do

for j:=1 to n do if s[i]=a[k,j] then

if k
end

else

for i:=1 to length(s) do

for k:=1 to n do

for j:=1 to n do if s[i]=a[k,j] then

if k>1 then s1:=s1+a[k-1,j] else s1:=s1+a[n,j];

writeln (s1);

end.

Тест

Входные данные (размер квадрата, квадрат с буквами, исходный текст, режим работы)

5

abcde

fghji

klmno

prstu

vwxyz

1

personal computer

Выходные данные (шифртекст)

viwxutfrhusvzyiw
Домашнее задание: выучить лекцию, написать программу для реализации шифрования и дешифрования текста с помощью шифра простой вертикальной перестановки (см. Урок 1).

Четвертый урок.

Шифры перестановки
Цели урока: познакомить учащихся с шифрами перестановки, научиться шифровать и дешифровать информацию.

В начале урока необходимо провести опрос и анализ ответов учащихся на следующие вопросы:

  • Дать общую характеристику шифрам перестановки.

  • Проверить заданные на дом программу (учащиеся должны написать программу на доске).

Код программы, написанный учащимися на доске обсудить и сверить с кодом на слайде 5 презентации «Шрифты перестановки».

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.
Продолжим изучение разновидностей криптографических алгоритмов перестановки. Лекция сопровождается презентацией. «Шрифты перестановки. Программирование алгоритмов» с 6 по 10 слайды.

К перестановочному шифрованию относится метод одиночной перестановки. Установим номера следования букв ключа ФАЙЛ в алфавите и с помощью этих чисел пронумеруем столбцы, а открытый текст запишем как последовательность строк под ключом. Криптограмма образуется путем чтения по столбцам, начиная со столбца, номер которого наименьший в алфавите и т.д.
1   2   3   4

Похожие:

«Программирование криптоалгоритмов замены». 1ч iconПроизводство работ капитального характера с учетом ограничений, связанных...
Устранения неисправностей всех изношенных элементов здания посредством их восстановления или замены (кроме полной замены несущих...
«Программирование криптоалгоритмов замены». 1ч icon«программирование»
Рабочая программа дисциплины «Программирование» /сост. Хатаева Р. С.– Грозный: чгпи, 2011г
«Программирование криптоалгоритмов замены». 1ч icon12 Достижения компьютерной техники 15 Программирование
Программирование 3
«Программирование криптоалгоритмов замены». 1ч iconПрограмма по формированию навыков безопасного поведения на дорогах...
Понятно, что программирование стержень профильного курса информатики. Но какова его роль и есть ли необходимость изучать программирование...
«Программирование криптоалгоритмов замены». 1ч iconРабочая программа дисциплины оп. 08 Теория алгоритмов (с дополнениями...
Специальность 09. 02. 03 «Программирование компьютерных систем» (базовая подготовка)
«Программирование криптоалгоритмов замены». 1ч iconОсновная образовательная программа среднего профессионального образования...
Нормативные документы для разработки ооп спо по специальности 230115 Программирование в компьютерных системах
«Программирование криптоалгоритмов замены». 1ч icon«Динамическое Web-Программирование»
Целью курса "Динамическое Web-Программирование" является изучение принципов разработки приложений, работающих в среде Интернет и...
«Программирование криптоалгоритмов замены». 1ч iconРабочая программа по дисциплине “алгоритмизация и программирование”...
Алгоритмизация и программирование” составлена в соответствии с требованиями Государственного общеобразовательного стандарта высшего...
«Программирование криптоалгоритмов замены». 1ч iconПрограмма учебной дисциплины технические средства информатизации...
Рабочая программа учебной дисциплины разработана на основе Федерального государственного образовательного стандарта (далее – фгос)...
«Программирование криптоалгоритмов замены». 1ч icon«Тайна пляшущих человечков». Шерлок Холмс и шифр простой замены
Новикова Светлана Игоревна, учитель моу сош №9 г. Усть-Кут Иркутская область
«Программирование криптоалгоритмов замены». 1ч iconСамостоятельная работа Методические указания к выполнению самостоятельной...
Методические указания выполнению самостоятельной работы по курсу «Информатика» и «Информатика и программирование»: Авт сост Н. В....
«Программирование криптоалгоритмов замены». 1ч iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: 1 Познакомить учащихся с решением иррациональных уравнений методом замены переменных
«Программирование криптоалгоритмов замены». 1ч iconСценарий урока «Элементы начертательной геометрии» в 9-м классе
Усвоить метод замены плоскостей проекций, с помощью которого определяют действительную величину сечения геометрического тела
«Программирование криптоалгоритмов замены». 1ч iconПрограмма по формированию навыков безопасного поведения на дорогах...
Затем обобщите наблюдения и сформулируйте правила замены прямой речи речью косвенной
«Программирование криптоалгоритмов замены». 1ч iconОбзор цифровых образовательных ресурсов, рекомендованных Министерством...
Программа предназначена для проведения квалификационных испытаний в рамках процедуры аттестации педагогических работников по должности...
«Программирование криптоалгоритмов замены». 1ч iconПрограмма по формированию навыков безопасного поведения на дорогах...
Положение об организации замены уроков за отсутствующих учителей в гбоу лицее №1581, цао, г. Москвы


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск