An Implementation of ThreeWay (3-Way) cipher using PIC16F84
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
. 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



