Categories: Blog

Enigma to Debut at the PDC

I’ve been away from the blog for a while enduring several straight weeks of travel, two of them overseas. Now I’m back home readying for the PDC by porting Silverlight samples to RC0 and writing new ones. If you’re coming to the PDC, I would love to see you at the Silverlight precon. We’re going to have a heckuva good time, and I’ll have lots of new stuff to show, plus Silverlight T-shirts to give away.

One of the samples I’m working on now, and one I’ll be sure to show at the PDC, is a software simulation of the German Enigma machine. My son’s going to use it in a project he’s building for National History Day (his topic: “The Tragic Genius of Alan Turing”), and I’m going to use it to encrypt all my e-mails (NOT!). I’ve long been fascinated by the Enigma and the ingenious reflection mechanism that turned it into a symmetric encryption/decryption device, and my interest was reignited when I read Charles Petzold’s new book, The Annotated Turing. Most of the core logic is in place, and you can actually encrypt and decrypt messages with it. What remains is to finish building out the UI and give it a more polished look. Here’s how it looks this morning:

 

Rather than use lamps to display output as the real Enigma did, I opted to display a running stream of text in the TextBox above the keyboard. I may build in an option for switching between a set of lamps and the TextBox, depending on how much time I have.

Several different versions of the Enigma were used over the years. I opted to simulate one of the early machines that had three rotor wheels (in the configurations known as I, II, and III, in case you’re curious) and a “B”-type reflector. It’s pretty cool typing in sentences and seeing them encrypted, and then typing in the ciphertext and seeing the original message revealed. But you’ll see for yourself soon. I used animations to make the keys press down and the rotor wheels turn, and I used a simple MediaElement to add mechanical clicking noises.

The upcoming PDC is one you don’t want to miss. And not just because of the Enigma!

Jeff Prosise

Recent Posts

8-Step AWS to Microsoft Azure Migration Strategy

Microsoft Azure and Amazon Web Services (AWS) are two of the most popular cloud platforms.…

3 weeks ago

How to Navigate Azure Governance

 Cloud management is difficult to do manually, especially if you work with multiple cloud…

4 weeks ago

Why Azure’s Scalability is Your Key to Business Growth & Efficiency

Azure’s scalable infrastructure is often cited as one of the primary reasons why it's the…

1 month ago

Unlocking the Power of AI in your Software Development Life Cycle (SDLC)

https://www.youtube.com/watch?v=wDzCN0d8SeA Watch our "Unlocking the Power of AI in your Software Development Life Cycle (SDLC)"…

2 months ago

The Role of FinOps in Accelerating Business Innovation

FinOps is a strategic approach to managing cloud costs. It combines financial management best practices…

2 months ago

Azure Kubernetes Security Best Practices

Using Kubernetes with Azure combines the power of Kubernetes container orchestration and the cloud capabilities…

2 months ago