數學是宇宙的自然語言。它誕生的原因之一,是因為人類需要找到一種方法來弄清大自然的模式與規律。正因為如此,數字會讓我們深深著迷。而作為數學裡最古老分支之一的數論,一直吸引著最偉大的智者和思想家們探索其中,以此解開宇宙裡眾多深邃的奧秘。
數論主要研究整數的性質,正整數按乘法性質劃分,可以分成質數(Prime number)、合數(Composite number)和 1,質數產生了很多一般人能理解卻又懸而未解的問題,如哥德巴赫猜想,孿生質數猜想等。這些問題儘管能輕鬆理解,但如果想要給出嚴格證明的話,事實上卻要用到許多艱深的數學知識。所以說對於數論領域的研究實際推動了整個數學的發展,催生了大量的新思想和新方法。
數論這樣的純粹性迷住了一代又一代的數學家,每一位都在這個被高斯稱為「數學的女王」的領域中獻出了自己心血和智慧。相信在更嶄新的領域誕生之前,數論都會是純數學領域的王者。
數論隨著物理、計算機、工程學發展而發展,我們可以這樣理解,數論在當今先進軟體工程領域裡,尤其是在安全密碼這一塊裡佔有絕對關鍵地位,它是密碼學的核心——從著名的 RSA 算法到如今火熱流行的區塊鏈世界,密碼學正依靠數論為基石經歷著一場激動人心的快速革命。
縱觀數學歷史上,有兩個特殊時期是數論發展歷程中值得特別關注的。
首先是在希臘化時代,被稱為「幾何學之父」的歐幾裡得曾發表他的 GCD 算法(最大公約數法,Greatest Common Divisor),這個算法巧妙地利用可視化方式將分數化為最簡單的形式。
而在大約兩千年後, 「數學王子」德國數學家高斯通過結合歐幾裡得手稿和大量自己的證明使歐幾裡得的理論完成了一部十分重要的數論著作《算術研究》(Disquistiones Arithmeticae)。
數論作為數學中一個主要分支可以追溯到公元前的希臘時代。在當時,歐幾裡得是一位非凡的數學家,他住在亞歷山大港,有時被稱為亞歷山大裡亞的歐幾裡得(為了區分墨伽拉的歐幾裡得)。他提出了有歷史記錄的最古老的算法(這裡指的是一系列循序漸進的步驟)之一。這個算法被稱為歐幾裡得算法,因為它突出了自然數中迷人的性質,所以它是現代數論研究的起點。
最大公約數算法(輾轉相除法)可能在歐幾裡得之前幾個世紀就已經有了。上圖為使用兩腳規進行測量。
這是在公元前 300 年左右,歐幾裡得發表了他的經典著作《幾何原本》系列,這個由 10 卷書組成的系列涵蓋了從整數到線段和面積的一系列主題。有意思的是,他的最大公約數算法不止出現一次而是兩次,第一次在第七卷(命題 1-2,以整數的形式展現),第二次在第十卷(命題 2-3,以幾何線段的形式展現)。
最大公約數算法在中國則可以追溯至東漢出現的《九章算術》
根據數學史學家的說法,後一種算法,即基於幾何的算法(第十章),實際上可能先於第七章中基於數字的算法。歐幾裡得認為研究長度,面積和體積在理論上對最大公約數算法很重要,因為它提供了一種方法,來找到線段 a 和 b 之間的最大公共長度。考慮到他所處的時代,這一觀察很可能對任何從事建築(木工,石匠等)的人很有使用價值。
由之前的定義可得,兩個長度 a 和 b 的最大公約數的幾何意義是均勻測量 a 和 b 的最大長度 g;或者,長度 a 和 b 都是最大長度 g 的整數倍。一個幾何例子如圖,想像一下我們被要求在一塊 15m×25m 的地板上鋪瓷磚,這需要我們計算瓷磚的邊長,使它們完美地和地板的長和寬相匹配,沒有留下縫隙。換言之,15 和 25 的最大公約數是多少?我們省去求最大公約數的有關具體步驟,但希望以上插圖能提供幾何上的直觀理解。如上圖圓圈所示,這道題的答案是 5,確實是 15 和 25 的最大公約數。
在歐幾裡得時代大約 2000 年後,數論取得了第二次重大突破。年輕的卡爾·弗裡德裡希·高斯在 21 歲寫成了一本數論教材《算術研究》,將歐幾裡得原理和近代數學結合起來。在這本著作匯集費馬、歐拉、拉格朗日和勒讓德等人多種巧妙又精確的研究成果,雖然這並非獨創的,但他也加入了自己很多重要成果,這樣歸納整理完成了數論的系統化。在這本著作中,他將以前分散的、非正式的方法系統總結,對重要的未解決問題提供了自己獨創的答案,夯實了數論繼續發展的重要基礎,為後人在未來的研究中指明了方向。
「高斯曾說:『數學是科學的女皇,數論則是數學的女皇。』如果這是真理,我們還可以補充一點:《算術研究》是數論的憲章。」——莫裡茨·康託
《算術研究》一書中最重要的發現是一個永恆的定理,被稱為算術基本定理,又稱為正整數的唯一分解定理,即:每個大於 1 的自然數,要麼本身就是質數,要麼可以寫為 2 個或以上的質數的積,而且這些質因子按大小排列之後,寫法僅有一種方式。
這個定義可以分解為獨立的兩部分以便於理解。首先是分解的存在性,根據規定一個大於 1 的整數要麼是素數,要麼可以構造成嚴格的素數的乘積。第二部分保證了分解的唯一性,每一個非素數(合數)都存在唯一用素數的乘積表示的方式(若不考慮排列的順序)。
換言之,素數是所有整數的「基石」:素數的乘積可以唯一確定所有的整數。這個結果毫無疑問地被過去的所有數學家所知道,但高斯在《算術研究》裡第一次正式地論述它,並給出了嚴格的證明。
現在我們已經了解到了數論的基本歷史及它所影響的深度。是時候讓我們熟悉一下數論中應用性最強的主題:密碼學。雖然直到偉大的高斯才正式為這個應用奠定了數學基礎,但密碼早已用於戰爭之中了。通過其中以往 [遇見] 曾發布過的文章,我們可以了解基本常見的密碼學原理,這將有助於分析和理解現代最重要的安全算法之一:RSA 算法。
作者 [遇見數學翻譯小組] 核心成員:阿卓(統計學本科生)
本文由 [遇見數學] 原創,歡迎關注,帶你一起長知識!