什麼是橢圓曲線 Diffie-Hellman 中使用蒙哥馬利階梯的 u 座標
我試圖理解下面的段落。
橢圓曲線 Diffie-Hellman 通常使用蒙哥馬利階梯計算。這給出了一個簡單而有效的計算,它自然地抵抗定時側通道。蒙哥馬利階梯還允許每一方的公鑰是蒙哥馬利 u 座標。使用單個座標而不是整個點可以使公鑰更小,而不會花費點解壓縮。
我在 Wikipedia 上閱讀了有關橢圓曲線和蒙哥馬利階梯的資訊。有人可以用天真的語言解釋這一段嗎?還請回答以下問題。
- 什麼是蒙哥馬利 u 座標。
- 點解壓要求的簡要說明。
蒙哥馬利形式和梯子
人們通常被介紹給 Weierstrass 形式的橢圓曲線,即點 $ (x,y) $ 滿足 $ y^2 = x^3 + ax + b $ . 指定 $ a $ 和 $ b $ 挑出一條特定的曲線。
橢圓曲線有另一種表示形式,稱為蒙哥馬利形式:
$ Bv^2 = u^3 + Au^2 + u $
彼得蒙哥馬利在他 1987 年的論文中介紹了這種形式。在這裡,要點是 $ (u,v) $ 對並指定 $ A $ 和 $ B $ 挑出一條曲線。您可以從一種形式轉換為另一種形式。這 $ u $ 這是您提到的u座標。
為什麼這很有用?
在場上對橢圓曲線進行標量乘法時 $ \mathbb{F}_p $ ,你必須做很多模組化的除法/逆運算。然而,以蒙哥馬利的形式, $ u $ 和 $ v $ 是射影座標。這讓您可以盡可能長時間地推遲昂貴的部門操作,從而提供很好的加速。所以想 $ u $ 作為兩個座標的比率,類似於(不等於!) $ x/y $ .
非常粗略地說,蒙哥馬利階梯是在投影空間中的一個點上進行“雙加”操作。梯形圖的輸入是比例因子 $ k $ 和 u 座標,輸出只是縮放點的 u 座標。這就是蒙哥馬利梯被稱為*單座標梯的原因。*如果有必要,如果你有兩個 $ u $ 和 $ v $ ,您可以計算縮放點的兩個座標,但如果您只需要縮放點 $ u $ ,您無需花費時間計算其他座標的“包袱”,就可以快速獲得這一點,例如點壓縮和解壓縮。
點壓縮和解壓縮
請參閱第 2.3 節,了解有關進行點壓縮和解壓縮的計算的說明。基本的想法是,如果可以的話,攜帶一個數字比攜帶兩個更好,所以帶上 $ (u,v) $ 在投影空間中並將兩個座標組合成“壓縮”值 $ \tau $ 以後可以“解壓”成 $ (u,v) $ 或者 $ (x,y) $ 形式。這些壓縮和解壓縮操作涉及取模平方根和模求逆,這是昂貴的。蒙哥馬利階梯可以讓您避免這種計算。