這個技巧可以為橢圓曲線的安全性給與一定的保證,至少這條曲線不是有人特意構造出來,然後在其中隱藏了什麼不為人知的漏洞。事實上,如果我提供了一個隨機種子和對應的參數,這意味著我不能隨意地選擇參數 ,那麼其他人就應該比較確定這條曲線不能被我用於」特殊目的「的攻擊。在下一篇文章中,作者將介紹為什麼這裡要說是」比較確定「,而不是完全保證。
ANSI X9.62中描述了一種用於生成和檢查隨機曲線的標準化演算法,該演算法基於SHA-1。如果你還想了解得更多,你可以看一下這個演算法(請在文檔中查找"Verifiably Random Curves and Base Point Generators"這一節)
現在我們來介紹兩種基於此的公鑰演算法:ECDH(Elliptic curve Diffie-Hellman,一種加密演算法)和ECDSA(Elliptic Curve Digital Signature Algorithm,一種簽名演算法)。
ECDH是DH演算法的一個變體。本質上它是一個密鑰協商協議,而不是一個加密演算法。換句話說,對於通信的雙方,ECDH定義了密鑰生成和交換的規則,至於怎麼用密鑰對數據進行加密,取決於其他的演算法。