跳转至

公私鑰成對產生

公鑰確實是從私鑰的原始數據中「計算」出來的

# 從私鑰 (印章實體) 提取出 公鑰 (印相)
openssl rsa -in private.key -pubout -out public.key

ECC(橢圓曲線)演算法

  1. 私鑰:是一個隨機產生的大整數(就像是你在地圖上隨機選了一個走幾步的「步數」)。
  2. 公鑰:是從地圖原點開始,走完那「步數」後到達的座標點
  3. 因為「點」是走出來的,所以只要知道步數(私鑰),一定能找到那個點(公鑰);但看著那個點,沒人能反推出你走了幾步。

為什麼要說「成對」?

雖然公鑰是私鑰生的,但我們說「成對(Key Pair)」是為了強調它們在數學上的互補性

  1. 唯一性:這把私鑰生出來的公鑰,全世界只有它能驗證這把私鑰蓋的章。
  2. 不可替代性:你不能拿 A 的私鑰蓋章,卻叫人用 B 的公鑰去驗證。

總結

私鑰是母體,公鑰是衍生物。

  1. 私鑰 (Private Key):包含所有秘密參數,是計算的源頭
  2. 公鑰 (Public Key):只包含公開參數,是計算的結果