區塊鏈技術指南 - 繁中
  • 前言
  • 修訂記錄
  • 如何貢獻
  • 區塊鏈的誕生
    • 記賬科技的千年演化
    • 分佈式記賬與區塊鏈
    • 站在前人肩膀上的比特幣
    • 區塊鏈的商業價值
    • 本章小結
  • 核心技術概覽
    • 定義與原理
    • 技術的演化與分類
    • 關鍵問題和挑戰
    • 趨勢與展望
    • 認識上的誤區
    • 本章小結
  • 典型應用場景
    • 應用場景概覽
    • 金融服務
    • 徵信和權屬管理
    • 資源共享
    • 貿易管理
    • 物聯網
    • 其它場景
    • 本章小結
  • 分佈式系統核心技術
    • 一致性問題
    • 共識算法
    • FLP 不可能原理
    • CAP 原理
    • ACID 原則與多階段提交
    • Paxos 算法與 Raft 算法
    • 拜占庭問題與算法
    • 可靠性指標
    • 本章小結
  • 密碼學與安全技術
    • 密碼學簡史
    • Hash 算法與數字摘要
    • 加解密算法
    • 消息認證碼與數字簽名
    • 數字證書
    • PKI 體系
    • Merkle 樹結構
    • Bloom Filter 結構
    • 同態加密
    • 其它問題
    • 本章小結
  • 比特幣 —— 區塊鏈思想誕生的搖籃
    • 比特幣項目簡介
    • 實體貨幣到加密數字貨幣
    • 基本原理和設計
    • 挖礦過程
    • 共識機制
    • 閃電網絡
    • 側鏈
    • 熱點問題
    • 相關工具
    • 本章小結
  • 以太坊 —— 掙脫加密貨幣的枷鎖
    • 以太坊項目簡介
    • 核心概念
    • 主要設計
    • 相關工具
    • 安裝客戶端
    • 使用智能合約
    • 智能合約案例:投票
    • 本章小結
  • 超級賬本 —— 面向企業的分佈式賬本
    • 超級賬本項目簡介
    • 社區組織結構
    • 頂級項目介紹
    • 開發必備工具
    • 貢獻代碼
    • 本章小結
  • Fabric 部署與管理
    • 簡介
    • 使用 Fabric 1.0 版本
    • 使用 Fabric SDK Node
    • Fabric v0.6
      • 安裝部署
      • 使用 chaincode
      • 權限管理
      • Python 客戶端
    • 小結
  • 區塊鏈應用開發
    • 簡介
    • 鏈上代碼工作原理
    • 示例一:信息公證
    • 示例二:交易資產
    • 示例三:數字貨幣發行與管理
    • 示例四:學歷認證
    • 示例五:社區能源共享
    • 小結
  • Fabric 架構與設計
    • 簡介
    • 架構設計
    • 消息協議
    • 小結
  • 區塊鏈服務平臺設計
    • 簡介
    • IBM Bluemix 雲區塊鏈服務
    • 微軟 Azure 雲區塊鏈服務
    • 使用超級賬本 Cello 搭建區塊鏈服務
    • 本章小結
  • 性能與評測
    • 簡介
    • Hyperledger Fabric v0.6
    • 小結
  • 附錄
    • 術語
    • 常見問題
    • Golang 開發相關
      • 安裝與配置 Golang 環境
      • 編輯器與 IDE
      • 高效開發工具
    • ProtoBuf 與 gRPC
    • 參考資源鏈接
Powered by GitBook
On this page

Was this helpful?

  1. 密碼學與安全技術

密碼學簡史

從歷史角度看,密碼學可以大致分為古典密碼學和近現代密碼學兩個階段。兩者以現代信息技術的誕生為分界點,現在所討論的密碼學多是指後者,建立在信息論和數學成果基礎之上。

古典密碼學源自數千年前。最早在公元前 1900 年左右的古埃及,就出現過使用特殊字符和簡單替換式密碼來保護信息。美索不達米亞平原上曾出土一個公元前 1500 年左右的泥板,其上記錄了加密描述的陶器上釉工藝配方。古希臘時期(公元前 800 ~ 前 146 年)還發明瞭通過物理手段來隱藏信息的“隱寫術”,例如使用牛奶書寫、用蠟覆蓋文字等。後來在古羅馬時期還出現了基於替換加密的凱撒密碼,據稱凱撒曾用此方法與其部下通信而得以命名。

這些手段多數是採用簡單的機械工具來保護祕密,在今天看來毫無疑問是十分簡陋,很容易破解的。嚴格來看,可能都很難稱為密碼科學。

近現代密碼的研究源自第一、二次世界大戰中對軍事通信進行保護和破解的需求。

1901 年 12 月,意大利工程師 Guglielmo Marconi(奎里亞摩·馬可尼)成功完成了跨越大西洋的無線電通信實驗,在全球範圍內引發轟動,推動了無線電通信時代的帶來。無線電極大提高了遠程通信的能力,但存在著天然缺陷——它很難限制接收方,這意味著要想保護所傳遞信息的安全,必須採用可靠的加密技術。

對無線電信息進行加密以及破解的過程直接促進了近現代密碼學和計算機技術的出現。反過來,這些科技進步也影響了時代的發展。一戰時期德國外交部長 Arthur Zimmermann(阿瑟·齊默爾曼)拉攏墨西哥構成抗美軍事同盟的電報(1917 年 1 月 16 日)被英國情報機構 —— 40 號辦公室破譯,直接導致了美國的參戰;二戰時期德國使用的恩尼格瑪(Enigma)密碼機(當時最先進的加密設備)被盟軍成功破譯(1939 年到 1941 年),導致大西洋戰役德國失敗。據稱,二戰時期光英國從事密碼學研究的人員就達到 7000 人,而他們的成果使二戰結束的時間至少提前了一到兩年時間。

1945 年 9 月 1 日,Claude Elwood Shannon(克勞德·艾爾伍德·香農)完成了劃時代的內部報告《A Mathematical Theory of Cryptography(密碼術的一個數學理論)》,1949 年 10 月,該報告以《Communication Theory of Secrecy Systems(保密系統的通信理論)》為題在 Bell System Technical Journal(貝爾系統技術期刊)上正式發表。這篇論文首次將密碼學和信息論聯繫到一起,為對稱密碼技術提供了數學基礎。這也標誌著近現代密碼學的正式建立。

1976 年 11 月,Whitfield Diffie 和 Martin E.Hellman 在 IEEE Transactions on Information Theory 上發表了論文《New Directions in Cryptography(密碼學的新方向)》,探討了無需傳輸密鑰的保密通信和簽名認證體系問題,正式開創了現代公鑰密碼學體系的研究。

現代密碼學的發展與電氣技術特別計算機信息理論和技術關係密切,已經發展為包括隨機數、Hash 函數、加解密、身份認證等多個課題的龐大領域,相關成果為現代信息系統特別互聯網奠定了堅實的安全基礎。

注:Enigma 密碼機的加密消息在當年需要數年時間才能破解,而今天使用最新的人工智能技術進行破譯只需要 10 分鐘左右。

Previous密碼學與安全技術NextHash 算法與數字摘要

Last updated 6 years ago

Was this helpful?