CUDA libraries for encryption


Is there any library support in CUDA for doing encryption and decryption like AES, DES etc.
Thank You

M. Awais

I don’t know of any, but I developed DES, RC5 and XXTEA for my master’s thesis. I plan to release it after I defend.
I don’t know how much of use will it be though - my code isn’t “clean” at all (and I don’t plan spending any time on cleaning it) and you have to understand all that stuff anyway to be able to use it.

How does it compare to the dedicated encryption chips that are integrated into motherboards and even processors these days? Most encryption algorithms aren’t really heavy operations.
The problem I see is that, no matter how fast it’s implemented in CUDA, the throughput is limited by the PCI express bus. So there will be little benefit of the high parallel computation power of the GPU.

Edit: of course, if it’s one step in a pipelined process executed fully on the GPU, I an understand the desire for a library like this.

For many encryption algorithms, CPU are bound to the 200MB/s - 500MB/s range. As PCI-Express 2.0 cards could easily move more than 3500MB/s (forth and back), PCI-express won’t limit it. Moreover for these kind of algorithm, GPU are particularly efficent, a $100 video card running faster than 4-core CPU.

The main interest, as for Virus detection by GPU, calculating hash, encryption of DATA, calculating Reed-Solomon code on GPU (for software RAID-6), is that there’s no load on the CPU itself, meaning that you could add real-time encryption on a fast RAID system or VPN Tunneling on high-end Firewall without needing an expensive CPU or a big multi-cpu system!

PS: I use pfSense on firewalls that are at 100% CPU use around 800Mb/s (100MB/s), on Core2 Duo 2x2.4Ghz, and would have liked to off-load the firewalling to GPU to be able to use 10Gbps links and less firewalls (1 or 2 instead 10), for example. A simple tasks, as for encryption, that seems “resolved” but at some point when you need juice, you have to stack servers!

Well, when you need THAT amount of juice I honestly recommend FPGAs ;)
Still, my 13x speedup with RC5 on GeForce 9650M GT compared to Core 2 Duo on the same laptop is helpful - think of full disk encryption.

Yes that is useful. How much for a 9650M GT or a PCI-express 9500GT (that is comparable) ? And how much for a FPGA specialized card that won’t sell much?

Clearly, GPGPU + specialized software is a winning combination!

Is anyone compared speed of GPU (like GTX 470) and FPGA (like Xylinx Spartan-6 LX45) in genereating rainbow tables?