Шифрование с использованием закрытого ключа

Тип:
Добавлен:

Министерство общего и профессионального образования Ростовской области

государственное бюджетное профессиональное образовательное учреждение

Ростовской области

«Миллеровский техникум агропромышленных технологий и управления (ДСХТ)»

ИНДИВИДУАЛЬНЫЙ ПРОЕКТ

Тема: «Шифрование с использованием публичного и закрытого ключа»

Выполнил студент:

Курс:1. Группа: 1И9

Специальность:

Прикладная информатика

(по отраслям)

Смирнов Вячеслав Александрович

Руководитель:Резцова Е.Е

Дата сдачи работы «_____»_____________2018г.

Оценка ________

Подпись преподавателя ________ «____»__________ 2018г.

г. Миллерово

2018г.

СОДЕРЖАНИЕ

Введение………………………………………………………………………

3

Глава 1 Шифрование с закрытым ключом…………………………………

4

1.1 Определение………………………………………………………………

5

1.2 Закрытый ключ…………………………………………………………...

6

1.3 Примеры использования закрытого ключа……………………………..

6

1.4 Ключевые носители………………………………………………………

7

1.5 Генерация закрытого ключа……………………………………………..

8

1.6 Преимущества использования смарт-карты…………………………….

8

1.7 Научная основа шифрования с закрытым ключом……………………

10

1.8 Основные принципы шифрования с закрытым ключом……………….

10

1.9 Преимущество использования шифрования с закрытым ключом……..

10

1.10 Вывод…………………………………………………………………….

11

Глава 2 Шифрование с закрытым ключом в нашей жизни………………..

12

2.1 Ключевая особенность…………………………………………………...

13

2.2 Использование шифрования в Windows………………………………..

15

2.3 Социальные сети и шифрование с закрытым ключом………………….

15

2.4 Шифрование с закрытым ключом на Интернет сайтах………………

16

2.5 Принцип работы закрытого ключа в Веб сайтах……………………….

17

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

19

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

ВВЕДЕНИЕ

Каждый из нас знает такое слово как «шифрование». Шифрование входит в состав криптографии. Криптографии уже более 4-х тысяч лет. Она появилась впервые в Древнем Египте. Имеются свидетельства, что криптография как техника защиты текста возникла вместе с письменностью, и способы тайного письма были известны уже древним цивилизациям Индии, Египта и Месопотамии. В древнеиндийских текстах среди 64 искусств названы способы изменения текста, некоторые из них можно отнести к криптографическим.

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

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

Я выбрал эту тему, потому что она мне была интересно и сейчас очень актуальна. Это именно та тема, про которую слышали все, но всего лишь часть знает принцип её работы.

Глава 1. Шифрование с закрытым ключом

1.1 Определение

Существует несколько методов шифрования, которые различны в принципах взаимодействиях и методах работы. Это симметричное шифрование, при котором для шифрования и расшифровывания используется один и тот же ключ. Отсюда название — симметричные. Алгоритм и ключ выбирается заранее и известен обеим сторонам. Сохранение ключа в секретности является важной задачей для установления и поддержки защищённого канала связи. В связи с этим, возникает проблема начальной передачи ключа (синхронизации ключей). И второй —асимметричное шифрование или шифрование с закрытым ключом, в котором используются два ключа — открытый и закрытый, связанные определённым математическим образом друг с другом. Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения и для проверки ЭЦП. Для расшифровки сообщения и для генерации ЭЦП используется секретный ключ.Данная схема решает проблему симметричных схем, связанную с начальной передачей ключа другой стороне. Если в симметричных схемах злоумышленник перехватит ключ, то он сможет как «слушать», так и вносить правки в передаваемую информацию. В асимметричных системах другой стороне передается открытый ключ, который позволяет шифровать, но не расшифровывать информацию.

Если подробнее, то шифрование с закрытым ключом(разновидность асимметричного шифрования, асимметричного шифра) — система шифрования и/или электронной подписи (ЭП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭП и для шифрования сообщения. Для генерации ЭП и для расшифровки сообщения используется закрытый ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

Таким образом решается проблема симметричных систем, связанная с синхронизацией ключей. Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были УитфилдДиффи и Мартин Хеллман из Стэнфордского университета и Ральф Меркле из Калифорнийского университета в Беркли. В 1976 году их работа «Новые направления в современной криптографии» открыла новую область в криптографии, теперь известную как криптография с открытым ключом.

1.2 Закрытый ключ

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

1.3 Примеры использования закрытого ключа

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

1.4 Ключевые носители

Сохранение закрытого ключа в тайне — важнейшее условие его безопасного использования. Наилучшим способом хранения электронного закрытого ключа является использование носителя, с которого закрытый ключ невозможно скопировать. К таким носителям относятся смарт-карты и их аналоги, а также устройства HardwareSecurityModule (HSM).

1.5 Генерация закрытого ключа

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

1.6 Преимущества использования смарт-карты

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

1.7 Научная основа шифрования с закрытым ключом

Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» УитфилдаДиффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркла о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи — Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана МалькольмомВильямсоном(англ. Malcolm J. Williamson) в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий (RSA — Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом (англ. CliffordCocks), работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании не было известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.

Вообще, в основу известных асимметричных криптосистем кладётся одна из сложных математических проблем, которая позволяет строить односторонние функции и функции-лазейки. Например, криптосистемы Меркля — Хеллмана и Хора — Ривеста опираются на так называемую задачу об укладке рюкзака.

1.8 Основные принципы работы шифрования с закрытым ключом

1.Начинаем с трудной задачи P{\displaystyle P}. Она должна решаться сложно в смысле теории: не должно быть алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи P {\displaystyle P} за полиномиальное время относительно размера задачи. Более правильно сказать: не должно быть известного полиномиального алгоритма, решающего данную задачу — так как ни для одной задачи ещё пока не доказано, что для неё подходящего алгоритма нет в принципе.

2.Можно выделить легкую подзадачу {\displaystyle P'}P1 из {\displaystyle P}P. Она должна решаться за полиномиальное время и лучше, если за линейное.

3.«Перетасовываем и взбалтываем» {\displaystyle P'}P1, чтобы получить задачу P2 {\displaystyle P''}, совершенно не похожую на первоначальную. Задача {\displaystyle P''}P2 должна по крайней мере выглядеть как оригинальная труднорешаемая задача P {\displaystyle P}.

4.P2 открывается с описанием, как она может быть использована в роли ключа зашифрования. Как из {\displaystyle P''}P2 получить P1 {\displaystyle P'}, держится в секрете как секретная лазейка.

5.Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как второй решаетP2 {\displaystyle P''}-задачу, первый использует секретную лазейку и решает {\displaystyle P'}P1задачу.

1.9 Преимущества использования шифрования с закрытым ключом

·Не нужно предварительно передавать секретный ключ по надёжному каналу;

·только одной стороне известен ключ дешифрования, который нужно держать в секрете (в симметричной криптографии такой ключ известен обеим сторонам и должен держаться в секрете обеими);

·в больших сетях число ключей в асимметричной криптосистеме значительно меньше, чем в симметричной.

1.10 Недостатки использования шифрования с закрытым ключом

·в алгоритм сложнее внести изменения;

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

1.11 История

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

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

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

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

1.12 Вывод

Таким образом, стало ясно, что шифрование с закрытым ключом используется повсеместно. Существует несколько технологий использования шифрования с закрытым ключом, каждый из которых имеет свои плюсы и минусы. Каждый из методов шифрования имеет разные принципы. Многие из названных выше технологий активно используются и сейчас. Действительно, закрытый ключ активно используется в большинстве самых популярных сервисов. Криптография прошлых веков имела одну огромную проблему — проблема передачи ключей. В те времена существовали только так называемые «симметричные» шифры — шифры при котором данные шифруются и расшифровываются одним и тем же ключом.Преимуществом использования таких аппаратных средств, как смарт-карты и HSM, для генерации и применения закрытого ключа является то, что при условии надёжности этих средств и неприменения высоко-технологического аппаратного взлома обеспечивается 100%-ная гарантия сохранения закрытого ключа в тайне.

Глава 2. Шифрование с закрытым ключом в нашей жизни

2.1Ключевая особенность

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

2.2Визуальное представление

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

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

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

Получатель открывает замок ключом и тайное послание прочитано!

Пользуясь терминологией ассиметричной криптографии с открытым ключом, ключ 1?—?это закрытый (приватный) ключ, а ключ 2?—?это открытый (публичный) ключ.

2.3 Использование шифрования в Windows

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

К сожалению, PGP – не самый лёгкий для освоения и использования инструмент. Стойкое шифрование, реализованное в PGP (шифрование с открытым ключом) – мощное, но довольно мудрёное средство защиты. Сама программа PGP существует с 1991 года и является ровесником самых первых версий MicrosoftWindows. С тех давних пор внешний вид PGP не особенно изменился.

2.4Социальные сети и шифрование с закрытым ключом

Многие социальные сети используют эту технологию шифрования.

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

2.5Шифрование с закрытым ключом наИнтернет сайтах.

Основной целью применения SSL сертификатов является шифрование данных, передаваемых на сервер от клиента и клиенту от сервера. Для обеспечения безопасности такого соединения современные браузеры используют алгоритм TLS, основанный на сертификатах формата X.509. Данный алгоритм применяет ассиметричное шифрование, чтобы создать ключ сессии для симмертичного шифрования. Последнее используется непосредственно для передачи данных после установления защищенного соединения.

2.6Принцип работы закрытого ключа в Веб-сайтах

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

Открытый и закрытый ключ между собой связаны математическими зависимостями, поэтому подобрать открытый или закрытый ключ невозможно за короткое время (срок действия сертификата). Именно поэтому максимальный срок действия SSL сертификатов более высого уровня защиты всегда ниже. Так, сертификаты EV можно заказать максимум на 2 года. При этом заказывая новый SSL сертификат или продлевая старый, важно генерировать новый CSR запрос, так как к нему привязывается Ваш закрытый ключ и при выпуске нового SSL сертификата лучше его обновлять.

Взаимодействие клиента с сервером происходит следующим образом:

1.Браузер на основе открытого ключа шифрует запрос и отправляет его на сервер;

2.сервер, применяя закрытый ключ, расшифровывает полученное сообщение;

3.сервер шифрует закрытым ключом свой цифровой идентификатор и передает его клиенту;

4.клиент сверяет идентификатор сервера и передает свой;

5.после взаимной аутентификации клиент шифрует открытым ключом ключ будущей сессии и передает его на сервер;

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

Таким образом обеспечиваются несколько пунктов безопасности:

§исключается возможность утечки информации – при перехвате её нельзя будет расшифровать;

§сервер подтверждает свой адрес и идентификатор, отсекается возможность перенаправления на другой сайт (фишинг);

§клиенту присваивается индивидуальная сессия, что позволяет отличать его от других клиентов более надежно;

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

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

2.7Пошаговое примененияRSA шифрования

2.6.1 Шаг первый. Подготовка ключей

Я должен проделать предварительные действия: сгенерировать публичный и приватный ключ.

·Выбираю два простых числа. Пусть это будет p=3 и q=7.

·Вычисляем модуль — произведение наших p и q: n=p?q=3?7=21.

·Вычисляем функцию Эйлера: ?=(p-1)?(q-1)=2?6=12.

·Выбираем число e, отвечающее следующим критериям: (i) оно должно быть простое, (ii) оно должно быть меньше ? — остаются варианты: 3, 5, 7, 11, (iii) оно должно быть взаимно простое с ?; остаются варианты 5, 7, 11. Выберем e=5. Это, так называемая, открытая экспонента.

Теперь пара чисел {e, n} — это мой открытый ключ. Я отправляю его вам, чтобы вы зашифровали своё сообщение. Но для меня это ещё не всё. Я должен получить закрытый ключ.

Мне нужно вычислить число d, обратное е по модулю ?. То есть остаток от деления по модулю ? произведения d?e должен быть равен 1. Запишем это в обозначениях, принятых во многих языках программирования: (d?е)%?=1. Или (d?5)%12=1. d может быть равно 5 ((5?5)%12=25%12=1), но чтобы оно не путалось с e в дальнейшем повествовании, давайте возьмём его равным 17. Можете проверить сами, что (17?5)%12 действительно равно 1 (17?5-12?7=1). Итак d=17. Пара {d, n} — это секретный ключ, его я оставляю у себя. Его нельзя сообщать никому. Только обладатель секретного ключа может расшифровать то, что было зашифровано открытым ключом.

2.6.2 Шаг второй. Шифрование

Теперь пришла ваша очередь шифровать ваше сообщение. Допустим, ваше сообщение это число 19. Обозначим его P=19. Кроме него у вас уже есть мой открытый ключ: {e, n} = {5, 21}. Шифрование выполняется по следующему алгоритму:

·Возводите ваше сообщение в степень e по модулю n. То есть, вычисляете 19 в степени 5 (2476099) и берёте остаток от деления на 21. Получается 10 — это ваши закодированные данные.

Строго говоря, вам вовсе незачем вычислять огромное число «19 в степени 5». При каждом умножении достаточно вычислять не полное произведение, а только остаток от деления на 21. Но это уже детали реализации вычислений, давайте не будем в них углубляться.

Полученные данные E=10, вы отправляете мне.

Здесь надо заметить, что сообщение P=19 не должно быть больше n=21. иначе ничего не получится.

2.6.3. Шаг третий. Расшифровка

Я получил ваши данные (E=10), и у меня имеется закрытый ключ {d, n} = {17, 21}.

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

Начинаем раскодировать:

·Я делаю операцию, очень похожую на вашу, но вместо e использую d. Возвожу E в степень d: получаю 10 в степень 17 (позвольте, я не буду писать единичку с семнадцатью нулями). Вычисляю остаток от деления на 21 и получаю 19 — ваше сообщение.

Заметьте, никто, кроме меня (даже вы!) не может расшифровать ваше сообщение (E=10), так как ни у кого нет закрытого ключа.

2.6.4 В чём гарантия надёжности шифрования?

Надёжность шифрования обеспечивается тем, что третьему лицу (старающемуся взломать шифр) очень трудно вычислить закрытый ключ по открытому. Оба ключа вычисляются из одной пары простых чисел (p и q). То есть ключи связаны между собой. Но установить эту связь очень сложно. Основной загвоздкой является декомпозиция модуля n на простые сомножители p и q. Если число является произведением двух очень больших простых чисел, то его очень трудно разложить на множители.

·сразу ясно. что оно делится на два (получили 2)

·оставшееся 180 тоже, очевидно чётное (ещё 2)

·90 — тоже чётное (ещё двойка)

·45 не делится на 2, но следующая же попытка оказывается успешной — оно делится на три (получили 3)

·15 тоже делится на 3

·5 — простое.

Мы на каждом шагу, практически без перебора, получали всё новые и новые множители, легко получив полное разложение 360=2?2?2?3?3?5

Давайте теперь возьмём число 361. Тут нам придётся помучиться.

·оно не чётное

·три — нет, не делится

·пять (допустим, мы поступаем умно и перебираем только простые числа, хотя, на практике, поиск больших простых чисел, сам по себе, является сложной задачей) — не подходит

·семь? — нет.

·

·и только 19 даст нам ответ: 361=19?19.

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

2.6.5 А как это всё работает на практике?

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

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

Оттолкнёмся от пары простых чисел {p, q} = {17, 19}. Пусть наш открытый ключ будет {e, n} = {5, 323}, а закрытый {d, n} = {173, 323}.

Мы готовы к шифрованию. Переведём наше слово в цифровое представление. Мы можем взять просто номера букв в алфавите. У нас получится последовательность чисел: 11, 17, 15, 19.

Мы можем зашифровать каждое из этих чисел открытым ключом {e, n} = {5, 323} и получить шифровку 197, 272, 2, 304. Эти числа можно передать получателю, обладающему закрытым ключом {d, n} = {173, 323} и он всё расшифрует.

2.6.6 Сложности использования

На самом деле, изложенный способ шифрования очень слаб и никогда не используется. Причина проста — шифрование по буквам. Одна и та же буква будет шифроваться одним и тем же числом. Если злоумышленник перехватит достаточно большое сообщение, он сможет догадаться о его содержимом. Сперва он обратит внимание на частые коды пробелов и разделит шифровку на слова. Потом он заметит однобуквенные слова и догадается, как кодируются буквы «a», «и», «o», «в», «к»… Путём недолгого перебора, он вычислит дополнительные буквы по коротким словам, типа «но», «не», «по». И по более длинным словам без труда восстановит все оставшиеся буквы.

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

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

Упрощённо, это выглядит так. Перед шифрованием, мы применяем к сообщению правило: b := (b + a) % n. Где a — предыдущая часть сообщения, а b — следующая. То есть наше сообщение (11, 17, 15, 19) изменяется. 11 остаётся без изменений. 17 превращается в (11 + 17) % 323 = 28. 15 становится (15 + 28) % 323 = 43. A 19 превращается в 62.

Последовательность (11, 28, 43, 62) получается «запутанной». Все буквы в ней как бы перемешаны, в том смысле, что на каждый код влияет не одна буква, а все предыдущие.

Тот, кто получит ваше сообщение, должен будет проделать обратную операцию, со знаком «минус»: b := (b - a) % n. И только тогда он получит коды букв.

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

То есть мы можем добавить случайное число в начало и получить (299, 11, 17, 15, 19). После перемешивания получится: 299, 310, 4, 19, 38. После шифрования уже невозможно будет догадаться где была какая буква.

В реальной жизни всё ещё немного сложнее. Блоки, на которые бьётся сообщение длиннее одной буквы. Поэтому, сперва применяются алгоритмы выравнивания, потом алгоритмы разбиения на блоки с перепутыванием, и только

ЗАКЛЮЧЕНИЕ

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

Чтобы этого не происходило, используются специальные дополнительные алгоритмы, суть которых в том, что каждая предыдущая часть сообщения начинает влиять на следующую. Сегодня, в век цифровых технологий, каждый из нас сталкивается с шифрованием даже не замечая этого. Мы ежедневно пользуемся разными Интернет-ресурсами, которые зашифровывают данные для того, чтобы избежать получения этих данных третьими лицами. Набирая текст в поисковой строке, поисковик шифрует доступные ему данные. Когда вы заходите на любой сайт в интернете, информация о Вашем устройстве, IP адресе, MAC адресе и идентификатор сессии так же шифруется. Многие люди не интересуются этой темой и для кого-то это покажется слишком сложным. Действительно, отправляя сообщение своему другу в мессенджере, мы не хотим знать каким образом он его получает, нам важно, чтобы он его получил. В наш век очень ценна информация. Вряд ли Вы хотите, чтобы Ваше сообщение прочитал кто-то другой, а не получатель. Многие передают в сообщениях очень много конфиденциальной и ценной информации. Как раз, чтобы эта информация не попала злоумышленнику, большинство сервисов обмена сообщений поддерживают шифрование. А самые безопасные — шифрование с закрытым ключом. Было издано много технической литературы на эту тему, а также много материалов в Интернете. Все вышесказанное предопределяет актуальность этой темы.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

Книги:

1. Саломаа А. Криптография с открытым ключом. — М.: Мир, 1995. — 318 с. — ISBN 5-03-001991-X.

A. J. Menezes, P. C. van Oorschot, S. A. Vanstone. Handbook of Applied Cryptography. — 1997. — ISBN 0-8493-8523-7.

2. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = AppliedCryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.

3. Э. Мэйволд. Безопасность сетей. — 2006. — 528 с. — ISBN 978-5-9570-0046-9.

4.Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = AppliedCryptography. Protocols, Algorithms and Source Code in C / Подред. А. Б. Васильева. — М.: Триумф, 2002. — 816 с. — ISBN 5-89392-055-4.

Интернет-ресурсы:

1. https://ru.wikipedia.org/wiki/История_криптографии

2. https://ru.wikipedia.org/wiki/Шифрование

3. https://ru.wikipedia.org/wiki/Закрытый_ключ

4. https://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом

5. https://medium.com/bitcoin-review/шифрование-с-открытым-ключом-наглядная-иллюстрация-fbea974f5896

6.https://ssd.eff.org/ru/module/введение-в-шифрование-с-открытым-ключом-и-pgp

7. https://www.emaro-ssl.ru/blog/public-and-private-key/

8. https://intsystem.org/security/asymmetric-encryption-how-it-work/

9. http://www.michurin.net/computer-science/rsa.html

10. http://www.sql.ru/forum/494305/shifrovanie-zakrytym-kluchom-v-net

Copyright © 2018 WorldReferat.ru All rights reserved.