I В настоящее время выполняю большое количество шифрования / дешифрования текста в c # с использованием AES.
При использовании чисто программной системы может потребоваться довольно много времени на процессор для приличного количества наборов данных, которые необходимо расшифровать. Я знаю, что Intel выпустила свой набор инструкций AES-NI, а AMD - аналогичное.
Я использую .NET 4.0, я знаю, что Windows CNG Framework использует эти наборы инструкций, но не похоже, что AesManaged
в мире .NET делает то же самое.
Существует фантастический проект " CLR Security ", который делает шлюз из .NET 3.5 в Windows CNG, однако он не поддерживался в течение года, и я бы предпочел этого не делать (если это возможно) Запрыгнуть на умирающий проект.
В .NET 4 есть класс CNGProvider, но, похоже, нет достаточной документации, чтобы собрать воедино рабочую расшифровку из него для AES.
Кто-нибудь имеет опыт работы с темой, которую он мог бы указать мне в правильном направлении о том, как реализовать AES-NI в чистой среде .NET, используя готовые классы, без необходимости выполнять p / invoke непосредственно из c #? (Было бы хорошо, если бы это делал класс-оболочка, если он поддерживается).