Software

Password cracking, the new use for high speed GPUs

nvidia_logo-thumb A technique for cracking computer passwords using inexpensive off-the-shelf computer graphics hardware is causing a stir in the computer security community.

It may not be the most popular thing to consider, but high-end graphics cards contain a very powerful internal computing engine, called the GPU.  This massively parallel device can attack a problem in parallel, rather than serial as most CPUs are required to process data.  This means it can compute many hundreds of simultaneous calculations.  This is actually how 3D graphics cards get their high-speed gaming abilities.  Still, a new use has been found for this robust computing engine:  password cracking.


Elcomsoft, based out of Moscow, has filed a patent for using a GPU to crack passwords.  The company has demonstrated that by using a high-end NVIDIA-based GeForce 8800 Ultra (about $620), the company was able to increase its password cracking prowess by a factor of 25.  Even using $150 GPU cards greatly decreased comput time.  This means that whereas it might’ve taken 25 days previously to brute-force crack a password, the exact same machine with only a single 8800 Ultra could do it in a day.  This trend allows for passwords which could’ve taken two years previously to now be broken in only two weeks with only two cards running at 100%.  And one week with four on two machines.

Today’s high-end graphics cards carry with them about 500 Gigaflops of computing power per GPU.  Modern day link technology, like NVIDIA’s SLI or ATI’s CrossFire, allow for two or three of these cards to be linked together to increase computing capacity to over 1.5 teraflops.  To put that number in perspective, the entire theoretical computational capacity of National Center for Supercomputing Applications (NCSA) in Urbana, Illinois, is 163 teraflops, though the actual real-world number is only about 96 teraflops.  Their most powerful machine is capable of only 60 teraflops.  To put this in perspective, for a cash outlay of less than $70,000, a person could equip themselves with enough high-end graphics cards to compute at a sustained rate in excess of 90 teraflops.  Of course this would only be on certain tasks, but it is possible.

The advantages of the massively parallel GPU are now available as a generic computing library.  Anyone with a NVIDIA graphics card and, currently only, Linux operating system, can write code which will utilize the GPU for non-graphical data processing.  This means the computation is not sent to the graphics card signal output, but rather to main memory. 

The end result is a software resource which can be integrated into normal software programming by an average developer.  The parallel computing abilities of the GPU are exposed to the developer through normal API calls.  The CUDA or CTM libraries handle the dispatch and return, and all a programmer has to worry about is feeding it the right data in the right order.  For more information, visit NVIDIA’s CUDA website, as one resource.

View: Full Story
Tags: , ,

Leave a comment

Name:

eMail:

Website:

Comment: