Демо (html) Методы и средства защиты компьютерной информации
Шифрование методом перестановки
1. Запустите PascalABC.
2. С помощью команды Сервис – Создать форму сформируйте форму:
3. Введите событийную процедуру для кнопки «Шифровать»:
procedure Button1OnClick;
Var i: integer;
begin
If Edit1.Text<>'' Then
For i:=length(Edit1.Text) downto 1 do
Edit2.Text:=Edit2.Text+Edit1.Text[i];
end;
4. Введите событийную процедуру для кнопки «Очистить»:
procedure Button2OnClick;
begin
Edit1.Text:='';
Edit2.Text:='';
end;
5. Проверьте работу приложения:
6. Сохраните приложение.
Вариант
1. Зашифровать текст «КРИПТОАНАЛИЗ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
2. Расшифровать текст «АНИЧИЛЕВ___ЯАНЬЛАЧАН» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
3. Зашифровать текст «ИМИТОВСТАВКА», применяя шифр перестановки с ключом 231.
4. Зашифровать текст «ИСХОДНОЕ___СООБЩЕНИЕ», применяя шифр перестановки с ключом 634251.
5. Расшифровать текст «МКОЮПЬРТЕ», применяя шифр перестановки с ключом 312.
6. Расшифровать текст «АБОРЙНТЫОП___РСЕЦС», применяя шифр перестановки с ключом 4213.
Вариант
1. Зашифровать текст «КРИПТОСТОЙКОСТЬ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
2. Расшифровать текст «ЕИНАВОРИБАТШСАМ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
3. Зашифровать текст «УПРАЖНЕНИЕ», применяя шифр перестановки с ключом 24531.
4. Зашифровать текст «СПОСОБЫ___ШИФРОВАНИЯ», применяя шифр перестановки с ключом 132.
5. Расшифровать текст «ОЛПТИИА___КЕЗБПАОНОСТИС», применяя шифр перестановки с ключом 231.
6. Расшифровать текст «АИЩЗАТ», применяя шифр перестановки с ключом 243165.
Вариант
1. Зашифровать текст «ПОСЛЕДОВАТЕЛЬНОСТЬ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
2. Расшифровать текст «ЕИНАВОРИММАРГОРП» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
3. Зашифровать текст «БЕЗОПАСНОСТЬ», применяя шифр перестановки с ключом 231.
4. Зашифровать текст «ИНФОРМАЦИЯ», применяя шифр перестановки с ключом 51423.
5. Расшифровать текст «НОТЕОШЕНИР___СНАВОИМИСТ», применяя шифр перестановки с ключом 312.
6. Расшифровать текст «ЕЛДИЕЛТЬ», применяя шифр перестановки с ключом 2314.
Вариант
1. Зашифровать текст «РАСШИФРОВАНИЕ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
2. Расшифровать текст «ЯИНАВОРИММАГ___ДОТЕМ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
3. Зашифровать текст «АЛГОРИТМ», применяя шифр перестановки с ключом 4213.
4. Зашифровать текст «КРИПТОСТОЙКОСТЬ», применяя шифр перестановки с ключом 31245.
5. Расшифровать текст «ОСПЕДЛВАОЕЛТНОЬТЬС», применяя шифр перестановки с ключом 231.
6. Расшифровать текст «АДРНБУРАЭМ», применяя шифр перестановки с ключом 35241.
Вариант
1. Зашифровать текст «СООБЩЕНИЕ» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
2. Расшифровать текст «ТСКЕТ___ЙЫТЫРКТО» путем изменения прямой последовательности символов (слева направо) на обратную (справа налево).
3. Зашифровать текст «ПРОГРАММА», применяя шифр перестановки с ключом 312.
4. Зашифровать текст «ПРИМЕР___ШИФРА», применяя шифр перестановки с ключом 341265.
5. Расшифровать текст «ОВСЙВТСО», применяя шифр перестановки с ключом 3214.
6. Расшифровать текст «ОЛЧНЫБШ___ИФРЙ», применяя шифр перестановки с ключом 324561.
Криптографические методы защиты информации. Шифрование методом перестановки.
Исторически первыми появились симметричные криптографические системы. Симметричная криптосистема шифрования – криптосистема, в которой для зашифровывания и расшифровывания информации используется один и тот же ключ.
Это означает, что любой, кто имеет доступ к ключу шифрования, может расшифровать сообщение. Соответственно с целью предотвращения несанкционированного раскрытия зашифрованной информации все ключи шифрования в симметричных криптосистемах должны держаться в секрете. Именно поэтому симметричные криптосистемы называют криптосистемами с секретным ключом — ключ шифрования должен быть доступен только тем, кому предназначено сообщение. Симметричные криптосистемы называют еще одноключевыми криптографическими системами, или криптосистемами с закрытым ключом.
Схема симметричной криптосистемы шифрования показана на рисунке:
Схема симметричной криптосистемы шифрования
Данные криптосистемы характеризуются наиболее высокой скоростью шифрования, и с их помощью обеспечиваются как конфиденциальность и подлинность, так и целостность передаваемой информации. Конфиденциальность передачи информации с помощью симметричной криптосистемы зависит от надежности шифра и обеспечения конфиденциальности ключа шифрования.
Обычно ключ шифрования представляет собой файл или массив данных и хранится на персональном ключевом носителе, например дискете или смарт-карте; обязательно принятие мер, обеспечивающих недоступность персонального ключевого носителя кому-либо, кроме его владельца.
Подлинность обеспечивается за счет того, что без предварительного расшифровывания практически невозможно осуществить смысловую модификацию и подлог криптографически закрытого сообщения. Фальшивое сообщение не может быть правильно зашифровано без знания секретного ключа.
Целостность данных обеспечивается присоединением к передаваемым данным специального кода (имитовставки), вырабатываемой по секретному ключу. Имитовставка является разновидностью контрольной суммы, т.е. некоторой эталонной характеристикой сообщения, по которой осуществляется проверка целостности последнего. Алгоритм формирования имитовставки должен обеспечивать ее зависимость по некоторому сложному криптографическому закону от каждого бита сообщения. Проверка целостности сообщения выполняется получателем сообщения путем выработки по секретному ключу имитовставки, соответствующей полученному сообщению, и ее сравнения с полученным значением имитовставки. При совпадении делается вывод о том, что информация не была модифицирована на пути от отправителя к получателю.
Симметричное шифрование идеально подходит для шифрования информации «для себя», например, с целью предотвращения НСД к ней в отсутствие владельца. Это может быть как архивное шифрование выбранных файлов, так и прозрачное (автоматическое) шифрование целых логических или физических дисков.
Обладая высокой скоростью шифрования, одноключевые криптосистемы позволяют решать многие важные задачи защиты информации. Однако автономное использование симметричных криптосистем в компьютерных сетях порождает проблему распределения ключей шифрования между пользователями.
Перед началом обмена зашифрованными данными необходимо обменяться секретными ключами со всеми адресатами. Передача секретного ключа симметричной криптосистемы не может быть осуществлена по общедоступным каналам связи, секретный ключ надо передавать отправителю и получателю по защищенному каналу.
В связи с тем, что открытый текст сообщения обычно имеет произвольную длину, то он разбивается на более мелкие блоки фиксированной длины. Тексты этих блоков шифруются отдельно, независимо друг от друга.
Одноключевые блочные шифры подразделяются на три группы:
· шифры перестановки;
· шифры замены;
· составные шифры.
1007.01.01;ЭПТЛ2.01;1
Цель:
знакомство с криптографическими методами защиты информации.
Результаты обучения:
После успешного завершения занятия пользователь должен:
· знать основные понятия криптографической защиты информации;
· знать принципы работы симметричных криптосистем шифрования;
· уметь зашифровывать и расшифровывать сообщения методом перестановки.
Список рекомендуемой литературы:
1. Шаньгин В.Ф. Информационная безопасность компьютерных систем и сетей. Учебное пособие. – М.: ИД «ФОРУМ»: ИНФРА-М, 2008.
2. Осипян В.О., Осипян К.В. Криптография в задачах и упражнениях. – М.: Гелиос АРВ, 2004.
3. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. – М.: Гелиос АРВ, 2002.
Используемые программы:
PascalABC
Система Pascal ABC предназначена для обучения программированию на языке Паскаль, позволяет осуществить плавный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.
Тестирование
Криптосистема, в которой для зашифровывания и расшифровывания информации используется один и тот же ключ, называется
симметричной
Шифрование методом подстановки (замены)
1. Запустите PascalABC.
2. С помощью команды Сервис – Создать форму сформируйте форму:
3. Введите событийную процедуру для кнопки «Зашифровать»:
procedure Button1OnClick;
var
soob,sh___soob,kl: string;
i,j,n,m,k: integer;
kod___soob,kod___kl,kod___sh___soob,kod___sh___soob1,kod___soob1,code0,lenalph: integer;
begin
Edit3.Text:='';
Edit1.Text:=uppercase(Edit1.Text);
Edit2.Text:=uppercase(Edit2.Text);
code0 := ord('А');
lenalph := 32;
kl:=Edit1.Text;
soob:=Edit2.Text;
sh___soob:=soob;
n:=ord(soob[0]); {n - длина сообщения}
m:=ord(kl[0]); {m - длина ключа}
j:=1;
for i:=1 to n do
begin
soob[i]:=upcase(soob[i]); {Преобразуем строчные}
kl[i]:=upcase(kl[i]); {буквы в прописные}
kod___soob:=ord(soob[i])-code0; {Получаем коды символов}
kod___kl:=ord(kl[j])-code0; {сообщения и ключа}
kod___sh___soob:=(kod___soob+kod___kl); {Складываем по модулю lenalph}
if kod___sh___soob>lenalph then {эти коды}
kod___sh___soob:=kod___sh___soob-lenalph;
kod___sh___soob1:=kod___sh___soob+code0; {Преобразовываем полученный}
sh___soob[i]:=char(kod___sh___soob1); {код в символ шифросообщения}
k:=j mod m; {Если j-й символ ключа}
if k<>0 then j:=j+1 {является не последним, то}
else j:=1; {увеличиваем j на 1}
{Иначе указатель j=1}
end;
Edit3.Text:=uppercase(sh___soob);
end;
4. Введите событийную процедуру для кнопки «Очистить»:
procedure Button2OnClick;
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
end;
5. Проверьте работу кнопки «Зашифровать»:
6. Сохраните приложение.
7. Введите событийную процедуру для кнопки «Расшифровать»:
procedure Button3OnClick;
var
soob,sh___soob,kl: string;
i,j,n,m,k: integer;
kod___soob,kod___kl,kod___sh___soob,kod___sh___soob1,kod___soob1,code0,lenalph: integer;
begin
Edit2.Text:='';
Edit1.Text:=uppercase(Edit1.Text);
Edit3.Text:=uppercase(Edit3.Text);
code0 := ord('А');
lenalph := 32;
kl:=Edit1.Text;
sh___soob:=Edit3.Text;
n:=ord(sh___soob[0]); {n - длина сообщения}
m:=ord(kl[0]); {m - длина ключа}
j:=1;
for i:=1 to n do
begin
kod___sh___soob:=ord(sh___soob[i])-code0; {Получаем коды символов}
kod___kl:=ord(kl[j])-code0; {шифросообщения и ключа}
kod___soob:=(kod___sh___soob-kod___kl); {Вычитаем по модулю lenalph}
if kod___soob<0 then {из кода шифросообщения}
kod___soob:=(kod___sh___soob+lenalph-kod___kl); {код ключа}
kod___soob1:=kod___soob+code0; {Преобразовываем полученный}
soob[i]:=char(kod___soob1); {код в символ исходного сообщения}
k:=j mod m; {Если j-й символ ключа}
if k<>0 then j:=j+1 {является не последним, то}
else j:=1; {увеличиваем j на 1}
{Иначе указатель j=1}
end;
Edit2.Text:=soob;
end;
8. Проверьте работу кнопки «Расшифровать»:
9. Сохраните приложение.
Вариант
1. Зашифровать текст «КРИПТОАНАЛИЗ» с помощью шифра Цезаря.
2. Расшифровать текст «ЕИОЛЪЛРГ» с помощью шифра Цезаря.
3. Зашифровать текст «ИМИТОВСТАВКА», применяя шифр Виженера с ключом АВТО.
4. Зашифровать текст «СООБЩЕНИЕ», применяя шифр Виженера с ключом РУЛЬ.
5. Расшифровать текст «КРЮЭЬАДУР», применяя шифр Виженера с ключом АВТО.
6. Расшифровать текст «ЯГЩТХДЬ», применяя шифр Виженера с ключом РУЛЬ.
Вариант
1. Зашифровать текст «КРИПТОСТОЙКОСТЬ» с помощью шифра Цезаря.
2. Расшифровать текст «ПГФЫХГДЛУСЕГРЛИ» с помощью шифра Цезаря.
3. Зашифровать текст «УПРАЖНЕНИЕ», применяя шифр Виженера с ключом МОРЕ.
4. Зашифровать текст «ШИФРОВАНИЕ», применяя шифр Виженера с ключом РЕКА.
5. Расшифровать текст «ЫЬЫНЮЦЪЕ», применяя шифр Виженера с ключом МОРЕ.
6. Расшифровать текст «ЧЕГИВЕ», применяя шифр Виженера с ключом РЕКА.
Вариант
1. Зашифровать текст «ПОСЛЕДОВАТЕЛЬНОСТЬ» с помощью шифра Цезаря.
2. Расшифровать текст «ТУСЖУГППЛУСЕГРЛИ» с помощью шифра Цезаря.
3. Зашифровать текст «БЕЗОПАСНОСТЬ», применяя шифр Виженера с ключом ГРАЧ.
4. Зашифровать текст «ИНФОРМАЦИЯ», применяя шифр Виженера с ключом ВЫПЬ.
5. Расшифровать текст «СВНЕЫХНЯИ», применяя шифр Виженера с ключом ГРАЧ.
6. Расшифровать текст «ЖАЪДФАЪШ», применяя шифр Виженера с ключом ВЫПЬ.
Вариант
1. Зашифровать текст «РАСШИФРОВАНИЕ» с помощью шифра Цезаря.
2. Расшифровать текст «ПИХСЗ» с помощью шифра Цезаря.
3. Зашифровать текст «АЛГОРИТМ», применяя шифр Виженера с ключом РОЗА.
4. Зашифровать текст «КРИПТОСТОЙКОСТЬ», применяя шифр Виженера с ключом СОРТ.
5. Расшифровать текст «ЯЬШЛХТХВРАМЛМЫХСВК», применяя шифр Виженера с ключом РОЗА.
6. Расшифровать текст «ТЮРЯХЪРЕОЮ», применяя шифр Виженера с ключом СОРТ.
Вариант
1. Зашифровать текст «СООБЩЕНИЕ» с помощью шифра Цезаря.
2. Расшифровать текст «ХИНФХ» с помощью шифра Цезаря.
3. Зашифровать текст «ПРОГРАММА», применяя шифр Виженера с ключом ВАЗА.
4. Зашифровать текст «ПРИМЕР», применяя шифр Виженера с ключом УТЮГ.
5. Расшифровать текст «УВХЙУТЙО», применяя шифр Виженера с ключом ВАЗА.
6. Расшифровать текст «ЛЪТУ», применяя шифр Виженера с ключом УТЮГ.
Криптографические методы защиты информации. Шифрование методом подстановки (замены).
Если в качестве ключа K взять вполне определенное слово или фразу (секретный ключ) длины d
то можно определить более сложный метод подстановки, суть которого сводится к следующему шифру (шифр Виженера):
,
ti – i-й символ открытого текста, ei – i-й символ шифртекста.
Так, например, если
T = КОРЕНЬ
- открытый текст, а
K = МОРЕ
- секретный ключ длины 4, то шифртекст Виженера будет иметь вид
E = ЦЬАКЩК
На практике для зашифровывания открытого текста T и расшифровывания E по шифру Виженера с секретным ключом длины d можно использовать таблицу Виженера:
Таблица Виженера для русского алфавита
Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею - строки, соответствующие буквам ключа в порядке следования этих букв в ключе. Пример такой рабочей матрицы для ключа МОРЕ приведен в средней части рисунке:
Исходный текст - КОРЕНЬ
Шифртект - ЦЬАКЩК
Последовательность шифрования по таблице Виженера с использованием ключа "МОРЕ"
Процесс шифрования осуществляется следующим образом: 1) под каждой буквой шифруемого текста записываются буквы ключа. Ключ при этом повторяется необходимое число раз; 2) каждая буква шифруемого текста заменяется по подматрице буквами, находящимися на пересечении линий, соединяющих буквы шифруемого текста в первой строке подматрицы и находящихся под ними букв ключа; 3) полученный текст может разбиваться на группы по несколько знаков.
Пусть, например, требуется зашифровать сообщение: КОРЕНЬ. В соответствии с первым правилом записываем под буквами шифруемого текста буквы ключа. Получаем:
КОРЕНЬ
МОРЕМО
Дальше осуществляется непосредственное шифрование в соответствии со вторым правилом, а именно: берем первую букву шифруемого текста (К) и соответствующую ей букву ключа (М); по букве шифруемого текста (К) входим в рабочую матрицу шифрования и выбираем под ней букву, расположенную в строке, соответствующей букве ключа (М) - в нашем примере такой буквой является Ц; выбранную таким образом букву помещаем в шифрованный текст. Эта процедура циклически повторяется до зашифровывания всего текста.
На рисунке представлена схема шифрования. Эксперименты показали, что при использовании такого метода статистические характеристики исходного текста практически не проявляются в зашифрованном сообщении. Нетрудно видеть, что замена по таблице Виженера эквивалентна простой замене с циклическим изменением алфавита, т. е., здесь мы имеем полиалфавитную подстановку, причем число используемых алфавитов определяется числом букв в слове ключа. Поэтому стойкость такой замены определяется произведением стойкости прямой замены на число используемых алфавитов, т. е. на число букв в ключе.
Расшифровка текста производится в следующей последовательности: 1) над буквами зашифрованного текста последовательно надписываются буквы ключа, причем ключ повторяется необходимое число раз; 2) в строке подматрицы Виженера, соответствующей букве ключа, отыскивается буква, соответствующая знаку зашифрованного текста. Находящаяся под ней буква первой строки подматрицы и будет буквой исходного текста; 3) полученный текст группируется в слова по смыслу.
На рисунке данная процедура представлена в наглядном виде. Нетрудно видеть, что процедуры как прямого, так и обратного преобразований являются строго формальными, что позволяет реализовать их алгоритмически. Более того, обе процедуры легко реализуются по одному и тому же алгоритму.
Исходный текст - КОРЕНЬ
Шифртект - ЦЬАКЩК
Порядок расшифровки по таблице Виженера
Одним из недостатков шифрования по таблице Виженера является то, что при небольшой длине ключа надежность шифрования остается невысокой, а формирование длинных ключей сопряжено с трудностями.
Нецелесообразно выбирать ключ с повторяющимися буквами, так как при этом стойкость шифра не возрастает. В то же время ключ должен легко запоминаться, чтобы его можно было не записывать. Последовательность же букв, не имеющую смысла, запомнить трудно.
С целью повышения стойкости шифрования можно использовать усовершенствованные варианты таблицы Виженера. Приведем некоторые из них: 1) во всех (кроме первой) строках таблицы буквы располагаются в произвольном порядке; 2) в качестве ключа используются случайные последовательности чисел. Из таблицы Виженера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.
1007.01.01;ЭПТЛ2.02;1
Цель:
знакомство с криптографическими методами защиты информации.
Результаты обучения:
После успешного завершения занятия пользователь должен:
· знать основные понятия криптографической защиты информации;
· знать принципы работы симметричных криптосистем шифрования;
· уметь зашифровывать и расшифровывать сообщения методом подстановки (замены).
Список рекомендуемой литературы:
1. Шаньгин В.Ф. Информационная безопасность компьютерных систем и сетей. Учебное пособие. – М.: ИД «ФОРУМ»: ИНФРА-М, 2008.
2. Осипян В.О., Осипян К.В. Криптография в задачах и упражнениях. – М.: Гелиос АРВ, 2004.
3. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. – М.: Гелиос АРВ, 2002.
Используемые программы:
PascalABC
Система Pascal ABC предназначена для обучения программированию на языке Паскаль, позволяет осуществить плавный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.
Тестирование
Символы шифруемого текста заменяются другими символами, взятыми из нескольких алфавитов, при шифровании методом подстановки
полиалфавитной