橢圓曲線上的雙離散對數
背景:
我正在嘗試實施論文Publicly Verifiable Secret Sharing。我設法使用模組化組使其工作,但是當我想通過轉移到橢圓曲線組來提高效率時,論文中的第 3.1 節給了我一些問題:
讓 $ p $ 成為一個大素數。
$ G $ 是一組順序 $ p $
$ g $ 是一個生成器 $ G $
$ q = (p - 1)/2 $ 是素數。
$ h $ $ \epsilon $ $ \Bbb Z_p^* $ 是 q 階元素。
的雙離散對數 $ y $ 到基地 $ g $ 和 $ h $ 定義為 $ x $ 在哪裡:
$ y = g^{(h^x)} $
問題:
在模組中實現這種雙冪運算很簡單,因為 $ h^x $ 可以自然地解釋為整數。然而,在橢圓曲線的情況下, $ h^x $ 被解釋為點 $ h $ 添加到自身 $ x $ 次,產生曲線點, $ [x]h $ . 然後我不清楚如何獲得 $ y = g^{(h^x)} $ , 知道 $ g $ , $ h $ 和 $ x $ . 計算一個曲線點到另一個曲線點的冪對我來說似乎是不可能的。
民間傳說是任何基於模乘法群的密碼方案都可以轉換為加法曲線群。但是,我不明白這種情況如何。這種雙重取冪可以在橢圓曲線上完成還是只能在模組中完成?
然而,在橢圓曲線的情況下, $ h^x $ 被解釋為點 $ h $ 添加到自身 $ x $ 次,產生曲線點, $ [x]h $
這是不正確的;正如你之前所說:
$ h \in \mathbb{Z}_p^* $ 是秩序的一個要素 $ q $ .
那是, $ h $ 不是橢圓曲線上的一個點;相反,它是有限域的成員,因此 $ h^x $ 被解釋為 $ h $ 乘以自身 $ x $ 次(使用場乘法運算)。
民間傳說是任何基於模乘法群的密碼方案都可以轉換為加法曲線群。
一個人必須小心;有諸如 SRTP 之類的方案真正依賴於模組化欄位(而不是模組化組)。
然而,即使在那些事情可以很好地轉換的情況下(實際上是大多數情況;例外情況相對較少),你必須記住,雖然實際的組運算(模乘)轉換為點加法,但指數(取模 $ p-1 $ 在模組化情況下)轉換為整數運算模 $ q $ 在橢圓曲線的情況下。