首頁>Club>
6
回覆列表
  • 1 # 深入淺出話圍棋

    密碼學分為古典密碼學和現代密碼學。

    古典密碼學並不需要太多的數學知識,瞭解基本的排列組合和機率論的知識即可。

    現代密碼學又分成對稱密碼體系和非對稱密碼體系。對稱密碼體系沒什麼好說的,其實就是對古典密碼學演算法的多次迭代,形成新的演算法。最多需要一些矩陣運算的知識。

    密碼學真正對數學有高要求的是非對稱密碼體系。它需要數論的知識。當初學密碼學那會兒,課本里有一章節的內容,叫做數論初步。除了簡單的同餘,最大公約數演算法等,還需要重點理解費馬小定理。這是密碼學中相對核心的一個定理了。

    對數論有初步認識後,就可以真正去理解非對稱密碼學了。非對稱密碼學通常使用數學難題作為單向限門,比如說給定兩個大素數,計算它們的乘積很容易。但是給定它們的乘積,把它分解成兩個大素數在計算上是不可行的。

    上面說的演算法就是大名鼎鼎的RSA演算法了,是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。 同樣利用了數學難題創造的密碼演算法還有橢圓曲線(ECC)演算法,它的限門在於橢圓離散對數的計算複雜性。

    非對稱加密演算法還有很多,這裡就不一一介紹了。回到題主的問題,我認為需要初等數學中的排列組合知識和高等數學中的初步的數論知識。

  • 2 # 丁牛科技

    研究密碼學之前需要掌握一些基礎的數學理論。簡單地說,包括一些邏輯運算、如與或非、異或、迴圈左移右移等;其次高等數學中的模運算、多項式運算、中國剩餘定理;線性代數中的矩陣;數論中的群、環、域等概念。總的來說,可以從高等數學、線性代數、數論等大學中會接觸的數學課入門。掌握這些內容有助於理解常見的密碼模型。

  • 中秋節和大豐收的關聯?
  • 人工智慧系統服務商如何保護客戶資料安全?