Encryption

libsodium 的 X25519 加密構造可以推廣嗎?

  • June 18, 2020

據我了解,libsodium 的seal_box是基於 X25519,一個 Diffie-Hellman 函式:通過將 X25519 密鑰協議與對稱密碼相結合,並讓接收者派生對稱密鑰,可以構造一條只能通過使用解密的消息X25519 私鑰。

這種構造能否推廣到其他 Diffie-Hellman 函式(具有其他曲線的 ECDH,或普通的非 EC Diffie-Hellman)?

是的。通用結構稱為IES(集成加密方案),最常被稱為 ECIES(橢圓曲線 IES)。原理是一樣的:使用“密鑰協商”原語(DH,ECDH,X25519,……)構造一個由雙方共享的秘密,雙方都知道雙方的公鑰,但只知道自己的私鑰。然後使用共享密鑰導出用於對稱認證加密的密鑰。

我不知道 libsodium 的crypto_box數據格式是否完全符合官方 ECIES 標準(有很多)。ECIES 標准在組(DH 組或 EC 曲線)、派生中包含哪些數據以及參數的新鮮度(例如臨時密鑰與多用途密鑰)方面有很多選擇。根據這些選項,生成的結構可能在隨機數誤用性、對私鑰妥協的抵抗性、對側通道的抵抗性等方面具有不同的屬性。但是在密鑰之上建構的混合加密的基本原理協議是一樣的。

一些關於 IES 如何完成的細節如何影響二級安全屬性的閱讀:

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