Асимметричное шифрование
— система шифрования и/или электронной цифровой подписи, при которой открытый ключ передаётся по открытому каналу, и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME. Основная идея. очень тесно связана с идеей односторонних функций, то есть таких функций f (x), что по известному x довольно просто найти значение f (x), тогда как определение x из f (x) невозможно за разумный срок. Но сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка — это некий секрет, который помогает расшифровать. То есть существует такой y, что зная f (x) и y, можно вычислить x. Схема шифрования. Пусть K — пространство ключей, а e и d — ключи шифрования и расшифрования соответственно. Ee — функция шифрования для произвольного ключа e Ee (m) = c Здесь c Dd — функция расшифрования, с помощью которой можно найти исходное сообщение m, зная шифротекст c: Dd (c) = m { Ee: e Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемыми Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой. 1. Боб выбирает пару (e, d) и шлёт ключ шифрования e (открытый ключ) Алисе по открытому каналу, а ключ расшифрования d (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу). 2. Чтобы послать сообщение m Бобу, Алиса применяет функцию шифрования, определённую открытым ключом e: Ee (m) = c, c — полученный шифротекст. 3. Боб расшифровывает шифротекст c, применяя обратное преобразование Dd, однозначно определённое значением d. Принципы построения. 1. Начинаем с трудной задачи P. Она должна решаться сложно в смысле теории: не должно быть алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи P за полиномиальное время относительно размера задачи. Более правильно сказать: не должно быть известного полиномиального алгоритма, решающего данную задачу — так как ни для одной задачи ещё пока не доказано, что для неё подходящего алгоритма нет в принципе. 2. Можно выделить легкую подзадачу P ' из P. Она должна решаться за полиномиальное время, лучше, если за линейное. 3. «Перетасовываем и взбалтываем» P ', чтобы получить задачу P '', совершенно не похожую на первоначальную. Задача P '', по крайней мере, должна выглядеть как оригинальная труднорешаемая задача P. 4. P '' открывается с описанием, как она может быть использована в роли ключа зашифрования. Как из P '' получить P ', держится в секрете как секретная лазейка. 5. Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как второй решает P '' задачу, первый использует секретную лазейку и решает P ' задачу. Применение. Алгоритмы криптосистемы с открытым ключом можно использовать[7] § Как самостоятельные средства для защиты передаваемой и хранимой информации § Как средства распределения ключей. Обычно с помощью алгоритмов криптосистем с открытым ключом распределяют ключи, малые по объёму. А саму передачу больших информационных потоков осуществляют с помощью других алгоритмов. § Как средства аутентификации пользователей. Преимущества § Преимущество асимметричных шифров перед симметричными шифрами состоит в отсутствии необходимости предварительной передачи секретного ключа по надёжному каналу. § В симметричной криптографии ключ держится в секрете для обеих сторон, а в асимметричной криптосистеме только один секретный. § При симметричном шифровании необходимо обновлять ключ после каждого факта передачи, тогда как в асимметричных криптосистемах пару (E, D) можно не менять значительное время. § В больших сетях число ключей в асимметричной криптосистеме значительно меньше, чем в симметричной. Недостатки. § Преимущество алгоритма симметричного шифрования над несимметричным заключается в том, что в первый относительно легко внести изменения. § Хотя сообщения надежно шифруются, но «засвечиваются» получатель и отправитель самим фактом пересылки шифрованного сообщения. § Несимметричные алгоритмы используют более длинные ключи, чем симметричные. § Процесс шифрования-расшифрования с использованием пары ключей проходит на два-три порядка медленнее, чем шифрование-расшифрование того же текста симметричным алгоритмом. § В чистом виде асимметричные криптосистемы требуют существенно больших вычислительных ресурсов, потому на практике используются в сочетании с другими алгоритмами. 1. Для ЭЦП сообщение предварительно подвергается хешированию, а с помощью асимметричного ключа подписывается лишь относительно небольшой результат хеш-функции. 2. Для шифрования они используются в форме гибридных криптосистем, где большие объёмы данных шифруются симметричным шифром на сеансовом ключе, а с помощью асимметричного шифра передаётся только сам сеансовый ключ.
|