Provable-Security
披露用於計算其他機密的機密雜湊時的安全性
在我的應用程序中,我正在生成一個大隨機數並發布它的 SHA256 雜湊。在它發布的雜湊(但不是秘密)之後,任何人都可以送出任何數字,系統將計算並向他們呈現一個數字的 SHA256 雜湊,該數字是通過在我的系統的秘密數字(SHA256( A+B))。如果沒有密碼,該操作的結果不應該是可猜測的。
我想知道這種方法是否有任何我應該擔心的安全問題,例如隨機數是否具有一定的長度,這會使結果可以猜測嗎?或者這種方法在密碼學上是安全的嗎?
安全問題是該操作的結果在沒有密碼的情況下是可以猜測的,因為該答案的後半部分解釋了為什麼它也適用於 SHA-256。
(還, $ : $ SHA256(A+"") = SHA256(A) $ : $ .)
隨機數應該足夠長,以使蠻力非常不可行。
如果是,並且您發布 HMAC(A,"") 並向它們呈現 HMAC(A,B) 的值, 那麼對於非空字元串 B
,這些操作的結果不應該是可猜測的。