Keynote SSTIC 2009 – Graphics card computing, cryptography and security
Presentation : Antoine Joux
Principle : use graphics card processors as a cryptographic accelerator.
The first implementations date back to 2006, but are not very effective.
Some time later, the gains proved impressive, and the value of this method became apparent.
Ultimately, the implementation is quite simple, especially for secret-key cryptography, where the performance gain is very significant (up to 20x)
On the other hand, for public key cryptography which requires more substantial calculations, the gain is 20 or 30%, which is not worth it at present, especially since data transfers must be taken into account.
As for cryptanalysis, it's different.
In particular, massive parallelization saves significant time without data transfer (as in the case of brute force). This therefore involves pure computing power, with mathematical formulas that apply perfectly to the parallelization of the cards.
Note that not all CPU optimizations are beneficial for a GPU. However, it's a good idea to optimize the code to maximize the use of basic arithmetic operations (XOR, etc.).
The performance can be really interesting, up to several tens of times faster, depending on the (well) implemented algorithms.
What is its main use?
– Password cracking is by far the most interesting activity at present, requiring essentially computing power and little data transfer.
– Recognizing virus signatures can also be an interesting activity (fast, and above all, hidden!)
– The point above also raises a question: Is the GPU a new host for viruses and parasites?
