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