Движок OpenSSL для CUDA в Windows

Как я могу добавить некоторые новые функции в OpenSSL API, чтобы использовать GPU для некоторых криптографических алгоритмов (AES, RSA и т. д.), написанных мной? Я хотел бы, например, использовать команду openssl -engine cuda_engine genrsa -out rsa.key 1024 и OpenSSL, чтобы использовать мой код genrsa CUDA вместо исходного кода. Я должен упомянуть, что я хочу сделать это на Windows 7 SP1, 64-бит. Даже фиктивное решение было бы полезно, потому что мне нужно понять механизм.


person Dani Grosu    schedule 14.01.2016    source источник


Ответы (1)


Вот пара подробных статей, написанных разработчиком OpenSSL о создании движка.

Урок 1 : Минимум бесполезный движок

Урок 2 : пример механизма MD5

Я бы также рекомендовал просмотреть движки, которые находятся в дереве исходного кода OpenSSL.

Вам нужно только перекомпилировать openssl, если у вас не включена поддержка динамического движка. Дополнительная информация OpenSSL Wiki

Для приложения/библиотеки openssl добавьте в openssl.cnf.

openssl_conf = openssl_def

[openssl_def]
engines = engines_section

[engines_section]
silly = silly_section

[silly_section]
engine_id = silly
dynamic_path = /home/workingdir/silly_engine.dll
init = 0
person x64architecture    schedule 15.01.2016
comment
Хорошо, тогда. Как я могу добавить этот движок в файл конфигурации и нужно ли мне перекомпилировать OpenSSL? Спасибо - person Dani Grosu; 15.01.2016
comment
Вторая проблема: я не могу создать файл dll в Visual Studio 2012: Error 1 error C2373: 'bind' : redefinition; different type modifiers - person Dani Grosu; 16.01.2016
comment
Используйте другое имя для функции привязки, например. engbind. - person x64architecture; 16.01.2016