密鑰協商的輸入包括橢圓曲線參數(具體參數情況請參見§6.2.2),以及己方私鑰s和對方公鑰W,注意這裏的公私鑰都必須是在同一條橢圓曲線上選取。以下假設橢圓曲線參數、己方私鑰s和對方公鑰W都是合理有效的。密鑰協商算法如下:
───────────────────────────────────────
算法 密鑰協商
輸入: 己方私鑰s,對方公鑰W,橢圓曲線參數
輸出: 協商出的祕密值s。
步驟:
step1、 計算臨時點T=← s×W。
step2、 得到T點的x座標tx。
step3、 將tx交給密鑰導出函數KDF算出協商的祕密信息。
s=KDF(tx)。
step3: 返回s。
───────────────────────────────────────
現在來解釋爲什麼雙方能協商出相同的祕密值。假設協商雙方爲A和B,各自的公私鑰對分別爲和,
所以可以得到:
這就說明了雙方協商得出的是同一個祕密值。