Я могу использовать GPU, чтобы сделать Шифрование AES от.NET? Если так, как?

Можно попытаться использовать Инструмент Знака Microsoft

, Вы загружаете его как часть Windows SDK для Windows Server 2008 и.NET 3.5. После того, как загруженный можно использовать его из командной строки как так:

signtool подписывают/a MyFile.exe

, Это подписывает единственный исполняемый файл, с помощью "лучшего сертификата", доступного. (Если у Вас не будет сертификата, это покажет сообщение об ошибке SignTool.)

Или можно попробовать:

signtool signwizard

Это запустит мастер, который обойдет Вас посредством подписания Вашего приложения. (Эта опция не доступна после Windows SDK 7.0.)

, Если требуется овладеть сертификатом, который можно использовать для тестирования процесса подписания исполняемого файла, можно использовать инструмент.NET Makecert.

Инструмент Создания Сертификата (Makecert.exe)

, Как только Вы создали свой собственный сертификат и использовали его для подписания исполняемого файла, необходимо будет вручную добавить его как Доверяемый Корень CA для машины для контроль учётных записей , чтобы сказать пользователю, выполняющему его, что это от надежного источника. Важный . Установка сертификата, поскольку КОРНЕВОЙ CA подвергнет опасности Вашу пользовательскую конфиденциальность. Посмотрите, что произошло с DELL. можно найти больше информации для выполнения этого и в коде и через Windows в:

, Надо надеяться, который предоставляет еще некоторую информацию для любого пытающегося сделать это!

7
задан Cheeso 3 August 2009 в 18:12
поделиться

4 ответа

Вы можете использовать библиотеку Microsoft Accelerator . Это дает вам доступ к графическому процессору через .NET.

После изучения работы, которая требуется больше, это довольно нетривиальная вещь (если вам не нравится переписывать алгоритмы AES). Однако это возможно.

Могут быть и другие API C #, но я обнаружил Bouncy Castle API . Что вам нужно сделать, так это взять Microsoft Accelerator API и использовать его везде, где в исходном коде алгоритма AES выполняется математическая операция.

4
ответ дан 7 December 2019 в 03:18
поделиться

Я предлагаю создать управляемую оболочку вокруг реализации CUDA / (c ++ / cli) ИЛИ с использованием cuda.net для выполнения всего , кроме самого ядра в C #. На самом деле нет способа реализовать фактическую реализацию ядра на языке высокого уровня, с CUDA вам нужно использовать c, с opengl / directx вам нужно использовать шейдеры. Для начала загляните на cuda.net или загрузите CUDA SDK и примеры, чтобы получить представление о программировании gpgpu.

3
ответ дан 7 December 2019 в 03:18
поделиться

Другой вариант - Брахма (кажется, что веб-сайт не работает).

Веб-сайт Цитата:

Что такое Брахма?

Брахма есть библиотека с открытым исходным кодом, написанная для платформы .NET 3.5 (на C # 3.0), чтобы обеспечить высокоуровневый доступ к параллельным потоковым вычислениям на различных процессорах. Обратите внимание: в то время как в настоящее время у Brahma есть поставщик графических процессоров (и его фокус - GPGPU), его можно адаптировать для работы на любом процессоре.

Что я могу делать с Brahma?

Brahma 2.0 использует C # 3.0. новый синтаксис LINQ для определения потокового преобразования данных. Используя Brahma, вы можете смешивать операторы, выполняемые на графическом процессоре, и операторы, выполняемые на процессоре, в одном методе! Абсолютно не требуя связующего кода, сложные многопроходные вычисления на графическом процессоре с промежуточными операциями процессора могут быть выполнены с помощью всего нескольких строк кода. Весь требуемый код клея и шейдера автоматически генерируется Брахмой. Все, что вам нужно сделать, это написать высокоуровневый код .NET.

Я не использовал его, но я только недавно слушал подкаст об этом на скалах .NET. Звучит как хорошая библиотека, если вы этого не сделаете.

2
ответ дан 7 December 2019 в 03:18
поделиться

Что бы вы ни использовали для интеграции C # с графическим процессором, вы должны использовать реализацию AES CUDA. Они самые быстрые. Самая быстрая реализация выглядит так, как будто она исходит от тех же ребят, с которыми вы связались - Trinity group . Посмотрите статью «Практическая криптография с симметричным ключом на современном графическом оборудовании».

0
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: