ATI’s Stream 2.0 performance…

You should check out ATI’s Stream 2.0 driver stack if you own a compatible GPU and happen to be able to jump through all the hoops required to get it working. My HD4850 did around 8.000 PMKs/s on Stream 1.4 (aka Brook+) and now does around 17.000 PMKs/s on Stream 2.0 (OpenCL).

Finally there is a benefit to ruin your system-installation with ATIs broken driver packages…


Huge performance improvement

I’ve just submitted code to svn that brings a long-awaited feature to 0.2.5: Using SSE2 to compute the Key Confirmation Key and the Message Integrity Code when attacking a EAPOL-handshake. Long story short: The commands attack_cowpatty and attack_db (aka “cracking the password via precomputed tables“) are MUCH faster than before. Using Pyrit 0.2.5-svn r208, my MacBook Pro 2×2.5Ghz and a precomputed database I got around 300.000 keys per second. With r209 I get around 1.000.000 keys per second; we are more than 3x as fast as before.

I’ve also fixed a stupid performance regression and improved the performance of the storage-backend. All in all you should see some flying wheels with r209.

New functions in svn

Two new cli-functions have found their way into svn recently:

  • import_unique_passwords
    Let’s you add passwords from a file-like source just like ‘import_passwords‘ but skips the whole ‘uniqueness-checking’. While this command provides a much better (and constant) performance, you can easily poison your database with multiple entries of the same password. Use this command if you have a large source of passwords where you know that every entry is guaranteed to be unique.
  • relay
    This command improves Pyrit’s network-functionality by serving a local or foreign storage-source via RPC. It enables you to have multiple network-clients of Pyrit work on the same storage, without letting each of the clients access that storage directly. You can have network-based access to storage source that don’t provide network-access on their own (like file:// and sqlite://) or hide a mysql-database behind a firewall and let multiple clients access that database only via Pyrit’s RPC-interface.
    The port 17934 must be open for TCP-connections for this function to work.

    For example:

    The server on (where all the data is):
    pyrit -u sqlite:////var/local/pyrit.db relay

    A client on another host (with the big GPU):
    pyrit -u batch

OpenCL supersedes Stream

Please note that “cpyrit-stream” will be removed from trunk and is no longer supported. ATI now provides a “stable” (in ATI-terms) OpenCL-driver that is supported through “cpyrit-opencl”

Favourites of 2009

Favourite Hack: Analysis of DECT implementation flaws and attacks against DECT-Standard-Cipher
DECT (Digital Enhanced Cordless Telecommunications) is a standard for cordless phones. The goal of is to better understand DECT and its security and to create an Open Source implementation of the DECT standard.

Favourite release: Fedora 12
Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute. (

Favourite music-album: Cryptik Howling – Them

  • RSS Unknown Feed

    • An error has occurred; the feed is probably down. Try again later.