Password-Hashing

密碼散列函式的記憶體使用預設值的行業標準建議?

  • November 29, 2020

我一直在尋找關於這個主題的關於記憶硬密碼散列的任何研究。老實說,我傾向於簡單地預設不施加額外的成本,但我真的很想知道行業標準建議可能是什麼。

如果是針對單個使用者工作負載(例如,用於加密/私鑰冷儲存、本地登錄的密鑰派生密碼):在任何目標平台上探索不太可能導致磁碟分頁或等效(包括記憶體壓縮)的最大的,劃分2 以防萬一,並向下舍入到最接近的可參數化大小。

對於伺服器工作負載,人們希望舒適地適應最大的快速記憶體(例如,如果存在 L3,或 L2)以節省能源和 CPU 功率;因此:取那個記憶體大小,除以共享它的執行緒的物理數量(通常是物理 CPU 數量的兩倍,很少更多),除以 2 以便留下一些記憶體,然後向下舍入到最接近的可參數化大小。對於多執行緒密碼散列,假設一些參數化或鎖定確保密碼散列的執行緒數永遠不會超過物理執行緒數。

如果我不得不在不知道上下文的情況下拋出一個合理的數字,我會將其設置為 128kiB,以免在功能方面出錯(以不在許多平台上使用 DRAM 為代價,從而使安全性降低)。我不認為這是一個行業標準。

選擇更少的原因:避免在更多平台上變得無法忍受的緩慢和精力充沛。

選擇更多的理由:增加攻擊者的投資和一定程度的運營成本。

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