Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I exploit GPU to do AES encryption from .NET? If so, how?

Interesting paper from Trinity College of Dublin:
AES Encryption Implementation and Analysis on Commodity Graphics Processing Units

Their technique uses openGL to enlist the GPU to do the numeric transforms required by AES.

How difficult would it be to expose this capability - performing stream encryption - via a managed .NET library?

How would I get started? Hints? Examples?

EDIT: Anyone have experiences to relate using CUDA or Accelerator?

like image 730
Cheeso Avatar asked Aug 03 '09 12:08

Cheeso


1 Answers

You could use Microsoft's Accelerator library. It gives you access to the GPU through .NET.

After looking into the work required more, this is a pretty non-trivial thing to do (unless you like re-writing AES algorithms). It is possible however.

There may be other C# API's out there, but one I came across was Bouncy Castle API. What you would have to do is take Microsoft's Accelerator API and use it anywhere a math operation is performed within the source code of the AES algorithm.

like image 169
Dan Herbert Avatar answered Oct 06 '22 23:10

Dan Herbert