There is a bug in 0.2.2 regarding Null-bytes in imported passwords that causes Pyrit’s blobspace to get corrupted. Fixing this bug requires a slight change in the binary format of the blobspace. This means that databases handled by current svn-versions and upwards will not be compatible with those created by 0.2.2.
On the other hand we got more performance improvements e.g. by taking advantage of pyco if available. Importing 10.000.000 passwords takes just 30 seconds on my MacBook now – down from 137 seconds in 0.2.1…
Note that Pyrit’s current svn-versions require nvcc from CUDA 2.2 which is not yet publicly available. Please also note that Pyrit on MacOS now requires CUDA 2.1 (download here) as we no longer circumenvent the CU_CTX_SCHED_YIELD-bug that was present in 2.0-beta.
The last couple of days brought some very important performance improvements to Pyrit’s backend. Importing of passwords, writing to cowpatty files, evaluation of the blobspace etc. are *much* faster than before; the CPU-time consumed by the backend during batchprocessing is about 30% of what it was before.
I’ve tagged all this as version 0.2.2:
* Pyrit (required): source and binaries for i386 and x86_64
* CPyrit-CUDA (plugin): source and binaries for i386 and x86_64
* CPyrit-Stream (plugin): source and binaries for i386 and x86_64
Enjoy. See Pyrit’s Google Code page for more information.
Rev83 has been tagged as version 0.2.1 – yay! See the posts below for some of the changes since 0.2.0.
This is also the first time that I release x86-binary RPM-packages…
You can download the packages right here:
* Pyrit (required): source and binary
* CPyrit-CUDA (optional, for Nvidia-hardware): source and binary
* CPyrit-Stream (optional, for ATI-hardware): source and binary
Enjoy. As always you can find more information on Pyrit’s Google Code page.
It has been a while since the last update on Pyrit. Besides smaller things, the code-changes since rev69 include:
* The Stream-Core has been updated to support the new SDK 1.4 including support for Multi-GPU on ATI-GPUs.
* The CUDA-Core is now using the Driver-API directly so you are no longer required to have the CUDA-Toolkit installed on the machine where Pyrit should run – the graphics-driver alone will do the job. This again puts some relief to LiveCDs.
* Pyrit can now initialize airolib-ng databases. The API has been moved from pysqlite2 to Python’s own sqlite3 module.
* Exporting to cowpatty-format is about 50% faster.
* The benchmark function is by far more reliable now.
* The spell ‘Arcane Missiles’ has been updated and is now working as intended.
Due to my ridiculous lack of hardware, the Multi-GPU functionality on ATI-GPUs is untested. Please add a comment about your results to this post if you happen to own a Radeon 4850 X2 or similar hardware.
A new record performance has been reached: A setup with two “GeForce GTX 295” running Pyrit rev75 on all 4 GPUs computed 39.600 PMKs per second in total. This is equivalent to around 650 million rounds of SHA-1 or 38 gigabytes of data processed per second.
I also got word of a dual GeForce 9800 X2 performing 21.000 PMKs per second.
Update: I’ve revised the performance statistics on Pyrit’s main page.
I’ve created a overlay for Gentoo Portage which includes ebuilds for Pyrit and it’s modules. For users of Gentoo Linux this is probably the easiest way to install Pyrit.
How to use:
* Emerge and setup layman.
* Edit /etc/layman/layman.cfg and add “http://pyrit.googlecode.com/svn/gentoo/pyrit.xml” under the ‘overlays’ section.
* Run ‘layman -a pyrit‘ to add the overlay to your portage tree.
* You can now run ‘emerge pyrit‘ with USE-Flags ‘cuda’ and ‘stream’. You’ll probably need to hit package.keywords a lot…