FPGA support
Description
hashcat offloads bcrypt to an FPGA through the assimilation bridge. The board computes the hashes and hashcat keeps generating the candidates, applying the rules and comparing the results:
$ hashcat -m 75000 hashes.txt wordlist.txt
Select mode 75000 yourself. It is left out of autodetect because it shares the $2*$ hash format with mode 3200, so a bare hash file goes to 3200 and the normal backend.
What it needs
Linux. The bridge builds elsewhere and then reports that the build has no FPGA transport. The PCIe boards need the LitePCIe kernel driver, which exists for Linux, and the USB boards are reached through the Linux USB interface. WSL2 cannot pass a PCIe card through, so it does not help either.
A supported board, each with its own setup: Alveo U50, ZC706, YPCB-00338-1P1, Enigma X1, ZTEX 1.15y, ZTEX 2.13 and Arty Z7-20.
hashcat's own bitstream for that board. This is why a board bought for mining is of no use: it is programmed for one algorithm and does no candidate generation.
An ordinary compute device as well. The FPGA hashes but does not generate candidates, so a machine with no OpenCL, CUDA or HIP platform cannot run a bridged mode. It does not have to be a GPU. A CPU OpenCL runtime is enough and the load on it is light.
Mode 79000 runs the same bridge against a simulated fleet, which is how you exercise the path without hardware.
Full documentation
docs/hashcat-fpga-setup.md has the per-board steps, where to get the bitstreams, how to check them against
manifest.json, and what each failure the bridge reports means. It ships in the release folder under
docs/.