Как использовать CNG (или набор инструкций с поддержкой AES-NI) в .NET?

I В настоящее время выполняется большое количество операций шифрования / дешифрования текста в C # с использованием AES.

В чисто программной системе для дешифрования большого количества наборов данных может потребоваться значительная нагрузка процессора и приличное количество времени. Я знаю, что Intel выпустила свой набор инструкций AES-NI, а AMD - аналогичный.

Я использую .NET 4.0, я знаю, что среда Windows CNG использует эти наборы инструкций, но не похоже, что AesManaged в мире .NET делает то же самое.

Существует фантастический проект « CLR Security », который делает шлюз от .NET 3.5 до Windows CNG, однако он не поддерживался в течение года, и я бы предпочел не (если возможно ) прыгнуть на умирающий проект.

В.NET 4, но, похоже, нет соответствующей документации, чтобы собрать из нее рабочую расшифровку для AES.

Есть ли у кого-нибудь опыт работы с этой темой, и они могли бы указать мне правильное направление о том, как реализовать AES-NI в чистой среде .NET, используя готовые классы, без необходимости выполнять p / invoke непосредственно из C #? (Было бы хорошо, если бы это делал класс-оболочка, пока он поддерживается).

17
задан user2864740 11 October 2014 в 20:40
поделиться