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