О цифровых подписях. Они действительно безопасны? [closed]

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

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

Но в таком случае, если вы расшифруете сообщение с помощью моего открытого ключа, вы сможете расшифровать сообщение и, о получении моего закрытого ключа, не легче ли теперь?

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

Но если оба фактора сойдутся «вместе» и нет никакого риска, что станет причиной сохранения секретного ключа в секрете?

-4
задан 24 October 2014 в 23:05
2 ответа

Вы были на правильном пути, пока «и, очевидно, не получите мой закрытый ключ».

В том, как работают ключи, есть много математических выкладок.

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

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

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

3
ответ дан 5 December 2019 в 22:07

Когда вы шифруете простой текст с помощью закрытого ключа, вы можете расшифровать зашифрованный текст с помощью открытого ключа. Только один человек должен иметь закрытый ключ. У всего мира есть доступ к публичному ключу.

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

0
ответ дан 5 December 2019 в 22:07