Enigma Railway is one of simple type of Enigma variants. It has 3 types of rotor and one type of reflector and it has no steckerboard at all. You may only alter those three rotor positions, rotor offsets, and ring setting. You will find that Enigma Railway is a good place to start learning How enigma machine works. Yeah, because it was quite simple and straightforward :p .
I also wrote a program to emulate Enigma Railway Cipher based on PIC16F84. It was written and simulated using MPLAB 8.0 and it works the same as specification. The screenshots are shown below.
Enigma Railway Plain Text

Enigma Railway Cipher Text

I splitted the source code into two versions. Version 1.0 comes without “Germany Keyboard Permutation” and version 2.x comes with Germany Keyboard Permutation (A mapped to Q, B mapped to W and so on). I verified and tested this source code against several test vector. I simulated my code and compared the result with Enigma Railway Simulator and guess what! Both of them were showing the same results
.
I hope this post will inspire you guys to write better code for Enigma Railway emulator based on PIC16F84. Next time i’ll try to code another Enigma which is more complicated. Have a nice day and happy coding
.
RELATED STUFF
Download:
Basic Enigma Railway (without Keyboard Permutation) | v1.0 | v1.1 | v1.2
Advanced Enigma Railway (with Keyboard Permutation) | v2.0
PIC16F84 Datasheet
Mid-Range Reference Manual
MPLAB v8.0
Enigma Railway Simulator
Reference:
Enigma Machine
Enigma Rotor Details
Crypt Analysis of Enigma



