В чем разница между общим ключом и общим 40-значным отпечатком? Открытый ключ очень длинный, поэтому, если я хочу, чтобы кто-то мог проверить мои сообщения, могу ли я отправить им по почте открытку с моим 40-значным отпечатком пальца?
2 ответа
Отпечаток пальца похож на серийный номер - уникальный идентификатор - ключа. Он используется для проверки того, что обе стороны говорят об одном и том же ключе, если на сервере с открытым ключом есть несколько человек с одним и тем же именем. (Кроме того, с первого взгляда можно легко проверить отпечаток пальца, чем массивную строку открытого ключа.)
Отпечаток пальца - это хеш открытого ключа, и, поскольку он короче, он должен содержать меньше информации. Следовательно, он не может функционировать как открытый ключ, поскольку открытый ключ не может быть извлечен из отпечатка пальца (в разумные сроки). Хеш-функция разрушает математическое отношение открытого ключа к закрытому ключу.
Рассмотрим немного надуманную физическую метафору. Предположим, у вас есть блокировка (открытый ключ) и покачивайте его внутренности так, чтобы половина штифтов ушла, а остальные были переупорядочены каким-то детерминированным способом (производя замкнутый замок, отпечаток пальца). Ключ для реальной блокировки (закрытый ключ) не сможет открыть эту блокированную блокировку, потому что физическая взаимосвязь между ним и блокировкой была потеряна. Вы можете, однако, определить, что две блокировки были одинаковыми, сравнив их версии с ошибками, предполагая, что процесс проверки - хороший хеш.
Таким образом, нет, вы не можете использовать только отпечаток пальца, чтобы зашифровать сообщение для кого-то. У вас должен быть весь открытый ключ.
Дополнительная информация: Проверка ключа PGP, Отпечаток открытого ключа
Можете ли вы отправить отпечаток пальца через открытку для проверки открытого ключа?
Короткий ответ:
Это на самом деле идея отпечатка пальца, чтобы облегчить процесс аутентификации ключа. Так что да, вы можете отправить свой отпечаток пальца другим, чтобы они могли проверить ваш открытый ключ, который они имеют. Однако вам нужно позаботиться о том, чтобы канал, по которому вы отправляете отпечаток пальца, был сохранен.
Более длинная версия:
Обычно открытые ключи доступны через некоторый сервер ключей или что люди предоставляют свой открытый ключ в зашифрованном сообщении, которое они отправляют через Интернет. Оба источника не очень заслуживают доверия, так как посредник мог поменять ключи, пока вы их тянете. Чтобы аутентифицировать открытые ключи других (и инициировать зашифрованную связь с ними), необходимо проверить / аутентифицировать этот открытый доступный ключ.
Чтобы упростить процесс, вам не нужно встречаться / звонить соответствующему лицу и диктовать свой (возможно, очень длинный) открытый ключ, вместо этого вы можете сравнить свой отпечаток пальца с отпечатком пальца, который только что вычислили из полученного открытого ключа.
Однако канал, который вы используете для передачи ваших отпечатков пальцев, чтобы сравнить их, должен быть сохранен. Лично я немного параноик, чтобы связать отпечаток пальца с открыткой. Однако, чтобы проверить / аутентифицировать открытый ключ другого человека, и если вы доверяете почтовой службе и соседям, имеющим доступ к почтовому ящику, это возможно.
Различия между ключом и отпечатком пальца
Отпечаток пальца вычисляется с помощью криптографической хеш-функции. Хотя он должен быть уникальным (нет двух разных сообщений, использующих один и тот же хеш), вы не можете инвертировать процесс, и, следовательно, вы не можете расшифровать любые сообщения, зашифрованные с помощью соответствующего открытого ключа.