PuffAdder

Blowfish + Python

Introduction

PuffAdder is a python implementation of the Blowfish encryption algorithm created by Bruce Schneier.

Blowfish is a block cipher alogrithm, created by Bruce Schneier. Blowfish was created to be:

To find out more about Blowfish and encryption in general; Bruce Schneier's Applied Cryptography is one of the best reference books on the subject.

Blowfish is a non patented encryption alogrithm. Bruce Schneier has placed some code that implements the Blowfish algorithm in the public domain: Schneier's Blowfish Download Page.

PuffAdder uses the Blowfish algorithm, with some extra bits tagged on.

Audience

People just getting interested in cryptography, will probably derive the most value from this site.

PuffAdder was not written for performance optimization, it was written to understand how encryption works, in particular the Blowfish block cipher.

There are some data tables, which I imagine some will find useful, as opposed to typing them in by hand.

The code is supplied as is, with no warranty as to usability or correctness. PuffAdder passes the tests as outlined by Bruce Schneier for Blowfish, to the best of my knowledge, but if you are going to use this code as a base in a commercial product or to protect anything valuable, the responsiblility of verifying the veracity of the code is the user's or implementor's own.

Sections

The Source Code page contains the source of Puff Adder along with a commentary.

The Download page contains the licence of usage along with a link to download the PuffAdder.py file.

Links