I have a question,and I hope that I am correct here. I want to use the AES-NI acceleration in a C# program. I did not find any good source about that and wanted to ask if this is possible and if there is any good source for information about that. Also I wanted to ask, which key sizes are supported by AES-NI?
Asked
Active
Viewed 2,109 times
4
-
1`AesCryptoServiceProvider` will use `AES-NI` on its own if availible – Benjamin Gruenbaum Mar 29 '13 at 10:06
-
In principle AES-NI can speed up all key-sizes. But I didn't look at this specific implementation. – CodesInChaos Mar 29 '13 at 10:08
-
http://en.wikipedia.org/wiki/AES_instruction_set#Libraries – Hans Passant Mar 29 '13 at 13:00
-
Perhaps I expressed myself a little bit wrong. My point is more not to use a library that uses AES-NI, but how I can use AES-NI direct in my code. – Simon Rühle Mar 29 '13 at 14:12
-
Check out this article for a C# implementation: https://software.intel.com/en-us/blogs/2013/09/18/utilizing-aes-new-instructions-aes-ni-in-a-windows-8-c-app – JamesRenaud Jun 26 '14 at 19:45
1 Answers
1
AesCryptoServiceProvider is supposed to use AES-NI (and similar instruction sets). This is not in the documentation but after multiple benchmarks I have noticed significant (156 mbps with, 34 mbps without) performance improvements on AES-NI machines. So I guess it's safe to assume AES-NI is used.

DividedByZero
- 4,333
- 2
- 19
- 33