Make Your Own Wallet-Sized Enigma (TM) - Like Machine: Food Living Outside Play Technology Workshop
Make Your Own Wallet-Sized Enigma (TM) - Like Machine: Food Living Outside Play Technology Workshop
Make Your Own Wallet-Sized Enigma (TM) - Like Machine: Food Living Outside Play Technology Workshop
Living
Outside
Play
Technology
Workshop
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
Image Notes 1. The wallet size enigma-machine: Side A. See how wonderfully tiny it is? I'll explain all the colours and stuff later on; they make it faster to use. 2. My business card. Notice that they were crazy enough to give me a PhD. That means I am a fully qualified Mad Scientist. 3. Me, plotting world domination, or something like that, anyway.
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
Image Notes 1. Reflection of screen when I used the enigma-like machine to hack into some fancy computer.
Image Notes 1. A 50mm/2" paper clip. This will help hold the rotors in place when you are turning them, so that only one turns at a time. 2. A blurry thumb tack; I hope yours is sharper *caugh*. Anyway, this is for poking the centre holes in each of the rotors. This is better than using the split pin to do this job, because it makes a round hold to begin with, which helps the rotors to stay aligned. More on that later.
File Downloads
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
pgs_wiring_sidea.pdf ((595x842) 90 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'pgs_wiring_sidea.pdf']
pgs_wiring_sideb.pdf ((595x842) 90 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'pgs_wiring_sideb.pdf']
Image Notes 1. The reflector. Notice the use of amazing "ink wires" to connect the edges. 2. This is the outer index wheel. 3. Rotor #1. 4. Rotor #2.
Image Notes 1. Laminated rotors. Notice I left lots of space around the rotors so that I could keep some clear laminate around them. (This picture was taken when the world was still moving from black and white to colour, and I hadn't re-done the PDF in colour. It isn't just Rubic's cubes that were hard when the world was black and white!) 2. Look! I cut one out already. See, it's not that hard!
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
Image Notes 1. The wallet size enigma-machine: Side A. See how wonderfully tiny it is? I'll explain all the colours and stuff later on; they make it faster to use. 2. My business card. Notice that they were crazy enough to give me a PhD. That means I am a fully qualified Mad Scientist. 3. Me, plotting world domination, or something like that, anyway.
Step 5: Okay, I've got this thing, and it looks cool and all, but how do I use it?
First, set the machine into your desired initial setting, which can be described with a 3 character sequence. In the first photo here, you can see that I have set it to "CAT". Then follow the process described in all the little boxes in the second photo. Note that in that photo I have set the rotors to position "AAA". Then, after enciphering each letter, you might want to advance the reflector one position. The third photo shows the setting changed to "AAB" by advancing the rotor one position. If you are enciphering long messages you would also want to advance the other rotors from time to time, but that is beyond the scope of this instructible. But if you are just using it to turn passwords into a two-factor system, then don't even bother advancing the reflector, as the message length will be very short, typically only 8 or so characters, and thus difficult to attack using frequency analysis. More to the point, if you are using it for passwords, then the cipher text will never be revealed to anyone, making frequency analysis VERY difficult. After a bit of practice I found that I could use this procedure to encipher or decipher (remember that this is a symetric cihper, so deciphering uses exactly the same process as enciphering) an 8 letter password in between 60 and 100 seconds. Okay, that's not real fast, but it is just using a cardboard code wheel, and it has not batteries to go flat, and can secure a virtually limitless number of passwords! But there is a faster way to use it, too...
Image Notes 1. The index (fat) notch on the outer wheel is lined up with C on the outer index ring. 2. The fat index notch on the middle rotor is lined up with "A" on the outside index ring.
Image Notes 1. (1) We want to encipher "L", so we start with that character on the outside index wheel. 2. (2) We move in to the outside of the first rotor, and then look for the character
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
3. The inner rotor is in position "T". 4. It's a bit hard to see, but if you look carefully, you can see how I have cut a V shape in the laminate on the outside of this (and the other two) rotors to make them easier to rotate using a finger nail. 5. Each symbol has the same coloured background in both rings on each rotor. Capital letters are also in bold to help reduce confusion. The colours on the rotors help you to find the characters you are looking for a bit quicker.
that occurs there, "z" in this case, in the inside ring of the outside rotor. 3. (3) Having found the same character, "z", on the inside ring of the rotor, we now move inwards to the next rotor. Use the colours to help make the search quicker. Also, the inner ring is in lexographical order, so after a bit of practice, you can work out which direction and roughly how far. 4. (4) We now move into the next rotor. "c" is directly towards the centre from "z" on the previous rotor, so that is where we start. Note that these two rotors don't exactly line up so well. This is due to the hole in the middle being a bit off-centre. This is why I said it was really important to get this right. But assuming you do have a similar problem, how do you work out which is the character directly in from the previous rotor? Is it "c" or "H"? The asnwer is to use the alternating colour of the ticks around the rotor. We know that we set the rotors to the "AAA" position, and that the grey ticks on the outer rotor line up (see the example box (A). Therefore, we can check which of the two candidate characters satisfies this criteria. (Note that if the rotors were set to, say, ABA, then the opposite would be true, and grey ticks would not coincide. Either way, it is possible to resolve these dilemmas.) We repeat the process as for (2), in looking for where "c" occurs on the inner ring of this rotor. 5. (A) Notice that with the rotors in the AAA position that the grey ticks of the two outer rings coincide? By noting this (or the opposite when it occurs), we are able to resolve ambiguous rotor transitions that can result due to off-centre rotors or general wear and tear. Refer to box (4) for a description of how this works. 6. (5) Okay, we have found the inner "c" on this rotor. The next step is to follow the corresponding reflector wire. The grey ticks can again be used to resolve ambiguous situations, as in box (4). The wires are also coloured to help follow wires that come close to others. In this case the reflector wire leads us to "L". (The wires follow smooth trajectories, so if the pin obscures part of the path, you can still be sure of where the wire goes at the other end.) 7. (6) Now we are on the way back out, so we do the reverse of steps (1) to (4), moving from the inner to outer ring of each rotor. But the outer ring of each rotor is in a scrambled order, so the searching is done a little differently. Again, the colours are helpful here. The colours are grouped in the outer ring, so by noting the colour of the character you are looking for you can narrow the search to onesixth of the ring. 8. (7) Here is the "L" on the outside of this rotor that matches the "L" from step (6). From here we move out to the next ring. 9. (8) "6" is the character on the outer rotor that corresponds to "L" on the previous rotor. Again, we now search for "6" on the outer ring of this rotor, using the colours to help speed our searching. 10. (9) Here it is! The "6" lines up with "i" on the index ring, and thus "K" enciphers to "i", and vice versa, since the machine implements a symetric cipher.
Image Notes 1. The outer rotor is in position "A". 2. The middle rotor is in position "A". 3. The reflector is in position "B".
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
Step 6: I'm too lazy to do all that, is there a faster way to use it?
Yes, there is, but it is nowhere near so secure, because it relies on the secrecy of the wiring, and trusting the systems where you put your password to not cooperate. The fast way is also not likely to meet the military and similar requirements for keeping passwords safe. In fact, the fast method is really only sensible if the wiring of the machine is secret to you, which it isn't if you are using the PDFs from this Instructible. However, I do intend to make a web site available some time that will let you generate your own randomly wired machine. That's the down side. The up side is that there is a quick and dirty way to get nice random-looking passwords out of the thing in about 5 to 10 seconds, which is faster than the electronic password keepers that I have used. Apart from being unexpectedly practical, it also looks really swish. You do it by setting the rotors to a 3 letter initial setting, as for the slow method. In the photo I have set it to CAT. Then, a fourth initialisation letter is used to pick a slice of the wiring to use as the password. In the example I have used "H", and thus a four letter initialisation of "CATH", which yields that password "afQhONMx". This method is handy, but leaks lots of information about the wiring of the maching. This can be helped by using only every other letter of the password, and doing it twice, i.e., using a total of 8 initialisation letters in two lots of 4 to obtain 4 password letters each time, and thus an 8 letter password over all. It is possible that this still leaks too much information, or is otherwise cryptographically weak, but I haven't got around to analysing it yet, except to realise that in this mode it is a simple static block substitution cipher. The only other analysis I have done is that it is FAST. I can pull a password out using this method in perhaps 10 seconds, which is comparable to the electronic password thing that I used to use that kept having flat batteries and broken buttons.
Image Notes 1. The first half of the "fast password" is gathered by reading in from the index ring to the reflector. Here it is "afQh". 2. The second half is obtained by reading out fro the other end of the reflector wire to the outside edge. In this case, "ONMx", and thus our entire password is "afQhONMx", a strong looking password by most standards. For stronger security, only the inner or outer letters of each rotor should be used (this prevents leaking wiring information about the rotor), thus yielding "aQNx". To get an 8 letter password you would need two four letter initialisation vectors instead of one. Thus the end result is much the same as the slow password method of enciphering 8 letters, but much, much faster, and less error prone.
Related Instructables
Make a James Bond Spy Car (w/ Weapons) and a Spy School Halloween Display by ThawedHead
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
Comments
27 comments Add Comment
DanNolan1337 says:
Apr 25, 2011. 1:55 PM REPLY Still no site to generate a code wheel? Aw man, any chance someone could mail me a customized (or the standard) PDF to [email protected], I need one to start storing random generated passwords for co-workers that dont need to be super secure. I just plan on using their initials to generate the initial setup and selecting the 4th letter randomly. Thanks in advance.
Foaly7 says:
I didn't get the centre hole very exact, but mine seems to be okay. I guess I'll figure it out when I use it.
Foaly7 says:
I'm not sure I managed to print mine to the proper size. I can always use my glasses for a magnifyer.
xiq says:
Hey Paul, This is all kinds of awesome :)
So, am I right in thinking that to make a new wiring, I would just need to reproduce the middle disk, with different pairs of points reflected? pix
gardners says:
Oct 21, 2010. 5:21 PM REPLY That is possible, but it is FAR better to replace all three rings. The letter rings effectively implement the same kind of wiring as the middle one, but it is just expressed in a different way. I really SHOULD get around to making the web page that will let people generate their own uniquely wired machines. In the mean time, if you would like your own wiring, just let me know and I can email you a PDF with your own special unique wiring. Paul.
xiq says:
I like the spatulas so much, I bought the company!
gardners says:
Jul 21, 2010. 5:30 PM REPLY Congratulations! You are the first! If you happen to be in Adelaide, Sydney, Singapore, Frankfurt or Vienna, let me know and I will arrange a secret rendezvous with you to give you your own genuine code wheel PDF so that you can gloat in the spy cred!
DarkRhino says:
Jul 23, 2010. 10:58 AM REPLY You're kidding me. I was laughing when I saw that, and was thinking it must be a screen saver thing .... where it plays out the movie letter by letter, and maybe some voice gen too. I saw this sometime ago, but never had the color printer available. Is there a way to increase the amount of wheels, or even perhaps a way to generate a custom letter placement? Didn't know if you had a 'wheel' generator to create something like that. I like it, haven't tried it out yet but, I am cutting out the pieces now and am looking forward to generating secret codes.
gardners says:
Aug 22, 2010. 5:43 PM REPLY Hello, I keep meaning to get around to making the wheel generator available online. Also, I do have a black and white wheel generator (it is actually what I use myself). Again, it is a question of time and effort, of which I have limited supplies while I am busy saving the world. Paul.
DarkRhino says:
Aug 12, 2010. 5:40 PM REPLY Here's my idea on how to create a password that is one alternate way. First ... Find a 4 letter word and it can be used as your password hint ... I've tried to come up with ways to disguise it so it's not obvious. but lets just say that after you print out one of the standard sheets, (without mixing them up) assemble it, and think of a 4 letter word. For this demonstration, we'll use four. On way to hide it in a coded clue, say something like 'Warn golfers' or 'Not quite five' ... I understand the spelling for the clue to 'Warn golfers' is spelled -fore- and would be a good clue because most people would be mislead into thinking -thatspelling. So, we'll use that clue. Now on the wheel, we'll line up 'f' first, 'o', and then 'u' ... now for the code look for the 'r' which calculates out to ... @mk=OD3k8 ... nice strong password. if you want to be able to trace back you could add color too to help with that. so the password could be ... @mk=redOD3k8 stronger password and it will help decipher the word used ... if you would need that. I've tried using other ideas but this one is decent to help with remembering passwords without writing anything down as a security risk. Now to get funky, mix the wheels up. Print out ones from one set like pointers at wa,ga and the blue right, and mix it up with the one that have La, -a, blue left ... mix it up ... wa with -a and blue right or wa with ga and blue left ... or .... well, you get the idea ... any one else have any ideas? let me know.
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
gardners says:
Aug 22, 2010. 5:41 PM REPLY Hello, Yes, what you have suggested is one of the methods I have used with the wheel. It has the advantage of being faster than many electronic devices, and provided the passwords are never disclosed, has acceptable security. However, it must be said that there are some cryptographic deficiencies with the method. First, it produces pairs of letters, thus it really only has a password space of 72^4 (about 2.5 million), not 72^8 (about 5 trillion). Second, the pairs of letters are elements of the wiring, and the first of the two reveals information about the relative position of the rotor. This is BAD BAD BAD. Not only does the collection of a few dozen passwords give an attacker a very good idea about much of the wiring of your device, it also gives them a surprisingly good change of getting your initial 4 letter secret, so that even if you changed wiring regularly, you would be left compromised. Regarding changing wheels, that is a great idea, but I have yet to find a fast and convenient way to do it with the paper device. Paul.
Saturn V says:
WAR GAMES!!!!!
jollygreen says:
Jul 4, 2010. 8:42 AM REPLY Hello I like to collect and make code and cipher items and I like this one. I would like to know if you have made the program so that I can make my own settings for the inner rotor? Also I have a idea that came up with awhile back that will make it easier to turn the rotors when I laminate the rotors and I cut them out I cut a tab on the rotor and it makes it easier to turn. The cipher I make was a more basic poly-alphabetic rotor that was based on the Tom Mix Decoder it is not as secure as your enigma version. If you want to see the pictures just email me and I will send them to you. Thanks for a great decoder GOD Bless you and your family Kenneth [email protected]
ryanpeplin says:
Could you create a pdf file with the order of the rings reversed so that it would be printed double sided?
gardners says:
Mar 10, 2010. 5:03 PM REPLY Yes, you could do that, and then flip rotors to give you 2^n times the key space. I tried doing it, but got tired of trying to get our laser printers to actually be reliable in their placement on the reverse side. Instead I just did two singlesided prints. you could make a single double sided rotor (still a bit fiddly), or as I did, just make extra rotors and have a double sided machine. Doing it this way lets you do double-enigma which squares the key space and avoids the usual problem with enigma not being able to encrypt a letter to itself.
lukaj2003 says:
Great god of crypto, I beseech you! Please explain how this wonderous invention works, because seriously, I can't figure it out!
gardners says:
In the words of Peter, I am just a man like you. As for how it works, is there a particular aspect that doesn't make sense, or just all of it?
lukaj2003 says:
Nov 9, 2009. 8:56 PM REPLY Well, just really all of it :P The one that throws me off is the first picture of the explanation, I can't see how you've set it to read CAT, or maybe I just can't see it because it works in a different way than I think it does... My head hurts. Oct 29, 2009. 7:49 PM REPLY
lou_cyfer says:
very cool idea & very clear and useful instructable! thanks for that, bro :) ...i want more crypto-tools for my wallet !!
gmoon says:
(tm)? lol ;-) I think you can relax. the "third reich" is in no position to enforce it's "trademarks..."
gardners says:
Oct 27, 2009. 4:28 PM REPLY Yup, (TM) it is. Enigma is, or at least was, a trademark of the Enigma company, who are quite independent of the Third Reich(no TM). I vaguely recall reading somewhere that they are still in business, but don't quote me on that. The one piece of trivia that I do have some confidence in is that Zeppelin(tm) is still a trademark of the descendant of the Zeppelin company. These days they just make blimps for sports cameras. For bonus points, without referring to wikipedia, what is the difference between a Zeppelin and a blimp?
gmoon says:
AFAIK (without research), Zeppelins are rigid, and blimps are not.
Interesting trivia about Enigma . Seems the original inventor sold the patents to the ChiffriermaschinenAktien-Gesellschaft (Cipher Machines Stock Corporation) in 1923. Is the your Enigma(tm) the owner of the patents, I wonder? Or is this a McDonalds(tm) issue? ;-)
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/
gardners says:
You're right: blimps do not have a (possibly) rigid external structure around the balloon.
As for the status of the Enigma trademark, sadly I don't recall where I read about the company still existing in some form. Anyway, I suspect their trademark was never valid here in Australia. Paul.
chwbcc says:
Oct 27, 2009. 6:36 AM REPLY What does this do again? Awe who cares I can put it in my wallet and look cool with my other spy friends... do spys have friends? and if they do would they tell you they were a spy? and if I say I am a spy does that negate the facts that I am a spy? hummmm Really cool tool, Can't wait for the website to generate a random one. Oct 27, 2009. 5:39 AM REPLY
rimar2000 says:
This thing looks IMPRESSIVE! What a job!
http://www.instructables.com/id/Make-your-own-wallet-sized-Enigmatm-like-Machine/