1. 程式人生 > >密碼學基本概念(一)

密碼學基本概念(一)

密碼學

區塊鏈兄弟社區,區塊鏈技術專業問答先行者,中國區塊鏈技術愛好者聚集地

作者:於中陽

來源:區塊鏈兄弟

原文鏈接:http://www.blockchainbrother.com/article/72

著權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

1.發送者和接收者

發送者(sender)即是發送信息消息的人,其想發送消息給接收者(receiver),接收者即是接收信息消息的人。在發送過程中,發送者和合法接收者都希望安全的發送及接收信息消息,並且需要確信第三方(竊聽者)不能截取或閱讀發送的信息消息。

2.消息和加密

消息(message)即為明文(plaintext)。用某種特定的方式方法對其進行“偽裝”處理,以隱藏其的內容的過程,我們稱之為加密

(encryption)。而被加密之後的消息,我們稱之為密文(ciphertext)。當我們將密文轉變為明文,這一過程我們稱之為解密(decryption)。

這一過程簡單來說就是:“明文”>>(加密)>>“密文”>>(解密)>>“原始明文”。

在這一過程當中,使消息保密的技術被稱為密碼編碼學(cryptography),從事這一工作的人,我們稱之為密碼編碼者(cryptographer)。與此對立相反的就是破譯密文的技術,我們稱之為密碼分析學(cryptanalysis),從事這一工作的人即對密碼進行分析處理的專業人員,我們稱之為密碼分析者(cryptanalyst)。

密碼學(cryptology)包括了密碼編碼學和密碼分析學兩個部分,所以同時精於此二者的人,我們稱之為密碼學家(cryptologist)。由於密碼學是作為數學的一個分支,現代的密碼學家通常也是理論數學家。

註:密碼學和數學有著千絲萬縷的聯系,學習密碼學的同時也需要學習數學知識。

明文我們一般用M或P表示,明文可以是位序列、位圖、文本文件、數字化的語音序列或數字化的視頻圖像等等。對於計算機而言,M一般僅簡單指二進制數據。明文可以被傳送或存儲,無論哪種情況,M指待加密的信息消息。

密文我們用C表示,其也是二進制數據,有時和M一樣大,有時比M大,但通過壓縮和加密的結合,C同樣有可能比M小。現我假定加密函數為E,那麽E作用於M得到C的過程,可以用數學公式表示:

E(M)=C

相反的,若假定解密函數為D,解密函數D作用於C產生M的過程可以表示為:

D(C)=M

先進行加密操作,後進行解密操作,原始的明文將得以恢復,故有以下等式成立:

D( E(M) )=M

3.密碼學的作用

密碼學通常的作用是提供機密性,但除此之外,密碼學還有以下作用。

鑒別(authentication)消息的接收者應該能夠確認消息的來源,第三方入侵者不可能偽裝成合法的發送者和接收者。

完整性(integrity)信息消息的接收者應該能夠驗證信息消息在傳送過程中沒有被篡改,第三方入侵者不可能用虛假的信息消息代替合法的信息消息。

抗抵賴(nonrepudiation)信息消息的發送者事後不可能單方面虛假的否認是其發送了信息消息。

這些基本的功能都是通過計算機進行社會交流與協作至關重要的需求。現代社會已經變得離不開計算機,計算機也在人類社會的生產建設以及信息交互中扮演了極其重要的角色,以上密碼學的基本作用保證了合法用戶×××明,信息消息真實性等,就像面對面的信息驗證一樣。

文章發布只為分享區塊鏈技術內容,版權歸原作者所有,觀點僅代表作者本人,絕不代表區塊鏈兄弟贊同其觀點或證實其描述


密碼學基本概念(一)