Поделиться через


Асимметричные ключи

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

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

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

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

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

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

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

Все ключи в CryptoAPI хранятся в csps. Поставщики служб также отвечают за создание ключей, их уничтожение и использование для выполнения различных криптографических операций. Экспорт ключей из CSP, чтобы они могли отправляться другим пользователям, рассматриваются в хранилище криптографических ключей и exchange.