Isogeny
SIKE/SIDH算法6
我最近正在閱讀關於SIKE的這篇論文,我正在嘗試了解實現的細節。
我注意到點三倍算法(算法 6)已經在另一篇論文中進行了描述。儘管如此,SIKE 論文使用稍微不同的算法來計算
$$ 3 $$P. 我已經快速檢查過了——在我看來,兩種算法都給出了不同的結果(我錯了嗎?)。知道為什麼 SIKE 規範中的算法優於另一篇論文中的算法。它在某種程度上更快嗎?
不是一個完整的答案,只是想擺脫你的一些疑問。
我注意到點三倍算法(算法 6)已經在另一篇論文中進行了描述。儘管如此,SIKE 論文使用稍微不同的算法來計算
$$ 3 $$P。
雖然官方日期可能表明 SIKE 規範是在 Faz-Hernández、López、Ochoa-Jiménez、Rodríguez-Henríquez 的論文(我們稱之為 FLOR)之後發布的,但這兩者實際上是同時寫的,所以它完全可能我們錯過了一些優化。
據我所知(僅代表我自己),FLOR 中的蒙哥馬利梯形算法之前曾在一次會議上介紹過,因此我們將其包含在規範中,但在撰寫本文時我們並不知道三倍公式。
我已經快速檢查過了——在我看來,兩種算法都給出了不同的結果(我錯了嗎?)。
我沒有檢查過,但是這兩個公式完全有可能給出不同的、投影等效的座標。
知道為什麼 SIKE 規範中的算法優於另一篇論文中的算法。它在某種程度上更快嗎?
可能不會更快,因為 FLOR 明確表示他們的公式是。但是,如果要實施 SIKE,則必須遵循規範。對於 KEM 來說,重要的是算法
isogen
返回的正是規範所期望的,而不是僅僅投影等價的東西;所以你不能替換算法中的另一個公式,除非輸出相等。如果確認 FLOR 公式是最好的可用公式,我們可能會在下一輪 NIST 競賽中更新規範。