- day1-01-課程介紹
- day1-02-現(xiàn)代網(wǎng)絡(luò)的威脅
- day1-03-對稱加解密三要素
- day1-04-凱撒密碼介紹
- day1-05-加密分類
- day1-06-對稱加密特點vs非對稱加密特點
- day1-07-加密領(lǐng)域常識
- day1-08-計算機單位換算
- day1-09-編解碼與加解密
- day1-10-des介紹
- day1-11-3des介紹
- day1-12-AES介紹
- day1-13-對稱加密小結(jié)
- day1-14-明文分組與密文分組
- day1-15-密碼算法與分組模式的關(guān)系
- day1-16-ECB-電子密碼本模式
- day1-17-與或非異或介紹
- day1-18-異或加密解密
- day1-19-CBC-密文分組鏈接模式
- day1-20-課程回顧
- day1-21-CFB-密文反饋模式
- day1-22-OFB-輸出反饋模式
- day1-23-CTR-計數(shù)器模式
- day1-24-分組模式總結(jié)
- day1-25-des-cbc步驟分析
- day1-26-實現(xiàn)加密函數(shù)-無填充
- day1-27-填充邏輯分析
- day1-28-實現(xiàn)填充字符函數(shù)
- day1-29-解密函數(shù)-未去除填充
- day1-30-去除填充數(shù)據(jù)實現(xiàn)
- day1-31-aes-ctr加密
- day1-32-aes-ctr解密
- day1-33-知識點串講
- day2-01-課程回顧-今日內(nèi)容
- day2-02-非對稱加密存在的問題
- day2-03-openssl生成公鑰私鑰
- day2-04-非對稱加密常見使用場景
- day2-05-RSA加解密規(guī)則介紹
- day2-06-RSA生成規(guī)則細節(jié)(了解即可)
- day2-07-GO創(chuàng)建RSA私鑰思路分析
- day2-08-生成私鑰函數(shù)實現(xiàn)
- day2-09-公鑰生成代碼
- day2-10-公鑰加密思路分析
- day2-11-公鑰加密實現(xiàn)
- day2-12-私鑰解密實現(xiàn)
- day2-13-課程回顧
- day2-14-base64命令使用
- day2-15-base64編碼原理
- day2-16-base64代碼測試
- day2-17-哈希函數(shù)介紹演示
- day2-18-哈希函數(shù)特性
- day2-19-哈希常用場景
- day2-20-哈希場景-數(shù)字簽名(補充)
- day2-21-md5-方式1
- day2-22-md5-方式2
- day2-23-sha256運算
- day3-01-課程回顧-今日內(nèi)容
- day3-02-為什么要使用消息認證碼
- day3-03-對稱加密存在問題演示
- day3-04-消息認證碼介紹
- day3-05-MAC使用場景
- day3-06-HMAC函數(shù)介紹
- day3-07-hmac代碼驗證
- day3-08-消息認證存在的問題
- day3-09-數(shù)字簽名認證流程(重要)
- day3-10-消息認證問題的解決
- day3-11-rsa數(shù)字簽名
- day3-12-rsa數(shù)字簽名認證
- day3-13-ecc介紹
- day3-14-ecc生成公鑰私鑰
- day3-15-課程回顧
- day3-16-ecc私鑰簽名
- day3-17-ecc公鑰認證
- day3-18-為什么需要數(shù)字證書
- day3-19-https流程(重要)
- day3-20-windows下查看證書并解析
- day3-21-證書信任鏈
- day4-01-今日內(nèi)容
- day4-02-課程回顧(詳細)
- day4-03-一個加密通信的演化過程
- day4-04-分步生成證書(csr)
- day4-05-一步生成證書
- day4-06-window證書的導(dǎo)出和解析
- day4-07-PKI的組成要素
- day4-08-ssl簡介
- day4-09-ssl交互細節(jié)(了解即可)
- day4-10-課程回顧
- day4-11-單向認證-生成服務(wù)器證書
- day4-12-單向認證-server編寫
- day4-13-單向認證-學(xué)員常見問題
- day4-14-單向認證-client分析流程
- day4-15-單向認證-client編寫
- day4-16-雙向認證-server分析
- day4-17-雙向認證-server編寫
- day4-18-雙向認證-client分析流程
- day4-19-雙向認證-client實現(xiàn)
課程介紹
本課程涵蓋區(qū)塊鏈開發(fā)全部的必備密碼學(xué)技術(shù),包括密碼理論、對稱加密、分組密碼、非對稱加密、單向散列、消息認證、數(shù)字簽名、證書、SSL 等部分。掌握常見的密碼學(xué)接口和程序設(shè)計。
區(qū)塊鏈技術(shù)是21世紀的重大創(chuàng)新技術(shù),它是數(shù)字化資產(chǎn)的分布式賬本,是構(gòu)建價值互聯(lián)網(wǎng)的基石,是驅(qū)動分享經(jīng)濟發(fā)展的新引擎。Go語言是區(qū)塊鏈主流編程語言,簡單易學(xué)、開發(fā)速度快且并發(fā)性好。 《Go語言與區(qū)塊鏈》就業(yè)課程涵蓋 go高級編程,go web開發(fā),區(qū)塊鏈密碼學(xué),以太坊,分布式微服務(wù),hyperledger等技術(shù)要點,旨在打造基礎(chǔ)扎實、知識面廣、綜合能力強的區(qū)塊鏈應(yīng)用層及底層技術(shù)引領(lǐng)者。

2019年Go語言與區(qū)塊鏈課程
鏈接: https://pan.baidu.com/s/1rtstZKws3t9L8bcFZmUd3Q 提取碼: gx1r
2019年Go語言與區(qū)塊鏈課程
鏈接: https://pan.baidu.com/s/1rtstZKws3t9L8bcFZmUd3Q 提取碼: gx1r
2019年Go語言與區(qū)塊鏈課程
鏈接: https://pan.baidu.com/s/1rtstZKws3t9L8bcFZmUd3Q 提取碼: gx1r
一 、概念
主要介紹非對稱加密的一些概念。
公鑰、私鑰:均可加密或解密。私鑰用來解密和簽名,給自己用的。公鑰由本人公開,用于加密和驗證簽名,給他人用的。
驗簽:用公鑰解密簽名得到摘要,然后用原始文件經(jīng)過hash得到摘要,與解密出的摘要進行對比。
簽名:內(nèi)容->hash->digest->私鑰加密->簽名
證書:數(shù)字證書則是由證書認證機構(gòu)(CA)對證書申請者真實身份驗證之后,用CA的根證書對申請人的一些基本信息以及申請人的公鑰進行簽名(相當于加蓋發(fā)證書機構(gòu)的公章,即CA的私鑰加密生成)后形成的一個數(shù)字文件。
二、舉例說明
假設(shè)X給Y寫一份信,那么這封將包含如下三部分內(nèi)容:
1、信本身的內(nèi)容
2、X的數(shù)字簽名
3、X的數(shù)字證書
然后Y收到這封信,Y會想這封確定是X發(fā)過來的嗎?這封信在發(fā)送過程中有被篡改,還是完整的嗎?只有當Y確認清楚,才能判斷出信的內(nèi)容是否可靠。
然后Y先用ZX提供的公鑰解開數(shù)字證書,根據(jù)得到:如X個人信息,確定是X發(fā)過來的;得到X的公鑰等。
接著,用X的公鑰解開X的數(shù)字簽名就能得到,信本身內(nèi)容的摘要。然后將信的本身內(nèi)容經(jīng)hash計算得到又一個摘要,將兩個摘要比較,如果相同說明信的內(nèi)容沒有被篡改。
BCCSP(Blockchain crypto provider)即區(qū)塊鏈加密提供商,用于定義選擇使用的密碼學(xué)實現(xiàn)庫。負責(zé)摘要生成,非對稱密鑰的簽名與驗證,根據(jù)證書查找私鑰等。該模塊提供了一系列的接口,這些接口定義了摘要的生成方法,簽名,驗證,加密,解密等。所有自定義的密碼學(xué)實現(xiàn)庫都需要實現(xiàn)這些接口,以此達到密碼學(xué)算法的可插拔。
目前fabric BCCSP模塊的接口有三種實現(xiàn)類,如下圖所示:
其中SW(software based)實現(xiàn)方式是直接調(diào)用golang提供的庫文件來進行加解密,哈希,簽名驗簽等。
PKCS11是調(diào)用ecdsa來進行加密,解密,哈希,簽名驗簽等,而ecdsa是通過調(diào)用動態(tài)運行庫來進行以上功能的完成。
GM國密算法實現(xiàn)方式與PKCS11一致。中間層提供SM2進行簽名與驗簽,SM3進行哈希,SM4實現(xiàn)加密。
