導航:首頁 > 數字科學 > 密碼學研究需要數學什麼方面

密碼學研究需要數學什麼方面

發布時間:2022-11-14 14:57:25

『壹』 密碼學所需的數學與計算機知道以及其它方面的知識。(越詳細越好,答案寧缺勿濫,會追加分的~)

在大學專業課程里,一般意義上的密碼學都是指商業民用密碼學,需要一定的數論基礎和計算機基礎;密碼學發端於數學史早期,是和數論這一數學王冠上的明珠緊密結合在一起的。要求熟練掌握的數論知識有:同餘理論,一元同餘方程,平方剩餘與一元二次同餘方程以及原根與指標等知識。
除上述數論基礎之外,密碼學還必須掌握傳統的密碼學基礎知識,比如傳統密碼體制,公鑰密碼體制和密碼學的Shannon理論等。
最為重要的是,當代密碼學緊密地與計算機科學技術結合在一起,所以對於隨機性概念,序列密碼與移位寄存器以及網路安全加密技術、加密演算法等知識有較為扎實的掌握。以上材料來源於《武漢大學商用密碼學基礎》課程教材。

『貳』 密碼學基礎

​ 密碼學是研究如何保護信息安全性的一門科學,涉及數學、物理、計算機、資訊理論、編碼學、通訊技術等學科,已經在生活中得到廣泛應用。

​ 密碼學組成分支分為編碼學和密碼分析學。密碼編碼學主要研究對信息進行編碼,實現信息的隱蔽。密碼分析學主要研究加密消息的破譯或消息的偽造。二者相互獨立,又相互依存,在矛盾與斗爭中發展,對立統一。

​ 密碼學的發展歷史大致可劃分為三個階段:

機密性

僅有發送方和指定的接收方能夠理解傳輸的報文內容。竊聽者可以截取到加密了的報文,但不能還原出原來的信息,即不能得到報文內容。

鑒別

發送方和接收方都應該能證實通信過程所涉及的另一方, 通信的另一方確實具有他們所聲稱的身份。即第三者不能冒充跟你通信的對方,能對對方的身份進行鑒別。

報文完整性

即使發送方和接收方可以互相鑒別對方,但他們還需要確保其通信的內容在傳輸過程中未被改變。

不可否認性

如果人們收到通信對方的報文後,還要證實報文確實來自所宣稱的發送方,發送方也不能在發送報文以後否認自己發送過報文。

​ 密碼體制是一個使通信雙方能進行秘密通信的協議。密碼體制由五要素組成,P(Plaintext明文集合),C(Ciphertext密文集合),K(Key密鑰集合),E(Encryption加密演算法),D(Decryption解密演算法),且滿足如下特性: 

<script type="math/tex; mode=display" id="MathJax-Element-1"> p ∈ P </script>

<script type="math/tex; mode=display" id="MathJax-Element-2"> c ∈ C </script>

<script type="math/tex; mode=display" id="MathJax-Element-3"> k1 ∈ K, k2 ∈ K </script>

<script type="math/tex; mode=display" id="MathJax-Element-6"> E_{k1}(p) = c,D_{k2}(c) = p </script>

​ 無論是用手工或機械完成的古典密碼體制,還是採用計算機軟體方式或電子電路的硬體方式完成的現代密碼體制,其加解密基本原理都是一致的。都是基於對明文信息的替代或置換,或者是通過兩者的結合運用完成的。

​ 替代(substitution cipher):有系統地將一組字母換成其他字母或符號;

​ 例如『help me』變成『ifmq nf』(每個字母用下一個字母取代)。

​ 置換(Transposition cipher):不改變字母,將字母順序重新排列;

​ 例如『help me』變成『ehpl em』(兩兩調換位置)。

​ 密碼分析者通常利用以下幾種方法對密碼體制進行攻擊:

​ 已知明文分析法: 

知道一部分明文和其對應的密文,分析發現秘鑰。

​ 選定明文分析法: 

設法讓對手加密自己選定的一段明文,並獲得對應的密文,在此基礎上分析發現密鑰。

​ 差別比較分析法: 

設法讓對方加密一組差別細微的明文,通過比較他們加密後的結果來分析秘鑰。

​ 無條件安全: 

無論破譯者的計算能力有多強,無論截獲多少密文,都無法破譯明文。

​ 計算上安全:

​ 破譯的代價超出信息本身的價值,破譯所需的時間超出信息的有效期。

​ 任何密碼系統的應用都需要在安全性和運行效率之間做出平衡,密碼演算法只要達到計算安全要求就具備了實用條件,並不需要實現理論上的絕對安全。1945年美國數學家克勞德·E·香農在其發布的《密碼學的數學原理》中,嚴謹地證明了一次性密碼本或者稱為「弗納姆密碼」(Vernam)具有無條件安全性。但這種絕對安全的加密方式在實際操作中需要消耗大量資源,不具備大規模使用的可行性。事實上,當前得到廣泛應用的密碼系統都只具有計算安全性。

​ 一個好的密碼體制應該滿足以下兩個條件:

在已知明文和密鑰的情況下,根據加密演算法計算密文是容易的;在已知密文和解密密鑰的情況下,計算明文是容易的。

在不知道解密密鑰的情況下,無法從密文計算出明文,或者從密文計算出明文的代價超出了信息本身的價值。

常見的密碼演算法包括:

​ 對稱密碼體制也稱單鑰或私鑰密碼體制,其加密密鑰和解密密鑰相同,或實質上等同, 即從一個易於推出另一個。

​ 優點:保密性高,加密速度快,適合加密大量數據,易於通過硬體實現; 

缺點:秘鑰必須通過安全可靠的途徑傳輸,秘鑰的分發是保證安全的關鍵因素;

​ 常見對稱密碼演算法:DES (密鑰長度=56位)、3DES( 三個不同的密鑰,每個長度56位)、AES(密鑰長度128/192/256可選)、IDEA(密鑰長度128位)、RC5(密鑰長度可變)。

​ 根據加密方式的不同,對稱密碼又可以分為分組密碼和序列密碼。

​ 將明文分為固定長度的組,用同一秘鑰和演算法對每一塊加密,輸出也是固定長度的密文,解密過程也一樣。

​ 又稱為流密碼,每次加密一位或一位元組的明文,通過偽隨機數發生器產生性能優良的偽隨機序列(密鑰流),用該序列加密明文消息序列,得到密文序列,解密過程也一樣。

​ 非對稱密碼體制又稱雙鑰或公鑰密碼體制,其加密密鑰和解密密鑰不同,從一個很難推出另一個。其中的加密密鑰可以公開,稱為公開密鑰,簡稱公鑰;解密密鑰必須保密,稱為私有密鑰,簡稱私鑰。

​ 優點:密鑰交換可通過公開信道進行,無需保密。既可用於加密也可用於簽名。 

缺點:加密速度不如對稱密碼,不適合大量數據加密,加密操作難以通過硬體實現。

​ 非對稱密碼體制不但賦予了通信的保密性,還提供了消息的認證性,無需實現交換秘鑰就可通過不安全信道安全地傳遞信息,簡化了密鑰管理的工作量,適應了通信網的需要,為保密學技術應用於商業領域開辟了廣闊的前景。

​ 常見的非對稱密碼演算法:RSA(基於大整數質因子分解難題)、ECC(基於橢圓曲線離散對數難題)。

對非對稱密碼的誤解 

非對稱密碼比對稱密碼更安全? 

任何一種演算法的安全都依賴於秘鑰的長度、破譯密碼的工作量,從抗分析的角度看,沒有哪一方更優越;

​ 非對稱密碼使對稱密碼成為過時技術? 

公鑰演算法很慢,一般用於密鑰管理和數字簽名,對稱密碼將長期存在,實際工程中採用對稱密碼與非對稱密碼相結合。

​ 哈希函數將任意長的消息映射為一個固定長度的散列值,也稱消息摘要。消息摘要可以作為認證符,完成消息認證。 

哈希是單向函數,從消息摘要來推理原消息是極為困難的。哈希函數的安全性是由發生碰撞的概率決定的。如果攻擊者能輕易構造出兩個不同的消息具有相同的消息摘要,那麼這樣的哈希函數是不可靠的。

​ 常見的哈希函數有:MD5,SHA1,HMAC。

​ 數字簽名是公鑰密碼的典型應用,可以提供和現實中親筆簽名相似的效果,在技術上和法律上都有保證。是網路環境中提供消息完整性,確認身份,保證消息來源(抗抵賴性)的重要技術。

​ 數字簽名與驗證過程:

​ 發送方用哈希函數從報文文本中生成一個128位的散列值(或報文摘要),發送方用自己的私鑰對這個散列值進行加密來形成自己的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給接收方。接收方收到報文後,用同樣的哈希函數從原始報文中計算出散列值(或報文摘要),接著再用發送方的公鑰來對報文附加的數字簽名進行解密得出另一個散列值,如果兩個散列值相同,那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現消息的完整性和不可抵賴性。 

​ 在網路安全中,密鑰的地位舉足輕重

。如何安全可靠、迅速高效地分配密鑰、管理密鑰一直是密碼學領域中的重要問題。

​ 密鑰生成可以通過在線或離線的交互協商方式實現,如密碼協議等 。密鑰長度應該足夠長。一般來說,密鑰長度越大,對應的密鑰空間就越大,攻擊者使用窮舉猜測密碼的難度就越大。選擇密鑰時,應該避免選擇弱密鑰,大部分密鑰生成演算法採用隨機過程或偽隨機過程生成密鑰。

​ 採用對稱加密演算法進行保密通信,需要共享同一密鑰。通常是系統中的一個成員先選擇一個秘密密鑰,然後將它傳送另一個成員或別的成員。X9.17標准描述了兩種密鑰:密鑰加密密鑰和數據密鑰。密鑰加密密鑰加密其它需要分發的密鑰;而數據密鑰只對信息流進行加密。密鑰加密密鑰一般通過手工分發。為增強保密性,也可以將密鑰分成許多不同的部分然後用不同的信道發送出去。

​ 密鑰附著一些檢錯和糾錯位來傳輸,當密鑰在傳輸中發生錯誤時,能很容易地被檢查出來,並且如果需要,密鑰可被重傳。接收端也可以驗證接收的密鑰是否正確。發送方用密鑰加密一個常量,然後把密文的前2-4位元組與密鑰一起發送。在接收端,做同樣的工作,如果接收端解密後的常數能與發端常數匹配,則傳輸無錯。

​ 當密鑰需要頻繁的改變時,頻繁進行新的密鑰分發的確是困難的事,一種更容易的解決辦法是從舊的密鑰中產生新的密鑰,有時稱為密鑰更新。可以使用單向函數進行更新密鑰。如果雙方共享同一密鑰,並用同一個單向函數進行操作,就會得到相同的結果。

​ 密鑰可以存儲在腦子、磁條卡、智能卡中。也可以把密鑰平分成兩部分,一半存入終端一半存入ROM密鑰。還可採用類似於密鑰加密密鑰的方法對難以記憶的密鑰進行加密保存。

​ 密鑰的備份可以採用密鑰託管、秘密分割、秘密共享等方式。

​ 密鑰託管:

​ 密鑰託管要求所有用戶將自己的密鑰交給密鑰託管中心,由密鑰託管中心備份保管密鑰(如鎖在某個地方的保險櫃里或用主密鑰對它們進行加密保存),一旦用戶的密鑰丟失(如用戶遺忘了密鑰或用戶意外死亡),按照一定的規章制度,可從密鑰託管中心索取該用戶的密鑰。另一個備份方案是用智能卡作為臨時密鑰託管。如Alice把密鑰存入智能卡,當Alice不在時就把它交給Bob,Bob可以利用該卡進行Alice的工作,當Alice回來後,Bob交還該卡,由於密鑰存放在卡中,所以Bob不知道密鑰是什麼。

​ 秘密分割:

​ 秘密分割把秘密分割成許多碎片,每一片本身並不代表什麼,但把這些碎片放到一塊,秘密就會重現出來。

​ 秘密共享:

​ 將密鑰K分成n塊,每部分叫做它的「影子」,知道任意m個或更多的塊就能夠計算出密鑰K,知道任意m-1個或更少的塊都不能夠計算出密鑰K。秘密共享解決了兩個問題:一是若密鑰偶然或有意地被暴露,整個系統就易受攻擊;二是若密鑰丟失或損壞,系統中的所有信息就不能用了。

​ 加密密鑰不能無限期使用,有以下有幾個原因:密鑰使用時間越長,它泄露的機會就越大;如果密鑰已泄露,那麼密鑰使用越久,損失就越大;密鑰使用越久,人們花費精力破譯它的誘惑力就越大——甚至採用窮舉攻擊法。

​ 不同密鑰應有不同有效期。數據密鑰的有效期主要依賴數據的價值和給定時間里加密數據的數量。價值與數據傳送率越大所用的密鑰更換越頻繁。如密鑰加密密鑰無需頻繁更換,因為它們只是偶爾地用作密鑰交換,密鑰加密密鑰要麼被記憶下來,要麼保存在一個安全地點,丟失該密鑰意味著丟失所有的文件加密密鑰。

​ 公開密鑰密碼應用中的私鑰的有效期是根據應用的不同而變化的。用作數字簽名和身份識別的私鑰必須持續數年(甚至終身),用作拋擲硬幣協議的私鑰在協議完成之後就應該立即銷毀。即使期望密鑰的安全性持續終身,兩年更換一次密鑰也是要考慮的。舊密鑰仍需保密,以防用戶需要驗證從前的簽名。但是新密鑰將用作新文件簽名,以減少密碼分析者所能攻擊的簽名文件數目。

​ 如果密鑰必須替換,舊鑰就必須銷毀,密鑰必須物理地銷毀。

​ PKI是一個利用公鑰加密技術為密鑰和證書的管理,所設計的組件、功能子系統、操作規程等的集合,它的主要任務是管理密鑰和證書,為網路用戶建立安全通信信任機制。

​ 數字證書是一個包含用戶身份信息、公鑰信息、證書認證中心(CA)數字簽名的文件。

​ 作用:數字證書是各類終端實體和最終用戶在網上進行信息交流及商業活動的身份證明,在電子交易的各個緩解,交易的各方都需要驗證對方數字證書的有效性,從而解決相互間的信任問題。

​ CA全稱Certificate Authentication,是具備權威性的數字證書申請及簽發機構。

​ CA作為PKI的核心部分,主要由注冊伺服器組、證書申請受理和審核機構、認證中心伺服器三者組成。

​ 注冊伺服器:通過 Web Server 建立的站點,可為客戶提供24×7 不間斷的服務。客戶在網上提出證書申請和填寫相應的證書申請表。

​ 證書申請受理和審核機構:負責證書的申請和審核。

認證中心伺服器:是數字證書生成、發放的運行實體,同時提供發放證書的管理、證書廢止列表(CRL)的生成和處理等服務。

​ 通過CA可以實現以下功能:

​ 1. 接收驗證最終用戶數字證書的申請; 

2. 確定是否接受最終用戶數字證書的申請和審批; 

3. 向申請者頒發、拒絕頒發數字證書; 

4. 接收、處理最終用戶數字證書的更新; 

5. 接受最終用戶數字證書的查詢、撤銷; 

6. 產生和發布CRL(證書廢止列表); 

7. 數字證書的歸檔; 

8. 密鑰歸檔; 

9. 歷史數據歸檔;

五、量子密碼

5.1 量子計算

​ 由於量子計算技術取得了出人意料的快速發展,大量僅能抵禦經典計算機暴力破解的密碼演算法面臨被提前淘汰的困境 。

​ 非對稱密碼系統有效解決了對稱密碼面臨的安全密鑰交換問題,因而廣泛應用於公鑰基礎設施、數字簽名、聯合授權、公共信道密鑰交換、安全電子郵件、虛擬專用網以及安全套接層等大量網路通信活動之中。不幸的是,隨著量子計算的發展,包括RSA密碼、ECC密碼以及DH密鑰交換技術等非對稱密碼演算法已經從理論上被證明徹底喪失了安全性。相對於對稱密碼系統還可以採取升級措施應對量子威脅,非對稱密碼系統必須採取全新方法進行重建 。

5.2 量子密碼

​ 量子密碼是以量子力學和密碼學為基礎,利用量子物理學中的原理實現密碼體制的一種新型密碼體制,與當前大多使用的經典密碼體制不一樣的是,量子密碼利用信息載體的物理屬性實現。目前量子密碼用於承載信息的載體包括光子、壓縮態光信號、相干態光信號等。

​ 由於量子密碼體制的理論基礎是量子物理定理,而物理定理是物理學家經過多年的研究與論證得出的結論,有可靠的理論依據,且不論在何時都是不會改變的,因此,理論上,依賴於這些物理定理的量子密碼也是不可攻破的,量子密碼體制是一種無條件安全的密碼體制。

『叄』 對密碼學感興趣怎麼入門數學要什麼基礎百度知道

建議你先系統地學習一下計算機原理和預備數學知識

只是入門的話建議你先了解一下當前信息安全的重要事件、幾大加密演算法的基本原理
下面這些先行學科是必須的數學基礎:高等數學、線性代數、概率論、離散數學
計算機基礎包括C語言、演算法與數據結構、計算機組成原理等,可以輔修
密碼學核心課程包括信息安全數學基礎、密碼學引論、軟體安全等
要全面了解上面的基礎內容是一個漫長的過程,但只有打好這些基礎你才能真正深入理解後面的內容。密碼學要求很高的數學和邏輯能力,不是僅僅靠興趣就能夠精通的,不能三天打魚兩天曬網。
密碼學的核心數學知識:同餘、群論、矩陣、哈希

『肆』 學習應用數學專業密碼學方向需要的數學知識

應用數學最基礎的課程:數學分析,線性代數,微分方程

密碼學解釋:密碼學是研究編制密碼和破譯密碼的技術科學
密碼學基礎:高等代數
密碼學提升方向:代數數論(包括iwasawa theory)

書籍有:《應用密碼學基礎》,《現代密碼學》等

『伍』 傳統密碼學的理論基礎是什麼

1,傳統密碼學的理論基礎是數學。密碼學是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通信秘密的,稱為編碼學。

2,密碼學是一門關於加密的藝術和科學。

5,每個安全系統的安全性都取決於它最脆弱的部分。
6,為了提高系統的安全性,我們需要提高系統最脆弱地方的安全性,所以我們必須先知道那些是最脆弱的。

『陸』 信息安全密碼學主要需掌握哪些學科或知識

信息安全和密碼學是兩個專業。。
不過對於兩個專業最主要的都是數學。
可以說,數學就是信息學或者密碼學的基礎之基礎。
現在的有效加密都是依賴於梅森大素數。
其他的什麼就比較普通了。。什麼演算法,數據結構,編程基礎,等等的。這些也都是依賴於數學的。如果數學不好,可以不用考慮這個專業了。

『柒』 密碼學需要掌握的課程

第一,學數論,如果密碼學的教材里沒有的話。密碼學的很多東西都要涉及到數論,但數論不是那麼好學的。另外,把大學數學的教材翻出來,復習一下向量和矩陣,在後面的演算法可能會用到。至於其他知識,比如計算機的知識要求較少,密碼學偏向於數學,雖然計算機和數學兩方面都涉及到,除了惱火一點的SHA-1演算法(現在我還沒讀懂是怎麼回事,計算機知識涉及得太多了)。

如果你想用計算機來實現密碼學演算法,你首先要有強大的運算軟體。這些運算軟體不都是免費的,比如Mathematica, Maple, Matlab,這些都是相當昂貴的商業軟體。而且如果你想開發出能普及的密碼學軟體,你得自己編寫這些運算方法,要不然你就是他們公司的免工資推銷員。

推薦你用Mathematica,因為我在使用。Mathematica支持和多種語言的連接(Mathlink),特別是.net(NETLink),做到了方便易行而又強大(實際上它本身就是一門語言)。

密碼學分兩種,如果你是業余學習,那你只用掌握加密與解密。如果你要專業點,那破譯就是必要的。現在世界上的加密軟體很多,許多游戲都有加密的內置功能,但是破譯軟體就沒那麼幾個,由此可見學破譯的難度。

最後,密碼學需要耐心。如果你有耐心把數論的一關攻克下來,那學習密碼學就不成問題。

『捌』 怎樣學習密碼學

我現在碩博連讀的方向就是密碼學,想想都是淚啊。精通密碼學是不可能,因為是學不完的。密碼學總體上可以分為密碼編碼學和密碼分析學(也就是破解)。這兩門需要的基礎都一樣,主要是數論和近世代數。但我不建議題主一開始就學這兩門課。題主可以先弄本,密碼學的書,搞懂裡面各種演算法。接下來就可以邊看演算法邊看數論近世代數,這是探討它們的數學原理。然後是學一門編程語言,嘗試實現每一種演算法,以及更有效率的實現方法。實際上就是密碼學的理論方向和工程方向,理論方向主要就是數學,數論近世代數還有很多世界難題呢,工程方向也要學數學,不過不要以為懂算了你就能寫出來,就像你知道S盒的設計是為了擴散和混沌,但是你知道S盒為什麼要設計成那幾個數據呢,沒幾個人懂的。密碼破解也不是所謂的網上的破解,這里的破解是原理上的破解,主要是數學上的破解,比如王小雲教授用比特追蹤法破解了SHA,這不是暴力破解能做到的。所以學密碼學最重要的堅持和興趣,而且密碼學有可能你研究一輩子也破解不了一個演算法,所以你做好准備了么?如果是高中基礎,先學高數、概率論數理統計、離散數學(最好啃掉形式語言與自動機和計算復雜性理論,否則後面肯定得補),最好會寫點代碼(Matlab也行,SAGE也行),然後啃密碼學入門書籍,到能看懂會議文章的程度怎麼地也得2年(每天6-8小時學習)。能做出點自己的東西,呃,通常得積累到等同於信息安全相關專業的碩士畢業的程度,時間因個人才能而定。從工科大三的基礎開始算的話,半年啃完Introction to Cryptography, 再花半年到一年啃完諸如Zero-Knowledge-Proof, BR-Model,IBE的東西的話,就能看懂不少新的成果和經典的文章了。接下來得接觸Cryptanalysis的東西,這時候,就必須補初等數論(包括橢圓曲線)、群論,否則針對加密演算法的數學攻擊那看得是一頭霧水。

『玖』 請問看懂密碼學需要有那些基礎知識做准備

密碼學主要是以組合數學,概率論,高等代數和數論做基礎的,在學習之前應該對這四門學科有所了解,同時也要學一點一元微積分的基本知識。

『拾』 我是數學專業碩士,想自學密碼學,不知需要哪些基礎,請相關專業人士賜教,謝謝

既然是學數學的密碼學應該比較容易上手,需要一些計算機基礎,一開始可以先了解一些常見的密碼學原理,比如柯克霍夫原則之類的。
如果是研究的話,恐怕要多研究一些加密解密的演算法,不知道你學過離散數學沒有,如果沒有就先看看離散。然後就研究些經典的演算法如md5,des等等。
只要多見識一些演算法,這方面自然會成為大神的,祝你成功

閱讀全文

與密碼學研究需要數學什麼方面相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:740
乙酸乙酯化學式怎麼算 瀏覽:1406
沈陽初中的數學是什麼版本的 瀏覽:1353
華為手機家人共享如何查看地理位置 瀏覽:1045
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:886
數學c什麼意思是什麼意思是什麼 瀏覽:1411
中考初中地理如何補 瀏覽:1300
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:703
數學奧數卡怎麼辦 瀏覽:1388
如何回答地理是什麼 瀏覽:1025
win7如何刪除電腦文件瀏覽歷史 瀏覽:1058
大學物理實驗干什麼用的到 瀏覽:1487
二年級上冊數學框框怎麼填 瀏覽:1701
西安瑞禧生物科技有限公司怎麼樣 瀏覽:974
武大的分析化學怎麼樣 瀏覽:1250
ige電化學發光偏高怎麼辦 瀏覽:1339
學而思初中英語和語文怎麼樣 瀏覽:1651
下列哪個水飛薊素化學結構 瀏覽:1425
化學理學哪些專業好 瀏覽:1488
數學中的棱的意思是什麼 瀏覽:1059