Криптографические методы защиты информации

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

Криптографические методы защиты информации

Кодзаев Д.А. 1
1МБОУ СОШ №25,11"А"
Маркина В.А. 1
1МБОУ СОШ №25 им. Героя Советского Союза Остаева А.Е.
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение.

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

Шифр Цезаря.
Как я уже говорил о безопасности информации люди задумывались ещё в древности одним из первых способов шифрования стал Шифр Цезаря (этот шифр использовал Юлий Цезарь во времена его Галльских походов). Шифр Цезаря — это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Например, если мы возьмем слово “Привет” и зашифруем его, то получим “Тулезх "

ДО СДВИГА

0

1

2

3

4

5

6

7

8

9

А

Б

В

Г

Д

Е

Ё

Ж

З

И

10

11

12

13

14

15

16

17

18

19

Й

К

Л

М

Н

О

П

Р

С

Т

20

21

22

23

24

25

26

27

28

29

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

30

31

32

             

Э

Ю

Я

             

ПОСЛЕ СДВИГА (НА 3)

0

1

2

3

4

5

6

7

8

9

Г

Д

Е

Ё

Ж

З

И

Й

К

Л

10

11

12

13

14

15

16

17

18

19

М

Н

О

П

Р

С

Т

У

Ф

Х

20

21

22

23

24

25

26

27

28

29

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

30

31

32

             

А

Б

В

             

По первой таблице мы видим, что “М” имеет индекс 13, а во второй таблице под индексом 13 буква “П” это значит, что “М” = ”П”. Так мы можем зашифровать любое слово.

Например:

Мама-пгпг

Когда-нсёжг

Привет мир-Тулезх плу

Шифрование и дешифровка.

Вмести с людьми, которые хотели защитить свою информация появились люди целью которых стала кража этой информации. Так появилось дешифрование. Дешифрование — это процесс перевода текста или изображения, принятого в виде последовательности сигналов, из зашифрованной формы в незашифрованную с помощью дешифратора. Наглядным примером является шифровальная машина “Энигма” и машина для расшифровки «Bombe»

ЭНИГМА”

“Энигма” была разработана в 1918 году немецким инженером Артурам Шербиусом , для засекреченных деловых переговоров.

“Энигму” в 1925 приняли на вооружение сначала в ВМФ германии, а потом в 1930 в вермахт.

Шифрование проходило с помощью кодовой книги.

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

Во время войны “Энигмой” пользовалась вся немецкая армия и её расшифровка стала одной из основных задач.

«BOMBE»

Bombe — электронно-механическая машина для расшифровки кода «Энигмы». Главной целью «Bombe» было нахождение ежедневных настроек машины «Энигма» на различных немецких военных соединениях: в частности, позиции роторов. Позиции роторов определяют ключ зашифрованного сообщения. «Bombe» была изобретена Аланон Матисом Тьюренгом , который отвечал за теоретическую часть, а криптографический анализ бы основан на более ранней версии этой машины польского криптоанолитика Мариано Реевски.

РАБОТА "BOMBE"

«Bombe» одновременно эмулировала работу нескольких десятков "Энигм". Каждый из барабанов повторял действие роторов "Энигмы".После того, как код взламывался, команда Тьюринга устанавливала машину Enigma с правильным ключом дня и расшифровали каждое сообщение, перехваченное в тот день. На своём пике машина Bombe могла взламывать до 3000 немецких сообщений в день. К концу войны она справилась с 2,5 миллионами сообщений, многие из которых дали союзникам жизненно важную информацию о позициях и стратегии Германии. По мнению многих экспертов, изобретение Тьюринга позволило сократить войну на два года

Методы расшифровки текстов.

Акрофонический метод основывается на угадывании пиктографического (Пиктография- этодревнейшеая добуквенная система псьма, средством которого является рисунки)значения знака. Проблема заключалась в том , что наш мир настолько разнообразен , что для каждова знака можно найти сотни соотвецтвий. И потому был применен метод акрофинии в ином ключе, чем это принято: не выходя за пределы тесного круга знаков самой письменности. Этот метод назвали мотодом “Локальной акрофонии”.

Так, например , в линейных знаковписьменности тиа ”черт и резов” встречаются знаки в которых не тяжел узнались копье ,чоловек, лошадь.

1 2 3

1-КО, 2-ЧЕ(ЦЕ), 3-ЛО

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

Оказалось, что грамматические морфемы и лексические морфем распределяются в тексте подобно гласным и согласным. Этот метод применялся для дишифровки письма древнего индоевропейского народа в Малой Азии.

Статистические методы основываются на учёте общей частоты встречаемости знаков .Один из вариантов - метод позиционной статистики.

Был разработан Юрием Валентиновичем Кнорозовым. Этот метод применялся при расшивровки писменности майя, острова Пасхи и т.д.

Суть «метода позиционной статистики»:

по количеству знаков в письме и частоте появления новых знаков в новых текстах определяется тип письма.

идеографическое

морфемное

силлабическое

алфавитное

вид письменности, знаки которой (идеограммы) обозначают некоторую идею.

Приём поморфемного письма, это

когда при записи слова показывается его морфемное строение

слоговое письмо; вид звукового

письма,в котором

знак (силлабема) передаёт звучанепоследовательностей согласных и гласных фонем

или одних

гласных

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

2. происходит анализ частоты употребления того или иного знака и анализ позиций, в которых этот знак появляется, определяются функции знаков.

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

4. выявляется условное фонетическое чтение того или иного знака, устанавливается чтение основного состава знаков.

Современный криптоанализ.

Криптоанализ - это наука о дешифровке закодированных сообщений без знания ключей.

Базовые стратегии

«Брендовые» уязвимости

Продвинутые стратегии

Атаки на криптографию с открытым ключом

Базовые стратегии.

1.Брутфорс

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

2.Частотный анализ.

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

«Брендовые» уязвимости.

1.CRIME

CRIME (Compression Ratio Info-leak Made Easy) - это эксплойт безопасности против секретных веб-файлов cookie через соединения с использованием протоколов HTTPS и SPDY, которые также используют сжатие данных . При использовании для восстановления содержимого секретных аутентификационных файлов cookie он позволяет злоумышленнику выполнить захват сеанса в аутентифицированном веб-сеансе , что позволяет запускать дальнейшие атаки.

2. POODLE

POODLE — вид атаки в компьютерной безопасности типа «человек посередине»(человек посередине-вид атаки в криптографии и компьютерной безопасности, когда злоумышленник тайно ретранслирует и при необходимости изменяет связь между двумя сторонами, которые считают, что они непосредственно общаются друг с другом.), когда злоумышленник путём блокировки TLS 1.0 и увеличения числа попыток соединения вызывает принудительное использование интернет-клиентами и пользователями защитного программного обеспечения SSL версии 3.0. После того как был произведен откат системы до SSL 3.0, злоумышленник использует атаку Padding Oracle(Padding Oracle -это атака, которая использует проверку дополнения криптографического сообщения для дешифрования зашифрованного текста. Атака Padding Oracle в основном связана с дешифрованием в режиме CBC, используемым в блочных шифрах.)

Продвинутые стратегии

1.Метод встречи посередине

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

2. Дифференциальный криптоанал.

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

Атаки на криптографию с открытым ключом

1. Атака Винера

Атака Винера является типом криптографической атаки против алгоритма RSA. Атака использует метод непрерывной дроби, чтобы взломать систему при малом значении закрытой экспоненты d.

2.Атака Блехенбаера.

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

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

Есть 3 способа шифрования информации:

Симметричная

Асимметричная

Хеширование

Цифровая подпись

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

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

Асимметричное шифрование

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

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

Первый-это приватный ключ, доступ к нему есть только у вас. Второй-это открытый ключ, доступ к нему является общедоступным.

Идея криптографии с открытым ключом очень тесно связана функцией f(x). Но сама функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Для расшифровки используют лазейке. Лазейка — это некий секрет, который помогает расшифровать информацию, то есть (y). Это значит если мы знаем f(x) и y, то мы можем узнать и x.

Хеширование

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

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

Например:

Привет мир” после преобразования хеш-функцией SHA-1 бут выглядеть так “6b49ee5b0520d4475013a5d6aaa085b711b3768a”.

Цифровая подпись

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

Программы.

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

Программы будут написаны на языке программирования Python.

1.Шифр Цезаря

alph — это переменная, которая хранит в себе алфавит. Мы скопировали алфавит для шифрования последних букв.

inn — это переменная, которая хранит в себе текс, введенный пользователем с целью шифрования.

kl — это переменная, которая хранит в себе ключ, введенный пользователем.

inn.lower()- означает , что все буквы написанные в верхнем регистре введенные пользователем будут читаться программой как буквы в нижнем регистре . Например, Т = т.

inns — это переменная, которая будет хранить в себе уже зашифрованное сообщение.

nap — это переменная, которая будет запрашивать у пользователя направление сдвига.

if nap == "вправо": ("влево")- эти строки означают что будет при сдвиге влево или вправо

for bb in inn: - означает, что мы используем цикл for для обращения к каждой букве из переменной inn

position = alph.find(bb) - данная строка означает , что переменная position будет определять индекс каждой буквы введенной пользователем.

position2 = position + kl — это строка означает, что мы узнав индекс буквы прибавляем (или отнимаем, если это сдвиг влево) к ней ключ.

Теперь, когда мы зашифровали каждую букву нам надо нам надо поместить их в переменную inns. За это отвечает

if bb in alph:

inns = inns + alph[position2]

На тот случай если пользователь поставит запятую, точку и т.д, мы прописали else:

inns = inns + bb

Ив конце выводим результат с помощью

print("Итог:",inns)

2.Асимметричный метод шифрования.

Теперь посмотрим на способ асимметричного шифрования.

Для этого нам понадобиться скачать библиотеку RSA.

Сперва мы импортируем библиотеку RSA в нашу программу

import rsa

Затем мы создаем два ключа и задаем количество битов.

(kl1, kl2) = rsa.newkeys(1024)

После мы пишем сообщение и кодируем его в UTF8 так, как

RSA работает с битами, а не со строками.

soo = input("Текст:").encode("utf8")

Далее мы шифруем сообщение с помощью открытого ключа.

crypto = rsa.encrypt(soo, kl1)

Потом мы дешифруем это сообщение.

soo =rsa.decrypt(crypto, kl2)

print(crypto) и print(soo.decode('utf8')) выводят результат шифровки и дешифровки сообщения.

Итог

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

Источники

1-https://stuvel.eu/rsa

2-https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

3- https://habr.com/ru/

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