Шифрование данных
проект по информатике и икт (11 класс)

Верхушина Ксения Андреевна

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

 

Объект исследования: криптография

Предмет исследования: способы шифрования и дешифрования данных

 

Цели проекта:

1.         Изучить историю становления науки криптографии и ее практическую значимость.

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

Задачи проекта:

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

2.      Изучение различных методов шифрования.

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

Методы исследования:

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

2.         Аналитический

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

Скачать:

ВложениеРазмер
Файл shifrovanie_dannyh.docx110.81 КБ

Предварительный просмотр:

Муниципальное общеобразовательное учреждение

средняя общеобразовательная школа с. Баляга

Шифрование данных

Работа ученика 11 класса

Мансурова Александра Тагировича

Руководитель проекта  

Верхушина Ксения Андреевна

Работа допущена к защите «_____» _______________ 20____г.

Подпись руководителя проекта ____________________(__________________)

2020 г.

Содержание

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

1.1.Выбор и обоснование проекта…………………………………………….3

2. Основная часть…………….…………………………………………………5        

2.1 История шифрования……………………………………………………....5

2.2 Методы шифрования……………………………………………………….6

2.3 Написание программ……………………………………………………….8

3.Заключение…………………………………………………………………..13        

4. Список используемой литературы……………...…………………………14

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

  1. Введение

Кто владеет информацией, тот владеет миром

Н. Ротшильд.

Натан Ротшильд, основатель огромной банковской династии Ротшильтов, как то сказал эту фразу, которая сразу стала крылатой. Человечество всегда старалось найти способ передачи информации так, чтобы враги или посторонние не могли получить к ней доступ. Но с каждым годом информация играет все более важную роль в нашей жизни. Современный мир – мир высоких технологий и сделанных на их основе изобретений. Именно поэтому одним из важнейших современных активов любого предприятия является информация. Зависимость человечества от неё действительно сложно переоценить. Информация – это самый ценный ресурс человека на данном этапе его развития. Безусловно, именно поэтому она подлежит защите. И одной из самых надежных защитных технологий является шифрование информации.

Именно поэтому я выбрал темой шифрование данных и его виды.

1.1.Выбор и обоснование проекта

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

Объект исследования: криптография

Предмет исследования: способы шифрования и дешифрования данных

Цели проекта:

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

Задачи проекта:

  1. Изучение истории появления шифрования информации.
  2. Изучение различных методов шифрования.
  3. Создания алгоритма шифрования на языке программирования.

Методы исследования:

  1. Описательный
  2. Аналитический
  3. Практический

2. Основная часть

  1. История шифрования

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

Первый период (приблизительно с 3-го тысячелетия до н. э.) характеризуется господством моноалфавитных шифров (основной принцип — замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами).

Второй период (хронологические рамки — с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века) ознаменовался введением в обиход полиалфавитных шифров.

Третий период (с начала и до середины XX века) характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров.

Четвёртый период — с середины до 70-х годов XX века — период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости для различных известных атак — линейного и дифференциального криптоанализа. Однако до 1975 года криптография оставалась «классической» или же, более корректно, криптографией с секретным ключом.

Современный период развития криптографии (с конца 1970-х годов по настоящее время) отличается зарождением и развитием нового направления — криптография с открытым ключом. Её появление знаменуется не только новыми техническими возможностями, но и сравнительно широким распространением криптографии для использования частными лицами. Правовое регулирование использования криптографии частными лицами в разных странах сильно различается — от разрешения до полного запрета.

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

2.2.  Описание некоторых методов шифрования

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

Симметричное шифрование (рис. 1)

При симметричном шифровании, нормальные читабельные данные, известные как обычный текст, кодируется (шифруется), так, что он становится нечитаемым. Это скремблирование данных производится с помощью ключа. Как только данные будут зашифрованы, их можно безопасно передавать на ресивер. У получателя, зашифрованные данные декодируются с помощью того же ключа, который использовался для кодирования. Ясно, что ключ является наиболее важной частью симметричного шифрования. Он должен быть скрыт от посторонних, так как каждый, у кого есть к нему доступ сможет расшифровать приватные данные. Вот почему этот тип шифрования также известен как "секретный ключ". В современных системах, ключ обычно представляет собой строку данных, которые получены из надежного пароля, или из совершенно случайного источника. Он подается в симметричное шифрование программного обеспечения, которое использует его, чтобы засекретить входные данные. Скремблирование данных достигается с помощью симметричного алгоритма шифрования, такие как Стандарт шифрования данных (DES), расширенный стандарт шифрования (AES), или международный алгоритм шифрования данных (IDEA). Самым слабым звеном в этом типе шифрования является безопасность ключа, как в плане хранения, так и при передаче аутентифицированного пользователя. Если хакер способен достать этот ключ, он может легко расшифровать зашифрованные данные, уничтожая весь смысл шифрования. Еще один недостаток объясняется тем, что программное обеспечение, которое обрабатывает данные, не может работать с зашифрованными данными. Следовательно, для возможности использовать этого программного обеспечение, данные сначала должны быть декодированы. Если само программное обеспечение скомпрометировано, то злоумышленник сможет легко получить данные.  

Асимметричное шифрование (рис. 2)

Асимметричный ключ шифрования работает аналогично симметричному ключу, в том, что он использует ключ для кодирования передаваемых сообщений. Однако, вместо того, чтобы использовать тот же ключ, для расшифровки этого сообщения он использует совершенно другой. Ключ, используемый для кодирования доступен любому и всем пользователям сети. Как таковой он известен как «общественный» ключ. С другой стороны, ключ, используемый для расшифровки, хранится в тайне, и предназначен для использования в частном порядке самим пользователем. Следовательно, он известен как «частный» ключ. Асимметричное шифрование также известно, как шифрование с открытым ключом. Поскольку, при таком способе, секретный ключ, необходимый для расшифровки сообщения не должен передаваться каждый раз, и он обычно известен только пользователю (приемнику), вероятность того, что хакер сможет расшифровать сообщение значительно ниже. Diffie-Hellman и RSA являются примерами алгоритмов, использующих шифрование с открытым ключом. Многие хакеры используют «человека в середине» как форму атаки, чтобы обойти этот тип шифрования. В асимметричном шифровании, вам выдается открытый ключ, который используется для безопасного обмена данными с другим человеком или услугой. Однако, хакеры используют в сети обман, чтобы заставить вас общаться с ними, в то время как вас заставили поверить, что вы находитесь на безопасной линии.  

Хеширование

Методика хеширования использует алгоритм, известный как хеш-функция для генерации специальной строки из приведенных данных, известной как хеш. Этот хеш имеет следующие свойства: одни и те же данные всегда производит тот же самый хеш; невозможно генерировать исходные данные из хеша; нецелесообразно пробовать разные комбинации входных данных, чтобы попытаться генерировать тот же самый хеш. Таким образом, основное различие между хешированием и двумя другими формами шифрования данных заключается в том, что, как только данные зашифрованы (хешированы), они не могут быть получены обратно в первозданном виде (расшифрованы). Этот факт гарантирует, что даже если хакер получает на руки хеш, это будет бесполезно для него, так как он не сможет расшифровать содержимое сообщения. Впрочем, это справедливо, только если реализовано сильное хеширование. В случае слабой реализации техники хеширования, используя достаточное количество ресурсов и атаки грубой силой, настойчивый хакер может найти данные, которые совпадают с хешем. Message Digest 5 (MD5) и Secure Hashing Algorithm (SHA) являются двумя широко используемыми алгоритмами хеширования.  

Сочетание методов шифрования

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

2.3. Написание программ

В своей программе я буду использовать шифр Цезаря — один из самых простых и наиболее широко известных методов шифрования. Это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Например, в шифре со сдвигом вправо на 3, А была бы заменена на Г, Б станет Д, и так далее. Шифр назван в честь римского полководца Гая Юлия Цезаря, использовавшего его для секретной переписки со своими генералами. Как и все моноалфавитные шифры, шифр Цезаря легко взламывается и не имеет почти никакого применения на практике.

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

const

  abc = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

var

  s1, s2: string;

  i, n, k, p: integer;

begin

  writeln('Шифр Цезаря. Введите длину сдвига');

  readln(n);

  writeln('Введите текст');

  readln(s1);

  for i := 1 to length(s1) do

    if s1[i] = ' ' then s2 := s2 + ' ' else

    begin

      begin

        for k := 1 to length(abc) do

         

          if s1[i] = abc[k] then

          begin

            p := k + n;

            p := p mod length(abc);

            s2 := s2 + abc[p];

            break;

          end;

      end;

    end;

  writeln('Зашифрованный текст=');

  writeln(s2);

  readln;

end.

Пример:

Снимок.PNG

С помощью этой же программы текст можно расшифровать обратно.

Пример:

Снимок2.PNG

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

const

  abc = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

var

  i, j, k: integer;

  q: boolean;

  t: text;

  s1, s2, w: string;

begin

  writeln('Введите закодированное слово');

  readln(s1);

  s2 := s1;

  for i := 1 to 33 do

  begin

    for j := 1 to length(s1) do

    begin

      for k := 1 to 33 do

        if s1[j] = abc[k] then s2[j] := abc[(k + i) mod 33 + 1];

    end;

    assign(t, 'words.txt');

    reset(t);

    while w <> s2 do

    begin

      readln(t, w);

      if w = s2 then

      begin

        q := true;

        writeln('Исходное слово: ', s2, ',   сдвиг ', (33-i - 1) mod 33);

      end;

      if w = '' then break;

    end;

    close(t);

  end;

  if q = false then

  begin

    writeln('Слова нет в памяти. Добавьте новое слово:');

    readln(s1);

    assign(t, 'words.txt');

    append(t);

    writeln(t, s1);

    close(t);

  end;

readln;

end.

Пример:

Снимок3.PNG

Если слово не встречается в файле words.txt, то программа запрашивает расшифровку этого слова и с помощью функции append добавляет это слово в конец текстового файла.

Пример:

Снимок4.PNG

  1. Заключение

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

  1. Список используемой литературы

https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

http://juice-health.ru/computers/encryption/468-methods-data-encryption

https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80_%D0%A6%D0%B5%D0%B7%D0%B0%D1%80%D1%8F

https://otus.ru/nest/post/726/

https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F

https://www.kaspersky.ru/blog/the-wonders-of-hashing/3633/

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

Рис. 1 – симметричное шифрование.

700px-Симметричное_шифрование.jpg

Рис. 2 – асимметричное шифрование

700px-Асимметричное_шифрование.jpg


По теме: методические разработки, презентации и конспекты

Решение задач по теме: «Шифрование данных»

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

Практическая работа "Шифрование данных"

Презентация к открытому уроку "Шифрование данных" в 10 классе...

Методическая разработка (информатика и икт, 10 класс) по теме: Практическая работа: «Шифрование данных»

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

Методическая разработка (информатика и ИКТ, 10 класс) по теме: Практическая работа: «Шифрование данных»

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

Методическая разработка по теме: Практическая работа: «Шифрование данных»

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

Кодирование и шифрование данных

Проект урока Кодирование и шифрование данных. УМК  Матвеева 3 класс...

Различные аспекты слова «информация»: информация как данные, которые могут быть обработаны автоматизированной системой, и информация как сведения, предназначенные для восприятия человеком. Примеры данных: тексты, числа. Дискретность данных. Анализ данных.

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