Thursday, April 9, 2015

How Could We Have Broken Germany's Enigma Code?

I initially set out to write about the German Enigma Machine and how it worked, but as I was doing some research, two things happened: I found a video that explains it better than I ever could, with an actual WWII-era Enigma Machine, and I wound up doing some math that I thought was somewhat interesting.

So to start, I think you should watch this video about the Enigma Machine:



Did you watch it? If not, I'll give you one more chance:


IF THE VIDEO DOES NOT SHOW UP CLICK
 >  HERE  <


Alright, so in the video we saw that the Enigma Machine was a device used to encrypt internal messages in the German military, and has an extraordinary number of possible arrangements, each of which will produce a different code. The Enigma code was broken through a regimented and careful application of cleverness on the part of Alan Turing and his team at Bletchley Park. I got to thinking however, “what sort of team would have to be assembled to solve the Enigma code through sheer human power and luck?”

This rabbit hole was quite fun to descend into. I started with a few assumptions for this scenario. Every person who was working on the code had their very own enigma machine to work with, they could try a new arrangement each 100 seconds, and they could work for 16 hours a day. I also assumed that the infrastructure to feed, house and give them water was in place. Alright, here is the number we started with:

158,962,555,217,826,360,000

159 quintillion. That is the number of possible arrangements the enigma machine could be in, each would output a different code, and only one of which would be correct. Oh, and it changed every single day.

In order to try every combination in the space of 24 hours, you would need to try 1,840,000,000,000,000, or 1.8 quadrillion arrangements per second.

If one person can try one arrangement in 100 seconds, that means it will take a force of 184 quadrillion people to try every arrangement in the space of 24 hours, but that only if we work them 24 hours a day. Adjusting for the workforce working 16 hour days, we can multiply 184 quadrillion by (4/3) to get 245 quadrillion people.

So we have ~ 2,350,000,000 people in the world (in 1945)
We need 245,000,000,000,000,000.

Keen-eyed readers will note that the second number is longer, so we are now moving into a very hypothetical world. As long as we're not bound by reality, lets go ahead and pack in our workforce across the entire land area of earth (minus Germany), and lets pack them in at the population density of current-day Tokyo (we are ignoring small facets like food water, adequate shelter, etc...).


Land area of Earth: 57.53 million km2
Land area of Germany: 137,903 km2
Population density of Tokyo: 1800 people per km2


1800 people per km2 * ( 57.53 million km2 – 137,903 km2)


This gives us a population on our Super-Earth of about 100 billion people.

This means we would need 2.45 million Super-Earths to support our workforce.

It looks like we'll need to drain the oceans to beat the Nazis.

Due to the fact that Earth's surface area is ¾ water, draining the oceans gives us 3x the surface area we had using land alone (minus Germany). We can now fit 400 billion people on each Mega-Super-Earth, and now we need a quarter as many, or a little more than 600,000 Mega-Super-Earths. While that many Earth-Sized objects can orbit many stars, we need to restrict our Enigma team to one star in order to transmit the correct code in time to implement a strategy. The nearest star to us is Proxima Centauri, over 4 light years away. That is not close enough to get information back to central in time to help the war effort.

The question now becomes “Can 600,000 Earth-sized object orbit our sun without bad things happening?” I talked to some astronomers and astrophysicists here at CU Boulder, and the consensus seems to be “no.” When you put a lot of objects in similar orbits, most of the bodies are ejected from the system, most of the rest collide with each other, and quite a few will be engulfed by the star in the middle of the system.



No video?

This is the “Nice Model” of the solar system. About 3.8 billion years ago many Kuiper belt objects were ejected from the system and Uranus and Neptune switched places (at 30 seconds in the video). This area was much more sparsely populated than our scenario would be.

This doesn't happen immediately, so to wrap up, if you’re going to use humans alone to solve Enigma, do it fast, and make it worth it.


There are of course a few problems with this plan:

On average, the code will be broken by midday. Sometimes you will get lucky and solve it early on, and sometimes you wont be so lucky, and it will take until late in the evening to break the code. Even with this workforce, there will only be an average of 12 hours to actually use the information obtained.

If you have 245 quadrillion people united to defeat the axis powers, you probably wouldn't even need to bother with the Enigma code. If each person donated one strand of hair (half a milligram), you could bury Germany in 122 billion kilograms of human hair, which would probably deter them. I wanted to figure out how many feet this would be, but there aren't reliable figures for the packing efficiency of average human hair, so I figured a head of hair (a wig) weighs about 100 grams, and I could stuff one in a one liter bottle giving it a density of 0.1 kg/liter. This means 122 billion kilograms of hair could cover Germany to a depth of ~9 meters, give or take a few orders of magnitude.

So now you know that...

If you’re curious about the Enigma Machine itself, as well as the flaw that turned out to be its undoing, there is another video that describes how Turing and his team broke the code:



Cheers,

    - Scott



If you like my posts, you can sign up for email notifications here:


(I only send one email per post)



LINKSTORM:







No comments:

Post a Comment