The Hardware Side of Cryptography

12 May 2008

An Implementation of ThreeWay (3-Way) cipher using PIC16F84

Filed under: encryption — Tags: , , , , — edipermadi @ 9:45 am

ThreeWay (3-Way) cipher is a block cipher that has been developed by Joan Daemen. This cipher has 96-bits length of block and key. This cipher does not employ feistel network at all. The design of this cipher was intended for efficient hardware and software implementation. This cipher is not patented, feel free to use this cipher :) .

If you look further, this cipher consists of 11 rounds of processes. Most of the process is about XORs, circular shifts and several fundamental boolean operation such NOTs and ORs. In addition, this cipher does not employ substitution table, hence it can easily implemented in various microcontroller without worrying about memory consuming issues.

ThreeWay (3-Way) cipher also run well on PICmicro’s microcontroller from microchip. This post will demonstrate you how to implement ThreeWay (3-Way) cipher on PIC16F84 microcontroller. If you are pretty curious, you may extend the algorithm to derive the boolean function for hardware implementation using combinational logic flatform.

The benchmarking result shown that each iteration of encrypting process takes 4112 cycles and 299 words of program memory, not too bad :D . Well, the screenshot is shown below.

The screenshot of ThreeWay (3-Way) cipher benchmarking result

RELATED STUFF

Download:
Source Code v1.0
PIC16F84 Datasheet
Mid-Range Reference Manual
MPLAB v8.0

Reference
ThreeWay (3-Way) cipher
Joan Daemen

Official Website:
- Microchip

Simulator:
ThreeWay (3-Way) cipher Simulator

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

Blog at WordPress.com.