Tech Solvency / Passwords / ZTEX


The ZTEX 1.15y (quad FPGA) password-cracking mini-cluster

initial cluster

Back in 2014, I was very interested in descrypt as a password-hashing algorithm. I started looking for ways to increase my hashrate.

After I read about Positive Technologies cracking DES keys for SIM cards using old ZTEX 1.15y boards, I took a gamble that descrypt would not be far behind. While the original German boards and their US clones are now next to impossible to find on eBay, etc., in 2015 the Bitcoin migration from FPGA to ASIC was wrapping up, so a few people were still selling these boards. In January 2015, I lucked out on an eBay lot of ZTEXes in one fell swoop (and then picked up a few more elsewhere).

So I had the boards ... but no code to run on them. They sat in a box for almost two years - until November 2016, when descrypt(!) support for ZTEX 1.15y appeared in the community/"jumbo" version of John the Ripper! So I reactivated the project, and assembled the boards into a little homebrew cluster - powered by a Raspberry Pi.

I use the cluster as part of my password auditing services, for password-hashing competitions such as Crack Me If You Can, and for general password research.

None of this would be possible without Apingis' work on ZTEX support for the community/"jumbo" version of John the Ripper.

Hardware

Component type Component Comment Cost
Boards (15) ZTEX 1.15y clones Quad Xilinx Spartan-6 LX150 FPGA ~$70/board (a few didn't work) or about $1100
USB distribution hubs (3) AmazonBasics 7 Port USB 2.0 Hub with 5V/4A Power Adapter 500mAh minimum per board recommended to maintain consistent USB comms; USB2 is reportedly more stable than USB3 $19 x 3 = $57
USB cables (15) USB-to-Micro-USB (28AWG/1P + 26AWG/2C) $3.50 x 16 = $56
Power supply HP DPS-1200FB-1 A (1200W) Repurposed modular power supply for servers; available on eBay, Amazon, etc. and apparently popular with the cryptocurrency crowd ~$40
Power breakout board Older (X7) version of the ParallelMiner X7B 12 Port Chain Sync Breakout Board Has a small power switch on the board $35
Power connectors (5) 16AWG PCI-E power cables With one end reterminated using 16AWG (1.6mm) European-style bootlace ferrules (color-coded red in the German system - see ZTEX.de instructions) 3 boards/cable = 5 cables = $3.25 x 5 = $16
Power terminal blocks 5.08mm Angle 3way/pin Screw Terminal Block Connector Pluggable Green, 15mm wide, M2.5 screw (Amazon B00GNTSSU6) Only the terminal half was needed, but it's harder to buy just that half in bulk $20
Cooling single "box" fan The loud onboard fans are disabled, and the box fan is much quieter. JtR currently runs these boards much cooler for supported hashes than BTCminer does; my setup is not sufficient for Bitcoin mining! (and in theory, some algorithms have potential efficiency gains remaining - such that I might have to improve my thermal management later) $25
Cases (3) repurposed music CD shelves (acrylic) $15 x 3 = $45
Host system Pi 2 Model B Rev 1.1 kit (CanaKit) a21041 Embest (4xARMv7l r5 900MHz 1GB - 2015 Q1) + case, heatsinks, AC adapter, 32GB microSD $70
Total hardware cost:~$1466

Software

Raspbian logo John the Ripper logo

Performance / benchmarks / runs

References

Photos

Initial "proof of concept" cluster stack - all 15 good boards active:

initial cluster
initial cluster, better view of power/USB setup
close-up of a couple of boards, side view

< Back to Passwords