Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Криптосистема с открытым ключом

Лекция



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

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

Идея криптосистемы с открытым ключом

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

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

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

Современные системы скремблирования сильно отличаются от оригинальных скремблеров. Это сложные оцифровывающие устройства, совмещенные с устройствами шифрования. В таких системах исходный сигнал преобразуется в цифровую форму, затем данные шифруются и отправляются. Будучи совмещенными с системами асимметричного шифрования, эти «скремблеры» являются более криптостойкими, чем их ранние аналоги. Только такие системы считаются достаточно надежными для работы с важными данными.Скремблер (англ. scramble — шифровать, перемешивать) — программное или аппаратное устройство (алгоритм), выполняющее скремблирование — обратимое преобразование цифрового потока без изменения скорости передачи с целью получения свойств случайной последовательности. После скремблирования появление «1» и «0» в выходной последовательности равновероятны. Скремблирование — обратимый процесс, то есть исходное сообщение можно восстановить, применив обратный алгоритм.

Понять идеи и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции Криптосистема с открытым ключом(АЛИСА_ГЛАДИОЛУС), пусть результатом будет строкаРОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

Имя Криптосистема с открытым ключом(имя_пароль)
АЛИСА РОМАШКА
БОБ НАРЦИСС

Вход в систему теперь выглядит так:

Имя: АЛИСА
Пароль: ГЛАДИОЛУС

Когда Алиса вводит «секретный» пароль, компьютер проверяет, дает или нет функция, применяемая к АЛИСА_ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.

В предыдущем примере используется односторонняя функция без лазейки, поскольку не требуется по зашифрованному сообщению получить исходное. В следующем примере рассматривается схема с возможностью восстановить исходное сообщение с помощью «лазейки», то есть труднодоступной информации. Для шифрования текста можно взять большой абонентский справочник, состоящий из нескольких толстых томов (по нему очень легко найти номер любого жителя города, но почти невозможно по известному номеру найти абонента). Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву. Таким образом букве ставится в соответствие номер телефона абонента. Отправляемое сообщение, например «КОРОБКА», будет зашифровано следующим образом:

Сообщение Выбранное имя Криптотекст
К Королев 5643452
О Орехов 3572651
Р Рузаева 4673956
O Осипов 3517289
Б Батурин 7755628
К Кирсанова 1235267
А Арсеньева 8492746

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

Примеры таких криптотекстов:

Криптотекст 1 Криптотекст 2 Криптотекст 3
1235267 5643452 1235267
3572651 3517289 3517289
4673956 4673956 4673956
3517289 3572651 3572651
7755628 7755628 7755628
5643452 1235267 5643452
8492746 8492746 8492746

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

Схема шифрования с открытым ключом

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

Криптосистема с открытым ключом

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

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

Криптосистема с открытым ключом

{Криптосистема с открытым ключом: Криптосистема с открытым ключомКриптосистема с открытым ключомКриптосистема с открытым ключом} — набор шифрования, а {Криптосистема с открытым ключом: Криптосистема с открытым ключомКриптосистема с открытым ключомКриптосистема с открытым ключом} — соответствующий набор для расшифрования. Об этом говорит сайт https://intellect.icu . Каждая пара Криптосистема с открытым ключом имеет свойство: зная Криптосистема с открытым ключом, невозможно решить уравнение Криптосистема с открытым ключом, то есть для данного произвольного шифротекста Криптосистема с открытым ключомКриптосистема с открытым ключомКриптосистема с открытым ключом, невозможно найти сообщение Криптосистема с открытым ключомКриптосистема с открытым ключомКриптосистема с открытым ключом. Это значит, что по данному Криптосистема с открытым ключом невозможно определить соответствующий ключ расшифрования Криптосистема с открытым ключом. Криптосистема с открытым ключом является односторонней функцией, а Криптосистема с открытым ключом —лазейкой.

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

Криптосистема с открытым ключом

  1. Боб выбирает пару Криптосистема с открытым ключом и шлет ключ шифрования Криптосистема с открытым ключом (открытый ключ) Алисе по открытому каналу, а ключ расшифрования Криптосистема с открытым ключом (закрытый ключ) защищен и секретен (он не должен передаваться по открытому каналу).
  2. Чтобы послать сообщение Криптосистема с открытым ключом Бобу, Алиса применяет функцию шифрования, определенную открытым ключом Криптосистема с открытым ключом: Криптосистема с открытым ключом, Криптосистема с открытым ключом — полученный шифротекст.
  3. Боб расшифровывает шифротекст Криптосистема с открытым ключом, применяя обратное преобразование Криптосистема с открытым ключом, однозначно определенное значением Криптосистема с открытым ключом.

Научная основа

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

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

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

Основные принципы построения криптосистем с открытым ключом

  1. Начинаем с трудной задачи Криптосистема с открытым ключом. Она должна решаться сложно в смысле теории: не должно быть алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи Криптосистема с открытым ключом за полиномиальное время относительно размера задачи. Более правильно сказать: не должно быть известного полиномиального алгоритма, решающего данную задачу — так как ни для одной задачи еще пока не доказано, что для нее подходящего алгоритма нет в принципе.
  2. Можно выделить легкую подзадачу Криптосистема с открытым ключом из Криптосистема с открытым ключом. Она должна решаться за полиномиальное время и лучше, если за линейное.
  3. «Перетасовываем и взбалтываем» Криптосистема с открытым ключом, чтобы получить задачу Криптосистема с открытым ключом, совершенно не похожую на первоначальную. Задача Криптосистема с открытым ключом должна по крайней мере выглядеть как оригинальная труднорешаемая задача Криптосистема с открытым ключом.
  4. Криптосистема с открытым ключом открывается с описанием, как она может быть использована в роли ключа зашифрования. Как из Криптосистема с открытым ключом получить Криптосистема с открытым ключом, держится в секрете как секретная лазейка.
  5. Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как второй решаетКриптосистема с открытым ключом-задачу, первый использует секретную лазейку и решает Криптосистема с открытым ключом-задачу.

Криптография с несколькими открытыми ключами

  • В следующем примере показана схема, в которой Алиса шифрует сообщение так, что только Боб может прочитать его, и наоборот, Боб шифрует сообщение так, что только Алиса может расшифровать его.

Пусть есть 3 ключа Криптосистема с открытым ключом, Криптосистема с открытым ключом, Криптосистема с открытым ключом, распределенные так, как показано в таблице.

Лицо Ключ
Алиса Криптосистема с открытым ключом
Боб Криптосистема с открытым ключом
Кэрол Криптосистема с открытым ключом
Дэйв Криптосистема с открытым ключом, Криптосистема с открытым ключом
Эллен Криптосистема с открытым ключом, Криптосистема с открытым ключом
Франк Криптосистема с открытым ключом, Криптосистема с открытым ключом

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

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

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

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

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

Криптоанализ алгоритмов с открытым ключом

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

Криптосистема с открытым ключом

В этой модели Ева перехватывает открытый ключ Криптосистема с открытым ключом, посланный Бобом Алисе. Затем создает пару ключей Криптосистема с открытым ключом и Криптосистема с открытым ключом, «маскируется» под Боба, посылая Алисе открытый ключ Криптосистема с открытым ключом, который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа Криптосистема с открытым ключом, заново зашифровывает открытым ключом Криптосистема с открытым ключом Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение Криптосистема с открытым ключом, так и подменить его на ложное сообщение Криптосистема с открытым ключом. Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используютсертификаты. Распределенное управление ключами в PGP решает возникшую проблему с помощью поручителей. [неавторитетный источник? 585 дней][источник не указан 585 дней]

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

Криптосистема с открытым ключом

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру, RSA использует в качестве открытого ключа n произведение двух больших чисел. Сложность взлома такого алгоритма состоит в трудности разложения числа n на множители. Но эту задачу решить реально. И с каждым годом процесс разложения становится все быстрее. Ниже приведены данные разложения на множители с помощью алгоритма «Квадратичное решето».

Год Число десятичных разрядов
в разложенном числе
Во сколько раз сложнее разложить
на множители 512-битовое число
1983 71 > 20 млн
1985 80 > 2 млн
1988 90 250 тыс.
1989 100 30 тыс.
1993 120 500
1994 129 100

Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

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

Особенности системы

Применение

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

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

Преимущества

Преимущества асимметричных шифров перед симметричными:

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

Недостатки

Недостатки алгоритма несимметричного шифрования в сравнении с симметричным:

  • В алгоритм сложнее внести изменения.
  • Хотя сообщения надежно шифруются, но получатель и отправитель самим фактом пересылки шифрованного сообщения «засвечиваются».
  • Более длинные ключи. Ниже приведена таблица, сопоставляющая длину ключа симметричного алгоритма с длиной ключа RSA с аналогичной криптостойкостью:
Длина симметричного ключа, бит Длина ключа RSA, бит
56 384
64 512
80 768
112 1792
128 2304
  • Шифрование-расшифрование с использованием пары ключей проходит на два-три порядка медленнее, чем шифрование-расшифрование того же текста симметричным алгоритмом.
  • Требуются существенно бо́льшие вычислительные ресурсы, поэтому на практике асимметричные криптосистемы используются в сочетании с другими алгоритмами:
    1. Для ЭЦП сообщение предварительно подвергается хешированию, а с помощью асимметричного ключа подписывается лишь относительно небольшой результатхеш-функции.
    2. Для шифрования они используются в форме гибридных криптосистем, где большие объемы данных шифруются симметричным шифром на сеансовом ключе, а с помощью асимметричного шифра передается только сам сеансовый ключ.

Виды асимметричных шифров

  • RSA (Rivest-Shamir-Adleman)
  • DSA (Digital Signature Algorithm)
  • Elgamal (Шифросистема Эль-Гамаля)
  • Diffie-Hellman (Обмен ключами Диффи — Хелмана)
  • ECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм с открытым ключом для создания цифровой подписи.
  • ГОСТ Р 34.10-2001
  • Rabin
  • Luc
  • McEliece
  • Williams System (Криптосистема Уильямса)

Вау!! 😲 Ты еще не читал? Это зря!

  • Блочный шифр
  • Поточный шифр
  • инфраструктура открытых ключей (PKI)
  • CEILIDH
  • Сложность пароля
  • Hushmail - веб-служба электронной почты, основанная на шифровании с открытым ключом.
  • Скремблер

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

создано: 2014-08-31
обновлено: 2023-12-24
132646



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Криптография и криптоанализ, Стеганография и Стегоанализ

Термины: Криптография и криптоанализ, Стеганография и Стегоанализ