Pairings
為什麼要使用配對來建構基於身份的加密?
基於身份的加密是一種非對稱加密方案,因此加密使用接收者的身份作為公鑰。這樣的身份可以是接收者的電子郵件地址或代表接收者身份的其他字元串。這樣,在加密之前我們就不需要像傳統的公鑰加密那樣驗證接收者的公鑰了。因此,我們可以擺脫證書並節省大量資源。
2001 年,Boneh 和 Franklin使用 Weil 配對構造了第一個基於身份的加密方案。在此之前,配對主要被認為是針對 ECDLP 問題(MOV 攻擊)的一種攻擊方法。經過這次建設,配對引起了很多關注。並在配對的基礎上發展了很多屬性加密、函式加密等方案。
Boneh 的 IBE 似乎是這樣建構的:對於任意 ID,使用 MapToPoint 方法將 ID 映射到橢圓曲線中的一個點。然後基於這一點,我們計算一個遮罩來與一條消息進行異或以完成加密。
我可以驗證加密方案的正確性,但我不明白為什麼作者使用配對進行構造。在像 RSA 這樣的傳統 PKE 中,我們是否可以找到一些明智的“映射方法”也將 ID 字元串映射到一個大數字,然後將其用作公鑰?這種方法的缺點是什麼?
顯然這不會那麼容易,否則這 20 年都不會成為一個懸而未決的問題。但我需要一些幫助來了解問題的難度。
我不明白為什麼作者使用配對來建構。在像 RSA 這樣的傳統 PKE 中,我們是否可以找到一些明智的“映射方法”也將 ID 字元串映射到一個大數字,然後將其用作公鑰?這種方法的缺點是什麼?
那麼,對於 IBE,有必要:
- 僅通過公共參數很難獲得公共身份對應的私鑰
- 使用對 IBE 伺服器保密的私有參數,很容易獲得私鑰。
第一個是安全所必需的;第二個是系統正常執行所必需的。
在您的“將 ID 字元串映射到一個大數字(我們可能將其用作 RSA 模數)”的情況下,我們需要一種將其映射到一個我們只能使用 IBE 私有參數分解的數字的方法,而我們不需要”不知道該怎麼做。