使用Hash函數和MAC產生僞隨機數

基於Hash函數的PRNG算法

  流程很是相似於對稱密碼的CTR工做模式安全

  

  算法的僞碼以下函數

    m = ⌈n/outlen⌉spa

    data = Vblog

    W = the null Stringit

    for i = 1 to m密碼

      wi = H(data)im

      W = W || wid3

      data = (data + 1) mod 2seedlen數據

    return leftmost n bits of W

  說明:

    V是種子,seedlen爲V的長度,n是須要的輸出位數,H是Hash函數

  對於諸如SHA-2等強密碼學Hash算法,目前尚未發現基於Hash方案的PRNG的已知或可疑缺陷。SP800-90標準對V提供了週期性地更新。

 

基於MAC的PRNG

  基於MAC的PRNG幾乎都是HMAC構造的。與基於Hash的方案相比,其劣勢是執行時間會增大一倍,由於HMAC對於每一個輸出塊都要執行兩次Hash函數運算。可是HMAC方案的優點是能夠提供更高的安全性。

  

 

  對基於MAC的方案,須要兩個輸入:密鑰K和種子V,對於每一個輸出分組的密鑰都是相同的,而每一個分組的輸入數據都等於前一分組的MAC值。爲了增長安全性,SP800-90標準提供了對K和V的週期性更新。

相關文章
相關標籤/搜索