MSDN link提供对具体AES类的引用:
但是,AesCryptoServiceProvider适用于较旧的计算机,而AesManaged未通过FIPS认证。所以唯一的选择是AesCng。 AesCng有一个名为Mode的属性,它只接受:CBC,ECB,OFB,CFB,CTS但没有GCM 。
答案 0 :(得分:2)
这个答案反映了上述卢克·帕克(Luke Park),巴顿·斯密(Bartonjs),蒂莫(Timo)和a·马丁·波德维斯(Maarten Bodewes)的评论。
一种选择是使用Bouncycastle C# library,它具有自己的AES自我实现以及GCM模式。查看类GCMBlockCipher,AesEngine和AEADParameters的源代码。
另一种选择是使用P / Invoke手动调用BCryptEncrypt。
最后,请注意,.NET Core从3.0开始将提供支持。来源已在github中提供。