在 上一篇 了解了橢圓曲線密碼學是在做什麼後,這篇想來說說:
數學上「橢圓曲線」並不是長得像橢圓的曲線,而是一種特殊形式的三次曲線。
標準定義是:
$$
y^2 = x^3 + ax + b
$$
其中 $a, b$ 是常數,並且要滿足:
$$
4a^3 + 27b^2 \neq 0
$$
這個限制是為了避免曲線出現「奇異點 (singularity)」,像是 cusp 尖點或自交點 (self-intersection)。
如果曲線有這些問題,就沒辦法建立良好的「加法運算規則」,所以一定要排除。
再說 Abelian group 前,我們需要先知道群是什麼,一個「群」是某個集合加上一個運算,我們這邊就把 +
當作那個運算符號好了,一個群需要滿足:
如果再加上:
5. 交換律:$a+b=b+a$。
那就是 Abelian group。
特例:
這樣定義的加法滿足群的四大公理,而且還是 Abelian。
在 cusp 上,切線不唯一 → $P+P$ 無法定義。
在 node 上,切線有兩條 → $P+P$ 有多種可能結果。
所以群結構失效。
這正是前面判別式條件的用意:保證曲線光滑,弦切法才能良好運作。