ПОНЯТИЯ КРИПТОСИСТЕМЫ И КРИПТОСТОЙКОСТИ ШИФРА



СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1.СОВРЕМЕННОЕ СОСТОЯНИЕ ВОПРОСА

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

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

1.3 методы шифрования viber

1.4 рассмотрение вышеперечисленных шифров

2. ПОНЯТИЕ КРИПТОСИСТЕМЫ И КРИПТОСТОЙКОСТИ ШИФРА

3. ХЭШИРОВАНИЕ И АЛГОРИТМ RSA

3.1. понятие хэшированияё

3.2. рассмотрение проблем хэширования и их решение

3.3. алгоритм RSA и использование в нем хэш-функций

3.4. работа алгоритма RSA и его криптостойкость

4. МЕТОДЫ ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ

4.1 Тест Ферма

4.2 Тест Соловея-Штрассена

4.3 Тест Миллера — Рабина

5. ПРАКТИЧЕСКАЯ ЧАСТЬ. ПРОГРАММА ПОСТРОЕНИЯ КЛЮЧЕЙ RSA, ШИФРОВКА И РАСШИФРОВКА ИНФОРМАЦИИ ПО АЛГОРИТМУ RSA

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ   

ПРИЛОЖЕНИЕ

 

 

ВВЕДЕНИЕ

 

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

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

В наше время люди также хотят быть уверенными в сохранности своей информации, поэтому техники шифрования постоянно развиваются. На сегодняшний день существует огромное количество систем шифрования, но самые популярные способы зашиты информации – хеширование по алгоритмам MD5, SHA1 и ГОСТ Р34.11-94 и шифрование с помощью алгоритма RSA. Как правило, именно эти способы используются во многих социальных сетях, почтовых службах и электронных кошельках.

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

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

Для достижения данной цели необходимо решить следующие задачи:

· Изучение подобранной литературы по теме шифрования

· Изучение основ криптографии

· Изучение и сравнение современных алгоритмов шифрования

· Разработка программы связанной с алгоритмом RSA

Сведенья о шифровании по алгоритму RSA и хешировании, описанные в теоретической части, взяты из учебника по информатике К. Ю. Полякова и книги по криптографии В. А. Романьков «Введение в криптографию».

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

АКТУАЛЬНЫЕ ВИДЫ ШИФРОВАНИЯ В ПОПУЛЯРНЫХ СОЦИАЛЬНЫХ СЕТЯХ

Telegram

Для мессенджера был создан протокол MTProto, предполагающий использование нескольких протоколов шифрования. При авторизации и аутентификации используются алгоритмы RSA-2048, DH-2048 для шифрования[53], при передаче сообщений протокола в сеть они шифруются AES с ключом, известным клиенту и серверу. Также применяются криптографические хеш-алгоритмы SHA-1 и MD5.

C 8 октября 2013 года в мессенджере появился режим «секретных» чатов (Secret Chats). Этот режим реализует шифрование, при котором лишь отправитель и получатель обладают общим ключом (end-to-end шифрование), с применением алгоритма AES-256 в режиме IGE (англ. Infinite Garble Extension) для пересылаемых сообщений. В отличие от обычного режима, сообщения в секретных чатах не расшифровываются сервером, история переписки сохраняется лишь на тех двух устройствах, на которых был создан чат.

WhatsApp

С апреля 2016 года с выходом обновления версии 2.16.12 WhatsApp включил сквозное шифрование (end-to-end) для всех пользователей на базе разработок Signal (Open Whisper Systems). Шифрование распространяется на все типы сообщений: текст, фото, видео и голосовые сообщения. Шифрование также доступно в групповых чатах. По заявлениям компании расшифровать подобные сообщения может только получатель, содержимое недоступно даже серверам WhatsApp[70][71]. В реализации используются алгоритмы ECDH на Curve25519, AES-256, AES-GCM, HMAC-SHA256, HDKF. Два пользователя могут сверить ключи шифрования путём сканирования QR кода или сравнения 60-значного числа, что позволит исключить атаки класса man-in-the-middle.

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

Viber

Авторы Viber пошли по схожему с разработчиками WhatsApp пути и интегрировали в свой мессенджер полноценное end-to-end шифрование, которое подразумевает под собой хранение приватных ключей шифрования на устройствах пользователей. В отличие от WhatsApp, который использует в качестве протокола end-to-end шифрования реализацию алгоритма Double Ratchet от Open Whisper Systems (Signal), авторы Viber написали его реализацию с нуля. При этом шифрованию подвергаются пересылаемые между пользователями текстовые сообщения, звонки, а также пересылаемые файлы. Функция доступна пользователям начиная с Viber 6.0.

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

1.4 На основе приведенных выше примеров, рассмотрим суть некоторых шифров :

1. Advanced Encryption Standard (AES), также известный как Rijndael (произносится [rɛindaːl] (Рэндал[1])) — симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется, как это было с его предшественником DES.

AES является стандартом, основанным на алгоритме Rijndael. Для AES длина input (блока входных данных) и State (состояния) постоянна и равна 128 бит, а длина шифроключа K составляет 128, 192, или 256 бит. При этом исходный алгоритм Rijndael допускает длину ключа и размер блока от 128 до 256 бит с шагом в 32 бита. Для обозначения выбранных длин input, State и Cipher Key в 32-битных словах используется нотация Nb = 4 для input и State, Nk = 4, 6, 8 для Cipher Key соответственно для разных длин ключей.

2. Сквозное шифрование end-to-end

Сквозное шифрование (также оконечное шифрование; англ. end-to-end encryption) — способ передачи данных, в котором только пользователи, участвующие в общении, имеют доступ к сообщениям. Таким образом, использование сквозного шифрования не позволяет получить доступ к криптографическим ключам со стороны третьих лиц.

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

 

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

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

ПОНЯТИЯ КРИПТОСИСТЕМЫ И КРИПТОСТОЙКОСТИ ШИФРА

Виды крипто систем

Криптосистема (система шифрования) – известный способ шифрования, обладающий сменными элементами – ключами. Чаще всего рассматривают ключ шифрования и дешифрования.

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

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

Криптосистемы делятся на несколько видов:

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

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

На схеме 2.1 представлен алгоритм шифрования сообщения, передаваемого от одного пользователя к другому, и процесс дешифровки.

Схема 2.1

 

 

 

ХЕШИРОВАНИЕ И АЛГОРИТМ RSA

Понятие хеширования

Хеширование – преобразование символьной строки любой длинны в число.

Название происходит от английского слова Hash – мешанина, крошить. В русском языке встречаются названия хэш, хэш-сумма, хэш-код и хэш-функция. Простейшая хэш-функция преобразует строку символов путем нахождения суммы символов. Например, строка A123 после такого преобразования примет вид 215. Символ «А» имеет общепринятый код - 65, «1» - 49, «2» - 50, «3» - 51. Складываем коды символов и получаем число 215 (65+49+50+51=215). Отличительная особенность хеширования – необратимость. Получив хэш, невозможно определить из каких символов состояла исходная строка. 

Хэш-функции имеют широкое распространение в современных системах шифрования, так как обладают неоспоримым преимуществами – малым размером информации после ее шифрования и необратимостью самой функции. Например, хэш-коды используются при авторизации на различных Интернет-ресурсах. Хранение паролей в исходном виде делает систему слишком не надежной, поэтому пароль хранится в виде хэш-суммы. При введении пароля пользователем, повторно выполняется хеширование введенных данных, если новый хэш совпадает с тем, что занесен в базу данных, то пользователь получает доступ. Такой способ хранения паролей защищает систему от утечки данных. Даже если взломщик получит доступ к хэшам, он не сможет восстановить по ним пароли и получить доступ к аккаунтам законных пользователей. Для получения достаточно надежного хэша, исходную строку символов которого трудно подобрать за приемлемый срок, требуется не менее 9-10 исходных символов. Раньше этот порог составлял 6-8 символов, но с появлением мощных видеокарт хэш-функция может обрабатываться около миллиарда раз в секунду, следовательно, подбор строки с нужной суммой не займет слишком много времени. Например, на расшифровку 8 символьного сообщения уйдет не более 60 часов.

1. Пароль может содержать строчные, заглавные буквы и числа, что составляет 62 (26+26+10) возможных символа.

2. 8-ми символьная строкам имеет 628 возможных вариантов. То есть чуть более 218 трлн.

3. Со скоростью 1 млрд. хэшей в секунду, потребуется около 60 часов для подбора пароля.

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

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


Дата добавления: 2020-04-25; просмотров: 259; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!