1. 程式人生 > >區塊鏈密碼學

區塊鏈密碼學

一、對稱加密

1、什麼是對稱加密

對稱加密演算法是一種應用比較早,技術比較成熟的加密演算法。在加密和解密的過程中採用相同的一對金鑰。因此也稱這種加密演算法為祕密金鑰演算法或單金鑰演算法。它要求傳送方和接收方在安全通訊之前,先約定好一對金鑰,然後由雙方各自管理,對稱加密演算法的安全性全依賴於這對金鑰,如果發生金鑰洩漏這就意味著所有通過該金鑰加密的資料通訊安全性得不到保障,任何得到該金鑰的人都可以對傳送或接收的資料進行解密,所以這金鑰的保密性對通訊的安全性十分重要。

2、對稱加密演算法特點

特點:演算法公開、演算法簡單計算量少、加密速度快、加密效率高、由於需要雙方共同維護一對相同的金鑰,因此金鑰管理成本高,安全性低。加密和解密是互逆,加密和解密使用同一金鑰

3、常用的對稱加密演算法有:DES、3DES、AES.

DES加密中祕鑰長度必須為8位元組,3DES祕鑰長度必須為24,AES加密演算法中祕鑰長度必須為16或24或32位元組

二、非對稱加密

1、什麼是非對稱加密

非對稱加密演算法由一個公鑰和一個私鑰組成,公鑰與私鑰都是配對產生的,當使用公鑰進行對資料加密時,只有使用對應的私鑰才能將資料進行解密;同理當使用私鑰對資料進行加密時,也只能使用對應的公鑰才能解密,因此在加密和解密時使用的都是不同的金鑰,這樣它的保密性就會相對比較高,也解決了對稱加密演算法中需要雙方共享金鑰的不便問題,消除了終端使用者交換金鑰的需要。

2、非對稱加密演算法特點

演算法強度複雜,由於演算法複雜所以加密解密效率比對稱加密解密慢。
安全性高,由於對稱加密演算法只有一個金鑰,並且是非公開性的,如果金鑰洩露即影響資料安全性,而非對稱加密演算法具有兩個金鑰,其中一個是公開的,另外一個是私密的,這樣就安全性提高很多。
規則:
【加密】用公鑰加密,私鑰解密
【簽名】用私鑰簽名,公鑰驗證

3、非對稱加密 RSA演算法和ECC橢圓曲線演算法比較

  • 儲存空間佔用小。
  • ECC的金鑰尺寸和系統引數與RSA、DSA相比要小得多。
  • 安全性高。如最小金鑰長度的要求160位ECC與1024位RSA、DSA有相同的安全強度。
  • 計算量小,速度快。在私鑰的處理速度上(解密和簽名),ECC遠 比RSA、DSA快得多。
  • 頻寬成本小。

4、RSA演算法

在這裡插入圖片描述

5、ECC橢圓曲線演算法

(1)什麼是橢圓曲線演算法

橢圓曲線密碼學,簡稱ECC(Elliptic curve cryptography)它是一種建立公開金鑰加密的演算法,基於橢圓曲線數學理論而實現的一種非對稱加密演算法。在1985年由Neal Koblitz和Victor Miller分別獨立提出並應用於密碼學中。ECC被廣泛認為是在給定金鑰長度的情況下,最強大的非對稱演算法,對頻寬要求十分緊的連線中會十分有幫助。

(2)特點

使用較短的金鑰,佔用空間少,並能達到與RSA同等或更高的安全級別。

(3)在以太坊中應用

原始碼分析以太坊地址生成可見在區塊鏈上橢圓曲線是使用secp256k1演算法生成公私金鑰對

三、區塊鏈中常用私鑰和公鑰關係

在這裡插入圖片描述