區(qū)塊鏈導(dǎo)論 課件 第二章:區(qū)塊鏈密碼學(xué)_第1頁
區(qū)塊鏈導(dǎo)論 課件 第二章:區(qū)塊鏈密碼學(xué)_第2頁
區(qū)塊鏈導(dǎo)論 課件 第二章:區(qū)塊鏈密碼學(xué)_第3頁
區(qū)塊鏈導(dǎo)論 課件 第二章:區(qū)塊鏈密碼學(xué)_第4頁
區(qū)塊鏈導(dǎo)論 課件 第二章:區(qū)塊鏈密碼學(xué)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

區(qū)塊鏈密碼學(xué)概述Overviewofblockchaincryptography作者:北京大學(xué)匯報時間:2024/07/04目錄2.1密碼學(xué)概述012.3對稱加密算法032.5哈希函數(shù)052.2古典密碼學(xué)022.4非對稱加密算法042.6數(shù)字簽名062.7零知識證明072.8國密算法081.密碼學(xué)概述1.OverviewofCryptography011.1密碼學(xué)的發(fā)展歷程1.古典密碼學(xué)階段(1949年以前)特點:密碼學(xué)主要作為一種技術(shù),憑直覺和經(jīng)驗設(shè)計密碼。著名的密碼技術(shù):凱撒密碼:公元前1世紀,古羅馬皇帝愷撒發(fā)明,通過位移字母進行加密。斯巴達密碼棒(Scytale):古希臘斯巴達人用木棍纏繞羊皮紙傳遞信息,加密簡單但有效。中國古代:宋代的《武經(jīng)總要》記錄了使用五言詩的字來傳遞軍情,具有密碼體制的特點。2.近代密碼學(xué)階段(1949年-1976年)特點:密碼學(xué)逐漸成為一門獨立的學(xué)科,隨著數(shù)學(xué)和計算機的發(fā)展,密碼學(xué)從手工轉(zhuǎn)向電子化。關(guān)鍵事件:Enigma密碼機:1919年由ArthurScherbius發(fā)明,二戰(zhàn)期間德軍使用的加密設(shè)備。英國通過阿蘭·圖靈等破解了其密鑰,改變了戰(zhàn)爭進程??藙诘隆は戕r(nóng)(ClaudeShannon):1949年發(fā)表《保密系統(tǒng)通信理論》,標(biāo)志著密碼學(xué)進入科學(xué)階段。發(fā)展影響:電子計算機和現(xiàn)代數(shù)學(xué)方法為加密提供了新工具,同時增強了破譯能力。3.現(xiàn)代密碼學(xué)階段(1976年至今)特點:隨著計算機和互聯(lián)網(wǎng)的快速發(fā)展,密碼學(xué)進入公鑰密碼學(xué)時代,廣泛應(yīng)用于信息安全。關(guān)鍵事件:Diffie-Hellman密鑰交換算法:1976年,WhitfieldDiffie和MartinHellman提出,使得在不傳遞密鑰的情況下安全通信成為可能,開創(chuàng)了公鑰密碼學(xué)。RSA加密算法:1977年由Rivest、Shamir和Adleman發(fā)明,基于大整數(shù)因數(shù)分解的困難性,成為現(xiàn)代加密算法的基礎(chǔ)。橢圓曲線加密(ECC):1985年引入,以其更高的安全性和效率,廣泛應(yīng)用于區(qū)塊鏈和其他安全通信場景。4.區(qū)塊鏈中的密碼學(xué)區(qū)塊鏈結(jié)合現(xiàn)代密碼學(xué)技術(shù),實現(xiàn)了數(shù)據(jù)的完整性、不可篡改性和匿名性。使用密碼學(xué)技術(shù),如哈希算法、對稱與非對稱加密、數(shù)字簽名和零知識證明,保障了區(qū)塊鏈的安全性和隱私保護。1.1密碼學(xué)的發(fā)展歷程1.密碼學(xué)是區(qū)塊鏈基礎(chǔ)密碼學(xué)提供了區(qū)塊鏈中的信息加密、身份驗證和交易安全等關(guān)鍵功能,是構(gòu)建分布式賬本體系的核心基石。2.公鑰加密保障隱私公鑰加密技術(shù)如RSA和橢圓曲線加密,允許用戶安全地傳輸信息,確保數(shù)據(jù)在區(qū)塊鏈上傳輸時的隱私性和完整性。3.哈希函數(shù)確保唯一性區(qū)塊鏈利用哈希函數(shù)生成數(shù)據(jù)的唯一數(shù)字指紋,這些指紋用于驗證數(shù)據(jù)的完整性和唯一性,是區(qū)塊鏈安全性的重要保障。1.2密碼學(xué)的基本概念1.密碼學(xué)保障數(shù)據(jù)安全密碼學(xué)通過加密算法和協(xié)議保護數(shù)據(jù)不被未經(jīng)授權(quán)的訪問和篡改,確保數(shù)據(jù)的機密性、完整性和可用性。2.公鑰私鑰系統(tǒng)重要性公鑰私鑰系統(tǒng)是區(qū)塊鏈密碼學(xué)的基石,用于數(shù)字簽名和加密通信,保障區(qū)塊鏈網(wǎng)絡(luò)的去中心化安全交易。加密通信的目的是發(fā)送方和接收方在不安全的信道上進行通信,而破譯者不能理解他們通信的內(nèi)容,以實現(xiàn)信息的安全傳輸。加密通信模型1.3密碼的攻擊方式1.暴力破解的局限性暴力破解密碼的方式隨著密碼復(fù)雜度的提高變得極其耗時,據(jù)研究,破解8位復(fù)雜密碼可能需要上千年時間。2.社會工程學(xué)的重要性社會工程學(xué)攻擊常能繞過強大的密碼學(xué)防護,據(jù)統(tǒng)計,約80%的數(shù)據(jù)泄露事件與人為錯誤和社會工程學(xué)有關(guān)。發(fā)送者A執(zhí)行加密過程,接收B執(zhí)行解密過程。1.唯密文攻擊2.已知明文攻擊3.選擇明文攻擊4.選擇密文攻擊1.4區(qū)塊鏈與密碼學(xué)的關(guān)系1.區(qū)塊鏈安全依賴密碼學(xué)區(qū)塊鏈的不可篡改性和匿名性高度依賴于加密算法,如哈希函數(shù)、公鑰密碼學(xué)等,確保數(shù)據(jù)安全和交易完整性。2.密碼學(xué)提升區(qū)塊鏈效率先進的密碼學(xué)技術(shù)如零知識證明和同態(tài)加密,能夠提升區(qū)塊鏈的隱私保護能力和處理效率,推動區(qū)塊鏈在更多領(lǐng)域的應(yīng)用。區(qū)塊鏈技術(shù)定義:區(qū)塊鏈?zhǔn)潜忍貛诺牡讓雍诵募夹g(shù),用于實現(xiàn)分布式網(wǎng)絡(luò)中的一致性。區(qū)塊鏈的潛力:區(qū)塊鏈展示了在自組織模式下實現(xiàn)大規(guī)模協(xié)作的潛力。區(qū)塊鏈的應(yīng)用擴展:隨著比特幣的流通和去中心化平臺的發(fā)展,區(qū)塊鏈的應(yīng)用已經(jīng)擴展到金融、物聯(lián)網(wǎng)等多個領(lǐng)域。區(qū)塊鏈安全概念:區(qū)塊鏈安全包括系統(tǒng)安全和信息安全兩個方面。區(qū)塊鏈系統(tǒng)的安全問題:網(wǎng)絡(luò)層安全問題:如女巫攻擊,影響點對點網(wǎng)絡(luò)的安全。共識層安全問題:如51%算力攻擊,影響共識機制的安全。智能合約層安全問題:如代碼漏洞,可能導(dǎo)致資產(chǎn)損失。區(qū)塊鏈信息安全:核心目標(biāo)是保護用戶隱私,同時保持系統(tǒng)的去中心化。區(qū)塊鏈隱私保護挑戰(zhàn):在公有鏈系統(tǒng)中,盡管地址匿名,但交易記錄的隱私泄露是一個重要挑戰(zhàn)。密碼學(xué)在區(qū)塊鏈中的作用:通過密碼學(xué)技術(shù),區(qū)塊鏈可以保證交易的安全性和隱私性。區(qū)塊鏈安全的復(fù)雜性:區(qū)塊鏈安全是一個系統(tǒng)層面的問題,涉及多個領(lǐng)域,需要綜合多種技術(shù)來確保系統(tǒng)的安全。2.古典密碼學(xué)2.ClassicalCryptography022.1古典密碼學(xué)概述1.古典密碼學(xué)歷史悠久古典密碼學(xué)已有數(shù)千年的歷史,最早可追溯至古埃及時期,通過符號替換和排列組合實現(xiàn)信息加密。2.古典密碼學(xué)方法簡單古典密碼學(xué)的方法包括簡單替換密碼和轉(zhuǎn)置密碼等,盡管容易被破解,但為現(xiàn)代密碼學(xué)的發(fā)展奠定了基礎(chǔ)。3.古典密碼學(xué)具有研究價值盡管古典密碼學(xué)已被淘汰,但其加密思想和原理對于理解密碼學(xué)本質(zhì)和推動現(xiàn)代密碼學(xué)研究仍有重要價值。2.2古典密碼學(xué)的不足1.密鑰管理困難古典密碼學(xué)中的密鑰管理常需人工操作,易于丟失或遺忘,且難以適應(yīng)大規(guī)模網(wǎng)絡(luò)應(yīng)用。2.安全性低根據(jù)歷史數(shù)據(jù),古典密碼學(xué)如凱撒密碼等,易受頻率分析等攻擊方法破解,安全性無法與現(xiàn)代加密算法相比。3.擴展性差古典密碼學(xué)算法設(shè)計簡單,無法支持現(xiàn)代復(fù)雜加密需求,如大數(shù)據(jù)加密、云服務(wù)安全等,擴展性有限。2.3置換密碼替換密碼:將明文字母替換成其他字母、數(shù)字或符號。包括簡單替換、多名或多音替換、多表替換等。簡單替換密碼:明文字母表中的每個字母用密文字母表中的相應(yīng)字母代替。包括移位密碼、乘數(shù)密碼、仿射密碼等。加密和解密過程涉及字母的置換和逆置換。凱撒密碼:一種古老的簡單替換加密方法,通過單字母的移位替換實現(xiàn)。容易通過字母頻度分析破譯。多名或多音替換密碼:將明文字母映射為密文字母表中的多個字符(多名替換)。將多個明文字符代替為一個密文字符(多音替換)。5.多表替換密碼:使用多個映射來隱藏單字母出現(xiàn)的頻率分布。維吉尼亞密碼是多表替換密碼的一種,使用不同的密碼表進行加密替換。6.置換密碼:明文字符集保持不變,只是字母的順序被打亂。包括縱行換位、柵欄密碼等。7.置換密碼的破譯:純置換密碼易于識別,因為具有與原明文相同的字母頻率。通過改變行的位置或使用頻率表可以破譯。8.置換密碼的安全性:通過多次執(zhí)行置換,使用更復(fù)雜的排列,可以提高置換密碼的安全性。3.對稱加密算法3.SymmetricEncryptionAlgorithm033.1對稱加密的基本概念1.對稱加密高效安全對稱加密算法在加密和解密過程中使用相同的密鑰,具有高效性和安全性,如AES算法,被廣泛應(yīng)用于數(shù)據(jù)保護。2.密鑰管理是對稱加密的挑戰(zhàn)盡管對稱加密技術(shù)強大,但密鑰的生成、分發(fā)和保管是其主要挑戰(zhàn),易導(dǎo)致安全漏洞。對稱加密算法要求發(fā)送者和接收者在安全通信前協(xié)商一個密鑰,其安全性依賴于密鑰,泄露密鑰就意味著任何人都能對消息進行加/解密。發(fā)送消息的通道往往是不安全的,所以在對稱密碼系統(tǒng)中,通常要求使用不同于發(fā)送消息的另一個安全通道來發(fā)送密鑰。

對稱加密算法原理3.2常見的對稱加密算法序列密碼工作原理分組密碼工作原理分組密碼是指對明文的一組位(bits)進行加密和解密運算,這些位組稱為分組,相應(yīng)的算法稱為分組算法。分組密碼工作原理如圖2-6所示,明文消息分成若干固定長度的組,進行加密;解密亦然。分組密碼的典型分組長度為64位,這個長度大到足以抵抗分析破譯,又小到能夠方便使用。常見的分組密碼算法有DES、塊密碼技術(shù)、IDEA、AES等。序列密碼是指一次只對明文的單個位(有時對字節(jié))運算的算法,也稱為流密碼。序列密碼工作原理如圖2-7所示,通過偽隨機數(shù)發(fā)生器產(chǎn)生性能優(yōu)良的偽隨機序列(密鑰流),用該序列加密明文消息流,可以得到密文序列;解密亦然。常見的序列密碼有RC4、A5、SEAL和PIKE等。

3.2常見的對稱加密算法

經(jīng)過16輪相同運算

明文

IP

fIP-1

密文

DES加密算法的原理DES加密實現(xiàn)

第一步:變換明文。對給定的64位明文x,通過一個置換IP表來重新排列x,從而構(gòu)造出64位的x0

x0=IP()x=LR0 0

其中,L0表示x0的前32位,R0表示x0的后32位。

第二步:按規(guī)則進行16輪迭代。迭代規(guī)則為

RLii==RLii?1 i1 i (i=1,2,3,???,16)

⊕fR(?,K)其中,⊕表示異或運算,f表示一種置換,由S盒置換構(gòu)成。在密碼學(xué)中,S盒(Substitutionbox)是對稱密鑰算法執(zhí)行“置換計算”的基本結(jié)構(gòu),S盒的指標(biāo)直接決定了密碼算法的好壞。Ki是一些由密鑰編排函數(shù)產(chǎn)生的位塊。

第三步:對L0和R0利用IP?1做逆置換,就得到了64位密文塊。

DES的56位密鑰過短,破解密文需要256次窮舉搜索,隨著計算機的升級換代,運算速度大幅提高,破解DES密鑰所需的時間將越來越短。為了保證應(yīng)用所需的安全性,可以采用組合密碼技術(shù),也就是將密碼算法組合起來使用。三重DES(簡寫為DES3或3DES)是常用的組合密碼技術(shù),破解密文需要2112次窮舉搜索。3DES被認為是十分安全的,但它的速度較慢。DES的其他變形算法還有DESX、CRYPT(3)、GDES、RDES等。3.2常見的對稱加密算法1.AES算法廣泛應(yīng)用AES(高級加密標(biāo)準(zhǔn))作為對稱加密算法,在區(qū)塊鏈及其他領(lǐng)域中被廣泛應(yīng)用,因其安全性高且加密速度快。2.DES算法逐漸被取代DES(數(shù)據(jù)加密標(biāo)準(zhǔn))雖然曾經(jīng)流行,但由于密鑰長度較短,安全性不足,逐漸被AES等更先進的算法所取代。AES加密算法AESECB加密流程圖3.3對稱加密的特點1.數(shù)據(jù)傳輸與保護對稱加密在數(shù)據(jù)傳輸中廣泛應(yīng)用,如TLS/SSL協(xié)議,通過密鑰交換確保數(shù)據(jù)在傳輸過程中的機密性和完整性。2.數(shù)字版權(quán)保護數(shù)字內(nèi)容如音樂、電影使用對稱加密技術(shù)進行加密,確保只有持有正確密鑰的用戶才能訪問,有效保護版權(quán)。對稱加密算法的特點:算法公開。計算量小。加密速度快。加密效率高。對稱加密算法的不足:使用相同的密鑰,安全性較低。需要管理大量密鑰,導(dǎo)致密鑰管理困難。在分布式網(wǎng)絡(luò)系統(tǒng)中使用成本較高。對稱加密算法的應(yīng)用:在計算機專網(wǎng)系統(tǒng)中廣泛使用,如DES和IDEA算法。AES算法即將取代DES成為新標(biāo)準(zhǔn)。對稱加密算法的優(yōu)勢:加解密速度快。使用長密鑰時難以破解。密鑰管理問題:兩個用戶至少需要2個密鑰進行交換。如果企業(yè)內(nèi)有n個用戶,則需要n(n-1)個密鑰。密鑰的生成和分發(fā)對企業(yè)信息部門構(gòu)成挑戰(zhàn)。對稱加密算法的安全性:依賴于加密密鑰的保密性。企業(yè)中每個持有密鑰的人保守秘密的難度大,易泄露。如果一個密鑰被入侵者獲取,所有該密鑰加密的文檔都將不安全。4.非對稱加密算法4.AsymmetricEncryptionAlgorithm044.1非對稱加密的基本概念1.非對稱加密安全性高非對稱加密算法如RSA、ECC,通過公鑰加密、私鑰解密的方式,提供了極高的安全性,被廣泛用于數(shù)字簽名和密鑰交換。2.計算復(fù)雜性大非對稱加密算法因其計算復(fù)雜性,通常加密速度較慢,適合處理小量數(shù)據(jù),如數(shù)字證書、密鑰的傳輸。3.密鑰管理簡便非對稱加密算法中公鑰可公開,私鑰由持有者保管,簡化了密鑰的分發(fā)和管理,降低了密鑰泄露的風(fēng)險。4.實際應(yīng)用廣泛非對稱加密算法不僅在區(qū)塊鏈中有關(guān)鍵應(yīng)用,還在網(wǎng)絡(luò)安全、電子商務(wù)等領(lǐng)域發(fā)揮著重要作用,如SSL/TLS協(xié)議中的密鑰交換。4.1非對稱加密的基本概念非對稱加密算法原理非對稱加密算法原理如圖

所示,所有人的公鑰是公開的,每個人的私鑰是各自保存的。Bob使用Alice的公鑰對明文進行加密,得到密文,密文通過公共信道進行傳播,Alice使用自己的私鑰將密文解密成明文。攻擊者如果從公共信道竊取了密文,但是沒有Alice的私鑰,仍無法解密,從而完成了數(shù)據(jù)加密的功能。

如果Bob使用自己的私鑰對一段不那么重要的文字進行加密,由于所有人都可以獲取Bob的公鑰,因此所有人都可以利用Bob的公鑰對這段密文進行解密,來驗證這段文字是Bob發(fā)送的,進而完成了身份認證的功能。因為除了Bob,其他人都沒有Bob的私鑰,能用Bob的公鑰解密這段信息,說明信息一定來源于Bob。

1.RSA算法廣泛應(yīng)用RSA作為經(jīng)典非對稱加密算法,在網(wǎng)絡(luò)安全、數(shù)字簽名等領(lǐng)域得到廣泛應(yīng)用,其安全性經(jīng)過長期驗證。2.ECC算法效率高ECC(橢圓曲線密碼學(xué))算法使用較短的密鑰長度就能達到與RSA相當(dāng)?shù)陌踩珡姸?,因此具有更高的計算效率?.EdDSA成為新寵EdDSA算法以其在安全性、簽名生成速度、尺寸等方面的優(yōu)勢,逐漸被用作數(shù)字貨幣等新興技術(shù)的默認簽名算法。4.SM2算法國產(chǎn)標(biāo)準(zhǔn)SM2算法是我國自主研發(fā)的非對稱加密算法,作為國家標(biāo)準(zhǔn)在政務(wù)、金融等領(lǐng)域得到推廣使用,保障國家信息安全。4.2常見的非對稱加密算法4.2常見的非對稱加密算法

公鑰:PU(e,n

)私鑰:PR(d,n

)選擇整數(shù)e,使得歐拉函數(shù)

計算乘法逆元d,

隨機選擇兩個大素數(shù):p和q

n=pq

RSA公鑰、私鑰求解流程

密鑰管理中心產(chǎn)生一對公開密鑰和私有密鑰,方法是在離線的方式下,先隨機產(chǎn)生兩個足夠大的素數(shù)p和q,可得p與q的乘積為n=pq。再由p和q計算出歐拉函數(shù)?()n=(p?1)(q?1),然后選取一個與?()n互素的奇數(shù)e,稱e為公開指數(shù);從e值可以找出另一個值d,并能滿足ed≡1mod?()n條件。由此而得到兩組數(shù)Kp=(ne,)和Ks=(nd, ),分別被稱為公開密鑰和秘密密鑰,或簡稱公鑰和私鑰。

RSA公鑰、私鑰求解流程

密文

明文M

RSA加密、解密原理

對于明文M,用公鑰(ne,)加密,可得密文C=Memodn;對于密文C,用私鑰(nd,)解密,可得到明文M=Cdmodn。上述數(shù)學(xué)證明用到了數(shù)論中的歐拉定理,具體過程不再贅述。例如,取p=3,q=11,則n=pq=33,z=(p?1)(q?1)=20,7和20沒有公因子,即gcd(7,20)=1,可取d=7,解方程7e

≡1mod20,可得e=3,所以公鑰為(3,33),私鑰為(7,33)。加密時,若明文M=4,則密文C=Memodn=43mod33=31;解密時,M=Cdmodn=317mod33=4,成功恢復(fù)出明文。

RSA加密、解密原理4.2常見的非對稱加密算法ECC加密算法ECC的起源:1985年,Koblitz和Miller獨立提出將橢圓曲線用于加密算法?;跈E圓曲線上的離散對數(shù)問題(ECDLP)的困難性。ECC的標(biāo)準(zhǔn):NIST制定了不同安全程度的ECC加密標(biāo)準(zhǔn)。常用的標(biāo)準(zhǔn)包括P-256、P-384、P-521。ECC相比于RSA的優(yōu)勢:在相同的密鑰長度下,ECC的抗攻擊性更強。ECC的計算量更小,處理速度更快。ECC的存儲空間需求更小,密鑰尺寸和系統(tǒng)參數(shù)更小。ECC的帶寬要求更低,適合短消息加密,尤其在無線網(wǎng)絡(luò)領(lǐng)域有廣泛應(yīng)用前景。ECC的應(yīng)用:廣泛應(yīng)用于加密場景,如構(gòu)造公鑰加密機制。用于密鑰交換、數(shù)字簽名等加密系統(tǒng)。ECC的安全強度:RSA的安全性是亞指數(shù)級的,而ECC的安全強度是指數(shù)級的。在同等安全水平下,ECC相比RSA或有限域上的離散對數(shù)算法有更小的參數(shù)和密鑰長度。ECC的缺點:加密和解密操作的實現(xiàn)比其他算法花費的時間更長。4.3非對稱加密的應(yīng)用領(lǐng)域1.數(shù)據(jù)傳輸安全性非對稱加密通過公鑰加密、私鑰解密的方式確保數(shù)據(jù)在傳輸過程中的安全性和保密性,廣泛應(yīng)用于在線金融和郵件加密等領(lǐng)域。2.身份驗證機制非對稱加密的私鑰簽名和公鑰驗證機制,提供了數(shù)字簽名功能,實現(xiàn)了在線服務(wù)的身份驗證,如軟件下載簽名驗證。3.區(qū)塊鏈核心技術(shù)非對稱加密是區(qū)塊鏈技術(shù)的核心之一,通過公私鑰對確保交易的安全性和匿名性,是數(shù)字貨幣交易和智能合約執(zhí)行的基礎(chǔ)。5.哈希函數(shù)5.HashFunction055.1哈希函數(shù)的基本概念1.哈希函數(shù)的重要性哈希函數(shù)在區(qū)塊鏈中扮演著關(guān)鍵角色,確保數(shù)據(jù)的完整性和不可篡改性,是區(qū)塊鏈安全性的基石。2.哈希函數(shù)的數(shù)學(xué)特性哈希函數(shù)具有單向性、抗碰撞性、雪崩效應(yīng)等特性,這些特性使哈希值在區(qū)塊鏈中具備獨特性和安全性。3.哈希函數(shù)在區(qū)塊鏈的應(yīng)用在區(qū)塊鏈中,哈希函數(shù)用于生成交易ID、創(chuàng)建區(qū)塊頭、驗證數(shù)據(jù)的完整性,確保了鏈上數(shù)據(jù)的一致性和可追溯性。

定長哈希值h=H(M)

哈希函數(shù)H(x)

任意長度的消息M

哈希函數(shù)處理流程哈希函數(shù)需滿足以下條件:

函數(shù)的輸入可以是任意長。

函數(shù)的輸出是固定長。

已知x,求Hx()較為容易,可用硬件或軟件實現(xiàn)。

已知h,求使得Hx()=h的x在計算上是不可行的,這個性質(zhì)稱為函數(shù)的單向性,稱Hx()為單向哈希函數(shù)。

已知x,找出y(y≠x)使得Hy()=Hx()在計算上是不可行的。如果單向哈希函數(shù)滿足這一性質(zhì),就稱其為弱單向哈希函數(shù)。

找出任意兩個不同的輸入x、y,使得Hy()=Hx()在計算上是不可行的,稱Hx()為強單向哈希函數(shù)。

5.2常見的哈希算法1.SHA-256廣泛應(yīng)用SHA-256因其高安全性和廣泛的應(yīng)用場景,成為區(qū)塊鏈技術(shù)中最常用的哈希算法之一,支持眾多數(shù)字貨幣的交易記錄驗證。2.哈希算法速度差異不同哈希算法在計算速度上存在差異,如SHA-3系列相較于SHA-2系列在某些場景下具有更快的計算效率。3.哈希算法安全性考量哈希算法的安全性是區(qū)塊鏈技術(shù)中不可忽視的一環(huán),如SHA-3設(shè)計之初就考慮到了對SHA-2可能存在的安全漏洞的防御。5.2常見的哈希算法MD5算法處理流程

MD5算法的輸入為長度小于264位的消息,輸出為128位的哈希值。MD5算法處理流程如圖

所示,IV為初始向量,MD5以512位分組來處理輸入的信息,且每個分組又被劃分為16個32位子分組,經(jīng)過一系列處理后,輸出由4個32位分組組成。這4個32位分組級聯(lián)后,將生成一個128位散列值。2004年8月17日,在美國加州圣巴巴拉召開的國際密碼學(xué)會議(Crypto'2004)上安排了3場關(guān)于離散函數(shù)的特別報告。王小云教授做了破譯MD5、HAVAL-128、MD4和RIPEMD算法的報告。不久后,密碼學(xué)者Lenstra利用王小云教授提供的MD5碰撞偽造了符合X.509標(biāo)準(zhǔn)的數(shù)字證書,這說明MD5的破譯已經(jīng)不只是理論破譯結(jié)果,而是可以導(dǎo)致實際的攻擊。5.3哈希函數(shù)在區(qū)塊鏈中的應(yīng)用

地址addr=H(x)

哈希函數(shù)H(x)

公鑰x

區(qū)塊鏈生成地址

大多數(shù)區(qū)塊鏈實現(xiàn)都使用地址作為用戶在區(qū)塊鏈網(wǎng)絡(luò)中面向公眾的標(biāo)識符,并且通常將地址轉(zhuǎn)換為QR碼(快速響應(yīng)代碼,可以包含任意數(shù)據(jù)的二維條形碼),以便于移動使用設(shè)備。生成地址的一種方法是創(chuàng)建公鑰,對其應(yīng)用哈希函數(shù),以生成賬戶地址區(qū)塊鏈鏈?zhǔn)浇Y(jié)構(gòu)

哈希指針是哈希函數(shù)在區(qū)塊鏈中的另一個應(yīng)用。區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)是由指針連接起來的,其每個數(shù)據(jù)塊中包括指向下一數(shù)據(jù)塊的指針。而區(qū)塊鏈?zhǔn)且粋€基于哈希指針構(gòu)建的有序的、反向鏈接的塊鏈表,也就是說,在區(qū)塊鏈的每個區(qū)塊都通過哈希指針連接到父區(qū)塊上,如圖2-15所示。哈希指針不僅能夠得到后區(qū)塊的地址,還能夠檢驗區(qū)塊數(shù)據(jù)的哈希值,從而驗證這個區(qū)塊所包含數(shù)據(jù)的完整性。5.3哈希函數(shù)在區(qū)塊鏈中的應(yīng)用1.數(shù)據(jù)完整性驗證哈希函數(shù)在區(qū)塊鏈中確保數(shù)據(jù)未被篡改,通過計算數(shù)據(jù)的哈希值并與原哈希值比對,驗證數(shù)據(jù)的完整性。2.工作量證明在比特幣等區(qū)塊鏈中,哈希函數(shù)用于工作量證明機制,礦工通過競爭計算特定難度的哈希值來贏得區(qū)塊獎勵。3.交易地址生成哈希函數(shù)通過處理公鑰來生成簡潔的區(qū)塊鏈交易地址,確保地址的唯一性和隱私性。4.快速數(shù)據(jù)檢索區(qū)塊鏈通過哈希索引快速檢索區(qū)塊數(shù)據(jù),提高了數(shù)據(jù)處理和交易驗證的效率。每個區(qū)塊包含兩個部分區(qū)塊頭(Head):記錄當(dāng)前區(qū)塊的特征值區(qū)塊體(Body):實際數(shù)據(jù)就因為區(qū)塊頭包含了這么多的內(nèi)容,并且與上一個區(qū)塊的hash相關(guān)聯(lián),所以當(dāng)前的區(qū)塊體的內(nèi)容發(fā)生了改變,或者上一個的區(qū)塊哈希發(fā)生了改變,那么一定會引起當(dāng)前的區(qū)塊哈希值發(fā)生改變。6.數(shù)字簽名6.DigitalSignature061.數(shù)字簽名確保交易安全數(shù)字簽名使用非對稱加密算法,確保交易信息被發(fā)送者確認且未被篡改,是區(qū)塊鏈安全交易的核心保障。2.數(shù)字簽名應(yīng)用廣泛據(jù)統(tǒng)計,超過80%的加密貨幣交易使用了數(shù)字簽名技術(shù),該技術(shù)還被廣泛應(yīng)用于電子合同、軟件分發(fā)等領(lǐng)域。6.1數(shù)字簽名的基本概念設(shè)計數(shù)字簽名必須滿足下列條件:

簽名必須是與消息相關(guān)的二進制位串。

簽名必須使用某些對發(fā)送方來說是唯一的信息,以防止雙方的偽造和否認。

簽名必須相對容易生成、識別和驗證。

偽造數(shù)字簽名在計算復(fù)雜性意義上不具備可行性。無論是從給定的數(shù)字簽名偽造消息,還是從給定的消息偽造數(shù)字簽名,在計算上都是不可行的。

6.2數(shù)字簽名的生成和驗證

數(shù)字摘要

哈希函數(shù)

消息

加密算法

A的私鑰

加密后的摘要消息

加密后的摘要信息發(fā)送方A

數(shù)字摘要

哈希函數(shù)

比較

解密后的摘要

A的公鑰

解密算法

消息

加密后的摘要信息接收方B

數(shù)字簽名的生成和驗證過程

數(shù)字簽名主要采用公鑰加密技術(shù)來實現(xiàn),數(shù)字簽名的生成和驗證過程如圖所示。信息發(fā)送方A將消息經(jīng)過哈希函數(shù)處理生成數(shù)字摘要(哈希值),用A的私鑰對數(shù)字摘要加密,并將消息和加密后的摘要打包發(fā)給信息接收方B;B將消息使用相同的哈希算法處理,生成數(shù)字摘要,使用A的公鑰對收到的加密后的摘要進行解密,比較解密后的摘要與生成的數(shù)字摘要,可以驗證發(fā)送方的身份和數(shù)據(jù)的完整性。

作為保障網(wǎng)絡(luò)信息安全的手段之一,數(shù)字簽名機制可以解決偽造、抵賴、篡改和重放等問題。

防偽造:私鑰是簽名者獨有的,因此其他人無法構(gòu)造出有效的簽名。防抵賴:數(shù)字簽名可以鑒別身份,確保簽名的真實性。保存簽名的報文就像保存手工簽署的合同,作為證據(jù),簽名者無法否認。為防止接收方抵賴,可以要求接收方返回簽名確認收到報文,或者引入第三方機制。防篡改:數(shù)字簽名與文件形成一個整體,確保了數(shù)據(jù)的完整性。任何對文件的篡改都會導(dǎo)致簽名驗證失敗,從而保護數(shù)據(jù)不被篡改。防重放:類似于日常生活中的借條,數(shù)字簽名通過添加流水號、時間戳等技術(shù)手段防止重放攻擊。這些技術(shù)確保簽名報文的一次性使用,防止攻擊者重復(fù)使用舊的簽名報文。6.3數(shù)字簽名的實現(xiàn)1.RSA數(shù)字簽名廣泛應(yīng)用RSA數(shù)字簽名因其安全性高和兼容性強,被廣泛應(yīng)用于金融交易、電子郵件安全等領(lǐng)域,確保數(shù)據(jù)傳輸?shù)耐暾院筒豢纱鄹男浴?.ECDSA簽名速度快ECDSA簽名算法相比RSA更快,其橢圓曲線加密技術(shù)使得簽名驗證效率更高,適用于需要快速響應(yīng)的場景。3.數(shù)字簽名降低欺詐風(fēng)險通過數(shù)字簽名技術(shù),能確保信息來源的真實性和信息的完整性,有效減少網(wǎng)絡(luò)欺詐和數(shù)據(jù)篡改的風(fēng)險。6.4數(shù)字簽名在區(qū)塊鏈中的應(yīng)用數(shù)字簽名驗證身份區(qū)塊鏈?zhǔn)褂脭?shù)字簽名技術(shù)確保交易發(fā)送者的身份真實性,如比特幣交易中公鑰和私鑰的配對使用。保障交易不可篡改數(shù)字簽名技術(shù)通過哈希函數(shù)和加密算法,確保區(qū)塊鏈上的交易數(shù)據(jù)一旦寫入便無法被篡改,增強數(shù)據(jù)安全性。提高系統(tǒng)整體信任度由于數(shù)字簽名的公開驗證特性,區(qū)塊鏈系統(tǒng)無需中心化信任機構(gòu),提高了整個系統(tǒng)的透明度和信任度。數(shù)字簽名在區(qū)塊鏈中的作用:用于驗證交易的發(fā)起方身份。確保交易信息在傳輸過程中未被篡改。數(shù)字簽名的過程:交易發(fā)起方(轉(zhuǎn)出方)首先對交易數(shù)據(jù)進行數(shù)字摘要。使用私鑰對摘要進行加密,生成數(shù)字簽名。交易的廣播和驗證:發(fā)起方將交易信息和數(shù)字簽名一起廣播給接收方(轉(zhuǎn)入方)。接收方使用發(fā)起方的公鑰對數(shù)字簽名進行驗證。如果驗證成功,確認交易是由發(fā)起方發(fā)出且信息未被篡改。數(shù)字簽名與資金所有權(quán):數(shù)字簽名用于證明資金的所有權(quán)。發(fā)送比特幣等加密貨幣需要所有者進行數(shù)字簽名以授權(quán)轉(zhuǎn)讓。交易的記錄:交易成功后,相關(guān)信息被發(fā)送到公共網(wǎng)絡(luò)并記錄在區(qū)塊鏈上。任何人都可以通過檢查數(shù)字簽名來驗證交易的合法性。7.零知識證明7.ZeroKnowledgeProof077.1零知識證明的基本概念1.零知識證明提升隱私零知識證明技術(shù)允許在不泄露任何額外信息的情況下驗證數(shù)據(jù)真實性,有效提升了區(qū)塊鏈應(yīng)用中的個人隱私和數(shù)據(jù)安全。2.零知識證明降低存儲需求由于零知識證明不需要傳輸實際數(shù)據(jù),只傳遞驗證過程,因此顯著降低了區(qū)塊鏈系統(tǒng)的存儲和傳輸需求,提高了效率。3.零知識證明促進去中心化零知識證明技術(shù)有助于構(gòu)建無需第三方信任的去中心化應(yīng)用,推動區(qū)塊鏈技術(shù)的進一步發(fā)展和普及。7.2零知識證明的類型1.零知識證明的分類零知識證明可分為交互式與非交互式,前者需雙方交換信息,后者僅由一方生成證明無需交互2.基于數(shù)學(xué)難題的證明零知識證明常利用數(shù)學(xué)難題如離散對數(shù)或橢圓曲線難題,確保證明的準(zhǔn)確性和不可偽造性3.零知識證明的隱私性零知識證明允許一方向另一方證明某個事實,而不泄露任何除該事實外的額外信息,保障了數(shù)據(jù)的隱私性4.實際應(yīng)用案例零知識證明在數(shù)字貨幣、身份驗證和隱私計算等領(lǐng)域有廣泛應(yīng)用,如Zcash中的zk-SNARKs技術(shù)增強了交易隱私性7.3零知識證明在區(qū)塊鏈中的應(yīng)用1.增強交易隱私性零知識證明允許用戶在區(qū)塊鏈上驗證交易而無需暴露敏感信息,提高了交易的隱私保護水平。2.減少計算成本在區(qū)塊鏈上使用零知識證明技術(shù)可以減少對大量數(shù)據(jù)的計算和存儲需求,降低區(qū)塊鏈系統(tǒng)的運行成本。3.增加網(wǎng)絡(luò)安全性零知識證明能夠驗證信息的正確性而不泄露具體內(nèi)容,有助于減少區(qū)塊鏈網(wǎng)絡(luò)中的欺詐行為和潛在的安全威脅。4.zk-SNARKs(零知識簡潔非交互式知識論證)廣泛應(yīng)用于隱私幣(如Zcash)和區(qū)塊鏈項目中,提供高效的零知識證明。5.zk-STARKs(零知識可擴展透明知識論證)不依賴可信設(shè)置,提供更高的透明性和可擴展性。8.國密算法8.encryptionalgorithm088.1國密算法概述國家密碼管理局:全稱為國家商用密碼管理辦公室,隸屬于中共中央直屬機關(guān)的下屬機構(gòu)。國密算法:國家密碼管理局認定的國產(chǎn)密碼算法,即商用密碼(SM)。商用密碼技術(shù):包括加密、解密和認證等功能的技術(shù)。核心技術(shù)被列為國家秘密,需要保護。信息安全的戰(zhàn)略地位:信息安全已上升到國家安全的戰(zhàn)略地位?;A(chǔ)軟件和基礎(chǔ)硬件的自主控制是保證安全的根本方法。數(shù)據(jù)安全的重要性:在無法完全國產(chǎn)化的情況下,數(shù)據(jù)安全傳輸成為一個重要議題。加密算法是數(shù)據(jù)傳輸安全的核心。6.國際標(biāo)準(zhǔn)算法的風(fēng)險:許多國家禁止國際標(biāo)準(zhǔn)算法介入核心國產(chǎn)產(chǎn)品。國際標(biāo)準(zhǔn)加密算法存在設(shè)計漏洞和后門風(fēng)險。7.加密系統(tǒng)設(shè)計后門的可能性:在2017年歐洲黑帽大會上,密碼學(xué)家菲利奧爾和阿諾德·般涅爾討論了設(shè)計數(shù)學(xué)后門的可能性。提出了含有數(shù)學(xué)后門的BEA-1塊加密算法,展示了后門的隱蔽性和利用后門恢復(fù)密鑰的可行性。8.算法專利的戰(zhàn)略考量:很多加密標(biāo)準(zhǔn)的算法專利掌握在特定公司手上,擁有自己的算法專利對國家來說是一個重要的戰(zhàn)術(shù)考量。9.國家密碼管理局制定的密碼標(biāo)準(zhǔn):

1.包括SM1、SM2、SM3、SM4、SM7、SM9和ZUC等,涵蓋對稱、非對稱和哈希算法。8.1國密算法概述1.國密算法安全性高國密算法經(jīng)過嚴格的加密強度測試和安全性評估,如SM2橢圓曲線公鑰密碼算法,具有相當(dāng)于256位AES的安全性。2.國密算法應(yīng)用廣泛國密算法已在中國金融、電子政務(wù)等領(lǐng)域得到廣泛應(yīng)用,如SM3密碼雜湊算法已被列為金融行業(yè)標(biāo)準(zhǔn)。密鑰交換(UserA&UserB)簽名驗簽解密公私鑰8.2國際算法和國密算法的區(qū)別國際算法與國密算法:國際算法主要由美國安全局發(fā)布。國密算法是中國國家密碼管理局認定的國產(chǎn)密碼算法。國密算法因安全性高而被推薦在國內(nèi)銀行和支付機構(gòu)使用。SM2與RSA算法:SM2是基于橢圓曲線的非對稱加密算法。RSA是基于大整數(shù)分解難題的非對稱加密算法。SM2在相同安全性能下所需公鑰位數(shù)比RSA少,密鑰生成速度快。SM2基于離散對數(shù)的ECDLP難題,而RSA基于大整數(shù)分解難題。哈希函數(shù)的重要性:哈希函數(shù)在數(shù)字簽名、消息認證、隨機數(shù)生成等多種密碼應(yīng)用中至關(guān)重要。SM3哈希算法:SM3是中國商用密碼哈希算法標(biāo)準(zhǔn),公布于2010年。SM3基于SHA-256改進,采用Merkle-Damgard結(jié)構(gòu),消息分組長度為512位,摘要值長度為256位。SM3的設(shè)計比SHA-256更復(fù)雜,使用兩個消息字進行壓縮函數(shù)的每輪計算。SM3算法的安全性相對SHA-256更高。8.2國密算法的應(yīng)用領(lǐng)域1.國密算法在金融領(lǐng)域國密算法在中國金融領(lǐng)域得到廣泛應(yīng)用,確保支付安全,降低金融數(shù)據(jù)泄露風(fēng)險,據(jù)統(tǒng)計,90%以上的國內(nèi)銀行采用國密算法。2.國密算法在政務(wù)領(lǐng)域政務(wù)領(lǐng)域?qū)π畔踩髽O高,國密算法在政府文件加密、電子政務(wù)系統(tǒng)中被廣泛應(yīng)用,保障國家機密和信息安全。3.國密算法在軍事領(lǐng)域軍事領(lǐng)域?qū)νㄐ偶用苡袊栏裥枨?,國密算法被用于國防通信加密、軍事系統(tǒng)保護,有效防御外部攻擊,確保軍事信息安全。AD-WAN縱向IP/MPLS組網(wǎng)8.3量子密碼學(xué)1.量子密鑰分發(fā)(QKD):利用量子力學(xué)原理生成和分發(fā)密鑰,如BB84協(xié)議。它能夠提供理論上的無條件安全性,因為任何竊聽都會改變量子態(tài),從而被檢測到。2.量子算法:如Shor算法,可以在多項式時間內(nèi)破解現(xiàn)有的RSA和ECC加密算法,對傳統(tǒng)密碼學(xué)構(gòu)成重大威脅。量子密碼學(xué)利用量子力學(xué)的原理來設(shè)計安全通信系統(tǒng),主要關(guān)注量子計算對現(xiàn)有加密算法的影響及其抵御方法。8.4后量子密碼學(xué)1.基于格的密碼學(xué):如LWE(LearningWithErrors)和NTRU算法?;诟竦拿艽a學(xué)被認為是量子安全的,難以被量子計算機破解。2.基于多變量多項式的密碼學(xué):利用多變量多項式方程的難解性,如HFE(HiddenFieldEquations)加密系統(tǒng)。3.基于代碼的密碼學(xué):如McEliece加密系統(tǒng),基于糾錯碼的困難性。后量子密碼學(xué)旨在開發(fā)能夠抵御量子計算攻擊的加密算法。8.5同態(tài)加密1.部分同態(tài)加密:如RSA和ElGamal,它們只支持單一類型的操作(加法或乘法)。2.全同態(tài)加密(FHE):如Gentry的全同態(tài)加密方案,可以在加密數(shù)據(jù)上執(zhí)行任意計算,且不影響數(shù)據(jù)的加密狀態(tài)。這對于云計算和隱私保護具有重大意義。同態(tài)加密允許在加密數(shù)據(jù)上執(zhí)行特定計算,而無需解密數(shù)據(jù),從而保護數(shù)據(jù)隱私。8.6區(qū)塊鏈中的高級密碼學(xué)技術(shù)1.混幣服務(wù)(CoinJoin,CoinShuffle):通過混合多筆交易,提高交易匿名性。2.機密交易(ConfidentialTransactions):通過隱匿交易金額和參與方信息,保護交易隱私。3.鏈下擴展性解決方案(如LightningNetwork):通過鏈下交易減少鏈上負載,提高隱私性和交易速度。同態(tài)加密允許在加密數(shù)據(jù)上執(zhí)行特定計算,而無需解密數(shù)據(jù),從而保護數(shù)據(jù)隱私。在BTC交易中,Fastmixer.cash混幣器它巧妙利用了比特幣的一個特性。由于比特幣UTXO的設(shè)計機制,同筆交易可以有多個輸入和輸出。這意味著,可以構(gòu)建這樣一種交易,讓數(shù)百個交易發(fā)起者(地址),同時向數(shù)百個交易接受者(地址),轉(zhuǎn)一定數(shù)額比特幣。9.思考題091、密碼學(xué)的發(fā)展歷史經(jīng)歷了哪些階段?關(guān)鍵性技術(shù)突破是什么?密碼學(xué)的發(fā)展可以分為三個階段:古典密碼學(xué)階段(1949年以前):主要通過直覺和技術(shù)進行密碼設(shè)計,使用簡單的替換與置換密碼。突破包括斯巴達的“天書”和凱撒密碼。近代密碼學(xué)階段(20世紀初-1970年):密碼學(xué)成為一門獨立學(xué)科,借助電子機械和計算機進行加密。Enigma密碼機是這一階段的突破?,F(xiàn)代密碼學(xué)階段(1976年以后):提出了公鑰加密系統(tǒng),如Diffie-Hellman密鑰交換和RSA算法,推動了公鑰密碼學(xué)的發(fā)展古典密碼學(xué)階段的關(guān)鍵性技術(shù)突破包括凱撒密碼和“天書”等;近代密碼學(xué)階段的關(guān)鍵性技術(shù)突破是香農(nóng)的《保密系統(tǒng)通信理論》和Enigma密碼機的使用;現(xiàn)代密碼學(xué)階段的關(guān)鍵性技術(shù)突破是公鑰密碼學(xué)的提出和Diffie-Hellman密鑰交換算法的發(fā)展。2、密文分析的四種方式及其區(qū)別是什么?密文分析主要有以下四種方式:唯密文攻擊:分析者只有密文,試圖破解密鑰或推導(dǎo)出部分明文。已知明文攻擊:分析者擁有部分明文及其對應(yīng)的密文,嘗試推導(dǎo)出加密密鑰。選擇明文攻擊:分析者可以選擇明文并獲取其對應(yīng)的密文,以推導(dǎo)密鑰。選擇密文攻擊:分析者可以選擇密文并得到對應(yīng)的明文,用以推導(dǎo)密鑰?主

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論