Цифровые сертификаты: в чем разница между шифрованием и подписанием
Я относительно новичок в PKI, сертификатах и всех связанных с ними вещах.
насколько я понимаю в криптографии с открытым ключом, шифрование с открытым ключом и дешифрование с закрытым ключом. Только один закрытый ключ может соответствовать любой открытый ключ, но обратное не верно. Правильно ли это? Или это один к одному?
Итак, способ работы цифровой подписи заключается в том, что содержимое сертификата хэшируется, а затем "подписывается" частным ключ. Затем подпись проверяется с помощью соответствующего открытого ключа.
Итак, вот где я запутался. В чем разница между шифрованием сообщения открытым ключом и подписанием дайджеста сообщения закрытым ключом?
5 ответов
разница между шифрованием сообщений и подписанием
я думаю, что цели информационной безопасности важны для понимания разницы между шифрованием сообщений и подписанием. Чтобы определить несколько целей:
- конфиденциальность: сохранение информации в секрете от несанкционированных сторон.
- целостность данных: обеспечение того, чтобы информация не была изменена несанкционированным средства.
- аутентификация сообщения (аутентификация источника данных): подтверждение источник информации.
- неотказ: предотвращение отрицания предыдущих действий.
шифрование сообщений обеспечивает конфиденциальность.
сообщение о подписании персонализация идентификатор источника сообщения для этого сообщения. Он обеспечивает целостность данных, аутентификацию сообщений и неотрицание в целом.
непредвзято доверенное третье лицо (согласовано заранее) для разрешения спора, не требуя доступа к секретной информации подписантов (частная ключи.)система цифровой подписи, которую вы упоминаете в своем вопросе, называется цифровая подпись от реверсивного шифрования с открытым ключом. В целом, любая схема цифровой подписи должна иметь следующие свойства:
- легко вычислить подписывающим.
- это легко проверить любой желающий.
- он защищен от подделки, пока он больше не понадобится (подпись продолжительность.)
что касается систем шифрования, Kerckhoffs определил набор требований, которые по-прежнему, по большей части, полезны сегодня. Пожалуйста, прочитайте на wiki.
типы функций, используемых в криптографии
о типах функций, которые используются для генерации ключей и шифрования/дешифрования, давайте снова дадим несколько определений:
-
функция один-к-одному: функция
f: X -> Y
один-к-одному, если каждый элементY
является образом не более одного элемента вX
. -
на функции: функция
f: X -> Y
На если каждый элементY
- Это изображение хотя бы одного элемента вX
. - функции биекция: биекция является как один к одному,так и на.
-
односторонняя функция: функция
f: X -> Y
является односторонним, еслиf(x)
легко вычислить для всех элементов вX
но для всех элементовy
наY
вычислительно невозможно найти любоеx
такое, чтоf(x) = y
. -
с Люком, односторонняя функция: это односторонняя функция
f: X -> Y
в котором знание дополнительной информации (информация о Люке) делает возможным найти для любогоy
наY
, anx
на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 или цифровой сертификат или сертификат лобкового ключа или сертификат удостоверения личности. Это электронный документ, используемый для подтверждения права собственности открытого ключа.
Цифровые Подписи, в котором сообщение подписывается закрытым ключом отправителя и может быть проверено всеми, кто имеет доступ к открытому ключу отправителя. Эта проверка доказывает, что отправитель имел доступ к закрытому ключу, и поэтому, скорее всего, является связанным лицом с открытым ключом. Это также гарантирует, что сообщение не было подделано, поскольку подпись математически связана с сообщением, с которым она была сделана, и проверка не будет выполнена практически для любого другого сообщения, независимо от того, насколько оно похоже на исходное сообщение. Ан аналогия для цифровых подписей является запечатывание конверта с персональным сургучной печатью. Сообщение может быть открыто кем угодно, но наличие уникальной печати аутентифицирует датчик.
Шифрование С Открытым Ключом в котором сообщение зашифровано открытым ключом получателя. Сообщение не может быть расшифровано кем-либо, у кого нет соответствующего закрытого ключа, который, таким образом, считается владельцем этого ключа и лицом, связанным с открытым ключом. Это используется в попытке обеспечить конфиденциальность. Ан аналогия для шифрования с открытым ключом-это заблокированный почтовый ящик с почта слот. Почтовый слот открыт и доступен для публики – его местоположение (адрес улицы), по сути, является открытым ключом. Любой, кто знает адрес, может подойти к двери и бросить письменное сообщение через щель. Однако только тот, у кого есть ключ, может открыть почтовый ящик и прочитать сообщение.
- A Public Key Яnfrastructure (PKI) - это набор ролей, политик и процедур, необходимых для создания, управления, распространения, использования, хранения и отзыва цифровых сертификатов и управления шифрованием с открытым ключом.
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, вы часто не рассматриваете открытые ключи, но сертификаты которые по существу являются пакетами информации (эмитент, субъект, интервал действия, ограничения использования, ...) с открытым ключом. При создании сертификатов вы, конечно, можете создавать разные сертификаты для одного и того же открытого ключа.
таким образом, в то время как частные и открытые ключи по существу являются один к одному, закрытые ключи и сертификаты могут быть один ко многим.
может быть, это причина вашей путаницы один на один.