2013-01-24 70 views
4

我將通過使用OpenCL並行化加密/解密過程。我可以從OpenCL內核調用C庫函數嗎?

爲此,我只想使用現有的openSSL加密庫函數,而不是像AES,DES那樣創建自己的算法。

所以我打算從OpenCL內核調用openSSL加密函數。 您能否澄清我的疑問,可以嗎?

+0

@ nouveau:看起來有人寫了[OpenCL實現](http://www.itekia.com/blog/archive/2013/10/15/librsa-detail-sur-limplementation-de-librsa#body -錨)。你應該發送一封電子郵件到info @ itekia dot com來獲取它。 – user2284570

回答

6

不,您被限制在內核級別上定義的內置函數和函數。如果您將主機和設備視爲兩個單獨的實體,而這些實體只能通過命令隊列及其關聯的調用進行通信,則這會立即清除(對於GPU)。

+0

請注意,OpenSSL中的大多數低級加密代碼可以準備好移植到GPU上,但只需稍作修改,問題是如何圍繞大規模並行體系結構重新設計API(原始OpenSSL init/update/final模型在這方面)。 – Thomas

+0

我同意你的看法,OpenSSL的數字處理代碼可以移植到GPU架構上,但這不是OP要求的。 – matthias

+0

我並不是在回答你的問題(可以這麼說),事實上,我贊成它,我只是給OP閱讀這個答案時添加了一個輔助說明,因爲在被告知「你不能在GPU上調用X」之後的邏輯反應,將會是「我自己如何在GPU上實現X」,並且關於密碼學,最好儘可能重用現有的代碼。 – Thomas

相關問題