Вопрос

У меня завтра у меня есть экзамен в передовой разработке, но я застрял на теме шифрования. Я прочитал на нем в http://support.microsoft.com/kb/246071.. Отказ Однако я все еще запутался.

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

Может кто-нибудь, пожалуйста, объясните это таким образом, чтобы не течение сможет это понять? Его единственное асимметричное шифрование я не понимаю, не симметричное шифрование. Заранее спасибо.

С уважением,

Ричард

Редактировать: Итак, чтобы подвести все ответы в случае веб-приложения (конкретное использование, для которого мне нужно знать об этом):

  1. Пользователь посещает сайт;
  2. Пользователь просит предоставить открытый ключ;
  3. Пользователь создает общедоступную и частную ключевую пару, поддерживать частную контуру и отправляет открытый ключ на сервер;
  4. Сервер использует открытый ключ, чтобы зашифровать все, что необходимо отправить пользователю, и отправляет информацию пользователю;
  5. Пользователь использует свой / ее закрытый ключ для расшифровки ответа с сервера;
  6. Пользователь делает то, что им нужно и отправляет ответ на сервер, используя закрытый ключ для шифрования его;
  7. Сервер дешифры используют открытый ключ. Шаги 4 - 7 могут продолжаться много раз, или они могут произойти только один раз, или может произойти только 4 и 5.

Это все правильно? Если так, то должно быть все, что мне нужно знать для экзамена. Я не должен думать, что мне нужно будет знать больше, чтобы получить максимум 40%, если возникает вопрос на эту тему - упомянут существование сертификатов и подписей.

Спасибо за всю помощь.

С уважением,

Ричард

Редактировать: Ну, я только что вернулся с вашего экзамена, и он пошел честно хорошо, я думаю. Но никаких вопросов о криптографии не появился, однако ... Помощь была оценена в любом случае. Спасибо всем.

С уважением,

Ричард

Это было полезно?

Решение

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

Боб берет открытый ключ Алицы (он должен сначала проверить, что это действительно открытый ключ Алицы!), И использует его, чтобы зашифровать сообщение, которое он отправляет в Алису.

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

Другие советы

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

На основании этого вы можете получить 4 операции:

  • шифрование с использованием открытого ключа
  • Расшифровать с помощью закрытого ключа
  • Знак, используя закрытый ключ
  • Проверьте подпись, используя открытый ключ

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

  • а. Сеть доверия, Где люди подписывают связь друг друга между открытым ключом и идентичностью: это обычно модель PGP.
  • а. Инфраструктура открытых ключей (PKI), где вы получаете сертификационные органы для получения сертификатов, часто с промежуточными продуктами, в подобной дереве иерархии. (PGP может использовать эту модель тоже, но это кажется менее распространенной.)

Другие предоставили «Общее» описание, и я буду глубже в реальной стороне.

Самые современные асимметричные стандарты шифрования работают не с необработанными общественными и частными ключами, но с более сложными обертками, такими как сертификаты X.509 или клавиши OpenPGP (это две самые популярные инфраструктуры асимметричных шифров). Оба сертификата, так и клавиши OpenPGP содержат дополнительную информацию, которая позволяет легко идентифицировать, искать и управлять.

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

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

Открытый ключ предоставляется на «шифр» по «деширитору», поэтому по определению «дешириптор» знает закрытый ключ (поскольку он является частью ключевой пары, создаваемой «дешириптором».

Скажем, «дешифер» = D и «Шифер» = E.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top