Skip to main content

A full Python implementation of the WPA2 encryption algorithm, using no encryption libraries.

Project description


wpa2slow is a full Python implementation of the WPA2 encryption algorithm, using no encryption libraries.

Project goals

This project grew out of the FPGA implementation of WPA2 [here](, as a platform for regression testing and experimentation.

WPA2 requires three or four different algorithms to calculate a final password, depending on how you count them.

There is a fair amount of discussion on these functions in [this]( category of my site.

The entire goal was to have intermediate steps of the algorithms to compare with the VHDL implementation. Perhaps this will be useful to someone else.


Hash speed of my general purpose computer; 2,000 keys / second

Hash speed of a Raspberry Pi 1: 45 keys / second

Hash speed of this project: 0.25 keys / second

Sounds great! How can I get started?

You should be able to use pip install wpa2slow and it will magically work. Alternatively, clone this repo, and then from this directory, type pip install .

Check for examples and test cases.

Can read and parse capture files in [hccap]( format, outputting the required inputs.

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wpa2slow, version 0.4
Filename, size File type Python version Upload date Hashes
Filename, size wpa2slow-0.4-py27-none-any.whl (24.4 kB) File type Wheel Python version py27 Upload date Hashes View
Filename, size wpa2slow-0.4.tar.gz (29.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page