Что такое шифрование открытым ключом
Шифрование с открытым ключом: Наглядная иллюстрация
Просто и наглядно о сложном: Асимметричная криптография с открытым ключом.
Долгое время традиционная криптография использовала шифрование с тайным или симметричным ключом — один и тот же ключ использовался как для зашифровывания, так и для расшифровки (дешифрования) данных.
Наглядно это можно представить в виде замка, которым запирался сундук с тайным сообщением. Пара одинаковых ключей к этому замку была как у отправителя сообщения ( шифровальщика), так и у получателя ( дешифровальщика).
Разумеется, в действительности никто не отправлял сообщения в запертых сундуках. Тексты, которые надо было зашифровать, особым образом видоизменялись с использованием тайного ключа (шифра) — последовательности символов, которая смешиваясь с передаваемым сообщением особым образом (называемым алгоритмом шифрования), приводила к получению шифровки ( шифротекста) — сообщения, которое невозможно было прочитать, не зная алгоритма и шифра (ключа).
Но для наглядности процесса, мы представим, что наше сообщение помещалось в некий прочный сундук и закрывалось надежным навесным замком, одинаковые ключи от которого были у обеих сторон — отправителя и получателя.
Вот этот ключ, которым запиралось (зашифровывалось) и открывалось (дешифровывалось) сообщение, назывался шифром или тайным симметричным ключом.
Проблема была в том, что при смене ключа (шифра) в целях безопасности, его необходимо было доставить получателю, который зачастую находился далеко и на враждебной территории. Передавать шифр открытыми каналами связи было небезопасно.
Долгое время проблема безопасной передачи нового ключа (шифра) оставалась неразрешенной. Как правило, для этого использовали тайных курьеров, что не гарантировало на 100% того, что шифр (ключ) не попадет к нежелательным лицам, которые смогут им воспользоваться для дешифрования тайных сообщений.
Проблема с ключами была решена только в 1975 году, когда Уитфилд Диффи (Bailey Whitfield ‘Whit’ Diffie) и Мартин Хеллман (Martin E. Hellman) предложили концепцию шифрования с парой ключей: открытым (публичным — public key), который зашифровывает данные, и соответствующим ему закрытым (приватным — private key).
Эта асимметричная система шифрования получила название криптографии с открытым ключом.
Работает эта система так:
Следует отметить, что открытым (публичным) ключом можно только зашифровать сообщение, но расшифровать его уже этим ключом не получится. Для дешифрования нужен только закрытый (приватный) ключ из пары. Так работает алгоритм с асимметричным шифрованием.
Но, вернемся к нашему сундуку с сообщением. Как же теперь наглядно представить асимметричное шифрование? Как так можно — запирать одним ключом, а отпирать другим?
Представим себе навесной замок с двумя замочными скважинами и двумя ключами (см.рис. ниже) — левый ключ (1) через левую замочную скважину (1) может снимать фиксацию с левой половинки дуги замка, освобождая ее и открывая весь замок. Правый ключ (2) через правую замочную скважину (2) может фиксировать правую половинку дуги в замке, тем самым закрывая замок. Но, после закрытия, этот ключ (2) не может уже освободить от фиксации правую часть дуги и тем самым открыть замок.
Первоначально замок с зафиксированной левой половинкой дуги (1) и расфиксированной правой (2), а также с ключом 2 (открытым) доставляется лицу, которое должно отправить тайное послание.
Получив замок и открытый ключ (2), отправитель навешивает его на сундук с тайным посланием и запирает его полученным ключом 2. Теперь сундук закрыт и даже отправитель не может его открыть, поскольку его ключ (2) может только зафиксировать правую часть дуги в замке, но не может освободить от фиксации.
Запертый замком сундук с тайным посланием отправляется получателю, у которого есть ключ (1), снимающий фиксацию правой половинки дуги и тем самым отпирающий замок. Но, другие лица, даже если они будут иметь копию публичного ключа (2), открыть замок не смогут.
Получатель открывает замок ключом (1) и тайное послание прочитано!
Пользуясь терминологией асимметричной криптографии с открытым ключом, ключ 1 — это закрытый (приватный) ключ, а ключ 2 — это открытый (публичный) ключ.
В заключение отметим, что асимметричная криптография с открытым ключом получила широкое распространение, и не только в шифровании шпионских и дипломатических посланий. Асимметричную криптографию используют сайты с поддержкой протокола HTTPS, мессенджеры, wifi-роутеры, банковские системы и многое другое. На основе асимметричной криптографии базируется электронная подпись. Также на асимметричной криптографии построен алгоритм блокчейна, на котором, в свою очередь построены все криптовалюты, включая биткоин.
© Иллюстрации к тексту:
Криптография с открытым ключом
Основные требования к алгоритмам асимметричного шифрования
Создание алгоритмов асимметричного шифрования является величайшим и, возможно, единственным революционным достижением в истории криптографии.
Диффи и Хеллман достигли значительных результатов, предложив способ решения обеих задач, который радикально отличается от всех предыдущих подходов к шифрованию.
Будем предполагать, что все участники имеют доступ к открытым ключам друг друга, а закрытые ключи создаются локально каждым участником и, следовательно, распределяться не должны.
Можно добавить шестое требование, хотя оно не выполняется для всех алгоритмов с открытым ключом :
Криптоанализ алгоритмов с открытым ключом
Основные способы использования алгоритмов с открытым ключом
Шифрование с открытым ключом состоит из следующих шагов:
Создание и проверка подписи состоит из следующих шагов:
Важно подчеркнуть, что описанный процесс создания подписи не обеспечивает конфиденциальность. Это означает, что сообщение, посланное таким способом, невозможно изменить, но можно подсмотреть. Это очевидно в том случае, если подпись основана на аутентификаторе, так как само сообщение передается в явном виде. Но даже если осуществляется шифрование всего сообщения, конфиденциальность не обеспечивается, так как любой может расшифровать сообщение, используя открытый ключ отправителя.
Некоторые алгоритмы можно задействовать тремя способами, в то время как другие могут использоваться одним или двумя способами.
Перечислим наиболее популярные алгоритмы с открытым ключом и возможные способы их применения.
Шифрование с открытым ключом
Криптографическая система с открытым ключом (или Асимметричное шифрование, Асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу, и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифрования сообщения используется секретный ключ. [1] Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах SSL (лежащих в основе SSH. Также используется в S/MIME.
Содержание
Идея криптосистемы с открытым ключом
Понять идеи и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе, он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции f (АЛИСАГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:
Имя | f (имя_пароль) |
---|---|
АЛИСА | РОМАШКА |
БОБ | НАРЦИСС |
Вход в систему теперь выглядит так:
Имя: | АЛИСА |
---|---|
Пароль: | ГЛАДИОЛУС |
Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к АЛИСАГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция необратимая.
В предыдущем примере используется односторонняя функция без лазейки, поскольку не требуется по зашифрованному сообщению получить исходное. В следующем примере рассматривается схема с возможностью восстановить исходное сообщение с помощью «лазейки», то есть труднодоступной информации. Для шифрования текста можно взять большой абонентский справочник, состоящий из нескольких толстых томов (по нему очень легко найти номер любого жителя города, но почти невозможно по известному номеру найти абонента). Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву. Таким образом букве ставится в соответствие номер телефона абонента. Отправляемое сообщение, например «КОРОБКА», будет зашифровано следующим образом:
Сообщение | Выбранное имя | Криптотекст |
---|---|---|
К | Королёв | 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 |
Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию номеров. Этот справочник является лазейкой (секрет, который помогает получить начальный текст), известной только легальным пользователям. Не имея на руках копии справочника, криптоаналитик затратит очень много времени на расшифровку. [2]
Схема шифрования с открытым ключом
Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемых Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.
Научная основа
Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи-Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 году и опубликован в 1978, его также называют загадкой Меркле.
В 1977 году учёными Рональдом Райвестом (Ronald Linn Rivest), Ади Шамиром (Adi Shamir) и Леонардом Адлеманом (Leonard Adleman) из Массачусетского Технологического Института (MIT) был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий. Эта же система была изобретена Клиффордом Коксом (Clifford Cocks) в 1973 году, работавшим в центре правительственной связи (GCHQ). Но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года.
Вообще, в основу известных асимметричных криптосистем кладётся одна из сложных математических проблем, которая позволяет строить односторонние функции и функции-лазейки. Например, криптосистемы Меркля — Хеллмана и Хора — Ривеста опираются на так называемую задачу об укладке рюкзака.
Основные принципы построения криптосистем с открытым ключом
Криптография с несколькими открытыми ключами
Преимущество этой схемы заключается в том, что для её реализации нужно только одно сообщение и n ключей (в схеме с n агентами). Если передаются индивидуальные сообщения, то есть используются отдельные ключи для каждого агента (всего n ключей) и каждого сообщения, то для передачи сообщений всем различным подмножествам требуется 2 n − 2 ключей.
Недостатком такой схемы является то, что необходимо также широковещательно передавать подмножество агентов (список имён может быть внушительным), которым нужно передать сообщение. Иначе каждому из них придется перебирать все комбинации ключей в поисках подходящей. Также агентам придется хранить немалый объём информации о ключах. [4]
Криптоанализ алгоритмов с открытым ключом
Казалось бы, что криптосистема с открытым ключом — идеальная система, не требующая безопасного канала для передачи ключа шифрования. Это подразумевало бы, что два легальных пользователя могли бы общаться по открытому каналу, не встречаясь, чтобы обменяться ключами. К сожалению, это не так. Рисунок иллюстрирует, как Ева, выполняющая роль активного перехватчика, может захватить систему (расшифровать сообщение, предназначенное Бобу) без взламывания системы шифрования.
Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.
Особенности системы
Применение
Алгоритмы криптосистемы с открытым ключом можно использовать [7]
Преимущества
Недостатки
Виды симметричных шифров
Виды асимметричных шифров
Примечания
См. также
Литература
Полезное
Смотреть что такое «Шифрование с открытым ключом» в других словарях:
шифрование с открытым ключом — Система шифрования, использующая асиметричные ключи (для шифрования/дешифрования), в которой ключи имеют математические соотношения друг с другом, которые нельзя вычислить явным способом. (МСЭ Т Н.235.0, МСЭ Т Н.235). [http://www.iks… … Справочник технического переводчика
шифрование с несекретным (открытым) ключом — — [[http://www.rfcmd.ru/glossword/1.8/index.php?a=index d=23]] Тематики защита информации EN non secret encryption … Справочник технического переводчика
Криптосистема с открытым ключом — Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному … Википедия
Быстрые криптосистемы с открытым ключом — Быстрая криптосистема с открытым ключом (англ. Fast public key cryptosystem) или лёгкая криптосистема с открытым ключом (англ. Lightweight public key cryptosystem) асимметричная криптосистема, используемая в устройствах с… … Википедия
Быстрая криптосистема с открытым ключом — (англ. Fast public key cryptosystem) или лёгкая криптосистема с открытым ключом (англ. Lightweight public key cryptosystem) асимметричная криптосистема, используемая в устройствах с ограниченными ресурсами. Обычные криптографические алгоритмы… … Википедия
Криптографическая система с открытым ключом — (или Асимметричное шифрование, Асимметричный шифр) система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу, и используется для… … Википедия
шифрование с общедоступными ключами — шифрование с открытым ключом — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы шифрование с открытым ключом EN public key cryptography … Справочник технического переводчика
Шифрование — Шифрование преобразование информации в целях сокрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задаче соблюдения конфиденциальности… … Википедия
шифрование методом РША (Ривеста Шамира Адлемана) — Метод шифрования, предложенный Ривестом, Шамиром и Адлеманом, при котором ключ, используемый для шифрования, не совпадает с ключом для дешифрирования (последний должен быть известен получателю); по этой причине данный метод относят к методам… … Справочник технического переводчика
Хеллман, Мартин — Мартин Хеллман Мартин Хеллман (Martin E. Hellman; род. 2 октября 1945) американский криптограф. Получил известность благодаря разработке первой асимметричной криптосистемы в соавторстве с Уитфилдом Диффи и Ральфом Мерклем (1976г). Один из… … Википедия
Что такое Криптография с Открытым Ключом?
Что такое Криптография с Открытым Ключом?
Как Работает Криптография с Открытым Ключом?
PKC как Инструмент Шифрования
Криптография с открытым ключом решает одну из давних проблем симметричных алгоритмов, которая заключается в передаче ключа, который используется как для шифрования, так и для дешифрования. Отправка этого ключа по небезопасному соединению является рискованной и может быть раскрыта третьей стороне, которая может затем прочитать любые сообщения, зашифрованные с помощью данного ключа. Хотя и существуют криптографические методы (такие как протокол обмена ключами Диффи-Хеллмана-Меркля) для решения этой проблемы, они по-прежнему уязвимы для атак. В криптографии с открытым ключом, напротив. Ключ, используемый для шифрования, может безопасно передаваться по любому соединению. В результате чего, асимметричные алгоритмы обеспечивают более высокий уровень защиты по сравнению с симметричными.
Использование Цифровых Подписей
Ограничения
Хотя он может использоваться для повышения компьютерной безопасности и проверки целостности сообщений, PKC имеет некоторые ограничения. Из-за сложных математических операций, связанных с шифрованием и дешифрованием, асимметричные алгоритмы могут быть довольно медленными, когда им приходится работать с большими объемами данных. Этот тип криптографии также сильно зависит от предположения, что закрытый ключ останется секретным. Если секретный ключ был случайно передан или раскрыт, безопасность всех сообщений, которые были зашифрованы с помощью соответствующего открытого ключа, будет поставлена под угрозу. Пользователи также могут случайно потерять свои закрытые ключи, и в этом случае они не смогут получить доступ к зашифрованным данным.
Применение Криптографии с Открытым Ключом
Этот тип криптографии используется многими современными компьютерными системами для обеспечения безопасности конфиденциальной информации. Например, электронные письма могут быть зашифрованы с использованием методов криптографии с открытым ключом для обеспечения конфиденциальности их содержимого. Протокол уровня защищенных сокетов (SSL), который делает возможным безопасное подключение к веб-сайтам, также использует асимметричную криптографию. Системы PKC даже использовались в качестве средства обеспечения безопасной среды электронного голосования, которая потенциально позволяла бы избирателям участвовать в выборах со своих домашних компьютеров.
От компьютерной безопасности до проверки криптовалютных транзакций, криптография с открытым ключом играет важную роль в защите современных цифровых систем. Используя парные открытые и закрытые ключи, алгоритмы асимметричной криптографии решают фундаментальные проблемы безопасности, представленные симметричными шифрами. Хотя PKC используется уже много лет, для него регулярно разрабатываются новые приложения и применения, особенно в блокчейн и криптовалютах.
Асимметричное шифрование
Асимметричное шифрование — это метод шифрования данных, предполагающий использование двух ключей — открытого и закрытого. Открытый (публичный) ключ применяется для шифрования информации и может передаваться по незащищенным каналам. Закрытый (приватный) ключ применяется для расшифровки данных, зашифрованных открытым ключом. Открытый и закрытый ключи — это очень большие числа, связанные друг с другом определенной функцией, но так, что, зная одно, крайне сложно вычислить второе.
Асимметричное шифрование используется для защиты информации при ее передаче, также на его принципах построена работа электронных подписей.
Принцип действия асимметричного шифрования
Схема передачи данных между двумя субъектами (А и Б) с использованием открытого ключа выглядит следующим образом:
В такой схеме перехват любых данных, передаваемых по незащищенным каналам, не имеет смысла, поскольку восстановить исходную информацию возможно только при помощи закрытого ключа, известного лишь получателю и не требующего передачи.
Применение асимметричных алгоритмов
Асимметричное шифрование решает главную проблему симметричного метода, при котором для кодирования и восстановления данных используется один и тот же ключ. Если передавать этот ключ по незащищенным каналам, его могут перехватить и получить доступ к зашифрованным данным. С другой стороны, асимметричные алгоритмы гораздо медленнее симметричных, поэтому во многих криптосистемах применяются и те и другие.
Например, стандарты SSL и TLS используют асимметричный алгоритм на стадии установки соединения (рукопожатия): с его помощью кодируют и передают ключ от симметричного шифра, которым и пользуются в ходе дальнейшей передачи данных.
Также асимметричные алгоритмы применяются для создания электронных подписей для подтверждения авторства и (или) целостности данных. При этом подпись генерируется с помощью закрытого ключа, а проверяется с помощью открытого.
Асимметричные алгоритмы
Наиболее распространенные алгоритмы асимметричного шифрования:
Надежность асимметричного шифрования
Теоретически приватный ключ от асимметричного шифра можно вычислить, зная публичный ключ и механизм, лежащий в основе алгоритма шифрования (последнее — открытая информация). Надежными считаются шифры, для которых это нецелесообразно с практической точки зрения. Так, на взлом шифра, выполненного с помощью алгоритма RSA с ключом длиной 768 бит на компьютере с одноядерным процессором AMD Opteron с частотой 2,2 ГГц, бывшем в ходу в середине 2000-х, ушло бы 2000 лет.
При этом фактическая надежность шифрования зависит в основном от длины ключа и сложности решения задачи, лежащей в основе алгоритма шифрования, для существующих технологий. Поскольку производительность вычислительных машин постоянно растет, длину ключей необходимо время от времени увеличивать. Так, в 1977-м (год публикации алгоритма RSA) невозможной с практической точки зрения считалась расшифровка сообщения, закодированного с помощью ключа длиной 426 бит, а сейчас для шифрования этим методом используются ключи от 1024 до 4096 бит, причем первые уже переходят в категорию ненадежных.
Что касается эффективности поиска ключа, то она незначительно меняется с течением времени, но может скачкообразно увеличиться с появлением кардинально новых технологий (например, квантовых компьютеров). В этом случае может потребоваться поиск альтернативных подходов к шифрованию.
Публикации на схожие темы
Сквозное шифрование: что это и зачем оно нужно вам
Квантовые компьютеры и криптография для чайников
Квантовые компьютеры — для «чайников»
Эволюция шифровальщика JSWorm
Программы-вымогатели: пара хороших новостей
Дорога к «интернету вещей»: преимущества и риски смарт-езды