基于SHA512的具有HMAC功能的FIPS验证应用程序?

hob*_*eau 4 c# fips hmac

我正在构建一个FIPS验证的应用程序,并在我的计算机上打开FIPS模式.我需要HMAC功能,希望基于SHA512.我知道HMAC SHA1功能是经过FIPS验证的,但我有一个散列函数SHA512CryptoServiceProvider,它经过FIPS验证,我知道FIPS实际上允许使用SHA512.在C#中是否有与FIPS验证的HMAC SHA512类似的HMAC功能?

dtb*_*dtb 7

有一个HMACSHA512类,但它内部使用SHA512Managed Class,未经FIPS认证.

您可以尝试基于SHA512CryptoServiceProvider类创建自己HMACSHA512类:

public class MyHMACSHA512 : HMAC
{
    public MyHMACSHA512(byte[] key)
    {
        HashName = "System.Security.Cryptography.SHA512CryptoServiceProvider";
        HashSizeValue = 512;
        BlockSizeValue = 128;
        Key = key;
    }
}
Run Code Online (Sandbox Code Playgroud)