iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
0
Blockchain

Go to Blockchain: 從區塊鏈基礎到用 Go 實作區塊鏈系列 第 4

Go to Blockchain: Day4 區塊鏈的密碼學基礎-雜湊與非對稱加密

今天就稍微講一下之後會用到的密碼學概念,主要是雜湊(Hash)和非對稱加密的部分~

Hash

  • Hash是一種函式,此函式會把輸入資料打亂
    • 像是你今天想把一串 87878787 打亂對應到另一串數字(不要問我為甚麼要把 87878787 打亂w),而經過的這個計算方法(假設是 output = 666 *input - 94879487)就叫做 Hash 函數(這時 output就會 = 58432392665)
  • 唯一性質:只要兩個 Hash 值不同,他們的原始輸入也會是不同的
  • 常用 Hash 函數:
    • 常常是不可逆函數(無法由 Hash 值找出原 x)
    • 幾乎不會產生碰撞(兩個不同 x 對應到相同的 Hash 值)
    • 正常來說輸出會是一串固定長度的字串
    • 常用例子:
      • md5
      • SHA256

非對稱加密

  • 對稱加密:Key, Keyhole, Lock, Security, Unlock, Open, Safety

    • 想像今天有一把鑰匙,我可以用它來開一個寶箱,也可以用它來鎖上這個寶箱,這個過程就叫做對稱加密(就是你正常開你家的門的過程啦xD)
    • 原文(PT)經過 KEY 加密後產生 密文(CT)
    • 密文(CT)經過 KEY 解密後產生 原文(PT)
    • 假設今天我要加密Cats are so cute 這串字
      • Cats are sooooooooo cute --KEY--> c10c060400000f0b02
      • 436174732061726520736f2d03000c040c070e490d0e0356 --KEY-->Cats are sooooooooo cute
  • 非對稱加密:

    www

    • 想像你今天很有事的想把自己開門的鑰匙分成兩把,一把鑰匙 A 只能用來開門,另一把鑰匙 B 只能鎖上這扇門,而你把這個鎖門的鑰匙 B 放在門外讓大家都拿的到,這個過程就叫做非對稱加密(A 是私鑰,B 是公鑰)

    • 公鑰加密,私鑰解密

    • 原文(PT)經過 PUBLIC_KEY 加密後產生 密文(CT)

    • 密文(CT)經過 PRIVATE_KEY 加密後產生 原文(PT)

  • 數位簽章

    「digital signature」的圖片搜尋結果

    • 是一種非對稱加密的應用
    • 我(HELLOWORLD)今天要簽名說這份文件我是認可的,因此我利用我的私鑰加密,而其他人用我提供的公鑰解密來解密就可以做驗證了
      • HELLOWORLD --私鑰簽名-- > Y2g0aW5fQ1RGPz8/fQ==
      • Y2g0aW5fQ1RGPz8/fQ== -- 公鑰驗證 --> HELLOWORLD
        • 那串亂碼只是隨便打ㄉ,於實際結果不同喔~
    • 私鑰加密,公鑰解密
    • 原文(PT)經過 PRIVATE_KEY 加密後產生 密文(CT)作為簽名
    • 密文(CT)經過 PUBLIC_KEY 加密後產生 原文(PT)作為驗證的手段
  • 常見的非對稱密碼學:

    • RSA
      • 一種很常見的加密演算法
    • ECC
      • 橢圓曲線密碼學

上一篇
Go to Blockchain: Day3 區塊鏈是甚麼呢?
下一篇
Go to Blockchain: Day5 區塊鏈的數據儲存
系列文
Go to Blockchain: 從區塊鏈基礎到用 Go 實作區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言