這次和大家介紹進入密碼學世界前,需要知道的最基本數學工具。我們將會講到 Group(群)、Ring (環)、 Field(體)、模運算(modular arithmetic)。本文會以數學語言來描述,需要基本的集合論,會對於符號比較能理解。
以上是群的數學定義。最簡單的例子便是整數集合配上加法運算,其中加法具有交換率,也有identity 0元素,反元素更是明顯的。甚至還是Abelian group ! 注意交換率並不是一定會有的,例如矩陣的乘法不能交換。
簡單來說Ring附帶兩個運算,加法底下成abelin group,在乘法下滿足乘法交換率、分配律、單位元素等,最簡單的例子依然是,有興趣的人可以嘗試驗證看看,非常簡單。
簡單來說體可以說是環的進階版本,首先它是一個交換環乘法運算可以交換,所有非零元素都存在著反元素,這邊可以注意到現在就不會滿足field的數學結構了(反元素是分數不落在整數集合),但就會是一個field的例子。
往後我們有機會的話將會介紹 Galois Field,跟AES 有著很大的關係,或者是ECC、Shortest vector problem、closet vector problem、lattice 、NTRU,都跟代數有很大的關係。
群、環、體,是代數最基本的基礎。代數學的領域非常廣泛,課程就有大學部代數、研究所近世代數、李代數、代數幾何、微分幾何…等等。
數學的符號看起來可能很複雜,但簡單來說 ,就是把 拿去除以 ,並取剩下的餘數。例如 ,因為 除 餘 。
接下來我們得介紹一個特殊的Ring
基本的介紹到這邊,補充一個小定理,有興趣的人可以自己驗證(Hint: Euclidean Algorithm)。
Cryptography
密碼學
Algebra
代數
Group
Ring
Field