Hash

是否有相當於美國國璽的數字版本?

  • February 20, 2021

自古以來(出於禮儀目的,一直到今天),實物文件都加蓋了印章。原則上,這些印章使任何人,如果他知道他在尋找什麼,就可以在不諮詢發布文件的機構的情況下判斷文件的真實性。(在實踐中,有一些方法可以產生令人信服的贗品,但暫時擱置一旁。)

是否有可能通過在 PDF 上附加一串字元或類似的東西,以數字方式實現相同的目標?

我可以想辦法做類似的事情:

  1. 想出一個私鑰和一個散列函式。
  2. 將私鑰與文件發佈時間的時間戳一起散列。
  3. 將上述雜湊和時間戳一起附加到文件中。
  4. 當有人想要對文件進行身份驗證時,請檢查對私鑰和時間戳進行散列處理後產生的散列值是否與文件上的散列值相同。

然而,上述方法與物理國璽(例如美國國璽)的主要區別在於需要諮詢擁有私鑰的人。該檢查必須來自中央機構,因為公開私鑰將允許任何偽造者自由支配。

那麼,有沒有辦法做類似上述的事情,但不需要中央權威?如果不是,這在邏輯上是不可能的,還是一個懸而未決的問題?

那麼,有沒有辦法做類似上述的事情,但不需要中央權威?

為什麼,是的,我們確實有辦法解決這個問題——我們將其稱為“數字簽名”

以下是它的工作原理:

  1. 選擇一個簽名算法,並拿出一個簽名算法的公鑰/私鑰對
  2. 使用私鑰,生成文件的簽名(可能帶有時間戳和您認為相關的任何其他內容)。將上述雜湊和時間戳一起附加到文件中。
  3. 當有人想要驗證文件時,只需獲取公鑰,並檢查簽名驗證算法以及文件和時間戳是否表明簽名驗證。

簽名算法的基本屬性是,雖然很容易用私鑰簽署任何你想要的文件,但你不能簽署任何文件(這裡“簽名”意味著生成一個用簽名驗證算法和公鑰驗證的簽名) )。

當今使用的常見簽名算法是 RSA、ECDSA 和 EdDSA

當然,我沒有進入的一個步驟是“在第 3 步中,有人如何獲得公鑰”和“他們如何知道他們獲得的公鑰實際上是簽名者的,而不是某些攻擊者的”?這些都是有效的問題,有很好的答案;但我想我會把這個探索留給另一個問題……

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