ШИФРОВАНИЕ ИНФОРМАЦИИ И ИСТОРИЯ ЕГО РАЗВИТИЯ.

I Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

ШИФРОВАНИЕ ИНФОРМАЦИИ И ИСТОРИЯ ЕГО РАЗВИТИЯ.

Мартьянов И.В. 1
1МБОУ СШ №3 г. Павлово
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Оглавление

Введение…………………………………………………………………...……3

Часть I. Из истории развития шифрования информации….………….……..4

Часть II. Алгоритмы шифрования в программировании……………………6

Заключение………………………………………………...…………….……..9

Список литературы…………………………………………………..………..10

Об авторе………………………………………...…………………………….11

Приложение 1…………………………………………………………………12

Приложение 2……………………………………………………..…………..13

Приложение 3…………………………………………………………..……..14

Приложение 4…………………………………………………………………15

Приложение 5……………………………………………………..…………..16

Приложение 6…………………………………………………………..……..17

Приложение 7……………………………………………………..…………..19

Введение.

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

Актуальность. Сейчас, с развитием технологий, активно происходит так называемая «компьютеризация» населения. Но вся вычислительная техника способна «понимать» лишь два значения – включено или выключено. Потому для работы необходим перевод информации в двоичную систему счисления, то есть шифрования с помощью лишь двух знаков – «1» и «0». Потому значение шифрования в наше время трудно переоценить.

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

Задачи:

  • Изучение истории появления шифрования информации.

  • Создания алгоритма шифрования на языке программирования.

Методы исследования, использовавшиеся в данной работе:

  • Описательный

  • Аналитический

  • Практический

Из истории развития шифрования информации.

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

Скитала, известная как «шифр древней Спарты», также является одним из древнейших известных криптографических устройств. Она использовалась в войне Спарты против Афин. Скитала представляла собой длинный стержень, на который наматывалась лента из пергамента. На ленту наносился текст вдоль оси скиталы так, что после разматывания текст становился нечитаемым. Для его восстановления требовалась скитала такого же диаметра. Считается, что Аристотель придумал способ взлома этого шифра – он наматывал ленту на конусообразный стержень до тех пор, пока текст не становился читаемым. Изображение скиталы в приложении 2.

Как некий прообраз современной двоичной системы можно считать квадрат Полибия, изобретенный в Древней Греции. В нём буквы алфавита записывались в квадрат 5 на 5, после чего передавались номер строки и столбца, соответствующие символу исходного текста. Увидеть квадрат Полибия с латинскими буквами и кириллицей можно в приложении 2.

В Средние века шифрованием информации стали пользоваться дипломаты, купцы и даже простые граждане, что обусловило ускорение развития и в том числе появления науки криптографии. Криптография же (с греческого — «тайнопись») определяется как наука, обеспечивающая секретность сообщения.

Самым известным криптографом XVI века можно назвать Блеза де Виженера. В его шифре использовалось многократное применение метода сдвига (шифр сдвига - один из самых простых и наиболее широко известных методов шифрования) с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат Виженера.

Интересным фактом является существование так называемых «черных кабинетов». Обычно это небольшая комната в почтовом отделении, где проводилась дешифрация (при необходимости) и проверка корреспонденции. Первая организация под наименованием «чёрный кабинет» появилась во Франции в XVII веке.

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

Это легко проследить на примере почтовых систем. Скорее всего, каждый видел у себя в электронном почтовом ящике так называемые «фишинговые письма» - обращения к пользователю с просьбой перейти на какой-либо сайт, где будет совершена попытка заполучить пароль от ящика, либо к письму может быть приложен файл, содержащий в себе вирус, чаще всего вирус-шпион, предназначенный для того же - заполучить пароль. Для взлома может так же использоваться подбор паролей, ведь зачастую люди пользуются крайне банальными паролями, содержащими какую-либо знаменательную дату, возможно, имя etc. Но все вышеперечисленное является лишь использованием человеческого фактора, что ясно показывает степень защиты информации, содержащейся на почтовых серверах.

Использование криптографии в коммерческих целях привело к появлению новой валюты – всем известных BitCoin. Эта валюта никак не контролируется государством, что и привело к ее популярности. Биткоин - виртуальная валюта, которую существует в сети и ее можно обменять на реальные деньги. Эмблема BitCoin в приложении 3.

Военное использование криптографии.

Во время Первой Мировой Войны криптография активно использовалась в ведении боевых действий. Лидерами в этой области были Россия и Франция, но свои наработки имели и другие страны, в том числе Англия и Германия. Возможно, самым известным случаем применения является телеграмма Циммермана. Она была перехвачена и расшифрована британским криптографическим отделом “Комната №40”. Текст этой телеграммы позволил США обосновать объявление войны Германии и вступить в боевые действия на стороне союзников. Телеграмма Циммермана в приложении 4.

Во время Второй Мировой Войны криптографией уже активно пользовались все страны-участницы. Однако самыми известными случаями применения являются американская шифровальная машина М-209 и семейство немецких электромеханических шифровальных машин «Энигма». Последние получили печальную известность из-за того, что многие немецкие сообщения были расшифрованы антигитлеровской коалицией, однако существует мнение, что «Энигма» имела самый сильный шифр времен Второй Мировой Войны. В Великобритании имелась же электромеханическая машина «Bomba», состоявшая из шести спаренных «Энигм», которая помогала в расшифровке зашифрованных сообщений, затем, кроме того, она послужила прототипом «Bombe» - машины, предназначенной для взлома шифра «Энигмы». Фотографии в приложении 5.

Касательно американской М-209, она являлась модификацией шифровальной машины С-36 с использованием колесной системы. Главными преимуществами М-209 являлись ее независимость от наличия электрического тока и надежность.

Алгоритмы шифрования в программировании.

Разнообразие алгоритмов шифрования.

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

Традиционно в криптографии используются симметричные криптосистемы (криптосистема - преобразования открытого текста в шифрованный). В них для шифрования и расшифровки информации применяется один и тот же ключ. В асимметричных криптосистемах же используются два ключа, шифрующий и расшифровывающий. При этом, зная лишь ключ зашифровывания, нельзя расшифровать сообщение, и наоборот. Кроме того, стоит отметить квантовую криптографию, которая использует принципы квантовой физики для защиты коммуникаций. Это, например, передача информации с помощью электронов в электрическом токе.

Очевидно, что в каких-либо целях людям требуется обойти шифрование. Наука, которая изучает методы расшифровки зашифрованной информации без предназначенного для такой расшифровки ключа, называется криптоанализом, а удачной раскрытие шифра – взломом или вскрытием. Первоначально методы криптоанализа основывались на лингвистических закономерностях естественного текста и реализовывались с использованием только карандаша и бумаги. Со временем в криптоанализе нарастает роль чисто математических методов, для реализации которых используются специализированные криптоаналитические компьютеры.

Реализация собственных алгоритмов шифрования.

Гипотеза. Я решил выяснить, способен ли простой пользователь персонального компьютера реализовать простейший алгоритм шифрования, используя какой-либо язык программирования.

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

Первый алгоритм шифрования. Листинг программы и пример работы находится в приложении 6.

Рис. 1. Схема работы алгоритма 1.

Данный алгоритм шифрования основан на переводе текста в кодировку Windows. Ее можно представить как огромный квадрат Полибия, заполненный всевозможными символами. Например, символу «ж» в кодировке Windows соответствует код «460». Затем полученные коды для каждой буквы изменяются на определенное постоянное число и переводятся обратно из коды в символ

Алгоритм-дешифратор выполняет те же действия, что и шифровальщик, но число, на которое изменяется код, противоположно числу в шифровальщике.

Второй алгоритм шифрования. Как и первый алгоритм, выполнен в программе PascalABC.NET 2.2, листинг и примеры работы же находятся в приложении 7.

Рис. 2. Схема работа алгоритма 2.

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

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

Заключение

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

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

Список литературы.

- pascalabc.net - Язык программирования, на котором выполнена практическая работа.

- ru.wikipedia.org – Википедия. Огромное количество информации о криптографии и криптоанализе.

- www.furfur.me/furfur/culture/culture/166567-kriptografiya - На этом сайте доступно изложена история развития криптографии.

- oleg-derevenets.narod.ru – Сайт книги «Песни о Паскале», которой я пользовался для того, чтобы разобраться в данном языке программирования.

- www.twirpx.com/file/692162 - «Введение в криптографию» В. В. Ященко - книга, содержащая основные примеры и понятия криптографии.

Об авторе.

Я, Иван Мартьянов, ученик 11 класса школы №3 г. Павлово, профильно обучаюсь информатике, физике, математике и русскому языку. Увлекаюсь игрой на пианино – закончил с отличием музыкальную школу.

Приложение 1.

Рис. 1. Египетские иероглифы.

Приложение 2.

Скитала.

Квадрат Полибия для латинского алфавита и кириллицы.

Приложение 3.

Рис. 4. Эмблема BitCoin.

Приложение 4.

Рис. 5. Телеграмма Циммермана.

Приложение 5.

Рис. 6. Bombe.

Рис. 7. «Энигма».

Приложение 6.

Листинг первого алгоритма шифрования.

var

s : string;

i : integer;

begin

readln(s);

for i := 1 to length(s) do

s[i] := chr(ord(s[i]) - 30);

writeln(s);

end.

Листинг первого алгоритма дешифрования.

var

s : string;

i : integer;

begin

readln(s);

for i := 1 to length(s) do

s[i] := chr(ord(s[i]) + 30);

writeln(s);

end.

Пример работы первого алгоритма шифрования.

Пример работы первого алгоритма дешифрования.

Приложение 7.

Листинг второго алгоритма шифрования.

var

s, r : string;

i, z : integer;

a : array[1..8] of integer;

begin

readln(r);

for i := 1 to length(r) do

begin

a[i] := ord(r[i]);

if a[i] = 48 then a[i] := 55;

end;

z := 0;

for i := 1 to 4 do

if a[i * 2] = 0 then a[i * 2 - 1] := 0;

for i := 1 to 4 do

if a[i * 2] = 0 then break else

begin

inc(z, a[i * 2]);

dec(z, a[i * 2 - 1]);

end;

readln(s);

for i := 1 to length(s) do

s[i] := chr(ord(s[i]) + z);

writeln(s);

end.

Листинг второго алгоритма дешифрования.

var

s, r : string;

i, z : integer;

a : array[1..8] of integer;

begin

readln(r);

for i := 1 to length(r) do

begin

a[i] := ord(r[i]);

if a[i] = 48 then a[i] := 55;

end;

z := 0;

for i := 1 to 4 do

if a[i * 2] = 0 then a[i * 2 - 1] := 0;

for i := 1 to 4 do

if a[i * 2] = 0 then break else

begin

inc(z, a[i * 2]);

dec(z, a[i * 2 - 1]);

end;

readln(s);

for i := 1 to length(s) do

s[i] := chr(ord(s[i]) - z);

writeln(s);

end.

Пример работы второго алгоритма шифрования.

Пример работы второго алгоритма дешифрования (код отличен от вводимого в шифровальщике)

Пример работы второго алгоритма дешифрования (код идентичен вводимому в шифровальщике)

Просмотров работы: 9917