Right. Did you implement the double-step initially, or only remember it later on?
The film simplified it a lot. It's not a 'stick in the question - get out the answer' type machine.
No, i knew about that before I started.
Building my 3D printed Enigma though really showed me physically how the double stepping works.
The double step thing is a classic example of a hidden defect in software. If you don't know about it and implement the code without it the code will work most of the time. But at some point you get to it and suddenly it stops working correctly.
The classic "How did this ever work?" dilemma
And with an encryption device like this once you hit that bug it's all wrong from that point on.
How did you test you Enigma watch?
A lot of static code reviewing. Since it uses a lot of look up tables to model the rotors. I knew about the double stepping so I specifically tested around that. And then I used several other Enigma apps I found, on my phone and online to test against.
So I am assuming they got theirs right too!
Might be interesting to add BLE or LoRa to the watch so as to create a sort of secure walkie-talkie!
I guess not many people have a real Enigma to check against.
The one change I made between the wristwatch and pocketwatch (apart from adding the RTC to the latter) was to improve the button debouncing.
Not sure I would ever use it! Some people I with have Apple watches and they tested out some walkie talkie function on that. Once.
i work with that it
I'd imagine there are contemporary encoded texts in an archive somewhere that you could decode as a test?
There is supposedly a real Enigma about a mile from me. Peter Jackson owns one.
As far as I know it's the only one in New Zealand. I have seen them in museums but never touched one. I am hoping once i finish my 3D printed version I can arrange to see the real one and compare them.
A friend of mine is making ESP32 based watch and it has WiFi and BLE, but no LoRa
doing voice over LoRa is probably not really doable as it is intended for small rare packages
Is there anything you would propose to make the Enigma "better"? More secure, simpler, etc. Or was the idea simply to realize the historic Enigma and be done?
For me just historic. The issues with it are well known and were in WW2 even. The Germans and British both had better encryption devices to work around Enigmas shortcomings.
I don't know how Peter Jackson would respond, but if I had a real Enigma and someone said "Wanna see my pocket watch Engima?" I'd be all over that.
@Boian Mitov I was thinking of short messages, not voice. you are right not enough bandwidth for voice even with BLE I think.
@Kris Winer Sure for message LoRa is perfect :-)
One think I haven't looked into too much is how quickly you could solve Enigma now. You can't brute force it, too many combination even for a massively fast computer, but apparently there are algorithms you can use.
I worked for Weta Workshop for a while. Peter Jackson isn't involved with that really now but I think it might help me get a foot in the door with him.
@Boian Mitov What batteries will it use?
I am not sure what else I could do with Enigma now. Try to make an even smaller one?
@Simon Jansen I have not asked him, but if you want I can put you in touch with him directly :-)
He is quite a crazy guy. Does a lot of cool projects :-)
Sure!
ESP32 is not a low power device, unfortunately :<
But electronic Enigma in a watch form factor is more practical, if that is what you are going for...
In the pocketwatch I did look at using low power mode on the Arduino and screen but in the end went with a physical switch.
I was wondering about the progression of size with the Enigma projects.
Could do a normal watch sized one perhaps?
I imagine there are smart watch implementations of Enigma?
I'm certain. But an Enigma app on an Apple Watch would be totally not interesting.
Maybe watch version of the Bombe, just in case Enigma cyphers come back into vogue...?
Hals the charm is the beautiful machining, IMHO
Getting enough processing power in a device that size would be tricky!
*Half
@Dan Maloney , I think so. The actual build is important!
Most peoples eyes glaze over when you show them the watch and then mention it's an Enigma machine. Telling people it's a Bombe would probably get me arrested!
Ha. Try taking it through airport security...
LoL!
I got the Bombe code running on a 6502 machine.
It was just quite slow.
Well, VERY slow.
Hmm. In that case, could be doable.
It is one of those things when you see the code and think is that all there is but really there is a lot going on.
What would prevent you from implementing it for the current Enigma watch?
Just storage?
The Bombe has input issues. Part of the Enigma watches was working out how to do a UI with only three buttons.
Hmm, yes.
Is that all?
An Arduino based Bombe would be slow too. Also the main appeal of the Bombe is that it is a big, physical machine. All the drums turning.
Perhaps I2S mic and vice recognition would sove the input problem.
voice
It's is why when I did the Raspberry Pi version the main focus was on the machine.
For the visual effect?
I am not sure how easy it would be to draw up a menu using voice commands!
Just 26 letters to recognize, no?
I wonder if anyone runs bombe demonstrations on a regular basis. Bletchley Park, if anyone, I guess.
Yes, it's a nice looking device and makes appropriate whiring noises. And I also simulated the funny little half speed turn the drums do when ti finds a stop.
Not sure how well this will paste but:
Rotors: 2, 5, 3
Reflector: B
Test register: G
Input voltage: A
Drums: ZZK, ZZE, ZZF, ZZN, ZZM, ZZG, ZZP, ZZB, ZZJ, ZZI, ZZL, ZZO, ZZA
Connections:
U: 1i
E: 1o, 2i, 7o, 8in
G: 2o, 3i, 11o, 12i
R: 3o, 4i, 10o, 11i
A: 4o, 5i
S: 5o, 6i, 13o
V: 6o, 7i
N: 8o
H: 9i
Z: 9o, 10i
L: 12o
W: 13i
That's a Bombe menu.
BP have a working replica of the Bombe, they demo that. I tested mine by running the same menu they use for them demonstrations.
I also used some period documents from the time that listed example menus and the solutions.
You can think of the Drums line there as a string of Enigma machines linked together.
When I make something I like to make it well.
So I've got one of these dimmable high power LED drivers from Meanwell. It has an external dimming port that is supposed to be used with either a potentiometer, a 0-10V PWM signal or a 10V PWM signal.
So that's what I came up with..
I don't think they had MOSFETS when Enigma was invented :)
hmm needs a vacuum tube imo
Vacuum tube was a memory registers.
@Simon Jansen , general question: When and how did the interest in machining come about? How long have you been at it now?
They had those. Look up Tommy Flowers and Colossus.
Colossus was fantastic. You should build a full-size replica of that!
Get random bits of clothing stuck in the high speed loop and ripped off.
haha. Too big
Machine I think just came from doing metalwork things. It's a natural progression. From hand tools to machine tools I guess.
People can get to caught up in the tools though.
Right, I find that. Are the tools part of the project, or just a means to an end?
I am sure there is a story about how the room with Colossus was so hot from the valves the women operators in there used to remove clothing to keep cool.
I often find myself taking on projects simply because it means I can buy new tools.
I have issues.
I can get frustrated if I want to complete something, only to find I'm spending all my time trying to get 3D printers working or something like that.
That's perfectly normal
Bit of both. Some tools make things easier and you get them and think how could I not have had one before. Other times the tool can be a distraction.
(the tool issue)
One problem with tools is if you jump straight to them you miss understanding the basics. Metal working is a classic example. You can do so much with just a hammer and lumps of steel.
My metal working mentor used to complain about carpenters who just use nail guns and have never driven a nail by hand into different timbers just to see how they feel and react.
Yeah, the builds with nothing but a good set of files amaze me. And Clickspring, of course.
Software is getting that way too. The IDEs and tools make it easy to start but people don't learn the fundamentals.
I like how the Arduino makes it easy to start but as soon as you start trying to do more you need to start learning more.
And being on actual hardware you need some understanding of that.
arduino being a pretty common base also makes it easy to share stuff with others
And there are some amazing libraries about for it.
The raspberry pi I haven't got as much into. It's more a general purpose computer.
One of my projects a few years ago was making my own 6502 machine from scratch. Because I was always annoyed that as a kid I couldn't understand exactly how a computer actually worked. I knew it was all 1s and 0s. But how did it work with just those two things.
I also got to use crackle black paint on that :)
For me the making of things isn't usually to get the thing at the end. It's the journey getting there.
It's why I have lots of unfinished projects. I get what I need out of them so often stop.
It's after 1:00 here in the Pacific timezone, so I'm going to call an "official" end to the Hack Chat. If Simon wants to stay on and answer questions, that's perfectly fine. I do know he took the day off from work especially to share with us, and I really appreciate that. This was a great chat and I really learned a lot.
Thanks!
https://hackaday.io/event/164058-from-software-to-tindie-hack-chat
Don't forget to tune in next week for Brian Lough talking about what it's like to go from software developer to Tindie store proprietor:I get to spend the afternoon in the garage bashing metal now!
:-)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.