Mathematics in Programming
When I started my college, math was the only I was most interested in, so I chose to major in math. Then when I started to learn programming, I was amazed how math could be applied to solve the problem and write that into code. I always think programming and math will be a great combination to solve problems and develop new things.
Enigma Machine
Then my friend told me about the Enigma machine. It was invented in 1936 and used by the Nazi Germany in World War II to send secret coded messages. The machine was made by Dr Arthur Scherbius, a German electrical engineer. The Polish, British and the Americans did break the code in World War II, so they could read those secret messages. The important thing to read the code is the key sheet, there are 3 numbers that can be put into the three rotors when you want to encrypt a message, and you have to use exactly the same three numbers when you want to decrypt that message to the original one.
There are some sources that said the Polish almost got to the point to break the code, but the Nazi Germany increased its security to prevent that from happening. At that time, Alan Turing, a computer scientist and a brilliant mathematician, worked his magic to break the code.
Alan Turing
Then I was inspired by the idea of creating my own code using Java source code to program. I assigned each letter to a number, i.e, A becomes 1, B becomes 2, etc. There are total 26 numbers for 26 alphabets. I also have any three numbers such that they have to be less than or equal 26, then it will be easier to calculate. I tried to be creative to make my own code, I could have many ways to create my own encryption. I tried to play around with the three numbers I randomly chose, add them to the numbers at odd position or subtract them from the numbers at even position. I have to consider the condition when their sums are greater than 26 or their differences are less than 0, then I need to either add or minus 26. The process of encrypting a message can be done by hand, however, if we have to do that with a 100 word message, it can become really tedious and time consuming. Therefore, technologies help us get to our desired destination faster and effectively. In addition, problem solving skills, algorithms, and being creative are highly considered for these kind of programming. I believe there are many other places that have their own code to hide or protect their confidential information, which is more complicated than mine, especially encryption in military.




Comments
Post a Comment