Академический Документы
Профессиональный Документы
Культура Документы
Москвы
Государственное бюджетное общеобразовательное учреждение города
Москвы «Школа № 777 имени Героя Советского Союза Е.В. Михайлова»
Проект
Создание приложения «Шифр» на языке программирования Visual Basic
Москва, 2020
Оглавление
Введение ...................................................................................................................... 3
Цель проекта и задачи проекта................................................................................. 5
Методика выполнения работы .................................................................................. 6
1. Алгоритм «Шифр Цезаря» ................................................................................ 6
2. Алгоритм «Тарабарская грамота» . ................................................................ 7
Результаты ................................................................................................................... 8
Описание завершенного продукта ............................................................................ 9
Список литературы и источников ........................................................................... 11
Приложение ............................................................................................................... 12
2
Введение
С возникновением письменности у людей появилась потребность
скрывать важные сведения. Тайнопись (криптография) – это наука,
занимающаяся проблемами защиты информации. Защита информации – это
преобразование ее в нечитаемый вид, которое выполняется по определенным
правилам. Эти правила известны лишь уполномоченным лицам. Сами правила
образуют систему шифрования/дешифрования текста.
Первые методы шифрования появились 4000 лет назад и
были графическими. Например, в Египте для украшения гробниц использовали
иероглифы, рассказывающие историю жизни умершего. Древние
цивилизации Вавилона, Индии, Греции, Китая также активно использовали
шифры для защиты информации.
В древнее время тайнопись чаще всего использовали для
сокрытия религиозных текстов и медицинских рецептов.
В священных иудейских книгах можно встретит примеры использования
криптографии. Например, в книге пророка Иеремии (VI век до н. э.) описан про
стой метод шифрования под названием «Атбаш». Автор использовал зеркальны
й алфавит так, что каждой букве в обычном алфавите соответствовала буква в
перевернутом алфавите.
Пример этих алфавитов:
ABCD...Z
ZYXW ...A
С развитием государственности отмечается рост методов тайнописи, ко-
торые применялись уже для защиты дипломатических и военных сообщений.
Так в Риме Юлий Цезарь (100-44 годы до н.э.) разработал метод шифрования
своих военных донесений путем сдвига букв исходного алфавита на три буквы
влево, похожий на систему шифрования «Абаш».
В России тайнопись возникла в XIII веке, но первые специалисты в этой
бласти, находящиеся на государственной службе, появились в 1545 г. Во време-
3
на правления Ивана IV Грозного (вторая половина XVI века) внешне
политическая деятельность России расширяется. Это приводит к
необходимости развития способов тайнописи. Русские послы стали прибегать
к зашифрованной переписке ("затейное письмо"). Такое письмо составлялось
на основе метода шифровки, получившего название «тарабарской грамоты».
Проблема защиты информации особенно актуальна в наши дни. Инфор-
мацию сегодня рассматривают как один из ценнейших и дорогостоящих ресур-
сов, необходимых для развития цивилизованного общества. И она требует обес-
печения должной защиты. Информационная безопасность не мыслима без зна-
ния различных методов шифрования информации.
4
Цель проекта и задачи проекта
Задачи:
1. Изучить историю криптографии.
2. Изучить алгоритмы шифрования/дешифрования «Шифр Цезаря» и
«Тарабарская грамота».
3. Разработать программы для реализации алгоритмов «Шифр Цезаря»,
«Тарабарская грамота».
5
Методика выполнения работы
1. Алгоритм «Шифр Цезаря»
При выполнении шифрования каждый символ исходного текста
заменяется символом, который находится на 3 позиции правее исходного
символа в алфавите. Таким образом, буква А заменяется на Г, Б на Д, Я на В, и
так далее.
А Б В Г Д Е Ё
Г Д Е Ё
Алгоритм
Исходный алфавит: А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч
Ш Щ Ъ Ы Ь Э Ю Яа б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
Шифрованный алфавит: Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш
ЩЪЫЬЭЮЯАБВгдеёжзийклмнопрстуфхцчшщъыьэюяа
бв
Шифрованный текст получается путём замены каждой буквы оригиналь-
ного текста соответствующей буквой шифрованного алфавита.
Пример.
Оригинальный текст: Информационная безопасность.
Шифрованный текст: Лрчсупгщлсрргвдзкстгфрсфхя
Если символа в алфавите нет, то он просто переписывается в шифровку.
Для дешифрования используют тот же способ, что и для шифрования.
Программный код
См. Приложение
6
2. Алгоритм «Тарабарская грамота»
Для шифрования сообщений данным методом используется
нижеследующая таблица.
Б В Г Д Ж З К Л М Н
Щ Ш Ч Ц Х Ф Т С Р П
7
Результаты
Работая над проектом, я изучил историю криптографии, алгоритмы
шифрования/дешифрования «Шифр Цезаря» и «Тарабарская грамота».
Мною были написаны программы на языке Visual Basic для реализации
вышеуказанных алгоритмов.
В результате я разработал пользовательское приложение «Шифр», кото-
рое, используя алгоритмы «Шифр Цезаря» и «Тарабарская грамота» позволяет
шифровать и дешифровать произвольный текст. Можно использовать данную
программу на уроках информатики, а также в личных целях пользователя.
Потребность в кодировании информации актуальна во все времена.
Требует защиты дипломатическая и экономическая корреспонденция,
военные сообщения, медицинские прогнозы, информация с бирж, сообщения
прессы. Эта защита обеспечивается постоянным развитием и
совершенствованием систем шифрования. Поэтому тема «Криптография»
интересна и современна.
8
Описание завершенного продукта
1. Главное окно.
В окне программы есть поле для ввода исходного текста. Текст
необходимо вводить на русском языке. С помощью соответствующих кнопок
можно выбрать метод шифрования/дешифрования. В зависти от целей
(шифрование/дешифрование) используются командные кнопки. Результат будет
отображен в нижнем текстовом поле.
В главном меню приложения три пункта. В пункте «О программе»
содержится информация об авторе. Пункт «Системы шифрования» позволяет
получить справочную информацию об используемых алгоритмах шифрования.
Вкладка «Выход» позволяет завершить работу приложения.
9
2. Пример работы программы.
10
Список литературы и источников
1. Под редакцией В. В. Ященко. Введение в криптографию.: МЦНМО,
2012
2. Сингх Саймон. Книга шифров. М.: Аванта+, 2009
3. Жельников В. Кpиптогpафия от папиpуса до компьютеpа — М.: ABF,
1996.
4. http://www.questhint.ru
5. http://ru.wikipedia.org
6. http://cryptography.ucoz.net
7. http://www.krugosvet.ru
11
Приложение
Next j
End If
Next i
EndIf
' Тарабарская грамота (шифрование)
If Option2.Value = True Then
stroka1 = "БВГДЖЗКЛМНбвгджзклмн"
stroka2 = "ЩШЧЦХФТСРПщшчцхфтсрп"
stroka3 = "АЕЁИЙОУЪЫЬЭЮЯаеёийоуъыьэюя"
strokaisx = Text1.Text
strokakon = ""
kolvo = Len(strokaisx)
12
For i = 1 Tokolvo
simvol = Mid(strokaisx, i, 1)
If simvol = " " Or simvol = "." Or simvol = "," Or simvol = "!" Or simvol = "?" Or
simvol = ":" Or simvol = ";" Or simvol = "-" Then
strokakon = strokakon + Chr(Asc(simvol))
Else
For j = 1 To 30
If simvol = Mid(stroka1, j, 1) Then strokakon = strokakon + Mid(stroka2, j, 1)
If simvol = Mid(stroka2, j, 1) Then strokakon = strokakon + Mid(stroka1, j, 1)
If simvol = Mid(stroka3, j, 1) Then strokakon = strokakon + Mid(stroka3, j, 1)
Next j
End If
Next i
End If
Text2.Text = strokakon
End Sub
strokaisx = Text1.Text
strokakon = ""
kolvo = Len(strokaisx)
For i = 1 Tokolvo
simvol = Mid(strokaisx, i, 1)
13
If simvol = " " Or simvol = "." Or simvol = "," Or simvol = "!" Or simvol = "?" Or
simvol = ":" Or simvol = ";" Or simvol = "-" Then
strokakon = strokakon + Chr(Asc(simvol))
Else
For j = 1 To 66
If simvol = Mid(stroka1, j, 1) Then strokakon = strokakon + Mid(stroka2, j, 1)
Next j
End If
Next i
EndIf
' Тарабарская грамота (дешифрование)
If Option2.Value = True Then
stroka1 = " ЩШЧЦХФТСРПщшчцхфтсрп "
stroka2 = " БВГДЖЗКЛМНбвгджзклмн "
stroka3 = " АЕЁИЙОУЪЫЬЭЮЯаеёийоуъыьэюя "
strokaisx = Text1.Text
strokakon = ""
kolvo = Len(strokaisx)
For i = 1 Tokolvo
simvol = Mid(strokaisx, i, 1)
If simvol = " " Or simvol = "." Or simvol = "," Or simvol = "!" Or simvol = "?" Or
simvol = ":" Or simvol = ";" Or simvol = "-" Then
strokakon = strokakon + Chr(Asc(simvol))
Else
For j = 1 To 30
If simvol = Mid(stroka1, j, 1) Then strokakon = strokakon + Mid(stroka2, j, 1)
If simvol = Mid(stroka2, j, 1) Then strokakon = strokakon + Mid(stroka1, j, 1)
If simvol = Mid(stroka3, j, 1) Then strokakon = strokakon + Mid(stroka3, j, 1)
Next j
End If
Next i
End If
Text2.Text = strokakon
End Sub
14
Private Sub Form_Load()
Label1.Caption = "Введитетекст, которыйнеобходимозашифровать (дешифровать)"
Form1.BackColor = RGB(125, 200, 196)
Option1.Value = True
Option2.Value = False
Text1.ForeColor = vbBlue
Text2.ForeColor = vbRed
End Sub
15