密碼學中的數學基礎(一)

        學習了一門課《信息安全數學基礎》,這門課主要講述的是關於密碼學的數學基礎,這門課本質就是“初等數論 + 抽象代數”。我更願意概括爲“質數 + 代數系統”。本文的目的在於將這一門課用“質數 + 代數系統”兩個部分以及“素數在基本代數系統的應用”一共三個部分總結起來,希望能夠加深自己的印象。

第一部分:素數(亦稱質數)

素數的來源

         個人感覺是現在的基礎數學系統還有很多不完備的地方,例如素數相關的理論,到現在都還沒有定論,例如“黎曼猜想”,2018.9.24 日英國阿迪亞爵士宣稱自己證明了“黎曼猜想”,但是他的報告,就像網友評論的“讓物理學家尷尬,讓數學家沉默”。素數現階段還是讓人們爲之着迷的一個領域,就像楊老師曾說過,素數是數學皇冠上的明珠,是信息安全的“保護神”,大概就是如此吧。

概念

         素數的概念並不陌生,小學時還曾經背誦過1~100以內的所有素數,事實表明這還是有用的,其中素數的定義就不在贅述。

素數的相關定理

         素數看起來並不是像其他普通數字理論那樣多麼有連續性,素數似乎是以一種“離散”的方式,散落在整個數軸上,所以和它相關的理論似乎以也是挺獨立的,並且在初等數論中,素數相關理論討論的更是一些比較具體的場景。

從素數的數量上看:以下定理基本描述了素數的個數的基本問題。

    定理1-1 素數有無窮多個。

    定理1-2 素數在不超過x 的範圍的個數。

    定理1-3 歐拉定理

    定理1-4 費馬定理。

    定理1-5 Wilson定理。

第二部分:代數系統(模運算)

        在第二部分,我們只討論一種運算----模運算,它廣泛的存在於我們平時的數學運算中,其中10進制下的加減乘除運算,個人其實覺得也可以當作是一種“模10的運算”。

一個整數有幾種表示方式:

第一種,歐幾里得除法。          

     使用歐幾里得除法,我們可以將任何一個整數表示成這種形式,其中我們最爲感興趣的就是餘數,所以就有了同餘的內容。

第二種,算術基本定理。

      任意一個整數n>1都可以表示成素數的乘積,且在不考慮乘積順序的情況下,該表達式是唯一的,推廣的來說,可以表示成一些素數次方的乘積,並且不考慮素數的情況下也是唯一的。

數的表示方法還有很多,例如哥德爾數,多進制等在此不再繼續討論。

基本的運算工具:

        最大公因數,最小公倍數這兩個運算在模運算種非常重要,最大公因數描述了模運算的最大下界運算界限,當(a,b)=1時,自然不存在最大公因數了,換個角度來說對於這兩個對象的有效模運算也進行到頭了。同時最小公倍數描述了模運算的最小上界,倍數一定是最小公倍數的倍數。其中這裏有一個最爲重要的運算就是“輾轉相除求最大公因數”,具體算法這裏不再贅述(信息安全p22)。

定理2-1 整數a,b 互素的充分必要條件是存在整數s,t使得:

           Sa + tb = 1 (這也是一個求逆元的方法)

同餘

        同餘顧名思義,就是有相同的餘數的意思。

        同餘的定義:    a 模m同餘b等同於m|a-b。

        同於式的定義:  f(x)模m 同餘b。只不過是換成了多項式。

        二次同餘的定義:x2模m 同餘b。只不過換成了平方項。

模同餘具有的性質:

      1.首先這是一種等價關係,具有自反,對稱,傳遞性。

      2.滿足加法和乘法。(在同餘式運算種可以直接加,乘)

      3.兩個同餘使用加法和乘法的組合也是同餘的。(可計算性)

      4.(d,m)= 1 模同餘兩邊纔可以約數。

      5.模同餘兩邊,包括模數可以同時乘一個數。

      6.模同餘兩邊,包括模數可以同時除一個數,d|(a,b,m)。

      7.模數同餘,則模模數的因子也同餘。

      8.模多個數同餘,則模多個數的最小公倍數同餘。

 

剩餘,剩餘類,完全剩餘系:

        我們可以發現,同餘關係廣泛存在於整數集合中,所以我們可以藉助這個關係將整數劃分成多個集合。任意一個整數一定在這其中的一個集合中。

        例如,可以使用模3將所有的整數分爲三類,分別是模3的0,1,2 的剩餘類,其中每一個類的元素就叫做剩餘。其中0,1,2就叫做模3 的一個完全剩餘系。

完全剩餘系,簡化剩餘系:

      一個完全剩餘系存在的兩個條件:

  1. 有m個整數。
  2. 其中兩兩不同餘。

剩餘系的遍歷問題:

  1. 單個模的完全剩餘系遍歷問題

                 a*k + b,k = i

  1. 兩個模的完全剩餘系遍歷問題

                m2*k1 + m1*k2 , k = i

  1. 多個模的完全剩餘系遍歷問題

簡化剩餘系餘歐拉函數:

       歐拉函數:小於m 的與m互素的數的個數。

       簡化剩餘:一個模m的剩餘類叫做簡化剩餘類,如果該類中存在一個與m 互素的剩餘。

       簡化剩餘系:在所有的簡化剩餘類中,從每個類中任取一個數組成的整數集合叫之。

       簡化剩餘系中同樣存在遍歷問題。

       歐拉函數的性質:歐拉函數是“乘性函數”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章