Цифровые сертификаты: в чем разница между шифрованием и подписанием

Я относительно новичок в PKI, сертификатах и всех связанных с ними вещах.

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

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

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

5 ответов


разница между шифрованием сообщений и подписанием

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

  1. конфиденциальность: сохранение информации в секрете от несанкционированных сторон.
  2. целостность данных: обеспечение того, чтобы информация не была изменена несанкционированным средства.
  3. аутентификация сообщения (аутентификация источника данных): подтверждение источник информации.
  4. неотказ: предотвращение отрицания предыдущих действий.

шифрование сообщений обеспечивает конфиденциальность.

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

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

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

  1. легко вычислить подписывающим.
  2. это легко проверить любой желающий.
  3. он защищен от подделки, пока он больше не понадобится (подпись продолжительность.)

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

типы функций, используемых в криптографии

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

  1. функция один-к-одному: функция f: X -> Y один-к-одному, если каждый элемент Y является образом не более одного элемента в X.
  2. на функции: функция f: X -> Y На если каждый элемент Y - Это изображение хотя бы одного элемента в X.
  3. функции биекция: биекция является как один к одному,так и на.
  4. односторонняя функция: функция f: X -> Y является односторонним, если f(x) легко вычислить для всех элементов в X но для всех элементов y на Y вычислительно невозможно найти любое x такое, что f(x) = y.
  5. с Люком, односторонняя функция: это односторонняя функция f: X -> Y в котором знание дополнительной информации (информация о Люке) делает возможным найти для любого y на Y, an x на X такое, что f(x) = y.

биекция используется в качестве инструмента для шифрования сообщений и используется обратная биекция расшифровать.

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

Конкретный Пример Люка

в RSA открытым ключом является (e,n) здесь n =pq и p и q два больших, различных простых числа . e выбирается случайным образом в диапазоне 1 < e < (p - 1)(q - 1). Учитывая знания (p - 1)(q - 1), the уникальный закрытый ключ d это получено путем применения расширенного евклидова алгоритма. Это односторонняя функция люка, которая позволяет нам получить d С (e,n).

если вы не знаете (p - 1)(q - 1) а еще хотелось бы узнать d, тогда вам нужно фактор n. Если p и q большие и тщательно подобраны, факторинг n должно быть трудно. Это проблема RSA (RSAP).

но где же люк? Как вы могли заметить, люк-это факторы n. Если вы знаете эти факторы, вы можете легко инвертировать одностороннюю функцию и выявить d.


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

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

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

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


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

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

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

  • Шифрование С Открытым Ключом в котором сообщение зашифровано открытым ключом получателя. Сообщение не может быть расшифровано кем-либо, у кого нет соответствующего закрытого ключа, который, таким образом, считается владельцем этого ключа и лицом, связанным с открытым ключом. Это используется в попытке обеспечить конфиденциальность. Ан аналогия для шифрования с открытым ключом-это заблокированный почтовый ящик с почта слот. Почтовый слот открыт и доступен для публики – его местоположение (адрес улицы), по сути, является открытым ключом. Любой, кто знает адрес, может подойти к двери и бросить письменное сообщение через щель. Однако только тот, у кого есть ключ, может открыть почтовый ящик и прочитать сообщение.

enter image description here
img src

  • A Public Key Яnfrastructure (PKI) - это набор ролей, политик и процедур, необходимых для создания, управления, распространения, использования, хранения и отзыва цифровых сертификатов и управления шифрованием с открытым ключом.

enter image description here
img src
Registration Authority (РА),Certificate Authority (CA) и Validation Authority (VA)

  • DES (Data Encryption Standard) и тройной DES (более сильный вариант DES), AES (Advanced Encryption Standard) являются симметричными ключевыми криптосистемами. Который использует тот же ключ для шифрования и дешифрования.

  • DSA (D igital Signature Algorithm) и RSA (Ron Rivest, Adi Sхамир и Леонард Adleman)-криптосистемы с открытым ключом, которые широко используются для безопасной передачи данных. DSA предоставляют только цифровые подписи, а RSA предоставляет как цифровую подпись, так и шифрование.


любой закрытый ключ имеет один открытый ключ и любой открытый ключ имеет один закрытый ключ его всегда один к одному сопоставлению.

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

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


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

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

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

может быть, это причина вашей путаницы один на один.