Poly-Alphabetic Cipher Machine
Intro: Poly-Alphabetic Cipher Machine
This is one of my coolest inventions. It's a poly-alphabetic cipher machine made out of Lego’s. It is a type of mechanical encoding device that is reminiscent of the Enigma Encoding Machine used by the Germans during WWII. I didn’t have any kind of instructions or aid, and as far as I’m aware this is the first device of its kind made out of Legos. The machine isn’t all that complicated, as its beauty lies in its simplicity. It uses a mechanical gearbox with one gearing variable that alternates the rotational direction of the encoding wheel after every letter is encoded. In essence, each subsequent letter uses a different alphabet to encode the message, hence the term poly-alphabetic. This makes the resulting message immune to many different tactics of decoding. Code breaking procedures like letter frequency analysis, simply will not work. In fact, the only way to decode the message, without using an identically built machine, is to develop a complex computer algorithm and slowly sift through the approximately 1.626x10^53 possible combinations. The overwhelming amount of possibilities combined with the difficulty of finding the proper function to decode the message makes this code nearly impossible to break.
The machine has two reels, each with 27 characters. The left reel is marked with the 26 letters of the English alphabet and a slot for inserting a space. The right wheel is marked with the numbers 1-27. Both reels can list their their respective characters in any order. The total amount of cominations is reached by taking the possible character configurations of each wheel, 26! (26 factorial), and multiplying it by itself since the machine has two reels. Since this is built out of Lego’s, and only has a limited number of parts to be built out of, the gears don’t always line up perfectly when you switch modes, and they have a little slack in them as well. However, I’ve reinforced the model as much as possible to reduce the error while encoding. The machine currently has an accuracy of approximately ±1/54 of a rotation. As long as care is taken while operating the machine, errors will be kept nonexistent.
The machine has two reels, each with 27 characters. The left reel is marked with the 26 letters of the English alphabet and a slot for inserting a space. The right wheel is marked with the numbers 1-27. Both reels can list their their respective characters in any order. The total amount of cominations is reached by taking the possible character configurations of each wheel, 26! (26 factorial), and multiplying it by itself since the machine has two reels. Since this is built out of Lego’s, and only has a limited number of parts to be built out of, the gears don’t always line up perfectly when you switch modes, and they have a little slack in them as well. However, I’ve reinforced the model as much as possible to reduce the error while encoding. The machine currently has an accuracy of approximately ±1/54 of a rotation. As long as care is taken while operating the machine, errors will be kept nonexistent.
The machine is operated in a very simple manner. To encode a message, you insert the black knob on top of the machine into the hole by the left reel. Then you set the machine to its starting position. You do this by moving the grey axel on the front until the gears are in the neutral position. Next, the reels should be rotated so that it reads A on the left and a number (1-27) on the right. Then you make a box on your coding paper and put the starting number in it. Then push in the grey axel on the front to engage the reels with the single gear. Then rotate the black knob until the letter on the left reel is the letter that you want to encode, write the corresponding number down on the code sheet. Then put the grey axel out all of the way to engage the double gears. Turn the knob again to find the corresponding number for the next letter to be encoded, then rinse and repeat. Continue working in this fashion until the entire message has been encoded. To decode a message, simply switch knob to the right, put the gears in neutral, set the proper starting position, push the grey axel in to engage the single gear, and start decoding in the same way that the message was encoded.
39 Comments
jdege 14 years ago
"This makes the resulting message immune to many different tactics of decoding. Code breaking procedures like letter frequency analysis, simply will not work."
This statement is not:
"In fact, the only way to decode the message, without using an identically built machine, is to develop a complex computer algorithm and slowly sift through the approximately 1.626x10^53 possible combinations."
JohnS1294 3 years ago
twzoom 14 years ago
Thanks for checking out my machine, but could you please point out my inaccuracy in the above statement so I can fix it if needed.
jdege 14 years ago
Ciphertext-only Cryptanalysis of Enigma, by James J. Gillogly:
http://members.fortunecity.com/jpeschel/gillog1.htm
twzoom 14 years ago
I haven't studied cryptanalysis, but you do have a good point. However I would like to point out that the number of variations is gotten by changing the order of the characters on the wheels. I may be wrong, but it seems the Enigma Machine's variations came from switching the rotors and altering the layout of the plugs. Decoding my machine might take a different technique. In fact, I'm going to put a few examples of codes made with this machine, and I'll include at least one that isn't decoded, why don't you see if you can decode it using the methods you described. How long would you want the message to be? (hopefully not too long, as coding on this machine can be very time consuming) :)
jdege 14 years ago
I don't claim to be any sort of expert. But I am looking forward to a detailed description of how the machine is built - and to seeing some sample texts.
Might I suggest that you include at least one sample with plaintext, ciphertext, and key? If I have time to look into this (and I'm not promising anything, there's a lot on my plate), I'd probably try to emulate the machine in software, and I'd need at one set of test data to ensure that the software worked.
Saturn V 13 years ago
JohnS1294 3 years ago
twzoom 13 years ago
Saturn V 13 years ago
twzoom 13 years ago
Saturn V 13 years ago
mathew.bailey.79 9 years ago
How about modifying a casino slot machine into a cipher machine that also uses reels? The old mechanical & even the electromechanical casino slots would probably not do unless otherwise,but you could try a casino slot machine of the kind that has the reels driven by stepper motors,which casinos currently use. For example you could modify an old or used IGT S Plus slot machine into a cipher meachine. The are other brands of slot machines of the stepper reel kind(Aristocrat,WMS,Bally for example.)
_soapy_ 9 years ago
If you see this, please paste up a sample message. We could all try and crack it!
(Make it a decent length so we've got something to work on.)
Looks great though. Nice work.
jtorres38 10 years ago
Nevertheless, the machine is one of the coolest Lego structures I've ever seen in my life, as cool as a natural sized Lego Darth Vader I've seen in Brasìlia and Ville de Québec.
twzoom 10 years ago
Thanks for the compliment, Legos can be used to make some pretty cool things, and they're even reusable. I've never had the heart to scrap this machine for parts though.
Jorbs3210 13 years ago
twzoom 14 years ago
I_am_Canadian 14 years ago
Thats really flippin cool.
Oops...
I mean,
AMAZING
Seriously, thats a fantastic bit of engineering. Great work man!
shadowninja31 14 years ago