密碼學/普通使用者的期望
草稿
密碼學 透過各種微妙的方式影響著我們每天的生活。密碼學在您透過電話線傳送信用卡號時保護您的信用卡號,它保護您的銀行卡密碼不被未經授權的訪問,它也保護密碼不被未經授權的訪問。作為一個社會,我們對計算機的日常生活的依賴程度越來越高。現在,您的健康歷史、駕駛記錄和財務資訊可能都已計算機化。網際網路是一個相當不受控制的媒體,任何被允許訪問網際網路的東西都容易受到駭客或其他不法之徒的未經授權的訪問,因此必須受到保護。
您可能已經熟悉一種保護形式,即密碼。這是一個只有您和可信方才知道的秘密短語。為了向可信方(銀行或醫生辦公室中包含您資訊的站點)進行身份驗證,您會提供密碼。如果有一張寫著密碼的紙張放在櫃檯上(或者只是以純文字形式放在計算機上)來驗證每個客戶的身份,那將很不安全。解決方案是以加密雜湊的形式出現,通常是 Argon2。可信方會儲存您密碼的雜湊值,而不是純文字版本。如果有人盜取了您密碼的雜湊版本(假設所述辦公室使用了加鹽和安全的雜湊演算法),那麼它對他們幾乎沒有用。當您提供密碼時,辦公室會計算其雜湊值,並將該雜湊值與他們記錄中的雜湊值進行比較。由於雜湊的特性之一是它不會發生衝突(即對於任何給定的輸入,只有一個唯一的輸出,該輸出不等於任何其他輸入。當然,沒有固定長度的雜湊可以完全符合對無限長度輸入的要求;大多數密碼介於 8 到 14 個字元之間,因此對於我們的目的,MD5 就足夠了)如果兩個雜湊值相同,那麼密文也相同,因此使用者已透過身份驗證。此過程幾乎每次您在計算機上輸入密碼時都會進行(這就是為什麼大多數情況下您可以選擇重置密碼而不是檢索密碼,因為 Argon2 是單向雜湊。存在雙向加密“雜湊”,[需要引用]但我不會在這裡討論它們)。
即使我們知道理論上存在衝突,加密雜湊 - 即使是 MD5 - 也是為了使實際找到會產生與您的密碼相同的雜湊值的價值變得不可行。[1]