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
ThreeWay (3-Way) cipher Simulator