Hmac

MAC/HMAC公共知識中是否使用了密碼函式?

  • June 19, 2017

我想將密碼摘要儲存在包含如何生成摘要資訊的結構中;將連接這三個值:

  1. {Name} 用於計算 HMAC 的散列函式(例如 SHA256)
  2. {Salt} - 隨機 32 字節的密鑰數據
  3. {Digest} - 從 {Salt} 和加密函式 {Name} 派生的摘要

作為分隔符,我想使用“$”(U+0024,DOLLAR SIGN)並將其編碼為 Base64,這個編碼值我想儲存在數據庫中。

像這樣的東西:

SHA256${...salt data...}${...digest data...}

儲存散列函式名稱的原因是因為向後/向前兼容性(身份驗證)。

問題- 此結構中有關散列函式的資訊是否存在安全漏洞?散列函式是公共知識嗎?

此結構中有關散列函式的資訊是安全漏洞嗎?散列函式是公共知識嗎?

根據Kerckhoffs 的原則,攻擊者可以了解系統的所有資訊,除了密鑰,包括算法本身。香農將此表述為“敵人知道系統”。

假設系統尊重 Kerckhoffs 的原則,那麼您的問題實際上是安全分析中的一個假設。但這取決於對所討論的實際系統進行了何種分析。

如果我們只關注任何常用的、最先進的加密函式(例如 SHA256)的使用,那麼這不是問題:算法本身的知識不是漏洞。安全性基於密鑰是秘密的,僅此而已。

引用自:https://crypto.stackexchange.com/questions/48452