
- 區塊鏈教程
- 區塊鏈 - 首頁
- 區塊鏈基礎
- 區塊鏈 - 簡介
- 區塊鏈的歷史
- 區塊鏈 - 技術
- 區塊鏈與密碼學
- 超越加密的區塊鏈
- 區塊鏈 - 高階概念
- 區塊鏈 - 去中心化
- 區塊鏈 - DApp
- 區塊鏈 - DeFi
- 區塊鏈 - 未來展望
- 區塊鏈中的智慧合約
- 區塊鏈 - 裡卡迪安合約
- 區塊鏈 - 預言機
- 區塊鏈 - DAO
- 比特幣
- 比特幣 - 無形的黃金
- 比特幣是如何工作的?
- 比特幣 - 網路
- 比特幣 - 錢包
- 比特幣 - 創新
- 以太坊
- 以太坊替代加密貨幣
- 以太坊生態系統
- 以太坊虛擬機器
- 高階以太坊
- 以太坊錢包
- 以太坊礦工節點
- 其他
- 區塊鏈 - 雙重支付
- 公鑰密碼學
- 區塊鏈 - 雜湊
- 比特幣 - 挖礦
- 區塊鏈 - 區塊鏈
- 區塊鏈 - 工作量證明
- 區塊鏈 - 網路與挖礦
- 區塊鏈 - 礦工激勵機制
- 區塊鏈 - 梅克爾樹
- 區塊鏈 - 支付驗證
- 區塊鏈 - 解決衝突
- 區塊鏈 - 隱私
- 比特幣 - 緩解攻擊
- 區塊鏈 - 結論
- 區塊鏈資源
- 區塊鏈 - 快速指南
- 區塊鏈 - 資源
- 區塊鏈 - 討論
區塊鏈中的密碼學
什麼是區塊鏈中的密碼學?
密碼學在現代資料安全和高效資訊交換領域是一個日益增長的現象。密碼學代表著古老的安全的通訊追求。它已經從古代神秘的手稿發展到現代科學技術的複雜演算法。
本章將深入探討密碼學和加密學這兩個相互關聯的學科。除了探索這項技術的歷史和複雜性之外,我們還將深入瞭解途徑、金鑰、機制以及更多概念。
密碼學的途徑
密碼學的痕跡可以追溯到遙遠的古代,當時使用簡單的加密方法(如密碼)來保護重要資訊。加密資訊曾經是童年時代的一種樂趣活動,通常涉及與親密朋友交換資訊。許多人採用各種技術來保護其資訊的私密性,例如使用隱形墨水或蠟封。自從原始生活過渡到有組織的社會和文明發展以來,隱藏資訊的需求就一直存在。隨著不同群體和部落的出現,競爭隨之產生,導致等級侵略、秘密溝通和民眾操縱。最早的加密形式是在與文明發源地相關的地區發現的,包括埃及、希臘和羅馬。
古代埃及被認為是已知最早的密碼學形式,使用象形文字來編碼敏感資訊。隨著時間的推移,人們採用了不同的加密方法,包括替換密碼、置換密碼和多表代換密碼。
凱撒密碼,以公元前100年使用它來保護其軍事通訊的羅馬軍事將領朱利葉斯·凱撒命名,是最簡單和最古老的替換密碼之一。維吉尼亞密碼和普萊費爾密碼分別在16世紀和19世紀發展起來,是多表代換密碼的例子。然而,這些傳統的加密技術不再被認為是保護敏感資料的安全方法,因為現代計算機可以很容易地破譯它們。
密碼型別
在密碼學和網路安全領域,最常用的密碼型別有兩種:
- 單表代換密碼
- 多表代換密碼
1. 單表代換密碼
在單表代換密碼中,訊息中的每個字母都始終替換為單個字母。例如,在凱撒密碼中,字母A的每次出現都可能始終轉換為G,從而產生簡單的模式。由於這種技術的簡單性,這些密碼容易受到諸如頻率分析之類的技術的攻擊,其中計算編碼訊息中字母的出現次數以破譯加密。
在這種型別的密碼中,原始訊息中的每個字母都在字母表中移動固定數量的位置。
例如,如果移動2位,則可以觀察到以下更改:
- 原文 - HEY
- 加密後 - JGA
在這種情況下,每個字母都替換為字母表中前面兩個位置的字母。
2. 多表代換密碼
相反,多表代換密碼透過根據保密金鑰對同一字母採用各種替換來提高複雜性。
一個例子是維吉尼亞密碼,其中金鑰中的每個字母對應於字母表中的不同移位。這種動態替換增加了密碼分析人員解碼訊息的複雜性,與單表代換密碼相比,提供了更好的保護。
術語“多”表示“許多”,表示對每個字母有多種加密方法,從而為編碼的訊息增加了額外的安全層。在這個密碼中,使用關鍵字來為每個字母建立多個移位值。
例如:
- 原文 - TRUST
- 金鑰 - KEY
- 加密後 - DVSCX
在上面的例子中,金鑰重複到單詞的長度,因此TRUST->KEYKE。然後,我們參考表格中每一行和每一列的對應值來加密訊息。因此,在T行和K列下,我們得到D。類似地,在R行和E列下,我們得到V,依此類推。
密碼學的基本術語
在深入研究密碼學的相關概念和進一步連結之前。讓我們先退一步,熟悉一些基本概念和術語:
- 加密 - 將明文轉換為密文的過程,使其對未經授權的方不可讀。
- 解密 - 將編碼的訊息(密文)解密回其原始形式(明文)的行為,以便那些被授權這樣做的人能夠閱讀和理解它。
- 密碼 - 用於加密和解密的演算法。
- 金鑰 - 與加密演算法一起使用的私有值,用於加密和解密資訊。
- 對稱金鑰 - 用於編碼和解碼過程的單個私鑰。
- 非對稱金鑰 - 一對金鑰,一個用於加密,一個用於解密,它們在數學上相關但不相同。
- 明文 - 原始的、未加密的資料。
- 密文 - 加密後的資料。
- 雜湊函式 - 一種單向函式,它接受輸入(或訊息)並返回固定大小的字元字串,通常是特定於唯一訊息的摘要。
- 數字簽名 - 附加到電子傳輸文件上的數字程式碼,用於驗證其內容和傳送者的身份。
- 公鑰基礎設施 (PKI) - 建立、管理、分發、使用、儲存和撤銷數字證書所需的硬體、軟體、人員、協議和協議的集合。
- 證書頒發機構 (CA) - 發放數字證書和管理 PKI 的組織。
- 不可否認性 - 證明特定個人對特定行動或訊息負責的能力。
- 身份驗證 - 驗證個人或實體身份的過程。
- 金鑰管理 - 建立、分發、儲存和保護金鑰的過程。
我們將在本教程接下來的部分詳細介紹以上概念。
密碼學的原則
密碼學是透過將資訊轉換為只有被授權者才能閱讀的程式碼來保護資訊的技術。密碼學核心思想和規則包括:
- 機密性 - 確保機密資訊受到保護,不會被未經授權的人員訪問。
- 完整性 - 資訊是敏感的,因此其性質不應以任何方式被篡改或更改。
- 身份驗證 - 確認資訊包的傳送者和接收者的身份。
- 不可否認性 - 確保資訊傳送者不能否認內容的來源。
- 金鑰管理 - 以安全的方式管理加密和解密金鑰的生成、分發、儲存和使用。
- 演算法 - 演算法是數學函式,透過將資訊轉換為不可讀的形式並透過解密使其再次可讀來幫助保護資訊。
- 公鑰密碼學 - 公鑰密碼學涉及使用公開可訪問的金鑰加密資料,並使用私有金鑰解密資料。另一方面,對稱金鑰密碼學使用單個秘密金鑰來加密和解密資料。
- 雜湊函式 - 接受輸入(或訊息)併產生固定長度輸出的數學函式,用於確認原始訊息的完整性。
隨著我們的前進,我們將深入探討這些主題。這些概念和原則在各種加密技術中得到實踐,包括對稱金鑰加密、非對稱金鑰加密和雜湊函式。
密碼學型別
現代網路和通訊系統主要使用兩種型別的密碼學:
- 公鑰密碼學
- 橢圓曲線密碼學
1. 公鑰密碼學
公鑰密碼學使用一組金鑰,其中一個金鑰是公開的(所有人都可以訪問),另一個金鑰是私有的(只有所有者知道)。
讓我們以兩個人為例——愛麗絲和鮑勃。愛麗絲想以安全的方式向鮑勃發送一條訊息。為了向鮑勃發送訊息,愛麗絲使用鮑勃的公鑰進行加密。鮑勃擁有他的私鑰,能夠解密並訪問該訊息。
其工作方式如下:
- 加密 - 鮑勃的公鑰就像一把特殊的鎖,愛麗絲用它來鎖住她的訊息。
- 解密 - 鮑勃的私鑰就像開啟鎖以閱讀訊息的唯一鑰匙。
2. 橢圓曲線密碼學
ECC 是一種強大且創新的加密方法,徹底改變了現代密碼技術。與傳統的密碼演算法相比,它在提高安全性的同時需要更小的金鑰大小。讓我們學習 ECC 的不同方面。
金鑰生成
公鑰 (Q) - 鮑勃選擇一條曲線和曲線上的一個點。他稱這個點為 (G)。他的公鑰 (Q) 是將 (G) 乘以一個秘密數字 (d) 的結果。
示例 - Q = d . G
加密
- 當愛麗絲想向鮑勃發送一條秘密訊息時,她會選擇一個隨機數 (k)。
- 她透過將 (G) 乘以 (k) 來計算曲線上的一個點 (C)。
- (C) 的 x 座標是加密訊息的一部分。
- 共享金鑰由Bob用他的秘密數字(d)乘以(C)得出。
- 示例 − s = k . Q
解密
- Bob使用他的私鑰,將(C)乘以(d)得到相同的共享金鑰(s)。
- 使用金鑰派生函式,Alice和Bob都從(s)派生出一個對稱金鑰。
- 對稱金鑰用於解密訊息。
- 示例 − S = d . C