These types are currently not supported by the MS Fakes framework.
Another way to find the unsupported types are, in your .fakes file add Diagnostic = true For example.
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic ="true">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
UPDATED
Note that you just can't Fake everything. That also means you just can't Shim everything either. MS has decided not to Shim some system classes because of some Design Considerations. There is no definite list that MS has provided because the types can be Fake'd based on the combination of user's .NET versions and targeted .NET frameworks. For example, in .NET 4, some members in System.Security, types in System.Threading Fakes won't get generated so as Shims.
You can try overriding this behaviour, for example adding the following xml to the .Fakes file
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic ="true">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
<ShimGeneration>
<Add FullName="System.Security.Cryptography"/>
</ShimGeneration>
</Fakes>
The above would produce the same warnings which I have provided in my answer above. This means they are not supported.
But as I said before, it is a combination of .NET version and the target framework. If you can change targeted .NET frameowork, for instance .NET 2, still using the mscorlib version 4.0.0.0, you see the Shim get generated for RNGCryptoServiceProvider.
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true" TargetFrameworkVersion="2.0.0.0">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
<ShimGeneration>
<Clear/>
<Add FullName="System.Security.Cryptography"/>
</ShimGeneration>
</Fakes>
The same is applied to RandomNumberGenerator.