Public-Key

用私鑰加密還是解密,用公鑰解密?

  • March 31, 2018

我目前正在嘗試確定我的以下方案是否可以在 ECC 中實現,或者我是否可以使用現有的實現。起初我使用 libsodium,但它似乎真的不支持我的案例。

我的場景:基本上有兩組。具有讀取訪問權限(僅解密)的 A 組和具有寫入/讀取訪問權限(加密/解密)的 B 組。

libSodium 有一些非常相似的東西:crypto_box_seal/crypto_box_seal_open

libSodium 的 api 的問題是 crypto_box_seal_open 需要兩個密鑰對。我需要這個api的反面。

例如。

  • 私鑰 => 加密/解密
  • 公鑰 => 解密

有這樣的方案嗎?

您想要的稱為簽名方案。這將強制執行有關寫作權的分離。如果您還需要保密,您可以將其與傳統的對稱或公鑰加密相結合。

那麼這如何與簽名一起使用?每當 B 組中的某個人寫入數據時,他們都會刪除舊簽名並應用新簽名。現在,來自 A 組或 B 組的任何人都可以驗證該文件自上次編輯(由 B 組的成員)以來沒有被修改過。當然,來自 A 組的成員將無法簽署文件,因為他們的公共簽名密鑰不會被添加到受信任的簽名密鑰的中央列表中。或者,也可以使用一種稱為環簽名的東西,它也可以保證原始作者的匿名性(如果需要署名,則可以使用組簽名)。

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