第一個雜湊是什麼,它應該解決什麼問題?
今天的雜湊有很多用途。文件完整性、在不洩露秘密(即密碼)的情況下驗證秘密、散列圖、布隆過濾器,以及可能不會立即想到的更多情況。Caeser Cipher 和 Vigenere Cipher 最初都是用鉛筆和紙完成的,遠早於我們今天所知道的電腦存在。
我很好奇,我們知道的第一個雜湊是什麼,它試圖解決什麼問題?
克努特,TAOCP,卷。3、6.4 狀態(關於非加密散列):
“散列的想法似乎是由 HP Luhn 提出的,他在 1953 年 1 月寫了一份 IBM 內部備忘錄,建議使用連結;事實上,他的建議是連結線性列表的最早應用之一。”
康海姆最近出版了一本名為“電腦科學中的雜湊”的書,該書側重於非密碼雜湊函式的數學和歷史,但僅考慮了 1973 年後的密碼雜湊函式。
Gustavus Simmons 在桑迪亞實驗室從事身份驗證程式碼工作多年,我在他的書中查找了一些歷史,但在 1970 年之前沒有任何關於密碼校驗和的內容。
CRC 類型的線性校驗和
$$ not strong cryptographically $$概念上可以追溯到糾錯碼。CRC 是 Peterson 在 1961 年特別提出的。 **編輯:(**感謝@SamuelNeves)在 1978 年佐治亞理工學院電腦科學學院 OSP 研究報告中,題為“安全計算的基礎”,可以在這裡找到,Rabin 明確討論,來自 p。157 起,加密散列函式及其在數字簽名中的使用。一年後,Merkle 發明了用於散列的 Merkle 樹。
IFFs 是一種身份驗證機制,自 40 年代起用於軍事信號,但更類似於挑戰響應協議。
克勞德·香農 (Claude Shannon) 在他的戰爭年代的“保密系統理論”中,解密後於 1949 年出版,專門將保密作為一個目標。
Sol Golomb 指出,Jevons (1874) 已經預見到分解的難度,並討論了一種身份驗證如何工作,方法是排除不符合輸出的一組數字的消息。請參閱此處和下面的螢幕截圖。
第二個片段是指不合規語句的連續刪除,幾乎是對身份驗證的算法描述。