本文首發(fā)于 2017-10-26 10:05 原地址:http://www.blockchainbrother.com/article/72
區(qū)塊鏈技術(shù)當(dāng)中一個很重要的組成部分就是密碼學(xué)沈堡,作為從事區(qū)塊鏈研究的工程技術(shù)人員静陈,應(yīng)該對密碼學(xué)有一定的了解。現(xiàn)我想分享一些密碼學(xué)的基本概念以供交流學(xué)習(xí),大家共同學(xué)習(xí)鲸拥,更加充實對區(qū)塊鏈技術(shù)的理解拐格。
1.發(fā)送者和接收者
發(fā)送者(sender)即是發(fā)送信息消息的人,其想發(fā)送消息給接收者(receiver)刑赶,接收者即是接收信息消息的人捏浊。在發(fā)送過程中,發(fā)送者和合法接收者都希望安全的發(fā)送及接收信息消息撞叨,并且需要確信第三方(竊聽者)不能截取或閱讀發(fā)送的信息消息金踪。
2.消息和加密
消息(message)即為明文(plaintext)。用某種特定的方式方法對其進行“偽裝”處理谒所,以隱藏其的內(nèi)容的過程热康,我們稱之為加密(encryption)沛申。而被加密之后的消息劣领,我們稱之為密文(ciphertext)。當(dāng)我們將密文轉(zhuǎn)變?yōu)槊魑奶模@一過程我們稱之為解密(decryption)尖淘。
這一過程簡單來說就是:“明文”>>(加密)>>“密文”>>(解密)>>“原始明文”。
在這一過程當(dāng)中著觉,使消息保密的技術(shù)被稱為密碼編碼學(xué)(cryptography)村生,從事這一工作的人,我們稱之為密碼編碼者(cryptographer)饼丘。與此對立相反的就是破譯密文的技術(shù)趁桃,我們稱之為密碼分析學(xué)(cryptanalysis),從事這一工作的人即對密碼進行分析處理的專業(yè)人員肄鸽,我們稱之為密碼分析者(cryptanalyst)卫病。
而密碼學(xué)(cryptology)包括了密碼編碼學(xué)和密碼分析學(xué)兩個部分,所以同時精于此二者的人典徘,我們稱之為密碼學(xué)家(cryptologist)蟀苛。由于密碼學(xué)是作為數(shù)學(xué)的一個分支,現(xiàn)代的密碼學(xué)家通常也是理論數(shù)學(xué)家逮诲。
注:密碼學(xué)和數(shù)學(xué)有著千絲萬縷的聯(lián)系帜平,學(xué)習(xí)密碼學(xué)的同時也需要學(xué)習(xí)數(shù)學(xué)知識。
明文我們一般用M或P表示梅鹦,明文可以是位序列裆甩、位圖、文本文件齐唆、數(shù)字化的語音序列或數(shù)字化的視頻圖像等等嗤栓。對于計算機而言,M一般僅簡單指二進制數(shù)據(jù)蝶念。明文可以被傳送或存儲抛腕,無論哪種情況芋绸,M指待加密的信息消息。
密文我們用C表示担敌,其也是二進制數(shù)據(jù)摔敛,有時和M一樣大,有時比M大全封,但通過壓縮和加密的結(jié)合马昙,C同樣有可能比M小。現(xiàn)我假定加密函數(shù)為E刹悴,那么E作用于M得到C的過程行楞,可以用數(shù)學(xué)公式表示:
E(M)=C
相反的,若假定解密函數(shù)為D土匀,解密函數(shù)D作用于C產(chǎn)生M的過程可以表示為:
D(C)=M
先進行加密操作子房,后進行解密操作,原始的明文將得以恢復(fù)就轧,故有以下等式成立:
D( E(M) )=M
3.密碼學(xué)的作用
密碼學(xué)通常的作用是提供機密性证杭,但除此之外,密碼學(xué)還有以下作用妒御。
鑒別(authentication)消息的接收者應(yīng)該能夠確認消息的來源解愤,第三方入侵者不可能偽裝成合法的發(fā)送者和接收者。
完整性(integrity)信息消息的接收者應(yīng)該能夠驗證信息消息在傳送過程中沒有被篡改乎莉,第三方入侵者不可能用虛假的信息消息代替合法的信息消息送讲。
抗抵賴(nonrepudiation)信息消息的發(fā)送者事后不可能單方面虛假的否認是其發(fā)送了信息消息。
這些基本的功能都是通過計算機進行社會交流與協(xié)作至關(guān)重要的需求⊥锟校現(xiàn)代社會已經(jīng)變得離不開計算機哼鬓,計算機也在人類社會的生產(chǎn)建設(shè)以及信息交互中扮演了極其重要的角色,以上密碼學(xué)的基本作用保證了合法用戶身份證明肥橙,信息消息真實性等魄宏,就像面對面的信息驗證一樣。
于中陽 Mercina-zy