Elliptic-Curves
具有射影座標的標量乘法
我正在使用投影座標實現點加法、加倍和標量乘法。我參考了這個連結。
我已經實施
- 常式 2.2.6 (ec_double)
- 常式 2.2.7 (ec_add)
- 常式 2.2.8 (ec_full_add)
- 常式 2.2.9 (ecc_full_sub)
他們都在工作,我已經用最後給出的 P-256 曲線範例結果驗證了結果。
我實現了 Routine 2.2.10 ec_mul t(Scalar multiplication) 但我無法得到正確的輸出。在該常式的第 15 行和第 16 行中,它們採用二進製表示 $ d $ (隨機數)和 $ 3d $ . 並且循環跳過 MSB 和 LSB 並執行操作。
我有這樣的疑問 $ 3d $ 是模乘法還是簡單乘法?循環執行 $ d $ 或者 $ 3d $ 如果它不是模乘法?
還有什麼我錯過的嗎?如果有人遵循了這個算法並實現了它,請在這裡幫助我。
3d 乘法是簡單的乘法而不是模乘法。
如果可以,我建議您檢查IEEE Std 1363-2000文件和該文件的“A.10.3 Elliptic scalar multiplication”部分。它比 Nist 的文件有更多的解釋。