Optimal Datapath Design for a Cryptographic Processor: The Blowfish Algorithm
Keywords:
Digital design, Cryptography, Data encryption, Pipelining, Programmable logic, Feistel network, AddersAbstract
BLOWFISH is a fast cryptographic software algorithm, using the operations of addition, XOR and look-up tables. This paper reports on the design of a hardware implementation for greater speed, with pipelining and different bit-widths of registers and processing units. An 8-bit parallel data-path gives the best performance, mapping into 4 independent 8-bit modules, with a throughput at least 4 times greater than with 32-bit hardware. The design is suitable for implementation using small amounts of RAM and programmable logic.

