NSA@home

> Overview

> Hardware

> FPGA design

> Software

> Web interface

NSA@home is a fast FPGA-based SHA-1 and MD5 bruteforce cracker. It is capable of searching the full 8-character keyspace (from a 64-character set) in about a day in the current configuration for 800 hashes concurrently, using about 240W of power. This performance is equivalent to over 1500 Athlon FX-60 CPUs, which would take about 250kW.

The cracker is built out of surplus Grass Valley HD video transform boards, scrapped by GV because of defects. A useful tool was developed to assist the board reverse-engineering effort.

The chip design consists of a pattern generator, a hash algorithm and a lookup engine in each FPGA. The FPGAs are connected to smaller "switch FPGAs", which distribute data to and gather results from them. Those switches link to each other and ultimately to an USB port (which had to be added).

A dedicated PC box communicates with the boards through an USB hub. The software running on it post-processes hit indications from the FPGA boards and prepares inputs for them.

A web interface to the cracker will be available and will accept a small number of submissions after the system is fully on-line.

As a thank-you for your interest, here's the map of all accesses to this site (click it for a better view):

The idea for this map is from an XKCD comic. You can get my tool that draws it here.