區塊鏈概念
區塊:可以看做是一頁一頁的賬單,上面記錄若干條數據
區塊鏈:可以看做是賬本,里面按照時間順序將若干個賬單 每個區塊中包含兩個最重要的值,自己的hash值,和上一個區塊的hash值
詳解:
區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個區塊中包含上一個區塊的hash值,用於驗證其信息的有效性(防偽)和生成下一個區塊
Hash算法
Hash算法:可以將任意數據 生成 固定長度的16進制字符串
常見算法:md5 , sha1 , sha256 , sha512等,都是摘要算法
密碼學
一.對稱加密:
使用 同一個密匙 進行加密和解密,這種加密方法稱為 對稱加密 也成為單密匙加密
算法:DES , 3DES , AES , TDEA , Blowfish , RC2 , RC4 , RC5 , IDEA , SKIPJACK
1.特點:
a.加解密使用相同的密匙
b.高效,使用於大量數據的加密場景
c.算法公開,安全性取決於密匙大小,但密匙越大效率越低,需要權衡在安全和效率中做權衡
2.缺點
算法本身安全,但使用場景不夠安全,因為解密和加密都是使用同一個密匙
二.非對稱加密
使用 匹配的一對密匙來分別進行加密和解密,這兩個密匙是公開密匙(公鑰)和私有密匙(私鑰)
算法:RSA、ECC、Elgamal、背包算法、Rabin、D-H 等
非對稱加密使用方法
- 生成一對匹配的 私鑰 和 公鑰 (ps:公鑰其實是根據私鑰生成的)
- 將公鑰公布給外界
用法1. 公鑰加密 - 用來針對互聯網上加密數據傳遞
將自己的公鑰公布給外界,然后拿到公鑰的人必須使用對應私鑰來解密
注意:公鑰加密的數據只能用對應的私鑰解密,同理,私鑰加密的數據只能用對應的公鑰解密
用法2. 私鑰簽名 - 目的是為了將明文公布給別人,同時證明是自己發的
用自己的私鑰對明文進行hash值,對hash進行加密,連同明文一同發送給指定的人,
該人使用我的私鑰進行解密,解密后的明文hash值和接受到的明文的hash值進行對比,如果是一樣的,就能證明密文是 我發的
特點:
安全性高
加解密復雜,效率低
小結
~對稱加密 加密與解密 使用的是同樣的密鑰,所以速度快,但由於需要將密鑰在網絡傳輸,所以安全性不高。
~ ~ 非對稱加密使用了一對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
~ ~ ~ 解決的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密協商,然后發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然后雙方可以使用對稱加密來進行溝通