密碼學是在加密貨幣,甚至在各個領域都有被運用的一種技術。
主要是市場先生在加密貨幣圣經一書及一些密碼學閱讀資料中的學習筆記,讓想了解加密貨幣安全性的人增加一些初步的認識。
本文將以加密貨幣為主要案例,介紹密碼學如何運用在加密貨幣中。
密碼學(英文:Cryptography)是一種密碼的技術,主要用來保護及隱藏資訊。密碼學的運用非常廣泛,例如我們匯款時,需要去手機收的簡訊驗證碼,就是密碼學的應用之一。
我們現在常聽到的加密貨幣也是密碼學的應用。
密碼學中,主要有三個技術運用在加密貨幣中,分別是加密(Encrypt)、雜湊(Hash function)、數位簽章(Digital signature),
在很多加密貨幣白皮書或官方文件,我們都會經常看到這些詞彙。
以下一一介紹。
雜湊 (英文:Hash function)的全名是雜湊函數,又稱雜湊演算法,是把不同長度的訊息,變成資料量固定的“值”的演算法。
雜湊函數有非常多種,例如由美國國家安全局研發的SHA系列、由美國密碼學家Ronald Linn Rivest所設計的MD5等。
舉例來說,用SHA系列中的SHA256為例:
上圖中這兩個訊息的長度不一樣,但都產生出相同資料長度的“值”,這個“值”又稱雜湊值 (英文:Hash value),它是獨一無二的 (有些人會這個值為指紋、摘要digest)。
因為雜湊函數可以產生固定長度的雜湊值,所以會被用在處理大量資料,另外,不同的訊息幾乎不可能有相同的雜湊值 (說幾乎是因為以前有些雜湊函數已被破解),所以雜湊函數也可以做驗證資料的應用。
雜湊函數中,運用在加密貨幣上的是“加密雜湊函數”,以下介紹。
加密雜湊函數 (英文:Cryptographic hash function)是一種雜湊函數,主要有幾個特性:
確定性:輸入同一個訊息,產生的雜湊值永遠都一樣。獨特性:輸入不同的訊息,不可能有相同的雜湊值。(如果有,就會產生雜湊碰撞collision,代表這個雜湊函數已經無法再使用)長度固定:使用同一個雜湊函數,即使輸入不同的訊息也會產生一樣長度的雜湊值。不可反向回推:你無法從產生的雜湊值回推原本的訊息。(這也是加密跟雜湊最不一樣的地方)
加密雜湊函數常見的例子就是密碼,在網路上要登入某個帳戶,我們就必須輸入密碼,系統會對我們輸入的密碼進行加密雜湊函數的運算,產生雜湊值,再跟系統自己的雜湊值比對:
數位簽章屬于不對稱式加密反向的運用,也就是公開金鑰是用來解密、私密金鑰是用來加密。
數位簽章的原理有點複雜,以下分別以簽署人、驗證人的方式介紹:
簽署人將原始訊息用加密雜湊函數計算產生雜湊值簽署人對雜湊值用私密金鑰加密,產生數位簽章簽署人將數位簽章附在原始訊息上,并且公佈公開金鑰
這時,因為簽署人公佈了公開金鑰,所以任何一個人都可以用公開金鑰驗證這個數位簽章…
驗證人收到附上數位簽章的原始訊息驗證人用公開金鑰解密數位簽章,獲得雜湊值驗證人對拿掉數位簽章的原始訊息,進行加密雜湊函數的計算后,獲得雜湊值驗證人將兩個獲得的雜湊值進行比對如果兩個雜湊值相同,這個數位簽章就得到驗證
要進行加密貨幣交易時,就需要用數位簽章來驗證交易,也因為加密貨幣的交易都會被記錄在區塊鏈上,所以任何一個人都可以用簽署人公佈的公開金鑰去驗證交易。
另外,也能對簽署人有身份驗證的作用:
只有簽署人有私密金鑰,沒有任何一個人可以制作簽署人的數位簽章也因為只有簽署人有私密金鑰,簽署人無法否定原本訊息不是他簽的
不只加密貨幣,目前數位簽章也被廣泛運用在各個領域中。
1. 密碼學(Cryptography)是一種密碼的技術,主要用來保護及隱藏資訊。密碼學的運用非常廣泛,在加密貨幣中主要有加密、雜湊、數位簽章的運用。
2. 加密就是把訊息加上密碼,能夠將看的懂的訊息,變成看不懂的訊息。加密有分“對稱式加密”跟“不對稱式加密”,對稱式加密就是加密/解密都採用同一把鑰匙,不對稱加密就是加密/解密採用的是不同的鑰匙 (公開金鑰、私密金鑰)。
3. 雜湊 (Hash function)雜湊函數、雜湊演算法,是把不同長度的訊息,變成資料量固定的“值”的演算法。
4. 數位簽章(Digital signatures)是一個加密后的簽章,常被用在驗證訊息的真實性,屬于不對稱式加密反向的運用。將原本訊息用加密雜湊函數計算后獲得雜湊值,再用私密金鑰加密,就會產生數位簽章。驗證方需用公開金鑰解密數位簽章獲得雜湊值,再用加密雜湊函數計算原始訊息獲得的雜湊值進行比對,
一樣則驗證成功。
在閱讀許多加密貨幣白皮書等文件時,上述這些概念會經常被看到,
希望這篇解說,能讓大家對加密貨幣及區塊鏈基礎運作原理有更多了解。
加密就是把訊息加上密碼,能夠將看的懂的訊息,變成看不懂的訊息 (例如一串文字+符號的組合)。
加密有分“對稱式加密”跟“不對稱式加密”,
簡單來說,對稱式加密就是加密/解密都採用同一把鑰匙(也就是加密貨幣裡常聽的金鑰,因為英文是Key,所以中文被翻譯成鑰匙或金鑰),不對稱加密就是加密/解密採用的是不同的鑰匙。
這裡指的鑰匙不是我們常使用的那種家裡鑰匙、車鑰匙…等,是指一個加密/解密的方法,可以想像是一個上面記載著密碼破解方式的一張紙。
對稱式加密 (英文:Symmetric-key algorithm)的加密與解密的金鑰是同一把,也就是用同一個方法,就可以完成加密與解密。
舉例來說,市場先生要發送一個訊息“Hello”并用每一個字母在鍵盤上右邊的字代替,看的懂的訊息就變成看不懂的訊息:Hello 變成 Jr;;p,這樣就完成一個非常簡單的加密。
市場先生傳給同事這組字,同事把每一個字母還原,就知道訊息是Hello,這就是對稱式加密,加密與解密的方法都一樣,而“鍵盤上右邊的字代替”這個方法就是金鑰。
不對稱式加密 (英文:Public-key cryptography)又稱公開金鑰加密,它加密與解密的金鑰是不一樣的,所以你(訊息接收方)需要打造兩把鑰匙:一把是公開金鑰、一把是私密金鑰。
不對稱式加密相較對稱式加密,比較不容易破解,所以這也是目前被廣泛使用的加密方式。
你可以把公開金鑰發給所有的人,讓大家都可以透過這個公開金鑰發送加密訊息給你。
私密金鑰只有你自己知道,所以只有你可以把透過公開金鑰發送給你的已加密訊息,透過私密金鑰解密。
不對稱式加密在加密貨幣上的運用
以比特幣為例,就是你可以打造一個公開金鑰,獲得一個公開的比特幣地址(有點像是銀行帳號),任何人都可以透過這個公開金鑰轉比特幣給你,
但如果你要匯比特幣給別人,就需要私密金鑰簽署交易,才能夠成功把比特幣匯出。因為私密金鑰只有你才知道,所以有著身份驗證的功用,可以證明是“你”同意匯出比特幣。
私密金鑰的簽署,就是“數位簽章”的應用,這個之后會講到。
詳細可閱讀:比特幣是什么
補充:公開金鑰長什麼樣子?
公開金鑰是由非常多字母、數字、符號所組成,例如intel就有公布他們的公開金鑰,詳細可到intel官網查看。
加密雜湊函數比特幣挖礦的過程、區塊鏈的連結區塊識別碼、數位簽章等等,都會運用到加密雜湊函數。
以下會以數位簽章為例,介紹雜湊的運用。
(這些講起來太複雜,目前市場先生也還在研究中,歡迎有經驗的讀者在下方留言跟我們分享)
詳細可閱讀:比特幣挖礦是什么?、區塊鏈是什么?
數位簽章(英文:Digital signatures)是一個加密后的簽章,目的是用在驗證訊息的真實性。數位簽章并不會保密原始資訊,但可以幫助我們確認原始資訊發送者的身分,驗證該內容訊息是否真的是由某人發出的。
例如我們收到一份紙本文件,上面有老闆的簽名,我們會認為這是老闆提供給自己的文件(如果簽名沒被仿冒的話)。但在數位的世界,我們怎麼確定一個訊息真的是老闆發出的呢?要怎麼辨識?數位簽章的功用不是為了保密這些訊息,而是為了幫我們確認訊息真的是由某人所發出的,而不是他人仿冒的。
數位簽章屬于是電子簽章的其中一種,但它并不是我們親手在電腦或平板上簽名的簽章。
要產生及驗證數位簽章,就需要用到不對稱式加密的技術,如果訊息太長,還會用到加密雜湊函數的計算。
相關閱讀推薦
最新資訊
最新游戲
雞蛋工廠最新版
查看無極仙道
查看臺球世界2025最新版
查看恐怖天線寶寶官方正版
查看世界大戰1994最新版
查看生命人體模擬器(含攻略)
查看神廟逃亡魔境仙蹤無限金幣版
查看火焰紋章封印之劍中文版
查看歸龍潮官網版
查看熱門文章
熱門游戲
臺球王者 v4.3.7安卓版
查看無神之界手游 v1.1.2安卓版
查看躍遷旅人手游 v2.2.2
查看Apex英雄手游 v1.1.839.46安卓國際服版
查看游卡三國殺 官方版v4.1.9
查看超級魂斗羅無敵版 v1.0.0安卓版
查看弗蘭的悲慘之旅5手機版 v1.0.0安卓版
查看忍者跳躍安卓版 v3.1.1
查看蛋仔派對 v1.0.49安卓最新版
查看天游云游戲下載最新版本 v4.2.4安卓版
查看三國大時代3南蠻入侵單機版 v2.6安卓版
查看獨奏騎士最新版本 v1.1.428安卓版
查看我的湯姆貓2最新版 v25.1.3.11738手機版
查看歐陸戰爭5最新版 v2.6.2 安卓版
查看恐怖冰淇淋(Ice Scream United) v0.9.8
查看石器時代生存 v1.140最新版
查看完美世界諸神之戰官網版 v.1.30.2
查看雷霆小分隊測試服 v6.0.2最新版
查看