在c#中System.Security.Cryptography.RNGCryptoServiceProvider类中使用的算法是什么?

问题描述:

可能这是一个愚蠢的问题,但它是重要的,因为我处于技术审计和基于知识的问题中。在c#中System.Security.Cryptography.RNGCryptoServiceProvider类中使用的算法是什么?

我在看C#4.0(它使用.net framework 4.0)代码,并想知道在Microsoft的System.Security.Cryptography.RNGCryptoServiceProvider类的GetBytes方法实现中使用了什么算法。

强度可能是提供的字节缓冲区的数量,但我很困惑,无法找到RNGCryptoServiceProvider是否使用特定的众所周知的算法或专有的Microsoft。

我认为问题很简单,我非常喜欢看一个答案,它告诉记录的算法或信息的名称,不管它是否是其专有的Microsoft。

+0

不确定算法的含义。该实现使用来自OS的许多软熵源来提供随机数。 – Jeff

+0

算法的名称,如果它是公开记录的(或者像skip鱼一样熟悉的东西等)或加密标准。如果它是专有的,那么它至少在公有领域中可能没有名称。 – Lin

+0

没有特定的加密算法与您所询问的方法相关联。它可以用来生成任何这些算法的关键材料。 – Jeff

以下是详细介绍CryptGenRandom中使用的方法的信息。

https://en.m.wikipedia.org/wiki/CryptGenRandom