Elliptic-Curves

為什麼在 OpenSSL ECDSA_sign 或 ECDSA_do_sign 中使用密鑰對而不是僅使用私鑰?

  • September 23, 2015

如果 ECC (ECDSA) 中的數字簽名是使用私鑰進行的,為什麼 OpenSSL 庫使用 ECKEY 對作為輸入參數而不是僅使用私鑰?

ECKEY 對象可能包含:

  • 團體
  • 私鑰
  • 公鑰

私鑰都需要能夠計算簽名。使用通用 ECKEY 對象(從 API 角度來看)是最方便的,因為它很容易在常用的 PKCS#8 PEM 編碼的 EC 私鑰和 ECKEY 對象之間進行轉換,並且因為只有一個 BIGNUM 是不夠的。

可以使用沒有填寫公鑰欄位的 ECKEY 對象進行 ECDSA 簽名。同樣,某些功能(尤其是驗證操作,其中私鑰通常不可訪問)可以與未填寫私鑰的 ECKEY 一起使用(即,它是NULL)。

引用自:https://crypto.stackexchange.com/questions/29326