這兩種做法之間的區別在於加密貨幣是可逆的,而散列則不是。
如果我們關注加密貨幣的世界,我們一定會看到這兩個術語是如何互換使用的。
所以今天我們將在本文中看到散列和加密貨幣之間的區別,以便你更好地了解區塊鏈技術的工作原理以及這個非常有趣的加密貨幣世界的其他方面。
我們還將了解什麼是加SALT,因為在某些事物中,例如製作錢包,它也存在。
什麼是加密貨幣?
加密貨幣是一種以只有擁有正確密鑰的人才能解密和讀取信息的方式對信息進行加擾的做法。
這就是為什麼說它是雙向功能的原因。當我們加密貨幣某些東西時,我們的想法是以後可以讀取該信息。
這是加密貨幣和散列之間最重要的區別。
在對信息進行加密貨幣時,會使用一種稱為加密貨幣的方法,該算法以有序的方式遵循一系列明確定義的步驟。這用於加密貨幣和解密。
算法看似有些複雜,或者有難以理解的內涵,但實際卻只是一系列通常非常簡單的規則。
加密貨幣有很長的歷史。我們可以找到已有4,000 多年曆史的加密貨幣機制。這是因為它們是在墓壁中發現的。從那時起,有許多使用它的歷史例子。
古埃及使用了一種非常簡單的加密貨幣形式。 cesar 也是如此,他的加密貨幣是加密貨幣歷史上使用最廣泛的例子之一。
特別是,它使用了一種原始的移位加密貨幣系統,該系統通過向前計數字母表中指定數量的位置來改變字母。
這有一個非常重要的用途,可以防止任何攔截Cesar 發送的消息的人能夠理解它。
這種做法的歷史還在繼續,它是蘇格蘭女王瑪麗被斬首和一群陰謀者在他們的信息被截獲和破譯時被暗殺的罪魁禍首。
它是如何工作的?
讓我們用一個非常簡單的例子來看看加密貨幣是如何工作的。我們將使用Cesar 用來學習的加密貨幣。
這個想法是使用單字母滾動加密貨幣來加密貨幣一個句子,該加密貨幣簡單地將每個字母替換為另一個在它之前連續3 位的字母。
當然,現代加密貨幣比這更複雜,但其思想是了解這種做法的基礎知識,然後再去做更複雜的事情。
讓我們嘗試用這種機制加密貨幣這個網站的名稱。這是一個非常簡單的例子,沒有標點符號或空格,但如果有它們,我們也應該對它們進行編碼。
加密貨幣學
加密貨幣看起來像這樣:
外科醫生
如果有人知道我們加密貨幣消息的方式,他們可以輕鬆地反向執行該過程並獲取信息。
在這種情況下,它非常簡單,截獲消息的人很容易發現我們試圖隱藏的內容。出於這個原因,目前還有其他更先進的機制用於不同的目的。
現代加密貨幣
談到現代加密貨幣算法,我們不能停止談論私鑰和公鑰。在我們這個時代,加密貨幣的兩個非常重要的組成部分。
我們上面看到的例子使用了一個私鑰,我們必須與另一個人通信,以便他們可以解密消息。在我們的例子中,選擇前面3 個位置的字母。
私鑰非常重要,因為任何擁有它的人都可以使用它來破壞信息。因此,必須以任何方式將其傳達給另一方,無論是數字的還是物理的,都是一個非常大的失敗點。
目前,由於計算機和互聯網,我們可以使用公鑰加密貨幣術,這是該領域的一大進步。
使用將要接收消息的人的公鑰,我們可以對消息進行加密貨幣,以便只有私鑰與公鑰匹配的人才能閱讀。
這可以在SSL 技術中找到。在這裡,信息被加密貨幣並發送到服務器,服務器擁有執行解密的私鑰。一個我們看不到的過程,但是當我們瀏覽像這樣的安全網絡時,它從後面運行。
這項技術也存在於加密貨幣中,當我們發送交易時,這些只能由擁有相應私鑰的人使用。
目前,最常見的加密貨幣形式是:
非對稱加密貨幣:在用於加密貨幣的公鑰和用於解密的私鑰的示例中,我們看到加密貨幣只有一種方式。信息從發送方傳輸到接收方的位置。對稱加密貨幣:這裡每個部分都有一個可以用來加密貨幣和解密的密鑰。這非常適合建立雙方安全發送和接收信息的通信渠道。
在這兩個示例之間,非對稱加密貨幣通常更安全。這是由於其單向性質。而這正是比特幣等加密貨幣所使用的。
什麼是哈希?
散列是使用算法將任何大小的信息映射到固定大小之一的做法。這個結果就是所謂的哈希值。
加密貨幣是一種雙向函數,而散列是一種單向函數。雖然在技術上可以逆轉散列,但所需的計算能力使其不切實際。
雖然加密貨幣旨在在信息傳輸過程中保護信息,但散列是驗證文件或信息未被更改的方法,它是真實的。
它的操作允許,無論我們在函數中引入什麼信息,結果總是具有相同的長度。
例如,如果我們使用SHA-256,輸出將始終是256 位哈希,通常表示為64 個十六進製字符。
每個哈希值都是唯一的。如果兩個不同的文件產生相同的散列,則稱為衝突並導致算法變得無用。
讓我們看一個散列示例,以更好地了解此問題的工作原理。
假設我們想要對軟件進行數字簽名並允許任何人從我們的網站下載它。為了實現這一點,我們將創建我們簽名的腳本或可執行文件的哈希值。
因此,當用戶下載軟件時,他們可以驗證他們下載的內容產生的哈希值與我們在網絡上提供的哈希值相同。
如果它們相同,我們知道文件在下載過程中沒有被更改。但是,如果它們不同,則該軟件不再相同,並且已被有意或無意地修改過。
什麼是SALT漬?
Salting 是一個通常與加密貨幣散列相關聯的概念。本質上,它是一個唯一的值,可以添加到加密貨幣的末尾以創建新的哈希值。
在加SALT中,這種附加值被稱為SALT(salt,西班牙語)。
這為散列過程增加了額外的安全層,尤其是針對蠻力。
蠻力是一種攻擊,其中一台計算機或一組計算機嘗試所有可能的字符組合,直到找到加密貨幣。
這個想法是在加密貨幣的末尾添加SALT會使散列更難破解。讓我們看一個例子來理解它。
如果我們有這樣的加密貨幣:
1X5ZDKG93JDNFFS8
如果我們添加一個帶有SALT 一詞的SALT,我們會在生成哈希之前執行此操作:
1X5ZDKG93JDNFFS8SALT
因此,我們獲得了一個完全不同的哈希,與我們在沒有單詞SALT 或我們選擇的任何其他詞的情況下獲得的哈希完全不同。
就是當我們使用散列函數時,任何變化,無論多麼微小,都會產生完全不同的結果。
現在,如果攻擊者知道哈希值,他可以進行大量測試以嘗試找到正確的加密貨幣,但是由於他不知道SALT,因此找到正確的加密貨幣並不重要,因為它永遠不會給他相同的加密貨幣哈希。
在散列和檢查之前,你必須知道SALT 並將其添加到每個加密貨幣中。
有什麼區別?
加密貨幣是一種雙向或單向功能。我們加密貨幣信息是為了以後能夠解密。
因此,當重要的是另一方可以通過解密來使用它時,我們使用加密貨幣。就像我們發送交易並賦予該方權力以便它可以使用加密貨幣一樣。
當我們創建一個散列時,我們對隱藏信息不感興趣,但是如果有人擁有相同的信息,並通過相同的去中心化算法傳遞它,他們應該得到相同的結果。這使我們能夠驗證信息在此過程中沒有被更改或修改。
散列非常適合創建工作證明,我們必須在其中證明一定的努力。但與此同時,第三方必須能夠證實我們已經做出了努力,而無需再次經歷整個過程。這就是為什麼在挖礦中使用散列。
歸根結底,不同之處在於散列無法逆轉,我們不關心是否可以逆轉,而加密貨幣可以。
概括
加密貨幣是一種雙向功能,其中信息的編碼方式可以在以後解密。散列是一種單向函數,其中信息具有預設長度。散列主要用於身份驗證。 Salting 是散列中的一個額外步驟,通常與加密貨幣散列相關聯,其中一個額外的值被添加到加密貨幣的末尾以更改它產生的散列。
資訊來源:由0x資訊編譯自CRIPTOTARIO。版權歸作者Criptotario所有,未經許可,不得轉載