--- layout: post current: post cover: assets/images/panda-49.png #封面圖片 navigation: True #上方導覽列 title: 8-雜湊加密傻傻分不清楚 #標題名稱 date: 2019-12-09 #日期 YYYY-MM-DD tags: fzth-post #標籤 class: post-template subclass: 'post' author: panda #作者 --- > 大家都說加密貨幣?貨幣真的有加密嗎? ## 加密( Encryption ) > 加密是什麼呢? 加密是種用來將資料加以編碼的數學演算法,只有預期的對象可以加以讀取。 這樣講感覺有點太 HardCore ... XD 假如說:國王要把他的遺產鎖在王宮的寶箱裡面,那麼那個「鎖」等同於加密動作,「鑰匙」等同於解密動作。 <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-49.png" style="width:100%"> </div> <br> 那我們通常加密會分成兩種 - 對稱式金鑰加密 如名,加密和解密金鑰是相同的。通訊方必須具有相同的金鑰才能實現安全通訊。 缺點:如果遇到中間人攻擊,那麼所有加密的內容都容易被破解,內容會十分的危險。 - 非對稱式金鑰加密 如名,加密和解密金鑰是不相同的。 下圖,(BP1 = Bob Public Key , BP2 = Bob Private Key , AP1 = Alice Public Key , Alice Private Key ) > 訊息加密 假設 Alice 要傳送一則訊息給 Bob 卻不想給人看到,那他就可以透過非對稱金鑰加密去達成。 <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-50.png" style="width:100%"> </div> <br> <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-51.png" style="width:100%"> </div> <br> > 數位簽章 假設 Bob 收到一份 Alice 寄來的文件,他要確認這份文件是否是 Alice 寄來的。 <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-52.png" style="width:100%"> </div> <br> <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-53.png" style="width:100%"> </div> <br> ## 雜湊( Hash ) 我們在區塊鏈的世界中,很常聽到雜湊,但你真的認識他嗎? > 我們的認知雜湊是什麼? - - Sha 系列 : Sha0 、 Sha1 、Sha256 ... 等 - MD 系列 : MD2 、 MD4 、MD5 ... 等 ### 那雜湊到底在做什麼呢? `主要是將不定長度訊息的輸入,演算成固定長度雜湊值的輸出,且所計算出來的雜湊值必須符合兩個主要條件` - 雜湊值是無法還原成原來的訊息 - 雜湊會隨著明文改變而改變 > 那假如說真的算出兩個一樣的結果呢? 那這種情況我們稱之為碰撞(Collision),而這機率會是超級小。 <div align="center"> <img src="https://fzth-blockchain.github.io/fzth/assets/images/panda-54.png" style="width:100%"> </div> <br> 若想嘗試雜湊可以來玩,[SHA256 online](https://emn178.github.io/online-tools/sha256.html) ### 那雜湊我們用在哪裡呢? > 驗證密碼 大多數的程式像是 PHP 框架Laravel 的內建會員系統(他的存儲密碼方式就是使用雜湊), 因為雜湊只能出不能返回,很適合用作儲存密碼,使用者只有輸入正確的密碼才能解開。 > 區塊鏈系統驗證是否遭竄改 區塊鏈的系統中,一個區塊和一個區塊即是用雜湊來做串連,當內部有筆交易有問題則區塊的雜湊值即會改變,我們也能知道系統是否遭到竄改。 [Blockchain Demo](https://anders.com/blockchain/blockchain) ## 小記 經過這篇想必大家也了解,加密和雜湊的不同了! 簡單複習一下: - 以非對稱加密為例,金鑰的作用可以進行簽章和加密訊息。 - 雜湊就像是一個果汁機,你丟什麼水果進去這個果汁機,他就會給你什麼果汁。 希望大家不要再說錯囉 XD 若文章有任何的問題或要討論的部分,歡迎在底下留言。 歡迎透過 Email: `pandap.d819@gamil.com` 聯絡我。 ## 資料來源 - [加密](https://blog.trendmicro.com.tw/?p=17075) - [雜湊](https://zh.wikipedia.org/wiki/%E6%95%A3%E5%88%97) - [Blockchain Demo](https://anders.com/blockchain/blockchain) - [SHA256 online](https://emn178.github.io/online-tools/sha256.html)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up