I’ve changed the way Pyrit stores handshake information internally: The previous version basically tried every possible combinations, the latest svn-revision uses very efficient data-structures from the beginning. This cuts the the time to parse a specially crafted file with hundreds of handshakes from almost four minutes to around two seconds.
Pyrit also now shoots down every and all example-handshakes I’m currently aware of, usually with the first handshake-combination it tries.
In another news: The default workunit size can now be configured with the key ‘workunit_size‘ in Pyrit’s configuration file (usually ~/.pyrit/config). The default size has also been raised to 50,000 passwords. This increases memory footprint while importing passwords but reduces I/O overhead later on. People with 4gb of RAM and fast hardware might want to set this to a value of 100,000 or 150,000.
Please note that the default workunit size only comes to effect while populating a database with passwords (import_password / import_unique_passwords) and changing the key’s value in Pyrit’s configuration file has no effect on existing databases.