AITD小課堂第十二課:哈希算法是什麼?非對稱加密是什麼?

2020-12-10 騰訊網

哈希算法是什麼?

區塊鏈的四大核心技術分別是密碼學、分布式帳本、共識機制以及智能合約。而密碼學作為其中最重要的一部分,可以說是區塊鏈的基石,而其他技術是以密碼學為地基,才能搭建出區塊鏈這座高樓大廈。

區塊鏈主要應用的密碼學算法有兩個部分:一個哈希算法,另一個是非對稱加密。

簡單來說,哈希算法就是一種特殊的函數,不論輸入多長的一串字符,只要通過這個函數都可以得到一個固定長度的輸出值,這就好像身份證號碼一樣,永遠都是十八位而且全國唯一。哈希算法的輸出值就叫做哈希值。

哈希算法有三個特點,它們賦予了區塊鏈不可篡改、匿名等特性,並保證了整個區塊鏈體系的完整。第一個特點是具有單向性。比如輸入一串數據,通過哈希算法可以獲得一個哈希值,但是通過這個哈希值是沒有辦法反推回來得到輸入的那串數據的。這就是單向性,也正是基於這一點,區塊鏈才有效保護了我們信息的安全性。

哈希算法的第二個特點是抗篡改能力,對於任意一個輸入,哪怕是很小的改動,其哈希值的變化也會非常大。它的這個特性,在區塊與區塊的連接中就起到了關鍵性的作用。區塊鏈的每個區塊都會以上一個區塊的哈希值作為標示,除非有人能夠破解整條鏈上的所有哈希值,否則數據一旦記錄在鏈上,就不可能進行篡改。

哈希算法的第三個特點就是抗碰撞能力。所謂碰撞,就是輸入兩個不同的數據,最後得到了一個相同的輸入。就跟我們逛街時撞衫一樣,而坑碰撞就是大部分的輸入都能得到一個獨一無二的輸出。在區塊鏈的世界中,任何一筆交易或者帳戶的地址都是完全依託於哈希算法生產的。這也就保證了交易或者帳戶地址在區塊鏈網絡中的唯一性。

無論這筆轉帳轉了多少錢,轉給了多少個人,在區塊鏈這個大帳本中都是唯一的存在。它就像人體體內的白細胞,不僅區塊鏈的每個部分都離不開它,而且它還賦予了區塊鏈種種特點,保護著整個區塊鏈體系的安全。

那什麼是非對稱加密呢?

簡單來說,非對稱加密就是用來對內容進行加密的一種特殊方法,我們日常生活中總用到的鑰匙跟鎖,其中開門用的鑰匙,在密碼學中就被稱之為「密鑰」。而像這種單獨只有一個密鑰,既用於加密有用於解密的方式被稱為對稱加密。

而所謂的非對稱加密就是加密時會產生兩個密鑰,最核心的被稱為私鑰,它是由用戶自己保管的,另一個會被公開出來,叫做公鑰。

它們有個特點,私鑰加密的內容通過公鑰可以解密讀取出來,反之通過公鑰加密的內容,也可以由私鑰解密讀取出來。這就好像雙胞胎的心靈感應一樣,非對稱加密的區塊鏈中的主要用途並不是為了保護內容的隱私性,而是為了防止身份被冒充。

當我們在區塊鏈網絡上進行了一筆交易時,我沒有辦法確定交易的是不是你本人,這個時候就可以讓你的私鑰加密一段內容作為數字籤名發過來,然後我通過已經公開的公鑰進行破解。因為私鑰只有你本人保留,如果我能用與之對應的公鑰成功破解,說明是你本人在進行交易操作。如果不能破解,則說明是別人盜用了你的身份。以此就解決了「我是我」以及"這是我在交易"的問題。

總的來說,密碼學是區塊鏈網絡中最基礎的存在,它不僅保護了整個網絡的安全,更解決了很多交易中的證明問題。

或許隨著量子計算等新技術的出現,有人會質疑它的安全。但要知道,密碼學也在隨時代而進步,要是真的到了量子計算商用的那一天,區塊鏈的密碼學也一定會隨著時代的發展變得更加安全。

相關焦點

  • 非對稱加密算法——RSA加密原理及數學推導
    一、  RSA是什麼?看到標題的第一瞬間,先想一下,RSA是什麼呢?百度百科是這麼說的:RSA是一種非對稱的加密機制。是一種公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種「由已知加密密鑰推導出解密密鑰在計算上是不可行的」密碼體制。
  • 神奇的非對稱加密
    區塊鏈技術運用的密碼學算法主要為兩個部分:一是哈希算法,二是非對稱加密算法。 哈希算法在之前的文章《人人都能讀懂的比特幣挖礦原理》中有詳細的講解,感興趣的朋友可以查看之前的文章。 那什麼是非對稱加密呢? 了解一個事物,首先了解它的「敵人」——對稱加密。
  • 加密算法科普:des、aes加密、對稱、非對稱加密、Hash算法都是啥
    什麼是對稱密碼算法網絡安全通信中要用到兩類密碼算法,加密一般分為對稱加密(Symmetric Key Encryption)和非對稱加密(Asymmetric Key Encryption)。對稱密碼算法有時又叫傳統密碼算法、秘密密鑰算法或單密鑰算法,非對稱密碼算法也叫公開密鑰密碼算法或雙密鑰算法。對稱密碼算法的加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數對稱算法中,加密解密密鑰是相同的。它要求發送者和接收者在安全通信之前,商定一個密鑰。對稱算法的安全性依賴於密鑰,洩漏密鑰就意味著任何人都能對消息進行加密解密。只要通信需要保密,密鑰就必須保密。
  • 區塊鏈小知識第(8)話:非對稱加密的相關名詞介紹II
    今天,Bianews將為大家帶來區塊鏈小知識第(8)話:非對稱加密的相關名詞介紹II1、環籤名/ Ring Signatures因籤名中參數 Ci(i=1,2,...,n)根據一定的規則首尾相接組成環狀而得名。
  • 一文讀懂對稱加密算法、非對稱加密算法和Hash算法
    一、簡述常見的加密算法可以分成三類,對稱加密算法,非對稱加密算法和Hash算法。對稱加密指加密和解密使用相同密鑰的加密算法。對稱加密算法的優點在於加解密的高速度和使用長密鑰時的難破解性。我們應該根據自己的使用特點來確定,由於非對稱加密算法的運行速度比對稱加密算法的速度慢很多,當我們需要加密大量的數據時,建議採用對稱加密算法,提高加解密速度。對稱加密算法不能實現籤名,因此籤名只能非對稱算法。由於對稱加密算法的密鑰管理是一個複雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密算法。
  • 非對稱加密與安全證書看這一篇就懂了
    HMAC 算法的輸入為一個密鑰(通信雙方共享)、一種哈希算法(常為經典哈希算法)和原始數據,輸出的內容格式取決於所採用的哈希算法。由於只有通信雙方知曉密鑰,所以可確認信息就是由對方發出。可逆加密哈希算法可保證通信中的數據不被篡改,而可逆加密算法是還原出明文的關鍵。
  • 對稱加密與非對稱加密
    正好借著這篇文章來說一說。對稱加密與非對稱加密首先我們先來說一下到底什麼是對稱加密,什麼是非對稱加密,這一節主要是用一些例子來介紹一下對稱加密和非對稱加密是什麼,如果你已經了解了,可以跳過本節。對稱加密高中生小明和小紅是一對「地下情侶」,可偏偏他們一個坐在教室前,一個坐在教室後,所以晚自習的時候也只能通過紙條傳情。
  • 非對稱加密——RSA
    導語 : 本文為「小玄同學講安全」系列文章第五篇,主要介紹的是非對稱加密。
  • 什麼是哈希算法
    加密哈希跟普通哈希的區別就是安全性,一般原則是只要一種哈希算法出現過碰撞,就會不被推薦成為加密哈希了,只有安全度高的哈希算法才能用作加密哈希。同時加密哈希其實也能當普通哈希來用,Git 版本控制工具就是用 SHA-1 這個加密哈希算法來做完整性校驗的。一般來講越安全的哈希算法,處理速度也就越慢,所以並不是所有的場合都適合用加密哈希來替代普通哈希。
  • 為什麼非對稱加密比對稱加密慢?
    這個問題是一個讀者面試時遇到的一個問題,準備過面試的人應該都記得,非對稱加密與對稱加密的區別之一就是非對稱加密的速度慢,但是我們做業務開發的時候通常都是直接調用算法
  • 聊聊對稱/非對稱加密在HTTPS中的使用
    對稱/非對稱加密算法能夠避免信息竊取,而消息摘要算法能夠避免信息篡改。對稱加密算法發送方和接收方需要持有同一把密鑰,發送消息和接收消息均使用該密鑰。相對於非對稱加密,對稱加密具有更高的加解密速度,但雙方都需要事先知道密鑰,密鑰在傳輸過程中可能會被竊取,因此安全性沒有非對稱加密高。
  • 小知識科普篇——關於加密算法
    常見加密算法(後附對比說明表)1、MD5算法MD5用的是哈希函數,它的典型應用是對一段信息產生信息摘要,以防止被篡改。嚴格來說,MD5不是一種加密算法而是摘要算法。無論是多長的輸入,MD5都會輸出長度為128bits的一個串(通常用16進位表示為32個字符)。
  • 對稱加密及AES加密算法
    2、對稱加密的工作過程 3、對稱加密的優點 4、對稱加密的兩大不足二、AES加密算法 1、什麼是AES加密算法及AES加密算法的形成過程 2、AES的加密流程(要理解AES的加密流程,會涉及到AES的五個關鍵詞:分組密碼體制、Padding、初始向量IV、密鑰、四種加密模式) 3、AES的加密原理(要理解AES的加密原理,會涉及到AES的四個關鍵詞:密鑰擴展、初始輪、重複輪、最終輪
  • 比特幣的加密本質: 哈希函數是什麼?
    什麼是哈希?  加密哈希函數是在數字數據上運行的數學運算。在比特幣中,所有操作都使用SHA256作為底層加密哈希函數。  安全哈希算法是由美國國家安全局(NSA)設計的一套加密哈希函數。  1)毫不含糊:哈希 (輸出)就像輸入數據的指紋。
  • 【非對稱加密】通俗易懂的解釋什麼是非對稱加密
    本期專題:非對稱加密本文原標題:如何用通俗易懂的話來解釋非對稱加密?怎麼給一個完全不懂密碼學的人講解什麼是非對稱(Asymmetric)/公鑰(Public Key)加密體制?本文中,作者試著用生活中的例子來講一講公鑰加密體制。
  • 理解數字籤名、加密通信的關鍵:哈希算法
    加密哈希跟普通哈希的區別就是安全性,一般原則是只要一種哈希算法出現過碰撞,就會不被推薦成為加密哈希了,只有安全度高的哈希算法才能用作加密哈希。  同時加密哈希其實也能當普通哈希來用,Git 版本控制工具就是用 SHA-1 這個加密哈希算法來做完整性校驗的。一般來講越安全的哈希算法,處理速度也就越慢,所以並不是所有的場合都適合用加密哈希來替代普通哈希。
  • 人們常說的哈希(Hash)到底是什麼?
    了解過區塊鏈的朋友,一定聽過「哈希」這一詞彙,然而對哈希的概念又極其的模糊,那麼哈希是什麼呢?Hash一般被翻譯成「散列」,也可直接音譯為「哈希」,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。
  • 比特幣交易運用的是哪種算法?有什麼特別的?
    比特幣交易運用的是哪種算法?有什麼特別的? 中億財經網8月7日訊,除了哈希算法以外,比特幣中還存在一種為交易加密的非對稱加密算法(橢圓曲線加密算法)。
  • JAVA實現非對稱加密
    一、概述非對稱加密算法概述,非對稱主要是相對於對稱加密算法而言的,對稱加密算法有一個密鑰和一個解鑰,非對稱算法有一個公鑰和一個私鑰,這兩個共同組成一個解鑰,才能實現解密。DH:密鑰交換算法,算是非對稱加密算法的起源。RSA:基於因子分解,應用最廣,RSA是可以雙向加密的,私鑰加密,公鑰解密;公鑰加密,私鑰解密,是目前世界上使用最廣的非對稱加密算法。ELGamal:基於離散對數。ECC:橢圓曲線加密。
  • 區塊鏈丨對稱加密算法
    在前面的文章中,有提到「對稱加密算法」,這是一種相對應用得比較早的加密算法之一,其技術也是比較成熟的。在執行對稱加密時,數據發出方將需要明文(之前的文章中有解釋)和加密密鑰一起輸入至加密算法中進行處理,使之變成更為複雜的加密密文,之後再將密文發布出去。