Implementation
這種驗證 EdDSA 簽名的半智能方法是否安全?
在驗證 EdDSA 簽名的最後一步中,
4[S]B
與[4]R + [4][k]A
.因為我使用的是 XYTZ - 擴展扭曲 Edwards 座標,所以出於效率原因,我想這樣做:
$$ Y(\text{Left}) \cdot Z(\text{Right}) = Y(\text{Right}) \cdot Z(\text{Left}) $$,
但這會使 X 座標未選中。
這張支票可以安全嗎?
好吧,檢查程序本身不是SUF-CMA,因為可以通過替換生成第二個有效簽名 $ R $ 和 $ R+I $ 在哪裡 $ I $ 是可被 4 整除的程序點。
通過不檢查 $ X $ 座標,你增加了二次偽造的數量,因為 $ S $ 可以替換為 $ \ell-S $ 或者 $ R $ 可以替換為 $ R+I $ 或兩者。
但是,由於已經不存在 SUF-CMA 安全性,因此額外的安全性損失很小。僅在 SUF-CMA 很重要且實施者決定通過不允許重複簽名來阻止它的情況下 $ S $ 值或通過禁止點 $ R $ 不符合規定的 $ \ell $ 您的檢查程序會引入新的攻擊嗎?