Hash

公開公鑰不好嗎?

  • September 21, 2018

我正在研究區塊鏈,並一直專注於允許身份驗證的加密協議。公鑰和私鑰的數字簽名似乎很可靠,我專注於算法 ED25519。

但是在某些地方,有人說不公開公鑰,因為通過公鑰和簽名可以導出私鑰。有人說,量子電腦將輕鬆完成這項任務。

起初,我認為比特幣地址的原因是為了讓公鑰“人類可讀”。但我看到有一些安全點具有公鑰雜湊。

所以我有一些疑問:

  • 未經任何處理就暴露公鑰真的有風險嗎?
  • 如果是這樣,有哪些替代方案?
  • 例如,比特幣如何使用公鑰雜湊而不是公鑰本身來驗證交易簽名?(畢竟,將 sha256 散列反轉為其原點是“不可能的”)

從密碼學的角度來看,公開一個公鑰是可以的,因為它可以揭示它的價值。涉及公鑰/私鑰對的密碼學中最基本的假設是公鑰的值是公開的;因此得名。

對手不能更改公鑰是極其重要的。必須避免任何允許更改的說明!

此外,公鑰具有很強的特徵;所以人們可能不想透露自己的公鑰,以保持無法追踪(和匿名)。但是,這可能還不夠:除非簽名方案旨在防止這種情況發生,否則透露一個人的簽名可能允許可追溯性(對於某些系統,甚至可以從簽名中重建公鑰)。

正確的是,不洩露公鑰會剝奪對手獲得足夠強大的對手可以用來找到(等效)私鑰並破壞系統的資訊。但是我們需要一個公開的公鑰,以便可以公開檢查使用所有者的私鑰進行的簽名。得出一個不應洩露公鑰的結論就像是說人們應該對銀行安全室的位置保密:這是設計排除的假設,因為它會使設計不適合預期目的。

是的,可用於密碼分析的假設量子電腦將允許對手攻擊我們現在(以及在區塊鏈中)使用的那種已知公鑰。另一方面

  • 目前,可用的量子電腦對密碼分析的用處不如可用的光劍闖入銀行的保險箱。
  • 有合理的理由擔心在我們使用的簽名系統中,一些簽名與攻擊者的公鑰一樣好,這種假設的量子電腦可用於密碼分析。

更新:關於

例如,比特幣如何使用公鑰雜湊而不是公鑰本身來驗證交易簽名?

它獲取公鑰,通過對其進行散列並與受信任的公鑰散列進行比較來驗證(或拒絕)它,然後根據經過驗證的公鑰驗證交易簽名。有關更多資訊,請參閱indiscreteLogarithm 的答案

引用自:https://crypto.stackexchange.com/questions/48423