作者/雪穗
編輯/Never
出品/星傳媒
加密,簡而言之就是借助一種或多種算法將明文信息轉換成密文信息,信息的接收方通過密鑰對密文信息進行解密獲得明文信息的過程。根據加解密的密鑰是否相同,加密算法可以分為對稱加密、非對稱加密和對稱加密和非對稱加密的結合。而在區塊鏈數據加密中最常當屬哈希算法和非對稱加密兩種加密手段。
區塊鏈中的哈希算法
哈希算法(Secure Hash Algorithm,SHA)是區塊鏈數據加密應用最多、最常規的算法之一,它是由美國國家安全局研發包括SHA-0、SHA-1、SHA-2和SHA-3等系列密碼哈希函數,被廣泛使用在構建區塊和確認交易完整性方面,以輸入任意長度字符串,輸出固定長度字符串信息。而以區塊鏈中最常見的 SHA-256哈希算法函數為例,需具備以下四種特性才能滿足區塊鏈加密需求:
1. 正向固定:輸入任意長度字符串,而只能輸出固定統一字符串(hash 值)。
2. 逆向困難:給定(若干)hash 值,在有限時間內很難(基本不可能)逆推出明文。
3. 輸入敏感:原始輸入信息作絲毫修改,產生的hash 值完全發生改變。
4. 沖突避免:很難找到兩段內容不同的明文,使得它們的hash 值一致(發生沖突)。
加密過程如圖所示
非對稱加密
在聊到非對稱加密之前,我們先聊聊什么是對稱加密,以便于我們更好理解非對稱加密。
對稱加密是指加密和解密使用同一個密碼,通過相關證件密鑰可找回,此項過程是可逆的。
對稱加密過程圖示
而非對稱加密,使用公鑰對信息進行加密,解密信息卻只能使用私鑰,私鑰可以生成公鑰,而公鑰是無法推導出私鑰,此項過程是不可逆的。若私鑰一經丟失密文信息無法找回。與對稱加密相比,其安全系數更高,其缺點是加密和解密花費時間長、速度較慢。
非對稱加密圖示
加密是如何實現的呢
用戶(發送方)通過哈希函數對想要加密信息進行哈希處理,輸出一個全網唯一、固定長度字符串信息,同時利用公鑰對信息進行簽名加密并上傳到區塊鏈網絡。
接收方則利用接收到的公鑰對信息進行解密處理,若對比明文一致,那么接收方就能確認傳輸的文件并未受到篡改,是安全可信的,即可進行下一步處理。
區塊鏈加密圖示
目前,在區塊鏈信息保護中,需同時使用哈希算法和非對稱加密完成信息加密工作,相信隨著科技進步,未來基于密碼學加密技術將不斷被挖掘完善,造福大眾。